]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
In the command-line shell, add the -quote option to start up in quote mode.
authordrh <drh@noemail.net>
Thu, 29 Jun 2017 21:33:25 +0000 (21:33 +0000)
committerdrh <drh@noemail.net>
Thu, 29 Jun 2017 21:33:25 +0000 (21:33 +0000)
Enhance the ".mode" command so that it reports the current output mode if
given no arguments.

FossilOrigin-Name: 5e3f9ea5c4fad35fe02a12d59114e94ee00e0a09c1840c88908a4c282e2f4625

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

index cdd364e3d01ea4f3fa0cfb2303167a143eccafb1..63fbff713ed36688aa91060bf3de42c5a53c3d13 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Remove\sthe\s".explain"\scommand\sfrom\sthe\s".help"\soutput\sof\sthe\scommand-line\nshell,\sthough\skeep\sthe\simplementation\saround\sfor\sbackwards\scompatibility.
-D 2017-06-29T21:11:27.834
+C In\sthe\scommand-line\sshell,\sadd\sthe\s-quote\soption\sto\sstart\sup\sin\squote\smode.\nEnhance\sthe\s".mode"\scommand\sso\sthat\sit\sreports\sthe\scurrent\soutput\smode\sif\ngiven\sno\sarguments.
+D 2017-06-29T21:33:25.847
 F Makefile.in 081e48dfe7f995d57ce1a88ddf4d2917b4349158648a6cd45b42beae30de3a12
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc 4ebb1d257cac7fb1bcb4ba59278416d410ff1c4bf59447a9c37a415f3516056a
@@ -449,7 +449,7 @@ F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384
 F src/resolve.c d1e69759e7a79c156c692793f5d16f82f9a60ce5e82efd95e4374b2423034946
 F src/rowset.c 7b7e7e479212e65b723bf40128c7b36dc5afdfac
 F src/select.c 741937503c74d85e64828b63d5a4219d3cfce480a717efef635839606001b1ba
-F src/shell.c d001562954e126af263435fab73221b538e2df5e7d2930715dfe3b7f7b477328
+F src/shell.c a2b148e4ca8eb81b96e1050207c83d4a16ea6bf9182374faee4dd2a43628c291
 F src/sqlite.h.in 5d9e3996052222789c2031a0a0107d7bbaea447ff91cb8af1388f01a2e4d8571
 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
 F src/sqlite3ext.h 58fd0676d3111d02e62e5a35992a7d3da5d3f88753acc174f2d37b774fbbdd28
@@ -1170,7 +1170,7 @@ F test/sharedA.test 0cdf1a76dfa00e6beee66af5b534b1e8df2720f5
 F test/sharedB.test 16cc7178e20965d75278f410943109b77b2e645e
 F test/shared_err.test 2f2aee20db294b9924e81f6ccbe60f19e21e8506
 F test/sharedlock.test 5ede3c37439067c43b0198f580fd374ebf15d304
-F test/shell1.test 65f55c120ab289bc72ec0e534d104e078124d94aeac75dc7444c338c4d84fd0d
+F test/shell1.test 76ae80ab24af6cdb994cff6df5f21f8cdbb0dc0f7229e937e8f1beb653611e26
 F test/shell2.test e242a9912f44f4c23c3d1d802a83e934e84c853b
 F test/shell3.test 9b95ba643eaa228376f06a898fb410ee9b6e57c1
 F test/shell4.test 89ad573879a745974ff2df20ff97c5d6ffffbd5d
@@ -1628,7 +1628,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P a26e17ee56d3c019fc4772fcf95480b4515eea6cfc74c3d494be0d1941e49666
-R 654dacaf054d8d36a1fa42cefe34b183
+P 7782c04e9b2c0e95b5ac2a38876c1a233becfd892140bc6844790d62aeaff4f7
+R fdaec3a4a9930118ae9822ddeb4d3259
 U drh
-Z 7feda7ce63e7c3acebc54f5aa04a2832
+Z c0bf63d58bf1bc98c2ecc9c2e3c0756c
index 46c68d3a7ad3847a8b183d371f2505dabbe6ba3a..0ce32bc0f09d8b7b0b2dc505cb10e53387332d2c 100644 (file)
@@ -1 +1 @@
-7782c04e9b2c0e95b5ac2a38876c1a233becfd892140bc6844790d62aeaff4f7
\ No newline at end of file
+5e3f9ea5c4fad35fe02a12d59114e94ee00e0a09c1840c88908a4c282e2f4625
\ No newline at end of file
index 50186a5d1b5c71cd6063710aa16ae57056e051c6..9ea603bab202ce67ff56cb2c9bcfdfbaa328b269 100644 (file)
@@ -5555,7 +5555,9 @@ static int do_meta_command(char *zLine, ShellState *p){
       p->mode = MODE_Ascii;
       sqlite3_snprintf(sizeof(p->colSeparator), p->colSeparator, SEP_Unit);
       sqlite3_snprintf(sizeof(p->rowSeparator), p->rowSeparator, SEP_Record);
-    }else {
+    }else if( nArg==1 ){
+      raw_printf(p->out, "current output mode: %s\n", modeDescr[p->mode]);
+    }else{
       raw_printf(stderr, "Error: mode should be one of: "
          "ascii column csv html insert line list quote tabs tcl\n");
       rc = 1;
@@ -7185,6 +7187,7 @@ static const char zOptions[] =
   "   -newline SEP         set output row separator. Default: '\\n'\n"
   "   -nullvalue TEXT      set text string for NULL values. Default ''\n"
   "   -pagecache SIZE N    use N slots of SZ bytes each for page cache memory\n"
+  "   -quote               set output mode to 'quote'\n"
   "   -scratch SIZE N      use N slots of SZ bytes each for scratch memory\n"
   "   -separator SEP       set output column separator. Default: '|'\n"
   "   -stats               print memory stats before each finalize\n"
@@ -7480,6 +7483,8 @@ int SQLITE_CDECL wmain(int argc, wchar_t **wargv){
       data.mode = MODE_Html;
     }else if( strcmp(z,"-list")==0 ){
       data.mode = MODE_List;
+    }else if( strcmp(z,"-quote")==0 ){
+      data.mode = MODE_Quote;
     }else if( strcmp(z,"-line")==0 ){
       data.mode = MODE_Line;
     }else if( strcmp(z,"-column")==0 ){
index 4a4bbd5cf2f6411722b7e44cb1d4febccee02877..ef84c8cf583491ba147c375952d72adf9067660d 100644 (file)
@@ -429,7 +429,7 @@ do_test shell1-3.12.3 {
 #                          tcl      TCL list elements
 do_test shell1-3.13.1 {
   catchcmd "test.db" ".mode"
-} {1 {Error: mode should be one of: ascii column csv html insert line list quote tabs tcl}}
+} {0 {current output mode: list}}
 do_test shell1-3.13.2 {
   catchcmd "test.db" ".mode FOO"
 } {1 {Error: mode should be one of: ascii column csv html insert line list quote tabs tcl}}