drh
81f5ef05a9
Fix the IN-early-out optimization so that it works even for the corner case
...
where the NULL bypass fires before the affinity of the LHS operator has been
set. Fix for the problem described in
[forum:/forumpost/6a3ec138e9|forum post 6a3ec138e9].
FossilOrigin-Name: eb40248ce606b792a02e4e0b7dd826a82891c5f4c9793f3ca5d332e593109525
2021-04-29 15:49:34 +00:00
drh
7bfccfe73c
Enhanced "PRAGMA vdbe_trace=on" output associated with the seekHit flag.
...
FossilOrigin-Name: 683950009300657b0321d7d3f77f2585a28696ff93cedef399d1cd4aa484b2d4
2021-04-29 13:58:28 +00:00
drh
5f086ddee0
Fix harmless compiler warnings.
...
See [forum:/forumpost/256140e470|forum post 256140e470].
FossilOrigin-Name: 1b8da7924cc78710ae4bbe12b57140fdaeae5efb0e6ac10073ae9c98b7f8d7a4
2021-04-29 13:37:36 +00:00
drh
5e26d07d62
Update test/fuzzdata8.db with recent dbsqlfuzz finds.
...
FossilOrigin-Name: bce2ea393a872b5b70ef3b9cedce3d406725dcc56d8800ee4f7ec29562cc3f9b
2021-04-29 10:48:50 +00:00
drh
c645871123
Ignore the TEMP or TEMPORARY keyword on CREATE statements which parsing
...
the schema out of an existing database file. Those keywords should never be
there. This change simply adds robustness in case a legacy or damaged database
is seen.
FossilOrigin-Name: 65ec39f0f092fe29e1d4e9e96cf07a73d2ef7ce2c41b6f1cd3ab23546ada0e67
2021-04-28 17:37:26 +00:00
drh
79f313f13c
Adjust a VDBE coverage macros due to the enhancement at [506333742103c1f4].
...
FossilOrigin-Name: daed59b4f96a6899d2404274ad985be3f22f407c1502b3f8ffd7977441a9fe9a
2021-04-28 15:43:36 +00:00
drh
3765c03243
Further improvements to the handling of RETURNING clauses on changes
...
to TEMP tables with triggers.
dbsqlfuzz 683913e98f54fe4f14e8dd11a48011f73bdca58d
FossilOrigin-Name: ff3538ae37a02f4f36a15cddd1245171e724aac9c84b2e576980fd3806302775
2021-04-27 17:18:10 +00:00
drh
a476768340
RETURNING bug fix: Correctly deal with RETURNING statements on changes to
...
TEMP tables that also have triggers.
dbsqlfuzz 78b9400770ef8cc7d9427dfba26f4fcf46ea7dc2
FossilOrigin-Name: d0b15eccbfe1e50c3daf7b2fd4769a52bba35d553b07e462ca3f5f22df6742fd
2021-04-27 13:04:18 +00:00
dan
a4cd0bbcb3
Fix a segfault that could occur when querying a corrupt data structures with an fts5token table.
...
FossilOrigin-Name: cbedfa05501f3eb9750fb21e2ab8516f8f14c479c847f454e52572af278aab71
2021-04-27 11:28:57 +00:00
drh
2f40dc9884
Better error messages on showdb.
...
FossilOrigin-Name: 7e18e114b245d17aa259ea9ab42752ccc9ad5303bbac8d8e46928dd10319f545
2021-04-27 00:05:03 +00:00
drh
19a7f72ce2
Improved robustness of the "showdb" debugging program when it is parsing
...
corrupt database files.
FossilOrigin-Name: 3eabac2ee50fd70b22a927d3d2934718a15e1f666d8d271b854579156c8b01de
2021-04-26 23:57:02 +00:00
drh
d8bc250b91
New dbsqlfuzz cases added to test/fuzzdata8.db.
...
FossilOrigin-Name: 88d20500c516fe89ad1cd42f7366ca190c3790f911f11ab332b86b675f5f69ba
2021-04-26 22:30:49 +00:00
drh
c7f5077e88
Fix the [/info/df1d6482f9e92daf|UNION ALL flattener optimization] so that it
...
works better with recursive CTEs.
dbsqlfuzz 88ed5c66789fced139d148aed823cba7c0926dd7
FossilOrigin-Name: f80d7bb2c305c1dd4658767660b33259032c048a91f18c654a6bda7332c54a0c
2021-04-26 21:23:01 +00:00
drh
feef447271
Add ALWAYS() to branches that are no longer reachable due to recent
...
enhancements.
FossilOrigin-Name: 63c50fbdeed831ba450d1dce67e968a7daa2b69ac1270eb271fb1e1873d4a07e
2021-04-26 21:00:51 +00:00
larrybr
ada2323d95
refix altertab.test
...
FossilOrigin-Name: db032156932fb0dcae5ffb7cbdfb711079daa595713fcb254f09f8ef90c81d95
2021-04-26 20:18:08 +00:00
dan
f0ac29090b
Fix a problem that could cause a crash in sqlite3BtreeDelete() when operating on a corrupt database file.
...
FossilOrigin-Name: 6c6334660dfe81cc33a14b87b25d748b1c98b0702b7bc6db2e3ced16dc992740
2021-04-26 15:32:36 +00:00
drh
3c6edc8a11
More aggressive detection of OOM errors in resolveAlias().
...
dbsqlfuzz 7f96832c2ef7ee472022ed805b064e55e41094b2
FossilOrigin-Name: e99faf4f82746761c389e24db1b00ee94b9f849e7bcb29517fa0ca10290afc41
2021-04-26 15:28:06 +00:00
drh
8ed8ddf759
When doing the optimization that attempts to avoid sorting on a
...
GROUP BY, do not assume that the values in an index on an expression are
non-NULL. Bug discovered by Wang Ke's fuzzer and reported at
[forum:/forumpost/74330094d8|forum post 74330094d8].
FossilOrigin-Name: 7178dc3a32c3a4a33e437fd5026f6f72e4809ceb7d2cd12a25a74b80d5c95d33
2021-04-26 14:32:48 +00:00
dan
bb0eec438d
Do not initialize eponymous virtual tables when parsing the schema. This can happen if the db is corrupt.
...
FossilOrigin-Name: cb8c41aa20bb351c4c712ed7a3617187ceeb0905ede1e6f561bc1d89f31c95ea
2021-04-26 14:09:48 +00:00
larrybr
3ff6a5edd9
Skip test when no JSON.
...
FossilOrigin-Name: 6fcb2438f88a70ed67e19103bfa263a6c98b06962207f153559c9516d8c7b5d5
2021-04-25 23:13:04 +00:00
drh
113a33c539
Make window range queries more robust against corrupt database files.
...
dbsqlfuzz f22df3a7b2aab0937a415484514fc2f68a293c99.
FossilOrigin-Name: 506333742103c1f440db5da819a36f3b518f7b49e94a7b74419b02bbcadc5a78
2021-04-24 23:40:05 +00:00
drh
ba9ebc2d12
Treat byte-order marks (BOMs) at the start of a token as whitespace.
...
This enhancement is inspired by
[forum:/forumpost/ed8f696a20|forum post ed8f696a20].
FossilOrigin-Name: 3d55c21c167631f42d155aadec544e629bd078de9992aa5a74694d08bc52052b
2021-04-24 12:24:08 +00:00
drh
971ae9f66a
Fix testcase altertab-25.1 due to check-in [c7909e8e0d0577c6] disallowing
...
ALTER TABLE on eponymous virtual tables.
FossilOrigin-Name: 32255e39cbde65492d88177464cee9e10cb20cf3105208416be131e2c89b63e1
2021-04-24 12:20:10 +00:00
drh
1521270010
Fix harmless compiler warnings in fuzzcheck.
...
FossilOrigin-Name: e7b4ffecc610c494ebd506977402ec48cc799780f96c6293c0ccf27697160aa1
2021-04-23 13:57:53 +00:00
drh
ba6619d7be
Enhance the --load-dbsql and related options of fuzzcheck so that if the
...
argument is a single - then filenames are read from standard input.
FossilOrigin-Name: e1548802b6de7037baf388d27a7f3658abafe07b6f48d5ec97e5f644303592d8
2021-04-23 12:58:16 +00:00
drh
292ed6decf
Give a better final output line for the --spinner option on fuzzcheck.
...
FossilOrigin-Name: 93729614e21ee674b83b0d2babb71bb758f1a2ec55bf9bda057fb7739f2e14e0
2021-04-23 12:16:16 +00:00
drh
d84f10ed13
New dbsqlfuzz cases added to test/fuzzdata8.db.
...
FossilOrigin-Name: 8da88508932e475c8c6af1553268ff02e3e013b78ccc94b14532ec928fc62537
2021-04-23 11:50:23 +00:00
dan
f3d5a68461
Fix an assert() in fts5_index.c that may fail if the database records are corrupt.
...
FossilOrigin-Name: dfadb96edfef1d49e48a659264b9eb8d7f98d95d159d95c92c30dd4ba6c6e739
2021-04-23 11:37:01 +00:00
drh
7a04e296f3
Improved OOM detection in sqlite3ExprCheckIN().
...
dbsqlfuzz 46ae2d8f473ac672f3042cc14ab67aeab9ffa6c2
FossilOrigin-Name: fac12115a994a1b4347586e68faf38895ee9cb588eaa84c6f71cf9afd4c488b4
2021-04-23 00:59:38 +00:00
drh
eca3c67b1c
Change a memcpy() into a memmove() to prevent a warning about overlapping
...
regions passed to memcpy() in case of some obscure and unlikely database
corruption.
FossilOrigin-Name: bab132cbd18a529389a0315e60f30ccf1b565823116e0ec9b4f7684db1914c80
2021-04-22 20:01:02 +00:00
drh
214b50314a
Fix harmless compiler warnings of unused function parameters in FTS5.
...
FossilOrigin-Name: 14273915979f8fbf80111e795b5511a6ee24638896b9d434d6ccf4bf7f7a7f62
2021-04-22 19:34:31 +00:00
dan
743b5fd589
Further tweaks for comments in sqlite3session.h.
...
FossilOrigin-Name: 553ada28f356d773c145b502163d766285e73fd4f64dc05f98e3e43ade806331
2021-04-22 18:52:36 +00:00
dan
9ad39a33ff
Change to comments in sqlite3session.h. No changes to code.
...
FossilOrigin-Name: 353ebb71c4113a35a92011c72f9c1d6c56f3bf681d94426a6a73e40f219ff2f4
2021-04-22 18:39:02 +00:00
drh
3d8c92d041
Raise an error on an attempt to rename an eponymous virtual table.
...
FossilOrigin-Name: c7909e8e0d0577c6109f13c0b14fb565239aae8af8963d659f363e124f3437fc
2021-04-22 18:02:48 +00:00
dan
a5b51b8715
Add the experimental sqlite3session_changeset_size() API.
...
FossilOrigin-Name: 3de544d495fee553d95fde3fb656745d633138115d25ed39760a1ea7c8c3fae6
2021-04-22 17:55:42 +00:00
dan
6d29a4fe5b
Add the sqlite3session_object_config() API. Current used to enable/disable collecting data for sqlite3session_changeset_size().
...
FossilOrigin-Name: 4d5fd2151e024d11289b6c4fbce2996d8d07b2b5a1c953ef895c237e79d3aa55
2021-04-22 17:40:28 +00:00
drh
65b930553d
Improved handling of errors in ALTER TABLE RENAME.
...
dbsqlfuzz 3e3e2e076e53d02288f80af41a11143a6ddf8c88
FossilOrigin-Name: 9c7a449f52a391506ebf4a8efa4ff27e6e97bd8da4b300a5c0dd942a209fe474
2021-04-22 16:54:34 +00:00
drh
68b63c0195
Fix the date/time translation logic in the zipfile extension so that it
...
works with boundary cases. See
[forum:/forumpost/d82289d69f|forum post d82289d69f] for the trouble report.
FossilOrigin-Name: c8de5f061359c174e143e5e81ade8aa9b7d71ba57287459cf0f4f2c94459c345
2021-04-22 14:43:16 +00:00
drh
1da9c97bc0
Ensure that the typedefs for specific-length integers in zipfile.c are
...
correct.
FossilOrigin-Name: f1f2a49007e938ea7a00dda6f8898b1cd38525c0de1e1cac00a7aebcd7b625f5
2021-04-22 13:59:54 +00:00
drh
824043150f
In the whereLoopXfer() routine, ensure that the destination is fully
...
initialized even if an OOM error occurs.
FossilOrigin-Name: c4258708c08c5b1956052f9febbf22c1e94c8352a25059063746921d2cc373b7
2021-04-22 12:38:30 +00:00
drh
31536304a5
The new OP_Null opcode from check-in [8b54102a00852b72] was not coded
...
correctly. This check-in attempts to fix that.
FossilOrigin-Name: 02af30aab24878c4382a8863512b816889400104549b51df6a632767fee48d04
2021-04-21 23:13:26 +00:00
dan
a23a873fbb
Add the experimental sqlite3session_changeset_size() API.
...
FossilOrigin-Name: b5564a6fd54875db1de884fdc0e5eeabcd6aa5595ad03a8a60843503e830a2d8
2021-04-21 20:52:17 +00:00
drh
7437c25b63
Add recent dbsqlfuzz test cases to test/fuzzdata8.db.
...
FossilOrigin-Name: 6fe50dcc239d2d1fc2a38aa705f4c75cbe26b3e48d098537306d96d6a4005659
2021-04-21 12:03:36 +00:00
drh
f02b5ad69d
Initialize the key registers in the skip-scan optimization to NULL, in case
...
the query is run on a corrupt database that causes the initialization of the
key to be bypassed.
dbsqlfuzz 62fdf2bece00d24cac8a4edf2cf562e6eeac779d
FossilOrigin-Name: 8b54102a00852b72783b5b2f336c7a093adbdc8e1b94d46b7d315ae6e5d9476b
2021-04-21 11:58:45 +00:00
dan
fe599b05f2
Fix a problem allowing SQL variables to be used expressions within the second and subsequent ON CONFLICT clauses of an UPSERT within a trigger.
...
FossilOrigin-Name: 2a28910a17dc5b3ce43062fdf879f9622f6ec2db19ed780fa7fe5cae781be7b7
2021-04-21 11:32:22 +00:00
drh
935ad98d60
Remove a testcase() that is no longer relevant due to the previous check-in.
...
FossilOrigin-Name: ca70c8ac72c9fe3b92f8e63151229bebdccc769c5c4d603ad4f466dc4bcd11e0
2021-04-20 22:48:25 +00:00
drh
8cae5a4a47
More aggressive detection of database corruption in the rebuildPage() routine.
...
FossilOrigin-Name: a18c65068b16eae3c0725356d7f4775774b23e248c700cef8c15f23459fba68f
2021-04-20 20:48:15 +00:00
dan
5b482a9832
Update an assert() in btree.c that may fail with a corrupt database.
...
FossilOrigin-Name: d74bf88c5a027cf080a2892a3538fe5104952b5b3759a6eba1b1a98a75ddf5f4
2021-04-20 13:31:51 +00:00
drh
9da977f1a5
In the sqlite3SelectDup() routine, do not do an incomplete duplication due
...
to OOM. This in turn requires several new NEVER() and ALWAYS() macros for
unreachable branches.
FossilOrigin-Name: a61c0e6b78bd39f55464fafd257e68effded64995a66e8fa2d686e8c507ebe43
2021-04-20 12:14:12 +00:00
drh
8c6cb1bc6f
Improvement to check-in [d564d8882ef18b55] to detect the OOM fault even
...
if it occurs deep down inside the duplicated expression.
FossilOrigin-Name: 3e863cd09355abd80c1053d6d4dabb55841f806e3c418f923d67d36bf8313cb0
2021-04-19 20:36:13 +00:00