comparison pkg/imports/agm.go @ 4037:a18bf6bc7e3c faster-agm

Detect unchanged case in AGM import.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Wed, 24 Jul 2019 11:59:36 +0200
parents e45442db19b1
children 4a7c2140e44b
comparison
equal deleted inserted replaced
4036:e45442db19b1 4037:a18bf6bc7e3c
492 } 492 }
493 493
494 entries = append(entries, ase) 494 entries = append(entries, ase)
495 } 495 }
496 496
497 var removed int
498
497 // Issue deletes 499 // Issue deletes
498 for _, old := range oldGMLines { 500 for _, old := range oldGMLines {
501 removed += len(old)
499 for _, line := range old { 502 for _, line := range old {
500 if _, err := txTrackStmt.ExecContext( 503 if _, err := txTrackStmt.ExecContext(
501 ctx, importID, "waterway.gauge_measurements", 504 ctx, importID, "waterway.gauge_measurements",
502 line.id, 505 line.id,
503 true, 506 true,
504 ); err != nil { 507 ); err != nil {
505 return nil, err 508 return nil, err
506 } 509 }
507 } 510 }
511 }
512
513 feedback.Info("Measurements to update/insert: %d", len(entries))
514 feedback.Info("Measurements to delete: %d", removed)
515
516 if len(entries) == 0 && removed == 0 {
517 return nil, UnchangedError("No changes from AGM import")
508 } 518 }
509 519
510 if err = tx.Commit(); err != nil { 520 if err = tx.Commit(); err != nil {
511 return nil, fmt.Errorf("Commit failed: %v", err) 521 return nil, fmt.Errorf("Commit failed: %v", err)
512 } 522 }