]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Do not show the error code number of CLI error messages unless the error
authordrh <>
Tue, 8 Feb 2022 12:13:16 +0000 (12:13 +0000)
committerdrh <>
Tue, 8 Feb 2022 12:13:16 +0000 (12:13 +0000)
is something other than 1 (SQLITE_ERROR).

FossilOrigin-Name: b471601892df98c5103bb55132bbdecf3e4dfc428aaecc47bfec1e1d51e583c7

manifest
manifest.uuid
src/shell.c.in
test/shell1.test
test/shell2.test
test/shell3.test

index 1cc676fd7e9b66b60fd93930018bd4a8497025c0..11cfbc4c136ec1db39a41220cbfa619592d7e252 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Improved\serror\smessage\sformatting\sin\sthe\sshell.\s\sDistinguish\sbetween\n"Parse\serrors"\sand\s"Runtime\serrors".
-D 2022-02-08T11:52:45.141
+C Do\snot\sshow\sthe\serror\scode\snumber\sof\sCLI\serror\smessages\sunless\sthe\serror\nis\ssomething\sother\sthan\s1\s(SQLITE_ERROR).
+D 2022-02-08T12:13:16.921
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -553,7 +553,7 @@ F src/random.c 097dc8b31b8fba5a9aca1697aeb9fd82078ec91be734c16bffda620ced7ab83c
 F src/resolve.c ea935b87d6fb36c78b70cdc7b28561dc8f33f2ef37048389549c7b5ef9b0ba5e
 F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92
 F src/select.c 3baa9dd8cf240654773c7974e2bcce398ac9dd24419c36684156963defe43b35
-F src/shell.c.in 0ea8af78103ea178a91be97c75c3ee6b9d78144bccb52909e17d1fa3a0f356cb
+F src/shell.c.in b800bf8e02d9b4fd97078b68ca4371048f7196fc63accaa99c3c5943f72c80a0
 F src/sqlite.h.in 800d6509517d383d38188e71bb5f1802c7db097a1282af7bf5d6c9a6da5a15ed
 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
 F src/sqlite3ext.h a95cb9ed106e3d39e2118e4dcc15a14faec3fa50d0093425083d340d9dfd96e6
@@ -1387,9 +1387,9 @@ F test/sharedA.test 49d87ec54ab640fbbc3786ee3c01de94aaa482a3a9f834ad3fe92770eb69
 F test/sharedB.test 16cc7178e20965d75278f410943109b77b2e645e
 F test/shared_err.test 32634e404a3317eeb94abc7a099c556a346fdb8fb3858dbe222a4cbb8926a939
 F test/sharedlock.test 5ede3c37439067c43b0198f580fd374ebf15d304
-F test/shell1.test ce2f370886645f38fabdde44976c14a004400f166edea8fdd9741079b645fef6
-F test/shell2.test c9d6b6d6577662290aa9786ae3862133f257d9505573ef67147b2717eefce05a
-F test/shell3.test 4d8658a6b3f5541663a4d6047612e39210df16f0f0594c888d132fa272ccdec5
+F test/shell1.test ce2f66ba87b2f0dbd71fe55b97e189feb28767aab788c9f1fbfdfc5bce11fca2
+F test/shell2.test 89e4b2db062d52baed75022227b462d085cff495809de1699652779d8e0257d6
+F test/shell3.test a50628ab1d78d90889d9d3f32fb2c084ee15674771e96afe954aaa0accd1de3c
 F test/shell4.test 8f6c0fce4abed19a8a7f7262517149812a04caa905d01bdc8f5e92573504b759
 F test/shell5.test b85069bfcf3159b225228629ab2c3e69aa923d098fea8ea074b5dcd743522e2c
 F test/shell6.test 1ceb51b2678c472ba6cf1e5da96679ce8347889fe2c3bf93a0e0fa73f00b00d3
@@ -1943,8 +1943,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 0e909e34fa74e7b9b7954e4ed4c39dd293c1d413b58fda03607faab74aa382ad
-R d18f19d6b0d587687fe303ed881a44cc
+P ae3e322a029952f575e49c73fb50b46bbea55be6792cc225cb94f5e0cbd046d9
+R 87f651304c9febbc8861f72f292abe86
 U drh
-Z e5c99d42cfc720230961c3936a9ada21
+Z 33838eb60d9004449371bb9d3b4fb696
 # Remove this line to create a well-formed Fossil manifest.
