comparison pkg/imports/wg.go @ 4058:6c5c15b2fb64

Database errors have to be handled elsewhere than in imports, too
author Tom Gottfried <tom@intevation.de>
date Thu, 25 Jul 2019 09:12:53 +0200
parents 29ef6d41e4af
children 6c760abcff0e
comparison
equal deleted inserted replaced
4057:b79b60c0cc5a 4058:6c5c15b2fb64
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"
24 "gemma.intevation.de/gemma/pkg/models" 25 "gemma.intevation.de/gemma/pkg/models"
25 "gemma.intevation.de/gemma/pkg/soap/erdms" 26 "gemma.intevation.de/gemma/pkg/soap/erdms"
26 ) 27 )
27 28
28 type WaterwayGauge struct { 29 type WaterwayGauge struct {
324 code.String(), 325 code.String(),
325 validity, 326 validity,
326 ).Scan(&isNew) 327 ).Scan(&isNew)
327 switch { 328 switch {
328 case err != nil: 329 case err != nil:
329 feedback.Warn(handleError(err).Error()) 330 feedback.Warn(common.HandlePGError(err).Error())
330 if err2 := tx.Rollback(); err2 != nil { 331 if err2 := tx.Rollback(); err2 != nil {
331 return nil, err2 332 return nil, err2
332 } 333 }
333 unchanged++ 334 unchanged++
334 continue 335 continue
349 geodref, 350 geodref,
350 &dateInfo, 351 &dateInfo,
351 source, 352 source,
352 time.Time(*dr.Lastupdate), 353 time.Time(*dr.Lastupdate),
353 ); err != nil { 354 ); err != nil {
354 feedback.Warn(handleError(err).Error()) 355 feedback.Warn(common.HandlePGError(err).Error())
355 if err2 := tx.Rollback(); err2 != nil { 356 if err2 := tx.Rollback(); err2 != nil {
356 return nil, err2 357 return nil, err2
357 } 358 }
358 unchanged++ 359 unchanged++
359 continue 360 continue
386 return nil, err3 387 return nil, err3
387 } 388 }
388 unchanged++ 389 unchanged++
389 continue 390 continue
390 case err2 != nil: 391 case err2 != nil:
391 feedback.Warn(handleError(err2).Error()) 392 feedback.Warn(common.HandlePGError(err2).Error())
392 if err3 := tx.Rollback(); err3 != nil { 393 if err3 := tx.Rollback(); err3 != nil {
393 return nil, err3 394 return nil, err3
394 } 395 }
395 unchanged++ 396 unchanged++
396 continue 397 continue
433 if _, err = tx.StmtContext(ctx, fixValidityStmt).ExecContext( 434 if _, err = tx.StmtContext(ctx, fixValidityStmt).ExecContext(
434 ctx, 435 ctx,
435 code.String(), 436 code.String(),
436 &validity, 437 &validity,
437 ); err != nil { 438 ); err != nil {
438 feedback.Warn(handleError(err).Error()) 439 feedback.Warn(common.HandlePGError(err).Error())
439 if err2 := tx.Rollback(); err2 != nil { 440 if err2 := tx.Rollback(); err2 != nil {
440 return nil, err2 441 return nil, err2
441 } 442 }
442 unchanged++ 443 unchanged++
443 continue 444 continue
481 code.Hectometre, 482 code.Hectometre,
482 &validity, 483 &validity,
483 string(**wl.level), 484 string(**wl.level),
484 int64(**wl.value), 485 int64(**wl.value),
485 ); err != nil { 486 ); err != nil {
486 feedback.Warn(handleError(err).Error()) 487 feedback.Warn(common.HandlePGError(err).Error())
487 tx.Rollback() 488 tx.Rollback()
488 continue 489 continue
489 } 490 }
490 } 491 }
491 492