comparison pkg/imports/wg.go @ 3286:e640f51b5a4e

Fix reporting of removed reference water levels Since more than one reference water level might be removed, do not discard all but the first returned row.
author Tom Gottfried <tom@intevation.de>
date Thu, 16 May 2019 11:53:44 +0200
parents 4acbee65275d
children ec6163c6687d
comparison
equal deleted inserted replaced
3285:aac1ca73e92a 3286:e640f51b5a4e
328 currLevels.Set([]string{ 328 currLevels.Set([]string{
329 string(*dr.Reflevel1code), 329 string(*dr.Reflevel1code),
330 string(*dr.Reflevel2code), 330 string(*dr.Reflevel2code),
331 string(*dr.Reflevel3code), 331 string(*dr.Reflevel3code),
332 }) 332 })
333 var delRef string 333 rwls, err := tx.StmtContext(
334 err = tx.StmtContext( 334 ctx, deleteReferenceWaterLevelsStmt).QueryContext(ctx,
335 ctx, deleteReferenceWaterLevelsStmt).QueryRowContext(ctx,
336 ic.code.CountryCode, 335 ic.code.CountryCode,
337 ic.code.LoCode, 336 ic.code.LoCode,
338 ic.code.FairwaySection, 337 ic.code.FairwaySection,
339 ic.code.Orc, 338 ic.code.Orc,
340 ic.code.Hectometre, 339 ic.code.Hectometre,
341 &currLevels, 340 &currLevels,
342 ).Scan(&delRef) 341 )
343 switch { 342 if err != nil {
344 case err == sql.ErrNoRows:
345 // There was nothing to delete
346 case err != nil:
347 return nil, err 343 return nil, err
348 default: 344 }
349 feedback.Info("Removed reference water level %s from %s", 345 defer rwls.Close()
346 for rwls.Next() {
347 var delRef string
348 if err = rwls.Scan(&delRef); err != nil {
349 return nil, err
350 }
351 feedback.Warn("Removed reference water level %s from %s",
350 delRef, ic.code) 352 delRef, ic.code)
351 } 353 }
352 354
353 // Insert/update reference water levels 355 // Insert/update reference water levels
354 for _, wl := range []struct { 356 for _, wl := range []struct {