Mercurial > gemma
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 } |