]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix error messages associated with .import, along with corresponding
authordrh <>
Mon, 29 Dec 2025 21:39:48 +0000 (21:39 +0000)
committerdrh <>
Mon, 29 Dec 2025 21:39:48 +0000 (21:39 +0000)
test cases.

FossilOrigin-Name: 2084e805d0d9da8f419b8506fccd652a7d20262bd95729250a2d2eabfdd079ad

manifest
manifest.uuid
src/shell.c.in
test/shell1.test
test/shell5.test

index 8f2d8a0032ed1527bf23586cc48db041305d593a..33e74a80b78d4ab5dd6d962de5862a29d535fac5 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Incremental\simprovements\sto\s.import,\sand\snew\stest\scases.
-D 2025-12-29T19:04:41.234
+C Fix\serror\smessages\sassociated\swith\s.import,\salong\swith\scorresponding\ntest\scases.
+D 2025-12-29T21:39:48.227
 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
@@ -737,7 +737,7 @@ F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c
 F src/resolve.c 47aa7fdc9ec4c19b103ac5e79d7887d30119b5675309facf5eed1118391c868b
 F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97
 F src/select.c 85852256d860f3ba5be4a9edc1238e68dbea082a0167f31b7345c821ae45775d
-F src/shell.c.in 439bd0703be4c6f1d42952501712245504e5f540fe753137948b57459c45d446
+F src/shell.c.in d0a6f0877a63ccb08f613fb42ecfee701f95235495af69cc84e8f9dfdffd328a
 F src/sqlite.h.in b6599377f02ef9d545a8da48959213928b63291ad83ff65e5f3a72bf4fec595d
 F src/sqlite3.rc 015537e6ac1eec6c7050e17b616c2ffe6f70fca241835a84a4f0d5937383c479
 F src/sqlite3ext.h 5d5330f5f8461f5ce74960436ddcfa53ecd09c2b8b23901e22ae38aec3243998
@@ -1614,11 +1614,11 @@ F test/sharedA.test 64bdd21216dda2c6a3bd3475348ccdc108160f34682c97f2f51c19fc0e21
 F test/sharedB.test 1a84863d7a2204e0d42f2e1606577c5e92e4473fa37ea0f5bdf829e4bf8ee707
 F test/shared_err.test 32634e404a3317eeb94abc7a099c556a346fdb8fb3858dbe222a4cbb8926a939
 F test/sharedlock.test 5ede3c37439067c43b0198f580fd374ebf15d304
-F test/shell1.test da4901c88f3a1db2acd39381ed260a0fe3c706bbc170b695fcbe6cb3eb6f7ab0
+F test/shell1.test 56f200ba4b36cbe8229d84d848e6a8d69eb91a75b2deaf28c454027433c6ea95
 F test/shell2.test dc541d2681503e55466a24d35a4cbf8ca5b90b8fcdef37fc4db07373a67d31d3
 F test/shell3.test 603b448e917537cf77be0f265c05c6f63bc677c63a533c8e96aae923b56f4a0e
 F test/shell4.test e25580a792b7b54560c3a76b6968bd8189261f38979fe28e6bc6312c5db280db
-F test/shell5.test 145a9474bab6d80b6ee452b83135507b25275d53b0936aab76520f007ac4d9dc
+F test/shell5.test 42eb3f73a662db5d4d6e113392163dce6181edb4910f775949436a873fbbe3b1
 F test/shell6.test e3b883b61d4916b6906678a35f9d19054861123ad91b856461e0a456273bdbb8
 F test/shell7.test 43fd8e511c533bab5232e95c7b4be93b243451709e89582600d4b6e67693d5c3
 F test/shell8.test 641cf21a99c59404c24e3062923734951c4099a6b6b6520de00cf7a1249ee871
@@ -2189,8 +2189,8 @@ F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee
 F tool/warnings.sh d924598cf2f55a4ecbc2aeb055c10bd5f48114793e7ba25f9585435da29e7e98
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
 F tool/winmain.c f40bccf0236f8bcc34b299781b7d34cb269ace23afe5c1b8a9d966e2fa1ce9e5
-P 004cf4ad3cb0c05e501a464bee55e8ed168c4825cf419902890593468ca4d588
-R 9e128f52189eb35675757e15cd903b93
+P 5a1e931b19c346bdc8d1a51fa6ef8ee04b7371cdf5df2ee32e1333226c42d327
+R 6e224daaa7e358d3ad5886f31fcd83f2
 U drh
-Z 589f22d91422bd38ec49b8857de91380
+Z b737c51c2dffe2b9663221f89baa58f1
 # Remove this line to create a well-formed Fossil manifest.
