Mercurial > gemma
comparison pkg/controllers/importqueue.go @ 2667:5ece2c51d1f0 import-overview-rework
More filter simplification.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Thu, 14 Mar 2019 15:51:43 +0100 |
parents | fea12fc850d2 |
children | 0fcf80a413a2 |
comparison
equal
deleted
inserted
replaced
2666:0d2650dd8f62 | 2667:5ece2c51d1f0 |
---|---|
133 ) (*sql.Rows, error) { | 133 ) (*sql.Rows, error) { |
134 | 134 |
135 var ( | 135 var ( |
136 stmt strings.Builder | 136 stmt strings.Builder |
137 args []interface{} | 137 args []interface{} |
138 states *pgtype.TextArray | |
139 kinds *pgtype.TextArray | |
140 ids *pgtype.Int8Array | |
141 hasCond bool | 138 hasCond bool |
142 ) | 139 ) |
143 | 140 |
144 arg := func(format string, v ...interface{}) { | 141 arg := func(format string, v ...interface{}) { |
145 fmt.Fprintf(&stmt, format, len(args)+1) | 142 fmt.Fprintf(&stmt, format, len(args)+1) |
153 hasCond = true | 150 hasCond = true |
154 } | 151 } |
155 arg(format, v...) | 152 arg(format, v...) |
156 } | 153 } |
157 | 154 |
155 stmt.WriteString(selectImportsSQL) | |
156 | |
157 stmt.WriteString(" WHERE ") | |
158 | |
158 if st := req.FormValue("states"); st != "" { | 159 if st := req.FormValue("states"); st != "" { |
159 states = toTextArray(st, imports.ImportStateNames) | 160 states := toTextArray(st, imports.ImportStateNames) |
161 cond(" state = ANY($%d) ", states) | |
160 } | 162 } |
161 | 163 |
162 if ks := req.FormValue("kinds"); ks != "" { | 164 if ks := req.FormValue("kinds"); ks != "" { |
163 kinds = toTextArray(ks, imports.ImportKindNames()) | 165 kinds := toTextArray(ks, imports.ImportKindNames()) |
166 cond(" kind = ANY($%d) ", kinds) | |
164 } | 167 } |
165 | 168 |
166 if idss := req.FormValue("ids"); idss != "" { | 169 if idss := req.FormValue("ids"); idss != "" { |
167 ids = toInt8Array(idss) | 170 ids := toInt8Array(idss) |
168 } | |
169 | |
170 stmt.WriteString(selectImportsSQL) | |
171 | |
172 stmt.WriteString(" WHERE ") | |
173 | |
174 if states != nil { | |
175 cond(" state = ANY($%d) ", states) | |
176 } | |
177 | |
178 if kinds != nil { | |
179 cond(" kind = ANY($%d) ", kinds) | |
180 } | |
181 | |
182 if ids != nil { | |
183 cond(" id = ANY($%d) ", ids) | 171 cond(" id = ANY($%d) ", ids) |
184 } | 172 } |
185 | 173 |
186 if from := req.FormValue("from"); from != "" { | 174 if from := req.FormValue("from"); from != "" { |
187 fromTime, err := time.Parse(models.ImportTimeFormat, from) | 175 fromTime, err := time.Parse(models.ImportTimeFormat, from) |