comparison pkg/imports/wg.go @ 4062:6c760abcff0e

Move handling of PostgreSQL errors to own package
author Tom Gottfried <tom@intevation.de>
date Thu, 25 Jul 2019 11:32:22 +0200
parents 6c5c15b2fb64
children fe3dd65c0891
comparison
equal deleted inserted replaced
4061:f391497287fb 4062:6c760abcff0e
19 "database/sql" 19 "database/sql"
20 "time" 20 "time"
21 21
22 "github.com/jackc/pgx/pgtype" 22 "github.com/jackc/pgx/pgtype"
23 23
24 "gemma.intevation.de/gemma/pkg/common"
25 "gemma.intevation.de/gemma/pkg/models" 24 "gemma.intevation.de/gemma/pkg/models"
25 "gemma.intevation.de/gemma/pkg/pgxutils"
26 "gemma.intevation.de/gemma/pkg/soap/erdms" 26 "gemma.intevation.de/gemma/pkg/soap/erdms"
27 ) 27 )
28 28
29 type WaterwayGauge struct { 29 type WaterwayGauge struct {
30 // URL is the URL of the SOAP service. 30 // URL is the URL of the SOAP service.
325 code.String(), 325 code.String(),
326 validity, 326 validity,
327 ).Scan(&isNew) 327 ).Scan(&isNew)
328 switch { 328 switch {
329 case err != nil: 329 case err != nil:
330 feedback.Warn(common.HandlePGError(err).Error()) 330 feedback.Warn(pgxutils.HandlePGError(err).Error())
331 if err2 := tx.Rollback(); err2 != nil { 331 if err2 := tx.Rollback(); err2 != nil {
332 return nil, err2 332 return nil, err2
333 } 333 }
334 unchanged++ 334 unchanged++
335 continue 335 continue
350 geodref, 350 geodref,
351 &dateInfo, 351 &dateInfo,
352 source, 352 source,
353 time.Time(*dr.Lastupdate), 353 time.Time(*dr.Lastupdate),
354 ); err != nil { 354 ); err != nil {
355 feedback.Warn(common.HandlePGError(err).Error()) 355 feedback.Warn(pgxutils.HandlePGError(err).Error())
356 if err2 := tx.Rollback(); err2 != nil { 356 if err2 := tx.Rollback(); err2 != nil {
357 return nil, err2 357 return nil, err2
358 } 358 }
359 unchanged++ 359 unchanged++
360 continue 360 continue
387 return nil, err3 387 return nil, err3
388 } 388 }
389 unchanged++ 389 unchanged++
390 continue 390 continue
391 case err2 != nil: 391 case err2 != nil:
392 feedback.Warn(common.HandlePGError(err2).Error()) 392 feedback.Warn(pgxutils.HandlePGError(err2).Error())
393 if err3 := tx.Rollback(); err3 != nil { 393 if err3 := tx.Rollback(); err3 != nil {
394 return nil, err3 394 return nil, err3
395 } 395 }
396 unchanged++ 396 unchanged++
397 continue 397 continue
434 if _, err = tx.StmtContext(ctx, fixValidityStmt).ExecContext( 434 if _, err = tx.StmtContext(ctx, fixValidityStmt).ExecContext(
435 ctx, 435 ctx,
436 code.String(), 436 code.String(),
437 &validity, 437 &validity,
438 ); err != nil { 438 ); err != nil {
439 feedback.Warn(common.HandlePGError(err).Error()) 439 feedback.Warn(pgxutils.HandlePGError(err).Error())
440 if err2 := tx.Rollback(); err2 != nil { 440 if err2 := tx.Rollback(); err2 != nil {
441 return nil, err2 441 return nil, err2
442 } 442 }
443 unchanged++ 443 unchanged++
444 continue 444 continue
482 code.Hectometre, 482 code.Hectometre,
483 &validity, 483 &validity,
484 string(**wl.level), 484 string(**wl.level),
485 int64(**wl.value), 485 int64(**wl.value),
486 ); err != nil { 486 ); err != nil {
487 feedback.Warn(common.HandlePGError(err).Error()) 487 feedback.Warn(pgxutils.HandlePGError(err).Error())
488 tx.Rollback() 488 tx.Rollback()
489 continue 489 continue
490 } 490 }
491 } 491 }
492 492