Extra test cases for UPDATEs of contentless tables.
FossilOrigin-Name: 4d11d844de3edd82f022c36381ca7f14a546a608293c329b91e7f041cec82ff5
This commit is contained in:
@@ -120,7 +120,6 @@ foreach {tn cu} {
|
||||
|
||||
# It should be possible to update the rowid if contentless_delete=1 is
|
||||
# set and all indexed columns are updated.
|
||||
if {$tn==2} breakpoint
|
||||
do_execsql_test 1.$tn.15 {
|
||||
UPDATE ft2 SET a='a_one', d='d_one', rowid=11 WHERE rowid=1
|
||||
}
|
||||
@@ -138,6 +137,39 @@ foreach {tn cu} {
|
||||
do_execsql_test 1.$tn.16 {
|
||||
SELECT rowid, * FROM ft2
|
||||
} $res($cu)
|
||||
|
||||
# Should not be possible to update the rowid of a contentless_delete=1
|
||||
# table if no indexed columns are updated.
|
||||
do_catchsql_test 1.$tn.17 {
|
||||
UPDATE ft2 SET rowid=12 WHERE rowid=11
|
||||
} {1 {cannot UPDATE a subset of columns on fts5 contentless-delete table: ft2}}
|
||||
do_catchsql_test 1.$tn.18 {
|
||||
UPDATE ft1 SET rowid=12 WHERE rowid=1
|
||||
} {1 {cannot UPDATE contentless fts5 table: ft1}}
|
||||
|
||||
do_execsql_test 1.$tn.19 {
|
||||
UPDATE ft2 SET a='a_two', d='d_two', c='newval', rowid=12 WHERE rowid=2
|
||||
} {}
|
||||
|
||||
set res(0) {
|
||||
3 {} {} {} {}
|
||||
11 {} {} {} {}
|
||||
12 {} {} {} {}
|
||||
}
|
||||
set res(1) {
|
||||
3 {} b3 c3.2 {}
|
||||
11 {} b1.1.2 c1.2 {}
|
||||
12 {} b2.1.2 newval {}
|
||||
}
|
||||
do_execsql_test 1.$tn.20 {
|
||||
SELECT rowid, * FROM ft2
|
||||
} $res($cu)
|
||||
|
||||
do_execsql_test 1.$tn.21 {
|
||||
SELECT rowid, * FROM ft2('a_two AND d_two')
|
||||
} [lrange $res($cu) 10 end]
|
||||
|
||||
|
||||
}
|
||||
|
||||
finish_test
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
C Fix\sa\sproblem\swith\sUPDATE\sstatements\sthat\smodify\sthe\srowid\sof\scontentless_delete=1\stables.
|
||||
D 2024-09-27T19:10:54.658
|
||||
C Extra\stest\scases\sfor\sUPDATEs\sof\scontentless\stables.
|
||||
D 2024-09-27T19:21:09.689
|
||||
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
||||
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
||||
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
|
||||
@@ -248,7 +248,7 @@ F ext/fts5/test/fts5unicode4.test 728c8f0caafb05567f524ad313d9f8b780fa45987b8a8d
|
||||
F ext/fts5/test/fts5unindexed.test 168838d2c385e131120bbf5b516d2432a5fabc4caa2259c932e1d49ae209a4ae
|
||||
F ext/fts5/test/fts5unindexed2.test 516236eceaac05ace322290a0d3705b4c4ffe4760d8eb9d014d9d27d56dfcc02
|
||||
F ext/fts5/test/fts5update.test b8affd796e45c94a4d19ad5c26606ea06065a0f162a9562d9f005b5a80ccf0bc
|
||||
F ext/fts5/test/fts5update2.test 8d201489b3f3fa253bea592ba6c943d49d80d6bdd7ca8002e70005ec89df3f44
|
||||
F ext/fts5/test/fts5update2.test 1757efae987e6a5a8ac75e3d487fe7be0b8de6006c12f3789fa5d86ee1012706
|
||||
F ext/fts5/test/fts5version.test c22d163c17e60a99f022cbc52de5a48bb7f84deaa00fe15e9bc4c3aa1996204e
|
||||
F ext/fts5/test/fts5vocab.test 2a2bdb60d0998fa3124d541b6d30b019504918dc43a6584645b63a24be72f992
|
||||
F ext/fts5/test/fts5vocab2.test bbba149c254375d00055930c1a501c9a51e80b0d20bf7b98f3e9fa3b03786373
|
||||
@@ -2217,8 +2217,8 @@ F vsixtest/vsixtest.tcl 6195aba1f12a5e10efc2b8c0009532167be5e301abe5b31385638080
|
||||
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
||||
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
||||
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
||||
P b6b1db8d343d3e55c3a5589af3ec629762e06c6b689b77defd445347198cb2e7
|
||||
R acb0bb065c957a3db625bc75e5d80840
|
||||
P d69abca82145465c85241a12322986f22bf12ffe42f86c2c8e8e2f2a77d53bf8
|
||||
R 817da49217632f1ab83203ed5615b513
|
||||
U dan
|
||||
Z c447109d9b6c39331039c8ac2d02cdb0
|
||||
Z b50e3f13244bcc732f70d03504469c39
|
||||
# Remove this line to create a well-formed Fossil manifest.
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
d69abca82145465c85241a12322986f22bf12ffe42f86c2c8e8e2f2a77d53bf8
|
||||
4d11d844de3edd82f022c36381ca7f14a546a608293c329b91e7f041cec82ff5
|
||||
|
||||
Reference in New Issue
Block a user