drh
fad1ad0526
Fix a harmless assertion fault resulting from [6e6b3729e0549de0] that was
...
discovered by dbsqlfuzz. Enhance .selecttrace output to show omitted
ORDER BY clauses. New dbsqlfuzz test cases added.
FossilOrigin-Name: 27a0388ad616f80e8dcc986c247a5c23a8565dae9081b04ff85bac0d357e531b
2021-03-03 14:07:52 +00:00
drh
9e673ace5b
Improved corrupt database detection in balance_nonroot().
...
FossilOrigin-Name: 5d54d9fd406381383afdf10612bfd590afc4142215d9bca09e227e3aa5baa102
2021-02-01 12:39:50 +00:00
drh
0a8b6a9f8f
Enhance the sqlite3BtreeTransferRow() routine so that it does more careful
...
checks for corrupt database pages.
FossilOrigin-Name: 85952e71175dae73c4e587a3b80783825d91fe8567a819e072da651c1ff4131b
2020-12-16 21:09:45 +00:00
drh
9bb612f2c8
Fix a faulty assert() statement. Add new test cases.
...
FossilOrigin-Name: 80ecdb3da4558bb08ee3ec6edbde906ad5b3b8182e672b5ba0d5dfa8041cee0a
2020-10-02 12:42:51 +00:00
drh
53218e2e2c
Back out a NEVER() that turns out to be reachable.
...
FossilOrigin-Name: 8cf342d4e5eb67b17aee595d9d75f7798eccaebc1ec88e646d344d8d4ab64977
2020-07-31 23:34:53 +00:00
drh
bc2cf3b295
Early detection of freelist size corruption in incremental vacuum.
...
FossilOrigin-Name: f25a56c26e28abd44373230c6b5763aed35c9a7648abede8a53409dccc0bee1d
2020-07-14 12:40:53 +00:00
drh
a1085f0640
Improved detection of a corrupt database schema. Fix for a problem discovered
...
by dbsqlfuzz.
FossilOrigin-Name: 30735432bc33cb953b6d7d2a2de9eb378f9740e0e663f50c727c3f138cd43a2b
2020-07-11 16:42:28 +00:00
drh
d8d335d737
Fix a possible null pointer deref following OOM. Discovered by dbsqlfuzz.
...
FossilOrigin-Name: cc888878ea8d5bc754c69de523819d32d6d9853857e31d7287f9dbfd723428db
2020-06-26 04:34:28 +00:00
drh
dc8339eaac
Add a test case covering the previous check-in to the test/fuzzdata8.db file.
...
FossilOrigin-Name: 95379da0e1ad5110648a5b3af24e7caab66a6f1ad6efdf374c83ae4ef1fed515
2020-06-16 14:12:43 +00:00
drh
0dc90d43e5
New test case added to test/fuzzdata8.db.
...
FossilOrigin-Name: 14a5cbddc887e23a684fabab1a213cce261bd6cffa0663d4f138b92d0b65b9c2
2020-06-12 15:45:02 +00:00
drh
6aa7515c46
Remove a NEVER() that turns out to be reachable.
...
FossilOrigin-Name: 44e573ecd5c2b60107133d60c51f3a04a3f904e9c1cf926e9b8ea977c7acae8d
2020-06-12 00:31:52 +00:00
drh
896366282d
Alternative fix to ticket [c8d3b9f0a750a529]: Prior to deleting or modifying
...
an Expr not that is referenced by an AggInfo, modify the AggInfo to get its
own copy of the original Expr.
FossilOrigin-Name: 7682d8a768fbccfe0cc956e9f6481637146e1ab9763b248ff11052761ce32e32
2020-06-07 17:33:18 +00:00
drh
856408abf4
Add the SQLITE_ENABLE_FTS3_PARENTHESIS option to fuzzcheck. Add a new
...
test case that uses that option.
FossilOrigin-Name: c49a33db954f1a3fbc1889bbe9f3f3fdb8fb00e31aafb91cd6f5d1602db5c2b9
2020-05-15 01:02:00 +00:00
drh
2493dcdd07
New test case in test/fuzzdata8.db.
...
FossilOrigin-Name: fa11230135610f01c56d6f436f30a8b57a50b430fe7397ea3a0b6642986b3a39
2020-05-11 11:11:25 +00:00
drh
91d4c374e2
New test cases added to test/fuzzdata8.db.
...
FossilOrigin-Name: 3fce9711a47329811cd333ae2f1d1384a96d73b9a5d6f9d08454a57a3fd24fc8
2020-05-08 15:28:07 +00:00
drh
47f8ef32a0
Remove a NEVER() that could be true in sqlite3MatchEName().
...
FossilOrigin-Name: 921448f0e24a3753374b32be9d7bf36a9ca5d8522eff9f0b51dc243f08652419
2020-04-04 11:58:22 +00:00
drh
2e52a9c611
In the push-down optimization, do not substitute columns that have previously
...
been identified as being constant by the propagate-constants optimization.
Fix for ticket [51166be0159fd2ce]
FossilOrigin-Name: 70c44811d12f540d4ec1c29dedbe999cf79b82e326a8712ae2fa0725d6bd8a65
2020-04-04 00:15:54 +00:00
drh
a96a69b7db
Add a test case to fuzzdata8.db for the recent Henry Liu bugs.
...
FossilOrigin-Name: 42b02454b146ca1b04c0a5321465326435fc5b995f5498d3b1cf69c558a20f95
2020-04-03 16:11:32 +00:00
drh
a8781d9d93
Update the fuzzcheck test module so that it avoids inserting text values
...
that contain embedded NULs in the XSQL table. Fix some legacy entries in
the test/fuzzdata8.db that had embedded NULs. Add in new dbsqlfuzz cases
that have accumulated over on the dbsqlfuzz project for a while.
FossilOrigin-Name: 47d4240c4a837e829f593bb2aad7563010838f55345e7a0d8e2ea79462aeeb3c
2020-02-25 20:05:58 +00:00
drh
05e8c5407f
Remove an ALWAYS on a branch for improved database corruption detection
...
in btree.c:freeSpace(). Test case found by dbsqlfuzz.
FossilOrigin-Name: 54bf04811951db6c894f272f870e3e41f8f5e05a25c1115efbbdbd0d8bba54be
2020-01-14 16:39:54 +00:00
drh
42925d1f1a
Add an "|| CORRUPT_DB" term to an assert() statement inside of btree.
...
FossilOrigin-Name: 03c1d75ddc063469fc856114595bd12d21759fe0979ce1ba1cf52e48e6b0d4a1
2020-01-07 13:32:15 +00:00
drh
64f7ee0219
Remove another NEVER added by check-in [7b62555e285f32d3].
...
Dbsqlfuzz found another test case.
FossilOrigin-Name: 481f4956aff52797880930752693a8c0b10d7fdd71d86919fe8ee13c90ad5b81
2020-01-04 17:55:01 +00:00
drh
4549a3b8cb
Improve a testcase in test/fuzzdata8.db to make it more resilient.
...
FossilOrigin-Name: 139aefe60097e06b43df35652e6b2183b7a4b03341d1bde23deada3fa3358fee
2020-01-04 14:57:26 +00:00
drh
e5cf3e990a
Restore a NEVER and an assert in btree that was removed by
...
check-in [7b62555e285f32d3]. Dbsqlfuzz found test cases.
FossilOrigin-Name: 04a05c83f58784df438dc6614f7920f782bf7c1ed4f6d101c03b6573cfde06ee
2020-01-04 12:34:44 +00:00
drh
4cbd847a91
Fix the OP_Move opcode so that it correctly manages dependency tracking.
...
This change impacts debugging builds only.
FossilOrigin-Name: 5377add4b8af8c52d0a32f5273835ac6bdc42cfb2a95ffcb335b987437a91aa6
2020-01-02 15:02:08 +00:00
drh
629b88c683
Use OP_Copy instead of OP_SCopy to move the results of a scalar subquery.
...
FossilOrigin-Name: 435c272dcf6ed5f3acb564b8f959557145f117b869547b670258cf5a1908ab6b
2020-01-02 02:50:45 +00:00
drh
7505123fe5
Two new test cases added to test/fuzzdata8.db.
...
FossilOrigin-Name: 1be2c18f4021e1d0b8412ecb68a599475c717dd97c7db209fc4203358957fd70
2019-12-28 11:55:44 +00:00
drh
0bb7af44a3
Add two new fuzzer test cases from dbsqlfuzz.
...
FossilOrigin-Name: f8d5586a8ceca985dcb2d63d0fbad9e271e9e1664720ee698d4947acd5dcc543
2019-12-26 01:02:02 +00:00
drh
c7a5ff45b9
Backout the early VTable cursor close change from yesterday, as Yongheng and
...
Rui have found a test case for which it fails. The new test case is added
to fuzzcheck.
FossilOrigin-Name: ddb10f0374e66886d0681937b14cf0b4f100f03d3955b45b6c508dc6d9e36976
2019-12-24 21:01:37 +00:00
drh
4eac5f04ab
Extra defense against problems following an OOM. dbsqlfuzz find. Also
...
import the latest dbsqlfuzz test cases.
FossilOrigin-Name: 0a70f5ddaf3567f335cc0fd0fcd5303e2afb5e38a6388faddf5cab1f2a74e3dd
2019-12-24 15:01:17 +00:00
drh
9524a7ea9f
When parsing a CREATE TABLE from the sqlite_master table, delete the CHECK
...
constraints if there are any errors, since there might otherwise be attempts
to use those CHECK constraints if PRAGMA writable_schema=ON is set.
This undoes the fix in check-in [ea721b34477ab8b4] for a more general
solution.
FossilOrigin-Name: a982e6434cd66bfbe94d455f538bcbc4360b91572062d92acae6b77e9560e65d
2019-12-22 18:06:49 +00:00
drh
f4f31df02d
When creating a new virtual table, ensure that the OP_ParseSchema opcode
...
processes the correct entry in the sqlite_master table even if there is
a second entry with the same name and table values due to database corruption
and the use of writable_schema=ON. Dbsqlfuzz find.
FossilOrigin-Name: 4dbb6e1cb094f3428c74ea8bdd86ab63341fecce978a062968ca01423f382e90
2019-12-21 19:37:09 +00:00
drh
b0cbcd0edf
When a corrupt schema is loaded using writable_schema=ON, the CHECK constraints
...
(or other expressions in the table definition) might not be fully resolved.
Ensure that the code generator can deal with this if the table is subsequently
used in a DML statement. dbsqlfuzz find.
FossilOrigin-Name: ea721b34477ab8b49d182352c4bc198245933b850e9b6248b4f97600e80bb44b
2019-12-21 14:09:30 +00:00
drh
40e9c8328e
Load new dbsqlfuzz test cases into test/fuzzdata8.db.
...
FossilOrigin-Name: 01aeeb5c4c70a0f19651448e94ad5c6810cab3d6957b5bc7a9b4b8e0b887f3de
2019-12-20 14:24:26 +00:00
drh
1548d5276f
Do not continue an ALTER TABLE tree walk of a subquery if a prior error
...
is seen in the tree. Report the problem immediately, without continuing.
FossilOrigin-Name: 01ca865f31c0c817ede7f357401ef76cf311ae662397908464f53e1c147f5b6b
2019-12-20 12:55:21 +00:00
drh
0e5ce8029d
Fix an assert() in btree.c that can fail if an INSERT is attempted on
...
a corrupted database while in PRAGMA writable_schema=ON.
FossilOrigin-Name: 07beb3629e648e7feae4e786191514339ac1d8f6ba5bb6e7cc8a04bc1f1cd6ab
2019-12-20 12:33:17 +00:00
drh
fd6bf04bba
Remove a reachable NEVER() in FTS3.
...
FossilOrigin-Name: 8bd75bf636f72f32d66c6c38e1918f27daf2f13290f00a001f41d50838bbda47
2019-11-17 00:08:24 +00:00
drh
c72f2fb7fe
More improvements to shadow table corruption detection in FTS3.
...
FossilOrigin-Name: 51525f9c3235967bc00a090e84c70a6400698c897aa4742e817121c725b8c99d
2019-11-16 23:47:40 +00:00
drh
94febb3a77
Improved detection of corrupt shadow tables in FTS3. Enable the debugging
...
special-inserts for FTS3 for both SQLITE_DEBUG and SQLITE_TEST.
FossilOrigin-Name: 04b2873be5aedeb1c4325cf36c4b5d180f929a641caf1e3829c03778adb29c8e
2019-11-16 21:40:49 +00:00
drh
01d1801cab
New test cases added to fuzzdata8.db.
...
FossilOrigin-Name: 5baffcda7d5a42a99fa905faa834f14b94b1e2a26b5221f15d8ae8f1f5e3236a
2019-11-14 13:57:15 +00:00
drh
675f73bcab
New dbsqlfuzz test cases added.
...
FossilOrigin-Name: 18c3a17dc8c07b12427e372ff86668d5bcb6b34d653c46c48561ed576acefa5b
2019-11-09 14:44:18 +00:00
drh
68748ec509
Futher improvements to the IN operator for row-values on virtual tables.
...
FossilOrigin-Name: bc751fb64d5b08e5ca4c85cd1c6fbf09590fa9dad7e176ba373082ea373655b5
2019-10-14 20:32:31 +00:00
drh
4a9f379c9c
New test cases in test/fuzzdata8.db.
...
FossilOrigin-Name: 344d9cb0c726078af6deb4a26bed3aded5b26914bb286d3446d3a4e9150840b7
2019-10-14 15:24:20 +00:00
drh
9fd04bfd29
New test cases added to test/fuzzdata8.db.
...
FossilOrigin-Name: b68d21e93a0839b42f49845918df7738ee7fa2a05c7f4ae2f89fdbb5e47ad8eb
2019-10-09 15:03:45 +00:00
drh
5c0666d9e3
In FTS3/4, the poslist end marker must be larger than any other possible
...
poslist value, even on a corrupt poslist.
FossilOrigin-Name: 752679aea5a6bbde24cbf39e2fa018f7dd1c226d463ca4bd74125303b2255170
2019-09-28 11:19:56 +00:00
drh
ec39707fe6
New dbsqlfuzz cases added to test/fuzzdata8.db.
...
FossilOrigin-Name: 49073b7003330027303c4c776e9f85112f8b99b89f848fec3f953eba501d7505
2019-09-26 16:57:42 +00:00
drh
130dbc3d96
Add recent interesting cases from dbsqlfuzz.
...
FossilOrigin-Name: f06ef3d75d85545dd58c6dda10f7ad04fafbb7ae8706b3821be21f86a94795f1
2019-09-16 15:15:38 +00:00
drh
27e80a3b68
Ensure that the cell overwrite optimization does not overwrite the header
...
of the b-tree page.
FossilOrigin-Name: 4cc5694cbd69749c146679c367860952fdf3f5356426ddfd1dce470569702bc1
2019-08-15 13:17:49 +00:00
drh
9252df4969
New test cases in test/fuzzdata8.db.
...
FossilOrigin-Name: 6e92d71c24c6039e7116f02fc5f39b2b87efcd3674ea828077c03d760bf49c45
2019-07-31 15:16:14 +00:00
drh
cda50737f4
New test cases added to test/fuzzdata8.db
...
FossilOrigin-Name: 25fec62ac5a23382a54eee78d3705885eb4065826d7e8da098816d03ae9dc639
2019-07-22 16:57:13 +00:00