Browse Source

db.execute: check return code of db_execute_immediate() also for sql option

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@72993 15284696-431f-4ddb-bdfa-cd5b030d7da7
Markus Metz 6 years ago
parent
commit
4ad10e95a7
1 changed files with 12 additions and 0 deletions
  1. 12 0
      db/db.execute/main.c

+ 12 - 0
db/db.execute/main.c

@@ -80,6 +80,18 @@ int main(int argc, char **argv)
         /* parms.sql */
         db_set_string(&stmt, parms.sql);
         ret = db_execute_immediate(driver, &stmt);
+
+	if (ret != DB_OK) {
+	    if (parms.i) {	/* ignore SQL errors */
+		G_warning(_("Error while executing: '%s'"),
+			  db_get_string(&stmt));
+		error++;
+	    }
+	    else {
+		G_fatal_error(_("Error while executing: '%s'"),
+			      db_get_string(&stmt));
+	    }
+	}
     }
     else { /* parms.input */
         while (get_stmt(fd, &stmt)) {