index e05d3989a408fd847bb16f62da92ddfd55861f11..aaa33bb245176074a32ea37287e8702ec03c1633 100644 (file)
@@ -1 +1 @@
-ae3e322a029952f575e49c73fb50b46bbea55be6792cc225cb94f5e0cbd046d9
\ No newline at end of file
+b471601892df98c5103bb55132bbdecf3e4dfc428aaecc47bfec1e1d51e583c7
\ No newline at end of file
index dd4c848c5173cad5d10cbf9c62eaecbf6465a71e..35e99989f59896b099bf29f192b69f92b5770373 100644 (file)
@@ -2637,17 +2637,24 @@ static int run_table_dump_query(
 */
 static char *save_err_msg(
   sqlite3 *db,           /* Database to query */
-  const char *zWhen,     /* Qualifier (format) wrapper */
+  const char *zPhase,    /* When the error occcurs */
   int rc,                /* Error code returned from API */
   const char *zSql       /* SQL string, or NULL */
 ){
   char *zErr;
   char *zContext;
-  if( zWhen==0 ) zWhen = "%s (%d)%s";
+  sqlite3_str *pStr = sqlite3_str_new(0);
+  sqlite3_str_appendf(pStr, "%s, %s", zPhase, sqlite3_errmsg(db));
+  if( rc>1 ){
+    sqlite3_str_appendf(pStr, " (%d)", rc);
+  }
   zContext = shell_error_context(zSql, db);
-  zErr = sqlite3_mprintf(zWhen, sqlite3_errmsg(db), rc, zContext);
+  if( zContext ){
+    sqlite3_str_appendall(pStr, zContext);
+    sqlite3_free(zContext);
+  }
+  zErr = sqlite3_str_finish(pStr);
   shell_check_oom(zErr);
-  sqlite3_free(zContext);
   return zErr;
 }
 
@@ -3778,7 +3785,7 @@ static int shell_exec(
     rc = sqlite3_prepare_v2(db, zSql, -1, &pStmt, &zLeftover);
     if( SQLITE_OK != rc ){
       if( pzErrMsg ){
-        *pzErrMsg = save_err_msg(db, "in prepare, %s (%d)%s", rc, zSql);
+        *pzErrMsg = save_err_msg(db, "in prepare", rc, zSql);
       }
     }else{
       if( !pStmt ){
@@ -3894,7 +3901,7 @@ static int shell_exec(
         zSql = zLeftover;
         while( IsSpace(zSql[0]) ) zSql++;
       }else if( pzErrMsg ){
-        *pzErrMsg = save_err_msg(db, "stepping, %s (%d)", rc, 0);
+        *pzErrMsg = save_err_msg(db, "stepping", rc, 0);
       }
 
       /* clear saved stmt handle */
index 745990a7c9227ccc405cd114880a76a5e3d0e427..f59330cd1d7b806cbbe210ec895d39f5bae2fddd 100644 (file)
@@ -53,7 +53,7 @@ do_test shell1-1.1.2 {
 # error on extra options
 do_test shell1-1.1.3 {
   catchcmd "test.db FOO test.db BAD" ".quit"
-} {/1 .Error: in prepare, near "FOO": syntax error (1)*/}
+} {/1 .Error: in prepare, near "FOO": syntax error*/}
 
 # -help
 do_test shell1-1.2.1 {
@@ -78,7 +78,7 @@ do_test shell1-1.3.2 {
 } {0 {}}
 do_test shell1-1.3.3 {
   catchcmd "-init FOO test.db BAD .quit" ""
-} {/1 .Error: in prepare, near "BAD": syntax error (1)*/}
+} {/1 .Error: in prepare, near "BAD": syntax error*/}
 
 # -echo                print commands before execution
 do_test shell1-1.4.1 {
index 620b80a484710ffe668bc6f18177511f2f70836e..db8cd96ab87cd7c4376ea656f994794b4ec7137c 100644 (file)
@@ -63,7 +63,7 @@ do_test shell2-1.3 {
 
     UPDATE OR REPLACE t5 SET a = 4 WHERE a = 1;
   }
-} {1 {Runtime error near line 9: too many levels of trigger recursion (1)}}
+} {1 {Runtime error near line 9: too many levels of trigger recursion}}
 
 
 
index f854ea82fdf8d8325058556b8a99a83a4c9f0668..e5a0c124e0d4af134cc57097fef0e524a95e4ba9 100644 (file)
@@ -68,7 +68,7 @@ do_test shell3-1.6 {
 } {0 {}}
 do_test shell3-1.7 {
   catchcmd "foo.db \"CREATE TABLE\""
-} {1 {Error: in prepare, incomplete input (1)}}
+} {1 {Error: in prepare, incomplete input}}
 
 #----------------------------------------------------------------------------
 #   shell3-2.*: Basic tests for running SQL file from command line.
@@ -98,7 +98,7 @@ do_test shell3-2.6 {
 } {0 {}}
 do_test shell3-2.7 {
   catchcmd "foo.db" "CREATE TABLE"
-} {1 {Parse error near line 1: incomplete input (1)}}
+} {1 {Parse error near line 1: incomplete input}}
 
 
 #----------------------------------------------------------------------------