Mercurial > gemma
comparison pkg/imports/dmv.go @ 3163:d9903cb34842
Handle failing INSERTs gracefully during gauges import
Using the special table EXCLUDED in INSERT statements makes
functionally no difference, but makes editing of the statements easier.
Since reference water levels are not deleted all at once before
(re-)importing anymore, take the chance to report those that were
deleted.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Mon, 06 May 2019 13:25:49 +0200 |
parents | eb1d119f253f |
children | 4acbee65275d |
comparison
equal
deleted
inserted
replaced
3162:659549608644 | 3163:d9903cb34842 |
---|---|
84 feedback Feedback, | 84 feedback Feedback, |
85 ) (interface{}, error) { | 85 ) (interface{}, error) { |
86 | 86 |
87 start := time.Now() | 87 start := time.Now() |
88 | 88 |
89 tx, err := conn.BeginTx(ctx, nil) | |
90 if err != nil { | |
91 return nil, err | |
92 } | |
93 defer tx.Rollback() | |
94 | |
95 responseData, err := getRisData( | 89 responseData, err := getRisData( |
96 tx, | |
97 ctx, | 90 ctx, |
91 conn, | |
98 feedback, | 92 feedback, |
99 dmv.Username, | 93 dmv.Username, |
100 dmv.Password, | 94 dmv.Password, |
101 dmv.URL, | 95 dmv.URL, |
102 dmv.Insecure, | 96 dmv.Insecure, |
103 "dismar") | 97 "dismar") |
104 if err != nil { | 98 if err != nil { |
105 return nil, err | 99 return nil, err |
106 } | 100 } |
101 | |
102 tx, err := conn.BeginTx(ctx, nil) | |
103 if err != nil { | |
104 return nil, err | |
105 } | |
106 defer tx.Rollback() | |
107 | 107 |
108 insertStmt, err := tx.PrepareContext(ctx, insertDistanceMarksVirtualSQL) | 108 insertStmt, err := tx.PrepareContext(ctx, insertDistanceMarksVirtualSQL) |
109 if err != nil { | 109 if err != nil { |
110 return nil, err | 110 return nil, err |
111 } | 111 } |