diff --git a/ext/qrf/qrf.c b/ext/qrf/qrf.c index 140200f2a3..11acce6852 100644 --- a/ext/qrf/qrf.c +++ b/ext/qrf/qrf.c @@ -2939,6 +2939,7 @@ qrf_reinit: p->spec.zColumnSep = ","; p->spec.zRowSep = "\r\n"; p->spec.zNull = ""; + if( p->spec.eEsc==QRF_Auto ) p->spec.eEsc = QRF_ESC_Off; break; } case QRF_STYLE_Quote: { diff --git a/manifest b/manifest index 4a6c741936..1a839d3108 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sa\ssmall\spotential\sbuffer\soverwrite\sin\sthe\sJS\simpl\sof\skvvfs\sto\sresolve\s[bugs:8d4fe4cc4c|bug\sreport\s2026-09-23T10:50:46Z].\sRemove\ssome\sadjacent\sdead\scode. -D 2026-09-23T14:00:07.598 +C The\s--escape\smode\sfor\sCSV\sshould\sdefault\sto\s"off".\n[bugs:/info/2026-09-23T16:25:07Z|Bug\s2026-09-23T16:25:07Z] +D 2026-09-23T21:04:57.204 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea @@ -425,7 +425,7 @@ F ext/misc/zipfile.c 54bd61f1d80a170dde6c15e6eee790ff89a0acbe3bf57e9d63eba6e3414 F ext/misc/zorder.c bddff2e1b9661a90c95c2a9a9c7ecd8908afab5763256294dd12d609d4664eee F ext/qrf/README.md c5c47a8b82ee870557ec9c6734bf93c296ae4821d33cf60253b36f2fcee09601 F ext/qrf/dev-notes.md e68a6d91ce4c7eb296ef2daadc2bb79c95c317ad15b9fafe40850c67b29c2430 -F ext/qrf/qrf.c b2d8da584b443896c4a5e82a89942e8d3236370c178541d0fe1ecad9c2f31e85 +F ext/qrf/qrf.c 423e690289e2474a9790f628dd042f8195f603f8f488554bd712e2138a2b1680 F ext/qrf/qrf.h b04e50048695aa4a5a41577fb4a56c1feed0bef816354995713116780a4bdacb F ext/rbu/rbu.c 801450b24eaf14440d8fd20385aacc751d5c9d6123398df41b1b5aa804bf4ce8 F ext/rbu/rbu1.test 25870dd7db7eb5597e2b4d6e29e7a7e095abf332660f67d89959552ce8f8f255 @@ -744,7 +744,7 @@ F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c F src/resolve.c 0e0990f60c93db38c735d85e5d1741130e72dd0670aec204b5a39118b53c8044 F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97 F src/select.c 5859a4a19581d91fb2c3a818c18ad45de6906434aeaf0c4b74ca5f58295cb432 -F src/shell.c.in 3439c6458c72c04d99c3219c4325e6d69e280b13a2c17d504cfa47a10472acce +F src/shell.c.in 172f6076f4a49acf07c0cab0ec727ec80fb75d816eb5cb6ce45c68460065ae56 F src/sqlite.h.in 5941ea0c99996ecc54ff02835e89d12fd6195fa92b285f73b55a55fdcd90efe9 F src/sqlite3.rc 015537e6ac1eec6c7050e17b616c2ffe6f70fca241835a84a4f0d5937383c479 F src/sqlite3ext.h 5e113c4c0442f2f1b3345d44cbe4b82fad45f2fc0c35f0ed4eef27fb8f1cb394 @@ -1467,7 +1467,7 @@ F test/mmap4.test 2e2b4e32555b58da15176e6fe750f17c9dcf7f93 F test/mmapcorrupt.test 470fb44fe92e99c1d23701d156f8c17865f5b027063c9119dcfdb842791f4465 F test/mmapfault.test d4c9eff9cd8c2dc14bc43e71e042f175b0a26fe3 F test/mmapwarm.test 2272005969cd17a910077bd5082f70bc1fefad9a875afec7fc9af483898ecaf3 -F test/modeA.sql 36e2a4f52ede5aca1c5fcb4b8cedd5f40d6692b86a059d533f13973723921f59 +F test/modeA.sql ea6afde444836867794c18c59e22ae3cb61b25d396b86991b4ae78da8d7ce45e F test/multiplex.test d74c034e52805f6de8cc5432cef8c9eb774bb64ec29b83a22effc8ca4dac1f08 F test/multiplex2.test 580ca5817c7edbe4cc68fa150609c9473393003a F test/multiplex3.test fac575e0b1b852025575a6a8357701d80933e98b5d2fe6d35ddaa68f92f6a1f7 @@ -2221,8 +2221,8 @@ F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c -P 4a66e328a080b7719e5f76283ae0502f0aaed1b4fa35339c0160b91c3189de5b -R d3278b6e54a3d7ad0714e6d7485ddebe -U stephan -Z ab1728d593f02a37b39c6f9b593999e6 +P c43287d8855b3f9a4621545793ecb2a89ef456d563d8377f2b243812e6acb2b3 +R 7029d61507018935013d9bd86b4fbd55 +U drh +Z 7edf157e70295c8c0c640953dad8dfc5 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 53735dace4..624be2989d 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -c43287d8855b3f9a4621545793ecb2a89ef456d563d8377f2b243812e6acb2b3 +c356641fadf591bcf312ae9657ddc84e483a06aa068eb2d3021467435cbad0c1 diff --git a/src/shell.c.in b/src/shell.c.in index ad35e1f039..4bf62d5f69 100644 --- a/src/shell.c.in +++ b/src/shell.c.in @@ -622,7 +622,7 @@ static const ModeInfo aModeInfo[] = { { "c", 4, 1, 10, 5, 5, 4, 1, 12, 0, 0 }, { "column", 0, 0, 9, 1, 1, 0, 3, 2, 2, 0 }, { "count", 0, 0, 0, 0, 0, 0, 0, 3, 0, 0 }, - { "csv", 4, 5, 9, 3, 3, 0, 1, 12, 0, 0 }, + { "csv", 4, 5, 9, 3, 3, 0, 1, 4, 0, 0 }, { "html", 0, 0, 9, 4, 4, 0, 3, 7, 0, 0 }, { "insert", 0, 0, 10, 2, 2, 0, 1, 8, 0, 0 }, { "jatom", 4, 1, 11, 6, 6, 0, 1, 12, 0, 0 }, @@ -8709,8 +8709,8 @@ static int modeTitleDsply(ShellState *p, int bAll){ ** truncated. Zero means "no limit". ** --colsep STRING Use STRING as the column separator ** --escape ESC Enable/disable escaping of control characters -** found in the output. ESC can be "off", "ascii", -** or "symbol". +** found in the output. ESC can be "auto", "off", +** "ascii", or "symbol". Default is "auto" ** --fpfmt STRING String is a printf-style format string used to ** render floating-point values. ** --ifmt STRING String is a printf-style format string used to @@ -8878,14 +8878,14 @@ static int dotCmdMode(ShellState *p){ if( (++i)>=nArg ){ dotCmdError(p, i-1, "missing argument", 0); return 1; - } /* 0 1 2 <-- One less than QRF_ESC_ */ - k = pickStr(azArg[i],&zErr,"off","ascii","symbol",""); + } /* 0 1 2 3 */ + k = pickStr(azArg[i],&zErr,"auto", "off","ascii","symbol",""); if( k<0 ){ dotCmdError(p, i, "unknown escape type", "%s", zErr); sqlite3_free(zErr); return 1; } - p->mode.spec.eEsc = k+1; + p->mode.spec.eEsc = k; chng = 1; }else if( optionMatch(z,"limits") ){ if( (++i)>=nArg ){ diff --git a/test/modeA.sql b/test/modeA.sql index 727eaf5f1b..fb92ed76fe 100644 --- a/test/modeA.sql +++ b/test/modeA.sql @@ -279,6 +279,10 @@ INSERT INTO t1 VALUES(1,2,3); SELECT * FROM t1; .check --glob a,b,c* +.testcase 601 +SELECT 'abc',char(0x05,0x18,0x33),'xyz'; +.check --glob abc,"??3",xyz + .testcase 610 .mode csv -reset SELECT * FROM t1;