comparison pkg/imports/sr.go @ 1168:930fdd8b474f

Track successfull imports in a separate table to be able to remove them later.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Wed, 14 Nov 2018 12:23:10 +0100
parents 443fc80a315f
children 064d44ccc6f2
comparison
equal deleted inserted replaced
1167:1ae93a0438df 1168:930fdd8b474f
142 FROM waterway.sounding_results sr 142 FROM waterway.sounding_results sr
143 WHERE id = $1 143 WHERE id = $1
144 ` 144 `
145 ) 145 )
146 146
147 func (sr SoundingResult) Do(conn *sql.Conn, feedback Feedback) error { 147 func (sr SoundingResult) Do(
148 importID int64,
149 ctx context.Context,
150 conn *sql.Conn,
151 feedback Feedback,
152 ) error {
148 153
149 z, err := zip.OpenReader(filepath.Join(string(sr), "sr.zip")) 154 z, err := zip.OpenReader(filepath.Join(string(sr), "sr.zip"))
150 if err != nil { 155 if err != nil {
151 return err 156 return err
152 } 157 }
185 // Is there a boundary shapefile in the ZIP archive? 190 // Is there a boundary shapefile in the ZIP archive?
186 polygon, err := loadBoundary(z) 191 polygon, err := loadBoundary(z)
187 if err != nil { 192 if err != nil {
188 return err 193 return err
189 } 194 }
190
191 ctx := context.Background()
192 195
193 tx, err := conn.BeginTx(ctx, nil) 196 tx, err := conn.BeginTx(ctx, nil)
194 if err != nil { 197 if err != nil {
195 return err 198 return err
196 } 199 }
259 feedback.Info("generating and storing contour lines took %s", time.Since(start)) 262 feedback.Info("generating and storing contour lines took %s", time.Since(start))
260 if err != nil { 263 if err != nil {
261 return err 264 return err
262 } 265 }
263 266
267 // Store for potential later removal.
268 if err = track(tx, ctx, importID, "waterway.sounding_results", id); err != nil {
269 return err
270 }
271
264 if err = tx.Commit(); err == nil { 272 if err = tx.Commit(); err == nil {
265 feedback.Info("Storing sounding result was successful.") 273 feedback.Info("Storing sounding result was successful.")
266 } 274 }
267 return err 275 return err
268 } 276 }