Mercurial > gemma
comparison pkg/imports/bn.go @ 4070:4332b9e26e2f historization_ng
Merged default
author | Sascha Wilde <wilde@intevation.de> |
---|---|
date | Thu, 25 Jul 2019 13:20:32 +0200 |
parents | 12f476e91c70 fe3dd65c0891 |
children | af2b20d6c921 |
comparison
equal
deleted
inserted
replaced
4069:12f476e91c70 | 4070:4332b9e26e2f |
---|---|
22 "regexp" | 22 "regexp" |
23 "strconv" | 23 "strconv" |
24 "strings" | 24 "strings" |
25 "time" | 25 "time" |
26 | 26 |
27 "gemma.intevation.de/gemma/pkg/pgxutils" | |
27 "gemma.intevation.de/gemma/pkg/soap/ifbn" | 28 "gemma.intevation.de/gemma/pkg/soap/ifbn" |
28 "github.com/jackc/pgx/pgtype" | 29 "github.com/jackc/pgx/pgtype" |
29 ) | 30 ) |
30 | 31 |
31 // Bottleneck is an import job to import | 32 // Bottleneck is an import job to import |
579 bn.Source, | 580 bn.Source, |
580 tolerance, | 581 tolerance, |
581 ) | 582 ) |
582 } | 583 } |
583 if err != nil { | 584 if err != nil { |
584 feedback.Warn(handleError(err).Error()) | 585 feedback.Warn(pgxutils.HandleError(err).Error()) |
585 return nil | 586 return nil |
586 } | 587 } |
587 defer bns.Close() | 588 defer bns.Close() |
588 for bns.Next() { | 589 for bns.Next() { |
589 var nid int64 | 590 var nid int64 |
591 return err | 592 return err |
592 } | 593 } |
593 bnIds = append(bnIds, nid) | 594 bnIds = append(bnIds, nid) |
594 } | 595 } |
595 if err := bns.Err(); err != nil { | 596 if err := bns.Err(); err != nil { |
596 feedback.Warn(handleError(err).Error()) | 597 feedback.Warn(pgxutils.HandleError(err).Error()) |
597 return nil | 598 return nil |
598 } | 599 } |
599 if len(bnIds) == 0 { | 600 if len(bnIds) == 0 { |
600 feedback.Warn( | 601 feedback.Warn( |
601 "No gauge matching '%s' or given time available", bn.Fk_g_fid) | 602 "No gauge matching '%s' or given time available", bn.Fk_g_fid) |
608 if _, err = tx.StmtContext(ctx, deleteObsoleteBNStmt).ExecContext(ctx, | 609 if _, err = tx.StmtContext(ctx, deleteObsoleteBNStmt).ExecContext(ctx, |
609 bn.Bottleneck_id, | 610 bn.Bottleneck_id, |
610 &validity, | 611 &validity, |
611 &pgBnIds, | 612 &pgBnIds, |
612 ); err != nil { | 613 ); err != nil { |
613 feedback.Warn(handleError(err).Error()) | 614 feedback.Warn(pgxutils.HandleError(err).Error()) |
614 if err2 := tx.Rollback(); err2 != nil { | 615 if err2 := tx.Rollback(); err2 != nil { |
615 return err2 | 616 return err2 |
616 } | 617 } |
617 return nil | 618 return nil |
618 } | 619 } |
621 // in case of overlap | 622 // in case of overlap |
622 if _, err = tx.StmtContext(ctx, fixValidityStmt).ExecContext(ctx, | 623 if _, err = tx.StmtContext(ctx, fixValidityStmt).ExecContext(ctx, |
623 bn.Bottleneck_id, | 624 bn.Bottleneck_id, |
624 validity, | 625 validity, |
625 ); err != nil { | 626 ); err != nil { |
626 feedback.Warn(handleError(err).Error()) | 627 feedback.Warn(pgxutils.HandleError(err).Error()) |
627 if err2 := tx.Rollback(); err2 != nil { | 628 if err2 := tx.Rollback(); err2 != nil { |
628 return err2 | 629 return err2 |
629 } | 630 } |
630 return nil | 631 return nil |
631 } | 632 } |
658 if _, err := tx.StmtContext(ctx, insertMaterialStmt).ExecContext(ctx, | 659 if _, err := tx.StmtContext(ctx, insertMaterialStmt).ExecContext(ctx, |
659 &pgBnIds, | 660 &pgBnIds, |
660 &pgMaterials, | 661 &pgMaterials, |
661 ); err != nil { | 662 ); err != nil { |
662 feedback.Warn("Failed to insert riverbed materials") | 663 feedback.Warn("Failed to insert riverbed materials") |
663 feedback.Warn(handleError(err).Error()) | 664 feedback.Warn(pgxutils.HandleError(err).Error()) |
664 return nil | 665 return nil |
665 } | 666 } |
666 } | 667 } |
667 | 668 |
668 // Only add new BN data to tracking for staging review. | 669 // Only add new BN data to tracking for staging review. |