Mercurial > gemma
comparison pkg/controllers/importqueue.go @ 4748:47922c1a088d
Added a 'changed' column to the import.imports table.
Changed is update each time the state changes (TODO: solve this with a trigger).
The update script takes as approximation the time of the last log entry
connected with the particular import.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Fri, 18 Oct 2019 15:34:34 +0200 |
parents | 4394daeea96a |
children | 1fef4679b07a |
comparison
equal
deleted
inserted
replaced
4747:b1428b44e43f | 4748:47922c1a088d |
---|---|
43 selectImportsSQL = ` | 43 selectImportsSQL = ` |
44 SELECT | 44 SELECT |
45 imports.id AS id, | 45 imports.id AS id, |
46 state::varchar, | 46 state::varchar, |
47 enqueued, | 47 enqueued, |
48 changed, | |
48 kind, | 49 kind, |
49 username, | 50 username, |
50 signer, | 51 signer, |
51 summary IS NOT NULL AS has_summary, | 52 summary IS NOT NULL AS has_summary, |
52 EXISTS(SELECT 1 FROM import.import_logs | 53 EXISTS(SELECT 1 FROM import.import_logs |
271 var signer sql.NullString | 272 var signer sql.NullString |
272 | 273 |
273 for rows.Next() { | 274 for rows.Next() { |
274 var it models.Import | 275 var it models.Import |
275 var enqueued time.Time | 276 var enqueued time.Time |
277 var changed time.Time | |
276 if err = rows.Scan( | 278 if err = rows.Scan( |
277 &it.ID, | 279 &it.ID, |
278 &it.State, | 280 &it.State, |
279 &enqueued, | 281 &enqueued, |
282 &changed, | |
280 &it.Kind, | 283 &it.Kind, |
281 &it.User, | 284 &it.User, |
282 &signer, | 285 &signer, |
283 &it.Summary, | 286 &it.Summary, |
284 &it.Errors, | 287 &it.Errors, |
288 } | 291 } |
289 if signer.Valid { | 292 if signer.Valid { |
290 it.Signer = signer.String | 293 it.Signer = signer.String |
291 } | 294 } |
292 it.Enqueued = models.ImportTime{Time: enqueued.UTC()} | 295 it.Enqueued = models.ImportTime{Time: enqueued.UTC()} |
296 it.Changed = models.ImportTime{Time: changed.UTC()} | |
293 imports = append(imports, &it) | 297 imports = append(imports, &it) |
294 } | 298 } |
295 | 299 |
296 if err = rows.Err(); err != nil { | 300 if err = rows.Err(); err != nil { |
297 return | 301 return |
444 WHERE id = $1` | 448 WHERE id = $1` |
445 | 449 |
446 reviewSQL = ` | 450 reviewSQL = ` |
447 UPDATE import.imports SET | 451 UPDATE import.imports SET |
448 state = $1::import_state, | 452 state = $1::import_state, |
453 changed = CURRENT_TIMESTAMP, | |
449 signer = $2 | 454 signer = $2 |
450 WHERE id = $3` | 455 WHERE id = $3` |
451 | 456 |
452 deleteImportDataSQL = `SELECT import.del_import($1)` | 457 deleteImportDataSQL = `SELECT import.del_import($1)` |
453 | 458 |