Mercurial > gemma
changeset 4678:e1cf039ea25a
Section deletion: return error if nothing deleted
If nothing is deleted on acceptance of such an import, it's probably
because row level security does not allow deletion of the entry.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Tue, 15 Oct 2019 17:25:23 +0200 |
parents | fa55e48bbca1 |
children | 6c1dd2fbe2ee |
files | pkg/imports/dsec.go |
diffstat | 1 files changed, 16 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/pkg/imports/dsec.go Tue Oct 15 17:16:36 2019 +0200 +++ b/pkg/imports/dsec.go Tue Oct 15 17:25:23 2019 +0200 @@ -16,7 +16,9 @@ import ( "context" "database/sql" + "errors" "fmt" + "log" ) // DeleteSection is a Job to delete a section from the database. @@ -65,7 +67,20 @@ tx *sql.Tx, id int64, ) error { - _, err := tx.ExecContext(ctx, dsecStageDoneSQL, id) + res, err := tx.ExecContext(ctx, dsecStageDoneSQL, id) + if err != nil { + return err + } + n, err := res.RowsAffected() + if err != nil { + log.Println( + "error: RowsAffected returned an error. Missing driver support?") + return nil + } + if n == 0 { + return errors.New( + "Nothing deleted. Probably due to missing access rights.") + } return err }