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 {