1
0
mirror of https://github.com/sqlite/sqlite.git synced 2026-10-23 21:49:02 +03:00

The --escape mode for CSV should default to "off".

[bugs:/info/2026-09-23T16:25:07Z|Bug 2026-09-23T16:25:07Z]

FossilOrigin-Name: c356641fadf591bcf312ae9657ddc84e483a06aa068eb2d3021467435cbad0c1
This commit is contained in:
drh
2026-09-23 21:04:57 +00:00
parent a8d1f1ff12
commit 9da2d2374a
5 changed files with 21 additions and 16 deletions

View File

@@ -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: {

View File

@@ -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.

View File

@@ -1 +1 @@
c43287d8855b3f9a4621545793ecb2a89ef456d563d8377f2b243812e6acb2b3
c356641fadf591bcf312ae9657ddc84e483a06aa068eb2d3021467435cbad0c1

View File

@@ -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 ){

View File

@@ -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;