-C Rename\sthe\sColumn.eType\sfield\sto\sColumn.eCType\s-\swith\san\sextra\s"C".
-D 2021-08-18T12:05:22.798
+C Fix\sON\sCONFLICT\sclause\sprocessing\sfor\sNOT\sNULL\sconstraints\sof\sPRIMARY\sKEY\ncolumns\son\sWITHOUT\sROWID\stables.\nTicket\s[f2be158c57aaa8c6]
+D 2021-08-18T22:26:51.356
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
F src/btree.c e204a9c8fb4fe5dbb910a863ba487f4af9b5c501254ec4ccbfcdd6b1f65b7fb4
F src/btree.h 74d64b8f28cfa4a894d14d4ed64fa432cd697b98b61708d4351482ae15913e22
F src/btreeInt.h 7bc15a24a02662409ebcd6aeaa1065522d14b7fda71573a2b0568b458f514ae0
-F src/build.c 0374faa35f0920c51147a20bb3462fae22310f2acaf29721ca99821fc7232548
+F src/build.c 69cddb20437f5608d026409281a3f6b8064d324d009bd22eb6acba4202e38770
F src/callback.c d0b853dd413255d2e337b34545e54d888ea02f20da5ad0e63585b389624c4a6c
F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e
F src/ctime.c 8159d5f706551861c18ec6c8f6bdf105e15ea00367f05d9ab65d31a1077facc1
F test/without_rowid2.test af260339f79d13cb220288b67cd287fbcf81ad99
F test/without_rowid3.test 39ab0dd773eaa62e59b17093f875327630f54c4145458f6d2b053d68d4b2f67b
F test/without_rowid4.test 4e08bcbaee0399f35d58b5581881e7a6243d458a
-F test/without_rowid5.test 89b1c587bd92a0590e440da33e7666bf4891572a
+F test/without_rowid5.test f058a97600c09c7c8754733b9d8adc428e055f815d8926d74b59b872e20d0e2b
F test/without_rowid6.test efbd7add62c59bf5ca97bf8da674e734e6a70ef979234e816166824b4d258f68
F test/without_rowid7.test d7c59a93d726b55812d620f8f284e01904a5b85f9ee9eea8f2f68571a5e8c40e
F test/wordcount.c d721a4b6fae93e6e33449700bce1686bc23257c27425bc3ef1599dc912adec66
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 7cca80808cef192fe0479477056a028e230a164fd368e72100def065d424ca2c
-R b66c8f57a17fe88d4036ed4eb83a05fb
+P b9b0dcd5af072c22f2ce71cf9584b5b572fbcfbce6410a7d703b586adb8938ba
+R f57d6ed5153ac1a3784cf20c59f627b9
U drh
-Z 2628ebdae9db72c0a61ecc0e228d76e8
+Z 19e6156db8fe8743846e026420e0b856
SELECT count(*) FROM nnw;
} {1}
+# Ticket f2be158c57aaa8c6 (2021-08-18)
+# NOT NULL ON CONFLICT clauses work on WITHOUT ROWID tables now.
+#
+do_test without_rowid5-5.100 {
+ db eval {
+ DROP TABLE IF EXISTS t5;
+ CREATE TABLE t5(
+ a INT NOT NULL ON CONFLICT ROLLBACK,
+ b TEXT,
+ c TEXT,
+ PRIMARY KEY(a,b)
+ ) WITHOUT ROWID;
+ BEGIN;
+ INSERT INTO t5(a,b,c) VALUES(1,2,3);
+ }
+ catch {db eval {INSERT INTO t5(a,b,c) VALUES(NULL,6,7);}}
+ db eval {
+ SELECT * FROM t5;
+ }
+} {}
+do_test without_rowid5-5.101 {
+ db eval {
+ DROP TABLE IF EXISTS t5;
+ CREATE TABLE t5(
+ a INT NOT NULL ON CONFLICT ABORT,
+ b TEXT,
+ c TEXT,
+ PRIMARY KEY(a,b)
+ ) WITHOUT ROWID;
+ BEGIN;
+ INSERT INTO t5(a,b,c) VALUES(1,2,3);
+ }
+ catch {db eval {INSERT INTO t5(a,b,c) VALUES(NULL,6,7);}}
+ db eval {
+ COMMIT;
+ SELECT * FROM t5;
+ }
+} {1 2 3}
+do_test without_rowid5-5.102 {
+ db eval {
+ DROP TABLE IF EXISTS t5;
+ CREATE TABLE t5(
+ a INT NOT NULL ON CONFLICT FAIL,
+ b TEXT,
+ c TEXT,
+ PRIMARY KEY(a,b)
+ ) WITHOUT ROWID;
+ }
+ catch {db eval {INSERT INTO t5(a,b,c) VALUES(1,2,3),(NULL,4,5),(6,7,8);}}
+ db eval {
+ SELECT * FROM t5;
+ }
+} {1 2 3}
+do_test without_rowid5-5.103 {
+ db eval {
+ DROP TABLE IF EXISTS t5;
+ CREATE TABLE t5(
+ a INT NOT NULL ON CONFLICT IGNORE,
+ b TEXT,
+ c TEXT,
+ PRIMARY KEY(a,b)
+ ) WITHOUT ROWID;
+ INSERT INTO t5(a,b,c) VALUES(1,2,3),(NULL,4,5),(6,7,8);
+ SELECT * FROM t5;
+ }
+} {1 2 3 6 7 8}
+do_test without_rowid5-5.104 {
+ db eval {
+ DROP TABLE IF EXISTS t5;
+ CREATE TABLE t5(
+ a INT NOT NULL ON CONFLICT REPLACE DEFAULT 3,
+ b TEXT,
+ c TEXT,
+ PRIMARY KEY(a,b)
+ ) WITHOUT ROWID;
+ INSERT INTO t5(a,b,c) VALUES(1,2,3),(NULL,4,5),(6,7,8);
+ SELECT * FROM t5;
+ }
+} {1 2 3 3 4 5 6 7 8}
+
+
# EVIDENCE-OF: R-12643-30541 The incremental blob I/O mechanism does not
# work for WITHOUT ROWID tables.
#