瀏覽代碼

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 年之前
父節點
當前提交
4ad10e95a7
共有 1 個文件被更改,包括 12 次插入0 次删除
  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)) {