Mercurial > gemma
changeset 2090:4882f01c8592
Imports config: Fixed listing of stored configurations.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Fri, 01 Feb 2019 13:45:02 +0100 |
parents | c001eb18b33d |
children | 3f32b18bbd4c |
files | pkg/imports/config.go |
diffstat | 1 files changed, 18 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/pkg/imports/config.go Fri Feb 01 12:56:38 2019 +0100 +++ b/pkg/imports/config.go Fri Feb 01 13:45:02 2019 +0100 @@ -106,7 +106,7 @@ kind, a.k, a.v -FROM import.import_configuration c JOIN +FROM import.import_configuration c LEFT JOIN import.import_configuration_attributes a ON c.id = a.import_configuration_id ORDER by c.id` @@ -214,10 +214,8 @@ defer rows.Close() var ( - first = true - lastID int64 - pc PersistentConfig - k, v sql.NullString + first = true + pc PersistentConfig ) send := func() error { @@ -237,23 +235,34 @@ } for rows.Next() { + var ( + id int64 + user, kind string + k, v sql.NullString + ) if err := rows.Scan( - &pc.ID, - &pc.User, - &pc.Kind, + &id, + &user, + &kind, &k, &v, ); err != nil { return err } if !first { - if lastID != pc.ID { + if pc.ID != id { if err := send(); err != nil { return err } + pc.ID = id + pc.User = user + pc.Kind = kind pc.Attributes = nil } } else { first = false + pc.ID = id + pc.User = user + pc.Kind = kind } if k.Valid && v.Valid { @@ -262,8 +271,6 @@ } pc.Attributes.Set(k.String, v.String) } - - lastID = pc.ID } if err := rows.Err(); err != nil {