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 }