-C Continuing\swork\son\s--rowcount\sand\s--title\salways.
-D 2026-07-07T00:23:38.996
+C Show\s--rowcount\sfor\s"--style\sinsert".\s\sNew\stest\scases.
+D 2026-07-07T11:00:10.684
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F ext/misc/zorder.c bddff2e1b9661a90c95c2a9a9c7ecd8908afab5763256294dd12d609d4664eee
F ext/qrf/README.md 3dfd5de860cdc0c572d8926ba0c1b3cc8925487dfbda10e63af66a8811907687
F ext/qrf/dev-notes.md e68a6d91ce4c7eb296ef2daadc2bb79c95c317ad15b9fafe40850c67b29c2430
-F ext/qrf/qrf.c 151396f96eb0262443b2dda0313976ffb072b17341374d80cd9681d38345000d
+F ext/qrf/qrf.c 660da110dcf6e0b458fba4ac5d6609b633efc6dddd64e2bc5af7f8a0579b7475
F ext/qrf/qrf.h fcbc33578176b2fd9dda8310d8f6ba4eaf4f75052f466dfe682802e6664df8bd
F ext/rbu/rbu.c 801450b24eaf14440d8fd20385aacc751d5c9d6123398df41b1b5aa804bf4ce8
F ext/rbu/rbu1.test 25870dd7db7eb5597e2b4d6e29e7a7e095abf332660f67d89959552ce8f8f255
F test/mmapcorrupt.test 470fb44fe92e99c1d23701d156f8c17865f5b027063c9119dcfdb842791f4465
F test/mmapfault.test d4c9eff9cd8c2dc14bc43e71e042f175b0a26fe3
F test/mmapwarm.test 2272005969cd17a910077bd5082f70bc1fefad9a875afec7fc9af483898ecaf3
-F test/modeA.sql b3110eb88e3d7eb86bbf0e52e8d45bde036608baa3c98fbce07dfe3eab1928e1
+F test/modeA.sql eda688a95bfed5da5b8516ada67db3b696e903cd5bd2a0b900300cb2e5f64451
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 cc17b3efe5d4de8b1f2c9ddd0bb8a6b6934d4f32252803d9d145fac3cecb369e
+F test/qrf01.test dafebb59e6aa6523b5bf6ff64d1992bbf869be9c221fb18567a67d04874f69ca
F test/qrf02.test 39b4afdc000bedccdafc0aecf17638df67a67aaa2d2942865ae6abcc48ba0e92
F test/qrf03.test e7efe46d204671726b4707585126cd78d107368de4a7d0c7b8d5157cdd8624ed
F test/qrf04.test 0894692c998d2401dcc33449c02051b503ecce0c94217be54fb007c82d2d1379
F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c
-P 600c6b464050078b38cc688668148f684243e7c5f08d0aae4d5f72aa6f985482
-R 6b8e1ec56e5918c44216302c94fac591
+P adeb4fbb86a8a781d7efb0eecb9c84ce605d0bd45f63992bf2ecd60765a60d2c
+R f7fdf80c6283e7cb9c051183725987bf
U drh
-Z 7a466c86906d29efc86be3f3db820048
+Z 2ec65d5f66458affd3eb44f92e876b01
# Remove this line to create a well-formed Fossil manifest.
│ BLOB │ │ Ἀμήν │
╰──────┴─────┴───────╯
}
-do_test 1.11a {
+do_test 1.11.0 {
set result "\n[db format -title off {SELECT * FROM t1}]"
} {
╭──────┬─────┬───────╮
│ BLOB │ │ Ἀμήν │
╰──────┴─────┴───────╯
}
-do_test 1.11b {
+do_test 1.11.1 {
set result "\n[db format -text sql {SELECT * FROM t1}]"
} {
╭─────────────┬─────┬─────────╮
│ x'424c4f42' │ │ 'Ἀμήν' │
╰─────────────┴─────┴─────────╯
}
-do_test 1.11c {
+do_test 1.11.2 {
set result "\n[db format -text sql -border off {SELECT * FROM t1}]"
} {
a │ b │ c
1 │ 2.5 │ 'three'
x'424c4f42' │ │ 'Ἀμήν'
}
-do_test 1.11d {
+do_test 1.11.3 {
set result "\n[db format -text relaxed -blob sql -border off \
{SELECT * FROM t1}]"
} {
1 │ 2.5 │ three
x'424c4f42' │ │ Ἀμήν
}
-do_test 1.11e {
+do_test 1.11.4 {
set result "\n[db format -rowcount on {SELECT * FROM t1}]"
} {
╭──────┬─────┬───────╮
╰──────┴─────┴───────╯
(2 rows)
}
-do_test 1.11f {
+do_test 1.11.5 {
set result "\n[db format -rowcount on {SELECT * FROM t1 WHERE a=1}]"
} {
╭───┬─────┬───────╮
╰───┴─────┴───────╯
(1 row)
}
-do_test 1.11g {
+do_test 1.11.6 {
set result "\n[db format {SELECT * FROM t1 WHERE a=2}]"
} {}
-do_test 1.11h {
+do_test 1.11.7 {
set result "\n[db format -rowcount on {SELECT * FROM t1 WHERE a=2}]"
} {
(0 rows)
}
-do_test 1.11i {
+do_test 1.11.8 {
set result "\n[db format -title always -rowcount off {SELECT * FROM t1 WHERE a=2}]"
} {
╭───┬───┬───╮
│ a │ b │ c │
╰───┴───┴───╯
}
-do_test 1.11j {
+do_test 1.11.9 {
set result "\n[db format -title always -rowcount on {SELECT * FROM t1 WHERE a=2}]"
} {
╭───┬───┬───╮
catch {db format -text sql -style unk {SELECT * FROM t1}} res
set res
} {bad format style (-style) "unk": must be auto, box, column, count, csv, eqp, explain, html, insert, jobject, json, line, list, markdown, quote, stats, stats-est, stats-vm, or table}
-
+do_test 1.17 {
+ catch {db format -text sql -title unk {SELECT * FROM t1}} res
+ set res
+} {bad -title "unk": must be off, on, always, auto, csv, html, json, plain, relaxed, sql, or tcl}
+do_test 1.18 {
+ catch {db format -text sql -rowcount unk {SELECT * FROM t1}} res
+ set res
+} {bad -rowcount "unk": must be auto, yes, no, on, or off}
do_test 1.20 {
set result "\n[db format -style box {SELECT * FROM t1}]"
| BLOB | | Ἀμήν |
+------+-----+-------+
}
+do_test 1.30.1 {
+ set result "\n[db format -style table -rowcount on {SELECT * FROM t1}]"
+} {
++------+-----+-------+
+| a | b | c |
++------+-----+-------+
+| 1 | 2.5 | three |
+| BLOB | | Ἀμήν |
++------+-----+-------+
+(2 rows)
+}
+do_test 1.30.2 {
+ set result "\n[db format -style table -rowcount off {SELECT * FROM t1 WHERE a=2}]"
+} {
+}
+do_test 1.30.3 {
+ set result "\n[db format -style table -rowcount on {SELECT * FROM t1 WHERE a=2}]"
+} {
+(0 rows)
+}
+do_test 1.30.4 {
+ set result "\n[db format -style table -rowcount on -title always {SELECT * FROM t1 WHERE a=2}]"
+} {
++---+---+---+
+| a | b | c |
++---+---+---+
+(0 rows)
+}
do_test 1.31 {
set result "\n[db format -style table -title off {SELECT * FROM t1}]"
} {
1|2.5|three
BLOB| |Ἀμήν
}
-do_test 1.34 {
+do_test 1.34.0 {
set result "\n[db format -style box -border off \
-screenwidth 30 \
{SELECT * FROM t1}]"
1 │ 2.5 │ three
BLOB │ │ Ἀμήν
}
+do_test 1.34.1 {
+ set result "\n[db format -style box -border off \
+ -screenwidth 30 -title always \
+ {SELECT * FROM t1 WHERE a=2}]"
+} {
+ a │ b │ c
+───┴───┴───
+}
do_test 1.35 {
set result "\n[db format -style box -border off \
-screenwidth 15 \
1 2.5 three
BLOB Ἀμήν
}
+do_test 1.42 {
+ set result "\n[db format -style column -title always {SELECT * FROM t1 WHERE a=2}]"
+} {
+a b c
+}
do_test 1.50 {
db format -style count {SELECT * FROM t1}
} 2
-do_test 1.60a {
+do_test 1.60.0 {
db format -style list -columnsep , -rowsep \r\n -text csv -blob tcl {SELECT * FROM t1}
} "1,2.5,three\r\n\"\\102\\114\\117\\102\",,\"Ἀμήν\"\r\n"
-do_test 1.60b {
+do_test 1.60.1 {
db format -style csv -columnsep xyz -rowsep pqr -text sql -blob sql {SELECT * FROM t1}
} "1,2.5,three\r\nx'424c4f42',,\"Ἀμήν\"\r\n"
-do_test 1.61a {
+do_test 1.61.0 {
db format -style list -columnsep , -rowsep \r\n -text csv -title auto -blob tcl {SELECT * FROM t1}
} "a,b,c\r\n1,2.5,three\r\n\"\\102\\114\\117\\102\",,\"Ἀμήν\"\r\n"
-do_test 1.61b {
+do_test 1.61.1 {
db format -style csv -title auto -blob tcl {SELECT * FROM t1}
} "a,b,c\r\n1,2.5,three\r\n\"\\102\\114\\117\\102\",,\"Ἀμήν\"\r\n"
-do_test 1.62a {
+do_test 1.62.2 {
db format -style list -columnsep , -rowsep \r\n -text csv -title csv -blob tcl {SELECT a AS 'a x y', b, c FROM t1}
} "\"a x y\",b,c\r\n1,2.5,three\r\n\"\\102\\114\\117\\102\",,\"Ἀμήν\"\r\n"
-do_test 1.62b {
+do_test 1.62.1 {
db format -style csv -title csv -blob tcl {SELECT a AS 'a x y', b, c FROM t1}
} "\"a x y\",b,c\r\n1,2.5,three\r\n\"\\102\\114\\117\\102\",,\"Ἀμήν\"\r\n"
+do_test 1.63.0 {
+ db format -style list -columnsep , -rowsep \r\n -text csv \
+ -title always -rowcount on -blob tcl {SELECT * FROM t1 WHERE a=2}
+} "a,b,c\r\n(0 rows)"
do_test 1.70 {
set result "\n[db format -style html {SELECT * FROM t1}]"
<TD>xy'z
</TR>
}
+do_test 1.73 {
+ set result "\n[db format -style html -rowcount on {SELECT * FROM t1 WHERE a=1}]"
+} {
+<TR>
+<TD>1
+<TD>2.5
+<TD>three
+</TR>
+<!-- 1 row -->
+}
+do_test 1.74 {
+ set result "\n[db format -style html -rowcount on {SELECT * FROM t1 WHERE a=2}]"
+} {
+<!-- 0 rows -->
+}
+do_test 1.75 {
+ set result "\n[db format -style html -title always -rowcount on {SELECT * FROM t1 WHERE a=2}]"
+} {
+<TR>
+<TH>a
+<TH>b
+<TH>c
+</TR>
+<!-- 0 rows -->
+}
+do_test 1.76 {
+ set result "\n[db format -style html -title always -rowcount off {SELECT * FROM t1 WHERE a=2}]"
+} {
+<TR>
+<TH>a
+<TH>b
+<TH>c
+</TR>
+}
do_test 1.80 {
set result "\n[db format -style insert {SELECT * FROM t1}]"
INSERT INTO t1(a,b,c) VALUES(1,2.5,'three');
INSERT INTO t1(a,b,c) VALUES(x'424c4f42',NULL,'Ἀμήν');
}
-do_test 1.83 {
+do_test 1.83.0 {
set result "\n[db format -style insert -tablename drop -title on \
{SELECT a AS "a-b", b, c AS "123" FROM t1}]"
} {
INSERT INTO "drop"("a-b",b,"123") VALUES(1,2.5,'three');
INSERT INTO "drop"("a-b",b,"123") VALUES(x'424c4f42',NULL,'Ἀμήν');
}
+do_test 1.83.1 {
+ set result "\n[db format -style insert -tablename drop -title always \
+ {SELECT a AS "a-b", b, c AS "123" FROM t1}]"
+} {
+INSERT INTO "drop"("a-b",b,"123") VALUES(1,2.5,'three');
+INSERT INTO "drop"("a-b",b,"123") VALUES(x'424c4f42',NULL,'Ἀμήν');
+}
do_test 1.84 {
set result "\n[db format -style insert {SELECT * FROM t1} -multiinsert 2000]"
} {
INSERT INTO tab VALUES(6,60),
(7,70);
}
+do_test 1.86 {
+ set result "\n[db format -style insert -tablename drop -title on \
+ -rowcount on {SELECT a AS "a-b", b, c AS "123" FROM t1}]"
+} {
+INSERT INTO "drop"("a-b",b,"123") VALUES(1,2.5,'three');
+INSERT INTO "drop"("a-b",b,"123") VALUES(x'424c4f42',NULL,'Ἀμήν');
+/* 2 rows inserted */
+}
do_test 1.90 {
set result "\n[db format -style json {SELECT * FROM t1}]"
{"a":1,"b":2.5,"c":"three","xyz":"abc\n123\r\nxyz"}
{"a":"\u0042\u004c\u004f\u0042","b":null,"c":"Ἀμήν","xyz":"abc\n123\r\nxyz"}
}
+do_test 1.93 {
+ set result "\n[db format -style json -title always -rowcount on {SELECT * FROM t1}]"
+} {
+[{"a":1,"b":2.5,"c":"three"},
+{"a":"\u0042\u004c\u004f\u0042","b":null,"c":"Ἀμήν"}]
+}
+
do_test 1.100 {
set result "\n[db format -style line {SELECT * FROM t1}]"
b = (NULL)
c = 'Ἀμήν'
}
+do_test 1.103 {
+ set result "\n[db format -style line -title always -rowcount on {SELECT * FROM t1}]"
+} {
+a: 1
+b: 2.5
+c: three
+
+a: BLOB
+b:
+c: Ἀμήν
+
+(2 rows)
+}
+do_test 1.104 {
+ set result "\n[db format -style line -title always -rowcount on {SELECT * FROM t1 WHERE a=2}]"
+} {
+(0 rows)
+}
do_test 1.110 {
set result "\n[db format -style list {SELECT * FROM t1}]"
1|2.5|'three'
x'424c4f42'|NULL|'Ἀμήν'
}
+do_test 1.113 {
+ set result "\n[db format -style list {SELECT * FROM t1 WHERE a=2}]"
+} {
+}
+do_test 1.114 {
+ set result "\n[db format -style list -rowcount on {SELECT * FROM t1 WHERE a=2}]"
+} {
+(0 rows)
+}
+do_test 1.115 {
+ set result "\n[db format -style list -rowcount on -title always {SELECT * FROM t1 WHERE a=2}]"
+} {
+a|b|c
+(0 rows)
+}
+do_test 1.116 {
+ set result "\n[db format -style list -rowcount off -title always {SELECT * FROM t1 WHERE a=2}]"
+} {
+a|b|c
+}
+
do_test 1.118 {
set rc [catch {db format -style list -title unk {SELECT * FROM t1}} res]
lappend rc $res
| 1 | 2.5 | three |
| BLOB | | Ἀμήν |
}
+do_test 1.122 {
+ set result "\n[db format -style markdown -rowcount on {SELECT * FROM t1}]"
+} {
+| a | b | c |
+|------|-----|-------|
+| 1 | 2.5 | three |
+| BLOB | | Ἀμήν |
+(2 rows)
+}
+do_test 1.123 {
+ set result "\n[db format -style markdown -rowcount on -title always {SELECT * FROM t1 WHERE a=2}]"
+} {
+| a | b | c |
+(0 rows)
+}
do_test 1.130 {
set result "\n[db format -style quote {SELECT * FROM t1}]"
1,2.5,'three'
x'424c4f42',NULL,'Ἀμήν'
}
+do_test 1.132 {
+ set result "\n[db format -style quote -rowcount on {SELECT * FROM t1}]"
+} {
+1,2.5,'three'
+x'424c4f42',NULL,'Ἀμήν'
+(2 rows)
+}
+do_test 1.133 {
+ set result "\n[db format -style quote -rowcount off -title always \
+ {SELECT * FROM t1 WHERE a=2}]"
+} {
+'a','b','c'
+}
do_execsql_test 2.0 {
DELETE FROM t1;