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)