-C Update\stest\scases\sto\swork\swith\sthe\snew\sbox\sformat\sand\swith\s--quote\srelaxed.
-D 2025-12-06T11:02:14.503
+C New\stest\scases\sto\scover\sthe\s"--quote\srelaxed"\sfeature.
+D 2025-12-06T11:35:30.934
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F src/resolve.c 8d53771eb51a4ab5f970150c3a70969d8db79cd04a8774c2d296bbcf471a0dd0
F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97
F src/select.c 344518c1bba9c4636bf651b7642304abd2e7075ba35feb4bae42a51e5efe991f
-F src/shell.c.in c5646a3c7aa844bd4981c3028a2e412fd9d513f848aa884fbf5cda7e0f3fb531
+F src/shell.c.in 8d843d54a725728800948caf367d985cfb85454db4cbcf7f2814601f1636ccb7
F src/sqlite.h.in 706cacea5308b0244fb6cec92e08310fb427a125375c64137cc1f878ae4cf5c0
F src/sqlite3.rc 015537e6ac1eec6c7050e17b616c2ffe6f70fca241835a84a4f0d5937383c479
F src/sqlite3ext.h 5d5330f5f8461f5ce74960436ddcfa53ecd09c2b8b23901e22ae38aec3243998
F test/mmapcorrupt.test 470fb44fe92e99c1d23701d156f8c17865f5b027063c9119dcfdb842791f4465
F test/mmapfault.test d4c9eff9cd8c2dc14bc43e71e042f175b0a26fe3
F test/mmapwarm.test 2272005969cd17a910077bd5082f70bc1fefad9a875afec7fc9af483898ecaf3
-F test/modeA.clitest dc575548084eaa9b0214c4a8d544a3755e3befb08c657fd866047f16c85ffa37
+F test/modeA.clitest 96939c5fac8595213d84de82f3e09e4d126bafed19ec30167953627f4afa1723
F test/multiplex.test d74c034e52805f6de8cc5432cef8c9eb774bb64ec29b83a22effc8ca4dac1f08
F test/multiplex2.test 580ca5817c7edbe4cc68fa150609c9473393003a
F test/multiplex3.test fac575e0b1b852025575a6a8357701d80933e98b5d2fe6d35ddaa68f92f6a1f7
F test/progress.test ebab27f670bd0d4eb9d20d49cef96e68141d92fb
F test/ptrchng.test ef1aa72d6cf35a2bbd0869a649b744e9d84977fc
F test/pushdown.test 46a626ef1c0ca79b85296ff2e078b9da20a50e9b804b38f441590c3987580ddd
-F test/qrf01.test 5e4128aa6b20f07b2c96b5969736912f76f5d08263244a803d4d2103f6105a4b
+F test/qrf01.test 7ad8bb08eaaf9dee2a76a807741dfe4d6752614baa3c03afc734580bccc59afa
F test/qrf02.test 39b4afdc000bedccdafc0aecf17638df67a67aaa2d2942865ae6abcc48ba0e92
F test/qrf03.test e7efe46d204671726b4707585126cd78d107368de4a7d0c7b8d5157cdd8624ed
F test/qrf04.test 0894692c998d2401dcc33449c02051b503ecce0c94217be54fb007c82d2d1379
F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
F tool/warnings.sh d924598cf2f55a4ecbc2aeb055c10bd5f48114793e7ba25f9585435da29e7e98
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P d2049bffe6674b8840663b0e5f404a040b715640c87f022517cf11546548fda3
-R e97d553da9f54d493dfdd1ccf5eb3ae4
+P e3f442d08f455e0aa260cc8db4922a5f611e17afe71b0bb251328ab4b3ad46ca
+R e60459669c3f8c574529928b09b1a54a
U drh
-Z 84fa93b37bf781cb02b209931a6e3fae
+Z 10e2a2cc1e2b9542db47a3f99f2383b9
# Remove this line to create a well-formed Fossil manifest.
-e3f442d08f455e0aa260cc8db4922a5f611e17afe71b0bb251328ab4b3ad46ca
+d00d9556edc198d49cf9aa2f14e46bb5b1021ef0622aee1fa4ae585ed9a13a98
** --once Setting changes to the right are reverted after
** the next SQL command.
** --quote ARG Enable/disable quoting of text. ARG can be
-** "off", "on", "sql", "csv", "html", "tcl",
-** or "json". "off" means show the text as-is.
+** "off", "on", "sql", "relaxed", "csv", "html",
+** "tcl", or "json". "off" means show the text as-is.
** "on" is an alias for "sql".
** --reset Changes all mode settings back to their default.
** --rowsep STRING Use STRING as the row separator
╰─────┴───────┴───────┴───────┴───────╯
END
+# Default output mode is qbox --quote relaxed
+#
+.mode tty --wrap 10
+CREATE TABLE t2(a,b,c,d);
+INSERT INTO t2 VALUES(1,2.5,'three',x'4444');
+INSERT INTO t2 VALUES('The quick fox jumps over the lazy brown dog',2,3,4);
+INSERT INTO t2 VALUES('10','', -1.25,NULL);
+INSERT INTO t2 VALUES('a,b,c','"Double-Quoted"','-1.25','NULL');
+.output memory
+SELECT * FROM t2;
+.output --verify END
+╭────────────┬────────────┬─────────┬─────────╮
+│ a │ b │ c │ d │
+╞════════════╪════════════╪═════════╪═════════╡
+│ 1 │ 2.5 │ three │ x'4444' │
+├────────────┼────────────┼─────────┼─────────┤
+│ The quick │ 2 │ 3 │ 4 │
+│ fox jumps │ │ │ │
+│ over the │ │ │ │
+│ lazy brown │ │ │ │
+│ dog │ │ │ │
+├────────────┼────────────┼─────────┼─────────┤
+│ '10' │ │ -1.25 │ NULL │
+├────────────┼────────────┼─────────┼─────────┤
+│ a,b,c │ "Double- │ '-1.25' │ 'NULL' │
+│ │ Quoted" │ │ │
+╰────────────┴────────────┴─────────┴─────────╯
+END
+.output memory
+.mode
+.output --verify END
+current output mode: qbox --limits 5,300 --quote relaxed --screenwidth auto --textjsonb on
+END
+.output memory
+.mode -v
+.output --verify END
+current output mode: qbox --align "" --border on --blob-quote auto --colsep "" --escape auto --limits 5,300 --null "NULL" --quote relaxed --rowsep "" --screenwidth auto --tablename "" --textjsonb on --titles on --widths "" --wordwrap off --wrap 10
+END
+
.output memory --error-prefix "Error:"
.mode foo
.output --verify END
╰───────┴────┴───────╯
}
+# Tests for "relaxed" quoting
+#
+do_test 13.2 {
+ db eval {
+ CREATE TABLE t13(a,b);
+ INSERT INTO t13(a,b) VALUES
+ (1,'NULL'),
+ (0,'-NULL-'),
+ (0,''),
+ (1,'''abcde'),
+ (1,'abcde'''),
+ (0,'abcde'),
+ (1,' abcde'),
+ (1,'abcde '),
+ (1,'+0'),
+ (1,'-0'),
+ (1,'012345'),
+ (0,'012xyz345'),
+ (1,'0123.45'),
+ (0,'12.34.56'),
+ (0,'12.3e'),
+ (1,'12.3e+123'),
+ (1,'12.3e-34'),
+ (1,'12.3E56'),
+ (1,'12E56'),
+ (0,'12.5E5.6'),
+ (0,'12.5e+'),
+ (0,'12.5e-'),
+ (1,'+Inf'),(1,'-Inf'),(1,'Inf');
+ }
+ set result \n[db format -style box -text relaxed -null NULL \
+ -align {center left} \
+ {SELECT if(a,'yes','') AS 'quoted?', b AS string
+ FROM t13 ORDER BY rowid}]
+} {
+╭─────────┬─────────────╮
+│ quoted? │ string │
+╞═════════╪═════════════╡
+│ yes │ 'NULL' │
+│ │ -NULL- │
+│ │ │
+│ yes │ '''abcde' │
+│ yes │ 'abcde''' │
+│ │ abcde │
+│ yes │ ' abcde' │
+│ yes │ 'abcde ' │
+│ yes │ '+0' │
+│ yes │ '-0' │
+│ yes │ '012345' │
+│ │ 012xyz345 │
+│ yes │ '0123.45' │
+│ │ 12.34.56 │
+│ │ 12.3e │
+│ yes │ '12.3e+123' │
+│ yes │ '12.3e-34' │
+│ yes │ '12.3E56' │
+│ yes │ '12E56' │
+│ │ 12.5E5.6 │
+│ │ 12.5e+ │
+│ │ 12.5e- │
+│ yes │ '+Inf' │
+│ yes │ '-Inf' │
+│ yes │ 'Inf' │
+╰─────────┴─────────────╯
+}
+
db close
finish_test