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