index 0b4f21cd725aa1a3fd77e991f61033afa4674955..f86c6b0b0a148b0ab8d8ed0326bf3ba2e4522ec5 100644 (file)
@@ -1 +1 @@
-5a1e931b19c346bdc8d1a51fa6ef8ee04b7371cdf5df2ee32e1333226c42d327
+2084e805d0d9da8f419b8506fccd652a7d20262bd95729250a2d2eabfdd079ad
index 529de8ca2c564053968589cce0eb1b422a4c56df..c0d1a2c3f152c600dae05ad5114a9bfadb6cd12d 100644 (file)
@@ -7531,8 +7531,11 @@ static int dotCmdImport(ShellState *p){
       sCtx.zIn = sqlite3_mprintf("");
     }
     if( ckEnd<2 ){
-      cli_printf(stderr, "%s:%lld: Content terminator \"%s\" not found.\n",
-            p->zInFile, iStart, &sCtx.zFile[2]);
+      i64 savedLn = p->lineno;
+      p->lineno = iStart;
+      dotCmdError(p, 0, 0,"Content terminator \"%s\" not found.",
+                  &sCtx.zFile[2]);
+      p->lineno = savedLn;
       import_cleanup(&sCtx);
       return 1;
     }
@@ -7541,7 +7544,7 @@ static int dotCmdImport(ShellState *p){
     sCtx.xCloser = fclose;
   }
   if( sCtx.in==0 && sCtx.zIn==0 ){
-    cli_printf(stderr,"%s:%lld: cannot open \"%s\"\n", zFile, p->lineno);
+    dotCmdError(p, 0, 0, "cannot open \"%s\"", zFile);
     import_cleanup(&sCtx);
     return 1;
   }
index d90ca52bedd0682c34d8e28c6d6b83f155789754..1900055c43f3422f613e8e4110f219f56ef09e93 100644 (file)
@@ -417,15 +417,18 @@ do_test shell1-3.10.2 {
 # .import FILE TABLE     Import data from FILE into TABLE
 do_test shell1-3.11.1 {
   catchcmd "test.db" ".import"
-} {/1 .ERROR: missing FILE argument.*/}
+} {/1 .line 1: Missing FILE argument.*/}
 do_test shell1-3.11.2 {
   catchcmd "test.db" ".import FOO"
-} {/1 .ERROR: missing TABLE argument.*/}
+} {/1 .line 1: Missing TABLE argument.*/}
 do_test shell1-3.11.3 {
   # too many arguments
   catchcmd "test.db" ".import FOO BAR BAD"
 } {1 {line 1: .import FOO BAR BAD
 line 1:                 ^--- unknown argument}}
+do_test shell1-3.11.4 {
+  catchcmd "test.db" ".import <<END t1\na,b,c\n1,2,3"
+} {1 {line 1: Content terminator "END" not found.}}
 
 # .indexes ?TABLE?       Show names of all indexes
 #                          If TABLE specified, only show indexes for tables
index bb8d36732c952f9a772ffcccd8b3e214a37cef0a..c1535f05eaa6585945be0229ca7dffdb3b0f0724 100644 (file)
@@ -33,10 +33,10 @@ forcedelete test.db test.db-journal test.db-wal
 # .import FILE TABLE     Import data from FILE into TABLE
 do_test shell5-1.1.1 {
   catchcmd "test.db" ".import"
-} {/1 .ERROR: missing FILE argument.*/}
+} {/1 .line 1: Missing FILE argument.*/}
 do_test shell5-1.1.2 {
   catchcmd "test.db" ".import FOO"
-} {/1 .ERROR: missing TABLE argument.*/}
+} {/1 .line 1: Missing TABLE argument.*/}
 do_test shell5-1.1.3 {
   # too many arguments
   catchcmd "test.db" ".import FOO BAR BAD"
@@ -83,7 +83,7 @@ do_test shell5-1.4.1 {
   forcedelete FOO
   set res [catchcmd "test.db" {CREATE TABLE t1(a, b);
 .import FOO t1}]
-} {1 {Error: cannot open "FOO"}}
+} {1 {line 2: cannot open "FOO"}}
 
 # the remainder of these test cases require virtual tables.
 #
@@ -276,6 +276,7 @@ do_test shell5-1.7.1 {
   close $in
   set res [catchcmd "test.db" {.mode csv
 .import shell5.csv t3
+.mode quote
 SELECT COUNT(*) FROM t3;}]
 } [list 0 $rows]
 
@@ -503,9 +504,10 @@ do_test shell5-4.4 {
 CREATE TEMP TABLE t8(a, b, c);
 .import shell5.csv t8
 .nullvalue #
+.mode quote
 SELECT * FROM temp.t8
   }]
-} {0 1,2,3}
+} {0 '1','2','3'}
 
 #----------------------------------------------------------------------------
 # Tests for the shell automatic column rename.