Mercurial > gemma
comparison pkg/controllers/statsupdates.go @ 5490:5f47eeea988d logging
Use own logging package.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Mon, 20 Sep 2021 17:45:39 +0200 |
parents | fc3a5345b0fd |
children | 6270951dda28 |
comparison
equal
deleted
inserted
replaced
5488:a726a92ea5c9 | 5490:5f47eeea988d |
---|---|
13 | 13 |
14 package controllers | 14 package controllers |
15 | 15 |
16 import ( | 16 import ( |
17 "database/sql" | 17 "database/sql" |
18 "log" | |
19 "net/http" | 18 "net/http" |
20 | 19 |
20 "github.com/gorilla/mux" | |
21 | |
22 "gemma.intevation.de/gemma/pkg/log" | |
21 mw "gemma.intevation.de/gemma/pkg/middleware" | 23 mw "gemma.intevation.de/gemma/pkg/middleware" |
22 "github.com/gorilla/mux" | |
23 ) | 24 ) |
24 | 25 |
25 const ( | 26 const ( |
26 listStatsUpdatesSQL = `SELECT name FROM sys_admin.stats_updates ORDER BY name` | 27 listStatsUpdatesSQL = `SELECT name FROM sys_admin.stats_updates ORDER BY name` |
27 statsUpdatesScriptSQL = `SELECT script FROM sys_admin.stats_updates WHERE name = $1` | 28 statsUpdatesScriptSQL = `SELECT script FROM sys_admin.stats_updates WHERE name = $1` |
32 ctx := req.Context() | 33 ctx := req.Context() |
33 conn := mw.JSONConn(req) | 34 conn := mw.JSONConn(req) |
34 | 35 |
35 rows, err2 := conn.QueryContext(ctx, listStatsUpdatesSQL) | 36 rows, err2 := conn.QueryContext(ctx, listStatsUpdatesSQL) |
36 if err2 != nil { | 37 if err2 != nil { |
37 log.Printf("error: %v\n", err2) | 38 log.Errorf("%v\n", err2) |
38 err = mw.JSONError{ | 39 err = mw.JSONError{ |
39 Code: http.StatusInternalServerError, | 40 Code: http.StatusInternalServerError, |
40 Message: "Listing stats update failed.", | 41 Message: "Listing stats update failed.", |
41 } | 42 } |
42 return | 43 return |
46 names := []string{} | 47 names := []string{} |
47 | 48 |
48 for rows.Next() { | 49 for rows.Next() { |
49 var name string | 50 var name string |
50 if err2 := rows.Scan(&name); err2 != nil { | 51 if err2 := rows.Scan(&name); err2 != nil { |
51 log.Printf("error: %v\n", err2) | 52 log.Errorf("%v\n", err2) |
52 err = mw.JSONError{ | 53 err = mw.JSONError{ |
53 Code: http.StatusInternalServerError, | 54 Code: http.StatusInternalServerError, |
54 Message: "Fetching stats update names failed.", | 55 Message: "Fetching stats update names failed.", |
55 } | 56 } |
56 return | 57 return |
57 } | 58 } |
58 names = append(names, name) | 59 names = append(names, name) |
59 } | 60 } |
60 | 61 |
61 if err2 := rows.Err(); err2 != nil { | 62 if err2 := rows.Err(); err2 != nil { |
62 log.Printf("error: %v\n", err2) | 63 log.Errorf("%v\n", err2) |
63 err = mw.JSONError{ | 64 err = mw.JSONError{ |
64 Code: http.StatusInternalServerError, | 65 Code: http.StatusInternalServerError, |
65 Message: "Fetching stats update names failed.", | 66 Message: "Fetching stats update names failed.", |
66 } | 67 } |
67 return | 68 return |
90 Code: http.StatusNotFound, | 91 Code: http.StatusNotFound, |
91 Message: "No such update script.", | 92 Message: "No such update script.", |
92 } | 93 } |
93 return | 94 return |
94 case err2 != nil: | 95 case err2 != nil: |
95 log.Printf("error: %v\n", err2) | 96 log.Errorf("%v\n", err2) |
96 err = mw.JSONError{ | 97 err = mw.JSONError{ |
97 Code: http.StatusInternalServerError, | 98 Code: http.StatusInternalServerError, |
98 Message: "Loading update script failed.", | 99 Message: "Loading update script failed.", |
99 } | 100 } |
100 return | 101 return |
101 } | 102 } |
102 | 103 |
103 if _, err2 := conn.ExecContext(ctx, script); err2 != nil { | 104 if _, err2 := conn.ExecContext(ctx, script); err2 != nil { |
104 log.Printf("error: %v\n", err2) | 105 log.Errorf("%v\n", err2) |
105 err = mw.JSONError{ | 106 err = mw.JSONError{ |
106 Code: http.StatusInternalServerError, | 107 Code: http.StatusInternalServerError, |
107 Message: "Loading update script failed.", | 108 Message: "Loading update script failed.", |
108 } | 109 } |
109 return | 110 return |