]>
git.ipfire.org Git - thirdparty/sqlite.git/log
drh [Wed, 12 May 2021 02:52:20 +0000 (02:52 +0000)]
Respond correctly to OOM during mutex allocation.
FossilOrigin-Name:
98dae595d861941bb0bcd12126ee02492587c466e6da579a58b5dc4a4d655917
drh [Wed, 12 May 2021 02:09:01 +0000 (02:09 +0000)]
drh [Tue, 11 May 2021 11:40:22 +0000 (11:40 +0000)]
drh [Tue, 11 May 2021 10:47:41 +0000 (10:47 +0000)]
drh [Mon, 10 May 2021 23:48:46 +0000 (23:48 +0000)]
Enhance the memdb VFS to provide the ability to share a single database
among multiple database connections.
FossilOrigin-Name:
0617c66ac213d406a9a21580227a57542d7f21c8750c854f549ab818d7a936bc
drh [Sat, 8 May 2021 17:18:23 +0000 (17:18 +0000)]
Enable the sqlite3_serialize() and sqlite3_deserialize() interfaces by
default. Omit the SQLITE_ENABLE_DESERIALIZE option and replace it with
the SQLITE_OMIT_DESERIALIZE option.
FossilOrigin-Name:
6df3b03e00b1143be8fed3a39a58ce81063020275aa1ac13d87c84f1ceda6e27
drh [Sat, 8 May 2021 11:57:35 +0000 (11:57 +0000)]
drh [Fri, 7 May 2021 15:46:36 +0000 (15:46 +0000)]
Detect misuse of aggregate functions in the ORDER BY clause of a query
even if the query also contains window functions.
FossilOrigin-Name:
0d11d777c8d368f0b6e9faf3afccf7da1b041d303a68782e43aebd713aaecf51
dan [Thu, 6 May 2021 20:47:49 +0000 (20:47 +0000)]
Fixes for cksmvfs and rbu so that they work together.
FossilOrigin-Name:
f35f6972cdcf16915cc37908b65a3780742a1f75f65e974714b16e86f0c9e3f0
drh [Thu, 6 May 2021 13:45:37 +0000 (13:45 +0000)]
Remove an assert() in FTS5 that can (rarely) be false in the event of an
OOM while processing a corrupt database file.
FossilOrigin-Name:
5f12f89154843e83b1d69ea1652e881d583aa329df732af72dd59029cd7eb577
drh [Thu, 6 May 2021 11:02:55 +0000 (11:02 +0000)]
Improved detection of oversized cells in balance_nonroot(), especially in
index b-trees when a cell is being moved from a child page into the parent
page in order to become a new divider cell.
FossilOrigin-Name:
9080d3d5f5aaddbb3410158bcc446649651b7dce3940eb3491620ec9208914b4
drh [Wed, 5 May 2021 19:46:50 +0000 (19:46 +0000)]
Provide the sqlite3PrintMem() routine on SQLITE_DEBUG builds, which can be
invoked from a debugger to get a summary of the status of an sqlite3_value
or Mem object.
FossilOrigin-Name:
5ac24179f5ef16dccc1b65248e33376c9748767b14c75c1056f3b0d08b7a89a7
dan [Wed, 5 May 2021 11:47:34 +0000 (11:47 +0000)]
Fix an undefined-integer-overflow problem in fts3.c.
FossilOrigin-Name:
a0bf931bd712037e44e8d7cac3c00a6715c1b451f222bad3184d3ecab1a4c7f4
drh [Tue, 4 May 2021 23:21:35 +0000 (23:21 +0000)]
When applying the optimization that disables WHERE clause terms that drive
indexes, make sure not to do so if the term being disabled is a transitive
constraint. Fix for the problem identified by
[forum:forumpost/
eb8613976a |forum post
eb8613976a ].
FossilOrigin-Name:
f1f9b5de3c59489b94963685660b3ddc45eece5535b02fec399b6ece0e38563d
drh [Tue, 4 May 2021 18:24:56 +0000 (18:24 +0000)]
Also for the 0x20000 bit of ".wheretrace", show when WHERE clause terms are
disabled.
FossilOrigin-Name:
625fb253eecd6c10fce5d0127d516361df0c1d1661502b396fc418dcdb4ae999
drh [Tue, 4 May 2021 16:51:52 +0000 (16:51 +0000)]
Additional debugging output for whereScanNext() showing equivalence classes
when the ".wheretrace" setting contains the 0x20000 bit.
FossilOrigin-Name:
9280e3d994656344d4feb346156df8a278da80181f6efe0ff8e0340b6f0f91cb
drh [Tue, 4 May 2021 12:07:16 +0000 (12:07 +0000)]
Back out the EXISTS-to-IN optimization. It slows things down rather than
speeds them up depending on the query. And (see
[forum:/forumpost/
8692d94725 |forum post
8692d94725 ]) it sometimes results in
an incorrect answer. We may come back and revisit this optimization later,
but for now it seems best just to disable it.
FossilOrigin-Name:
16252d73fa73569fd7506676f6ffbbcd43addfb105384fb74449d30ca720904a
drh [Mon, 3 May 2021 13:35:00 +0000 (13:35 +0000)]
drh [Mon, 3 May 2021 13:24:30 +0000 (13:24 +0000)]
Fix a potential memory leak following OOM in the decimal extension.
FossilOrigin-Name:
5127f7376776e6220eb8f83a30aa6b823c23ae0ac76e7ae41b33ca4e03ce236a
drh [Sat, 1 May 2021 12:09:36 +0000 (12:09 +0000)]
drh [Fri, 30 Apr 2021 16:12:40 +0000 (16:12 +0000)]
Guard against a NULL-pointer dereference following OOM in the JSON extension.
FossilOrigin-Name:
ea221f3c8e243a5dc4952e510cbe396614a24876bacdc04fb1ebd4127c7ef0d9
drh [Fri, 30 Apr 2021 12:30:35 +0000 (12:30 +0000)]
Fix a harmless "unused variable" warning when compiling with
-DSQLITE_COVERAGE_TEST.
FossilOrigin-Name:
0bef3fb11fb95d7ede82b59aea26e99e2e23b3bce48009181e691ea17ae78a61
larrybr [Thu, 29 Apr 2021 19:30:35 +0000 (19:30 +0000)]
Reduce API lifetime requirement for objects passed to sqlite3_bind_...() with SQLITE_STATIC.
Also fix broken session doc links (by zapping refs.)
FossilOrigin-Name:
327eb4792f9b98f6220fd35ba744002d36ed53f43a016924117b3cea32343947
drh [Thu, 29 Apr 2021 18:03:42 +0000 (18:03 +0000)]
Fix the operation of the "-" argument to --load-dbsql in the fuzzcheck program.
FossilOrigin-Name:
1f18b3cbee7e1342fdd66e45ef744fea3db2ba4513943c0582ff8ef98974865e
drh [Thu, 29 Apr 2021 15:49:34 +0000 (15:49 +0000)]
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
drh [Thu, 29 Apr 2021 13:58:28 +0000 (13:58 +0000)]
Enhanced "PRAGMA vdbe_trace=on" output associated with the seekHit flag.
FossilOrigin-Name:
683950009300657b0321d7d3f77f2585a28696ff93cedef399d1cd4aa484b2d4
drh [Thu, 29 Apr 2021 13:37:36 +0000 (13:37 +0000)]
Fix harmless compiler warnings.
See [forum:/forumpost/
256140e470 |forum post
256140e470 ].
FossilOrigin-Name:
1b8da7924cc78710ae4bbe12b57140fdaeae5efb0e6ac10073ae9c98b7f8d7a4
drh [Thu, 29 Apr 2021 10:48:50 +0000 (10:48 +0000)]
Update test/fuzzdata8.db with recent dbsqlfuzz finds.
FossilOrigin-Name:
bce2ea393a872b5b70ef3b9cedce3d406725dcc56d8800ee4f7ec29562cc3f9b
drh [Wed, 28 Apr 2021 17:37:26 +0000 (17:37 +0000)]
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
drh [Wed, 28 Apr 2021 15:43:36 +0000 (15:43 +0000)]
drh [Tue, 27 Apr 2021 17:18:10 +0000 (17:18 +0000)]
Further improvements to the handling of RETURNING clauses on changes
to TEMP tables with triggers.
dbsqlfuzz
683913e98f54fe4f14e8dd11a48011f73bdca58d
FossilOrigin-Name:
ff3538ae37a02f4f36a15cddd1245171e724aac9c84b2e576980fd3806302775
drh [Tue, 27 Apr 2021 13:04:18 +0000 (13:04 +0000)]
RETURNING bug fix: Correctly deal with RETURNING statements on changes to
TEMP tables that also have triggers.
dbsqlfuzz
78b9400770ef8cc7d9427dfba26f4fcf46ea7dc2
FossilOrigin-Name:
d0b15eccbfe1e50c3daf7b2fd4769a52bba35d553b07e462ca3f5f22df6742fd
dan [Tue, 27 Apr 2021 11:28:57 +0000 (11:28 +0000)]
Fix a segfault that could occur when querying a corrupt data structures with an fts5token table.
FossilOrigin-Name:
cbedfa05501f3eb9750fb21e2ab8516f8f14c479c847f454e52572af278aab71
drh [Tue, 27 Apr 2021 00:05:03 +0000 (00:05 +0000)]
drh [Mon, 26 Apr 2021 23:57:02 +0000 (23:57 +0000)]
Improved robustness of the "showdb" debugging program when it is parsing
corrupt database files.
FossilOrigin-Name:
3eabac2ee50fd70b22a927d3d2934718a15e1f666d8d271b854579156c8b01de
drh [Mon, 26 Apr 2021 22:30:49 +0000 (22:30 +0000)]
New dbsqlfuzz cases added to test/fuzzdata8.db.
FossilOrigin-Name:
88d20500c516fe89ad1cd42f7366ca190c3790f911f11ab332b86b675f5f69ba
drh [Mon, 26 Apr 2021 21:23:01 +0000 (21:23 +0000)]
Fix the [/info/
df1d6482f9e92daf |UNION ALL flattener optimization] so that it
works better with recursive CTEs.
dbsqlfuzz
88ed5c66789fced139d148aed823cba7c0926dd7
FossilOrigin-Name:
f80d7bb2c305c1dd4658767660b33259032c048a91f18c654a6bda7332c54a0c
drh [Mon, 26 Apr 2021 21:00:51 +0000 (21:00 +0000)]
Add ALWAYS() to branches that are no longer reachable due to recent
enhancements.
FossilOrigin-Name:
63c50fbdeed831ba450d1dce67e968a7daa2b69ac1270eb271fb1e1873d4a07e
larrybr [Mon, 26 Apr 2021 20:18:08 +0000 (20:18 +0000)]
dan [Mon, 26 Apr 2021 15:32:36 +0000 (15:32 +0000)]
Fix a problem that could cause a crash in sqlite3BtreeDelete() when operating on a corrupt database file.
FossilOrigin-Name:
6c6334660dfe81cc33a14b87b25d748b1c98b0702b7bc6db2e3ced16dc992740
drh [Mon, 26 Apr 2021 15:28:06 +0000 (15:28 +0000)]
drh [Mon, 26 Apr 2021 14:32:48 +0000 (14:32 +0000)]
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
dan [Mon, 26 Apr 2021 14:09:48 +0000 (14:09 +0000)]
Do not initialize eponymous virtual tables when parsing the schema. This can happen if the db is corrupt.
FossilOrigin-Name:
cb8c41aa20bb351c4c712ed7a3617187ceeb0905ede1e6f561bc1d89f31c95ea
larrybr [Sun, 25 Apr 2021 23:13:04 +0000 (23:13 +0000)]
drh [Sat, 24 Apr 2021 23:40:05 +0000 (23:40 +0000)]
drh [Sat, 24 Apr 2021 12:24:08 +0000 (12:24 +0000)]
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
drh [Sat, 24 Apr 2021 12:20:10 +0000 (12:20 +0000)]
Fix testcase altertab-25.1 due to check-in [
c7909e8e0d0577c6 ] disallowing
ALTER TABLE on eponymous virtual tables.
FossilOrigin-Name:
32255e39cbde65492d88177464cee9e10cb20cf3105208416be131e2c89b63e1
drh [Fri, 23 Apr 2021 13:57:53 +0000 (13:57 +0000)]
Fix harmless compiler warnings in fuzzcheck.
FossilOrigin-Name:
e7b4ffecc610c494ebd506977402ec48cc799780f96c6293c0ccf27697160aa1
drh [Fri, 23 Apr 2021 12:58:16 +0000 (12:58 +0000)]
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
drh [Fri, 23 Apr 2021 12:16:16 +0000 (12:16 +0000)]
Give a better final output line for the --spinner option on fuzzcheck.
FossilOrigin-Name:
93729614e21ee674b83b0d2babb71bb758f1a2ec55bf9bda057fb7739f2e14e0
drh [Fri, 23 Apr 2021 11:50:23 +0000 (11:50 +0000)]
New dbsqlfuzz cases added to test/fuzzdata8.db.
FossilOrigin-Name:
8da88508932e475c8c6af1553268ff02e3e013b78ccc94b14532ec928fc62537
dan [Fri, 23 Apr 2021 11:37:01 +0000 (11:37 +0000)]
Fix an assert() in fts5_index.c that may fail if the database records are corrupt.
FossilOrigin-Name:
dfadb96edfef1d49e48a659264b9eb8d7f98d95d159d95c92c30dd4ba6c6e739
drh [Fri, 23 Apr 2021 00:59:38 +0000 (00:59 +0000)]
drh [Thu, 22 Apr 2021 20:01:02 +0000 (20:01 +0000)]
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
drh [Thu, 22 Apr 2021 19:34:31 +0000 (19:34 +0000)]
Fix harmless compiler warnings of unused function parameters in FTS5.
FossilOrigin-Name:
14273915979f8fbf80111e795b5511a6ee24638896b9d434d6ccf4bf7f7a7f62
dan [Thu, 22 Apr 2021 18:52:36 +0000 (18:52 +0000)]
Further tweaks for comments in sqlite3session.h.
FossilOrigin-Name:
553ada28f356d773c145b502163d766285e73fd4f64dc05f98e3e43ade806331
dan [Thu, 22 Apr 2021 18:39:02 +0000 (18:39 +0000)]
Change to comments in sqlite3session.h. No changes to code.
FossilOrigin-Name:
353ebb71c4113a35a92011c72f9c1d6c56f3bf681d94426a6a73e40f219ff2f4
drh [Thu, 22 Apr 2021 18:02:48 +0000 (18:02 +0000)]
Raise an error on an attempt to rename an eponymous virtual table.
FossilOrigin-Name:
c7909e8e0d0577c6109f13c0b14fb565239aae8af8963d659f363e124f3437fc
dan [Thu, 22 Apr 2021 17:55:42 +0000 (17:55 +0000)]
Add the experimental sqlite3session_changeset_size() API.
FossilOrigin-Name:
3de544d495fee553d95fde3fb656745d633138115d25ed39760a1ea7c8c3fae6
dan [Thu, 22 Apr 2021 17:40:28 +0000 (17:40 +0000)]
Add the sqlite3session_object_config() API. Current used to enable/disable collecting data for sqlite3session_changeset_size().
FossilOrigin-Name:
4d5fd2151e024d11289b6c4fbce2996d8d07b2b5a1c953ef895c237e79d3aa55
drh [Thu, 22 Apr 2021 16:54:34 +0000 (16:54 +0000)]
drh [Thu, 22 Apr 2021 14:43:16 +0000 (14:43 +0000)]
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
drh [Thu, 22 Apr 2021 13:59:54 +0000 (13:59 +0000)]
Ensure that the typedefs for specific-length integers in zipfile.c are
correct.
FossilOrigin-Name:
f1f2a49007e938ea7a00dda6f8898b1cd38525c0de1e1cac00a7aebcd7b625f5
drh [Thu, 22 Apr 2021 12:38:30 +0000 (12:38 +0000)]
In the whereLoopXfer() routine, ensure that the destination is fully
initialized even if an OOM error occurs.
FossilOrigin-Name:
c4258708c08c5b1956052f9febbf22c1e94c8352a25059063746921d2cc373b7
drh [Wed, 21 Apr 2021 23:13:26 +0000 (23:13 +0000)]
The new OP_Null opcode from check-in [
8b54102a00852b72 ] was not coded
correctly. This check-in attempts to fix that.
FossilOrigin-Name:
02af30aab24878c4382a8863512b816889400104549b51df6a632767fee48d04
dan [Wed, 21 Apr 2021 20:52:17 +0000 (20:52 +0000)]
Add the experimental sqlite3session_changeset_size() API.
FossilOrigin-Name:
b5564a6fd54875db1de884fdc0e5eeabcd6aa5595ad03a8a60843503e830a2d8
drh [Wed, 21 Apr 2021 12:03:36 +0000 (12:03 +0000)]
Add recent dbsqlfuzz test cases to test/fuzzdata8.db.
FossilOrigin-Name:
6fe50dcc239d2d1fc2a38aa705f4c75cbe26b3e48d098537306d96d6a4005659
drh [Wed, 21 Apr 2021 11:58:45 +0000 (11:58 +0000)]
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
dan [Wed, 21 Apr 2021 11:32:22 +0000 (11:32 +0000)]
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
drh [Tue, 20 Apr 2021 22:48:25 +0000 (22:48 +0000)]
Remove a testcase() that is no longer relevant due to the previous check-in.
FossilOrigin-Name:
ca70c8ac72c9fe3b92f8e63151229bebdccc769c5c4d603ad4f466dc4bcd11e0
drh [Tue, 20 Apr 2021 20:48:15 +0000 (20:48 +0000)]
More aggressive detection of database corruption in the rebuildPage() routine.
FossilOrigin-Name:
a18c65068b16eae3c0725356d7f4775774b23e248c700cef8c15f23459fba68f
dan [Tue, 20 Apr 2021 13:31:51 +0000 (13:31 +0000)]
Update an assert() in btree.c that may fail with a corrupt database.
FossilOrigin-Name:
d74bf88c5a027cf080a2892a3538fe5104952b5b3759a6eba1b1a98a75ddf5f4
drh [Tue, 20 Apr 2021 12:14:12 +0000 (12:14 +0000)]
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
drh [Mon, 19 Apr 2021 20:36:13 +0000 (20:36 +0000)]
Improvement to check-in [
d564d8882ef18b55 ] to detect the OOM fault even
if it occurs deep down inside the duplicated expression.
FossilOrigin-Name:
3e863cd09355abd80c1053d6d4dabb55841f806e3c418f923d67d36bf8313cb0
drh [Mon, 19 Apr 2021 19:59:16 +0000 (19:59 +0000)]
An improvement to check-in [
1a341378ab24a509 ] that omits the new
Walker.bWalkWinDefn boolean (which is not always initialized) and uses
a special value for xSelectCallback2 instead.
FossilOrigin-Name:
bef2238de9550de84d4cd1c970a542b43db288d73d09a3c3ced7f98bb3188fd3
drh [Mon, 19 Apr 2021 18:03:52 +0000 (18:03 +0000)]
Ensure that a WITHOUT ROWID table does not have the .iPKey field set, even if
an OOM error occurs while parsing a schema in PRAGMA writable_schema=ON mode.
Add extra assert() statements to triple-check that this never happens.
dbsqlfuzz
803bb1f63d6f3bd6c14db568494d6e96be8f1ec9 .
FossilOrigin-Name:
41228350a620a7de1ee748a4e19a96749c4d39418853fe8b68c43cf401dbd7cd
dan [Mon, 19 Apr 2021 16:45:09 +0000 (16:45 +0000)]
Remove fts5 test functions fts5_expr(), fts5_expr_tcl(), fts5_isalnum() and fts5_fold() from release builds.
FossilOrigin-Name:
c68a6c6c898d2acd1f7032ff98f8f3f99eb0b37ffbc6ee88d0dd7badf55a0e0a
drh [Mon, 19 Apr 2021 15:05:27 +0000 (15:05 +0000)]
In the query flattener, avoid invalidating an expression if an OOM occurs.
This prevents problems in higher-level routines that might not check for
the OOM after processing a subquery.
dbsqlfuzz
fb70fa8602421f87673e0670b0712ff2b5240ea0
FossilOrigin-Name:
d564d8882ef18b55ebf93e838426b485281c7ebe3a9b321a2f984ed0f229cc25
dan [Sun, 18 Apr 2021 05:30:39 +0000 (05:30 +0000)]
Ensure that all records are updated by setting the OPFLAG_SAVEPOSITION flag when updating records as part of ALTER TABLE DROP COLUMN.
FossilOrigin-Name:
354a4db5cb769c6aed386f43ee26d7e42342e92f781eef100c09751dc5b51751
dan [Sat, 17 Apr 2021 20:13:53 +0000 (20:13 +0000)]
Remove a couple of NEVER() macros from the code for walking window lists.
FossilOrigin-Name:
4ec9ef4bcd12bd9ba5e1a2424f75479070d12c25f1272548c6cf3f89be826b8c
larrybr [Sat, 17 Apr 2021 20:04:40 +0000 (20:04 +0000)]
dan [Sat, 17 Apr 2021 19:59:14 +0000 (19:59 +0000)]
Do not run external_reader.test as part of permutation "journaltest", as it requires wal mode.
FossilOrigin-Name:
9f5f16cf093cd8b8c7649f664eaf2ad8128fd50e182720dbddf05a6d9227c037
larrybr [Sat, 17 Apr 2021 18:43:29 +0000 (18:43 +0000)]
Allow more time for perf tests when instrumented. Condition another on feature it needs.
FossilOrigin-Name:
f0dd9cf2d7045d3634294bcf2722d3d7b0a6c4c3ef713b0f7f54fbe31432027f
drh [Sat, 17 Apr 2021 18:39:39 +0000 (18:39 +0000)]
Add new dbsqlfuzz cases to test/fuzzdata8.db.
FossilOrigin-Name:
d18793e589a4ee7706e994a1f3d24ba7df190467d92fa6ac040258f4debc149d
dan [Sat, 17 Apr 2021 14:42:37 +0000 (14:42 +0000)]
Fix cases where code in expr.c was failing to handle OOM failures that occurred while processing sub-select expressions.
FossilOrigin-Name:
62efe2eee34fdb147cc456290576d8fc3801487867c78aadd4485f85468d9ffc
drh [Sat, 17 Apr 2021 13:46:23 +0000 (13:46 +0000)]
Ensure that variables are not used in the WINDOW clause of a query inside
of a trigger. dbsqlfuzz
d9cf66100064952b66951845dfab41de1c124611
FossilOrigin-Name:
1a341378ab24a5091e6cf03b9e957d11b2bfe5c711835e8c583785f8fa0125d3
larrybr [Fri, 16 Apr 2021 23:43:22 +0000 (23:43 +0000)]
Add geopoly to $::sqlite_options() and use it to pass more tests.
FossilOrigin-Name:
23da5016b66f3947cc902dbe2766ea9f5a00f85312a652b536ab51d657446ab7
drh [Fri, 16 Apr 2021 22:53:57 +0000 (22:53 +0000)]
Performance optimizations in the code generator, especially in name
resolution.
FossilOrigin-Name:
ab83a99899ceae931b43e0c4b3f8f8b83bc832f1568de5692c0d038c968f8a87
larrybr [Fri, 16 Apr 2021 21:29:07 +0000 (21:29 +0000)]
drh [Fri, 16 Apr 2021 19:25:47 +0000 (19:25 +0000)]
Add new dbsqlfuzz-generated cases to test/fuzzdata8.db.
FossilOrigin-Name:
1ac0a056a07895cc4ae62d01cbba5525402be3af3b8f97fd1dfaba2236ef912b
dan [Fri, 16 Apr 2021 17:09:58 +0000 (17:09 +0000)]
Fix another undefined behaviour in fts3 that could follow an OOM error.
FossilOrigin-Name:
fac3ff857c4abdb44f59849af80d93a5bd4b64f088e5164fb5ad0be8d14748b7
dan [Fri, 16 Apr 2021 16:55:28 +0000 (16:55 +0000)]
Avoid signed integer overflow when finding snippets in fts3 by using 64-bit integer offsets.
FossilOrigin-Name:
4cc09a872f627f4a2b94345bef07cd49c3ec3627f8d78c1eb091741cdb4ec0b3
drh [Fri, 16 Apr 2021 12:33:52 +0000 (12:33 +0000)]
Remove an ALWAYS() from a branch in sqlite3ExprAddCollateToken() which can
be false following an OOM.
dbsqlfuzz
9e8516bf1e786c84e520ae43141b75b7399f8618 .
FossilOrigin-Name:
6af4e6d054efd8445e1010aabd584f36e70dfad0de13bd0e2f1761cad4d9a7d6
drh [Fri, 16 Apr 2021 12:13:39 +0000 (12:13 +0000)]
Fix an assert() in whereLoopAddOr() that can be wrong if an OOM occurs in
an OR constraint on a virtual table if one of the terms of the OR is an IN
operator. dbsqlfuzz
5ee7350b40014f5a878c5d6e76913a2d619f5146
FossilOrigin-Name:
5cb40e53edcb1e54cde0e54c38a647144bc3158435df0161f95c89732de086e6
dan [Fri, 16 Apr 2021 11:25:37 +0000 (11:25 +0000)]
Fix an assert() in fts3 that might fail when handing corrupt records.
FossilOrigin-Name:
d0e2d6742f314f71562e404980aad20de6b17e0b04c08582c18bbc4fd0360751
drh [Fri, 16 Apr 2021 11:05:19 +0000 (11:05 +0000)]
Fix the comment on the implementation of the pi() SQL function. No changes
to code.
FossilOrigin-Name:
5620bd466eb10fd4daf51af9b88d8221f981dc0ceabfa84a0e1d5c817f635429
drh [Fri, 16 Apr 2021 01:03:16 +0000 (01:03 +0000)]
Do not invoke sqlite3ExprAffinity() if there is a possibility that the Expr
is incomplete due to a prior OOM.
dbsqlfuzz
b8a824706914488bd236da51118eb9174ceb870f
FossilOrigin-Name:
e8a1515b44380cc52aca1838814ca398012e4e9cf5728d40b404546e812a39b7
dan [Thu, 15 Apr 2021 19:09:19 +0000 (19:09 +0000)]
Fix a bad interaction between constant propagation and transitive term handling causing patterns like "WHERE unlikely(t1.x=t1.y) AND t1.y=?" to return non-matching rows.
FossilOrigin-Name:
2363a14ca723c0343fbe350f6c19787a7a47c2289fd9af136c97a451b53b5226
dan [Thu, 15 Apr 2021 13:26:29 +0000 (13:26 +0000)]
Add extra test case for OOM handling in where.c.
FossilOrigin-Name:
7163de3dea0445bf25dba47a54c50f35bb5c7edc7bdae9630b51c1ca970ec6cf
drh [Thu, 15 Apr 2021 12:56:44 +0000 (12:56 +0000)]
Make sure the WhereInfo.pExprMods list is properly cleared when existing
sqlite3WhereBegin() early due to an OOM fault.
dbsqlfuzz
1247a51318047aba42e7f6991dfa62577cb7a151 .
FossilOrigin-Name:
0e19af72d84f96245cb4a5cfc37232579b6f5fdebd525f8b6515a4f2cc84e273