]>
git.ipfire.org Git - thirdparty/sqlite.git/log
drh [Wed, 18 May 2022 20:44:08 +0000 (20:44 +0000)]
Experimental code to provide a SIZE_HINT when writing the -wal file.
FossilOrigin-Name:
3b29080dbf06f0f90b58396da60856421e96bab882fffdab6dd9e70cc02ba4b3
drh [Tue, 17 May 2022 15:11:57 +0000 (15:11 +0000)]
Fix harmless compiler warnings in the new unixFullPathname implementation.
FossilOrigin-Name:
f7e1ceb5b59a876cfd04a8aac0ee2b322c970555b9c361b4953d711ef6596e37
dan [Tue, 17 May 2022 15:01:01 +0000 (15:01 +0000)]
Avoid treating constant expressions like "? IN ()" or "? NOT IN ()" as integers if they appear in a GROUP BY or ORDER BY clause.
FossilOrigin-Name:
d8b249e8cdf0babe1427d0587dbdc27a52ec06a5ef3a20dfb05a0ea4adb85858
drh [Tue, 17 May 2022 14:59:05 +0000 (14:59 +0000)]
dan [Mon, 16 May 2022 16:55:22 +0000 (16:55 +0000)]
Add memory barriers to multi-threaded code in test4.c.
FossilOrigin-Name:
9260f4e0fdc8066b4772999bacb5f4130ef714d4ac1967029ceacff618bc48ff
dan [Mon, 16 May 2022 16:10:04 +0000 (16:10 +0000)]
Fix a problem in test file swarmvtab3.test causing occasional failures.
FossilOrigin-Name:
f935c155ef205802c16b4ebea4a3fb01bf5689662b7b4f2af56f0f9021d6d4b1
drh [Sat, 14 May 2022 19:05:13 +0000 (19:05 +0000)]
Do not allow an index scan on an index-on-expression for a RIGHT JOIN because
the index might not be positioned on the correct row when running the
the right-join no-match loop.
dbsqlfuzz
39ee60004ff027a9e2846cf76e02cd5ac0953739
FossilOrigin-Name:
2277f9ba7087dd993ac0f4007c523aa9cf74dba187f53af03d8c164886726fee
drh [Sat, 14 May 2022 17:40:47 +0000 (17:40 +0000)]
Improved debugging comment generation for the OP_Column opcode.
FossilOrigin-Name:
3e073bfddfcd652dfae8656d8978a4de427d21847fdaccfce53b6b895ad33f01
drh [Sat, 14 May 2022 15:59:42 +0000 (15:59 +0000)]
Improvements to the decision of when to check ON constraints for an inner
join that is an operand to a RIGHT JOIN. Fix for issue identify by
[forum:/forumpost/
c06b10ad7e |forum post
c06b10ad7e ].
FossilOrigin-Name:
9d17233c7d98bf25c1a518d067e778708b3db6d6302edd8d7e376ba0ba4f1c30
drh [Fri, 13 May 2022 23:01:28 +0000 (23:01 +0000)]
Change an unreachable branch into an assert().
FossilOrigin-Name:
778e57a558dc3f819ca57623bcb85f58c8fbeb28bc12a1e2edbdd1244e9107c5
drh [Fri, 13 May 2022 20:11:32 +0000 (20:11 +0000)]
Transitive equality constriants do not work on a RIGHT JOIN, since the
right-hand side might be a non-matched row.
FossilOrigin-Name:
0f96810b840dd6f209562635b21f55a7ed6210c01336fcfeb3b79e08a615a28d
drh [Fri, 13 May 2022 19:50:29 +0000 (19:50 +0000)]
Walk back the optimization from check-in [
cc458317bd77046c ] that tries to
reuse the same ephemeral cursor of a list subquery when that subquery is
reused, as it does not work in cases where the list subquery is used both
for lookups and for scans.
FossilOrigin-Name:
12ee29d632ae4b585ef6bc07d3289d00c121268945dffd5673b251d95874e3f8
drh [Fri, 13 May 2022 17:45:52 +0000 (17:45 +0000)]
Defer generating WHERE clause constraints for a RIGHT JOIN until after the
ON-clause processing for the RIGHT JOIN has done its own row elimination.
This fixes and incorrect output from some RIGHT JOINs that was identified
by [forum:/forumpost/
41cc3851d864c5e6 |forum post
41cc3851d864c5e6 ].
FossilOrigin-Name:
238d9c247cf69cc77fdb1af9d42ebe258610a533ac4204e2ddf8af17f24d18c4
drh [Fri, 13 May 2022 16:38:40 +0000 (16:38 +0000)]
Redefine the acccess rules for the Expr.w union so that the Expr.w.iJoin
member is accessible on either EP_OuterON or EP_InnerON.
FossilOrigin-Name:
6f741d6cfb8831a3ac966257ac4519bcc8156293447bf50323c2d9b170125974
drh [Fri, 13 May 2022 15:36:47 +0000 (15:36 +0000)]
Corrections to the header comment to the new joinE.test script. Add the
generator TCL as a comment at the bottom of the script.
FossilOrigin-Name:
2f4456f67f64f131fc852ad9a7420eb43b57b879a9bec7e4b295f1dc0d7bfa56
drh [Fri, 13 May 2022 15:31:30 +0000 (15:31 +0000)]
New test cases for outer joins. Case joinE-32 currently gets an incorrect
answer. See [forum:/forumpost/
41cc3851d8 |forum post
41cc3851d8 ] for the bug
report.
FossilOrigin-Name:
02b24863e6dc617c9260f79292a96b7c861d088268e77fd17204570515eb792c
drh [Fri, 13 May 2022 14:52:04 +0000 (14:52 +0000)]
Improved names for flags on the Expr object: EP_FromJoin becames
EP_OuterON and EP_InnerJoin becomes EP_InnerON.
FossilOrigin-Name:
1ffea07ff98b894729c698b681cc7433df3bbfccd8a0529a706908602a636937
drh [Thu, 12 May 2022 17:09:33 +0000 (17:09 +0000)]
drh [Thu, 12 May 2022 11:56:44 +0000 (11:56 +0000)]
Ensure that ON clauses are applied to the correct outer join.
FossilOrigin-Name:
c7e3a13a3288c577209be99c630fbe924e19880e8af1aa8a83b517acaa8b43d7
drh [Thu, 12 May 2022 11:45:20 +0000 (11:45 +0000)]
Add IS NOT DISTINCT FROM and IS DISTINCT FROM binary operators which are
equivalent to IS and IS NOT, respectively, for compatability with PostgreSQL
and hence standard SQL.
FossilOrigin-Name:
db27611e172102483eaede3981d473e3d5bf93d98bc68f480398b1573876349d
drh [Thu, 12 May 2022 11:01:41 +0000 (11:01 +0000)]
Fix the ".echo" command of the CLI so that it shows the results of input
lines immediately, before invoking sqlite3_prepare().
FossilOrigin-Name:
cf7fdabdba3a7600ea730263ca80ba80154645dfa15c31c037b780d6cb70e530
larrybr [Wed, 11 May 2022 20:29:32 +0000 (20:29 +0000)]
Zap stray --help output from intermediate version.
FossilOrigin-Name:
deb7372b18cc8fb9d305085498fd24b3c2c17bd920ae2d03fa885af02ad47008
larrybr [Wed, 11 May 2022 19:59:31 +0000 (19:59 +0000)]
Change .echo on effect so that SQL is echoed before prepare. This slightly alters echoed output when multiple SQL statements are submitted at once. Also sync with trunk.
FossilOrigin-Name:
c1eff632c41809214edea2850a93852fff66da3ca0dc393e8fe55e0976d422fd
drh [Wed, 11 May 2022 17:57:43 +0000 (17:57 +0000)]
The unix interface now resolves all symbolic links in filenames before
actually using those filenames.
FossilOrigin-Name:
d55273e36e312336b8fc77dc771657d3b2c3437fbbd79f3be37701982560d634
drh [Wed, 11 May 2022 17:45:50 +0000 (17:45 +0000)]
Use osReadlink() in os_unix.c, not readlink() directly.
FossilOrigin-Name:
c3da4c1611cebd9f9d695892a3ffddc47d5f0db1a1ea8bd2b4f83ef7673b68de
drh [Wed, 11 May 2022 16:46:27 +0000 (16:46 +0000)]
For the unix VFS, rewrite the xFullPathname method so that it automatically
resolves all symbolic links, rendering a canonical pathname that contains
no symlinks.
FossilOrigin-Name:
40c9273d0e0e74e1df22e996a5d486e838f4320defd2121e2d95eeed8aea6235
larrybr [Wed, 11 May 2022 03:42:38 +0000 (03:42 +0000)]
Fix .import leak in CLI and add shell leak testing to debug builds and the Tcl test suite.
FossilOrigin-Name:
df842ebc796a2b0c913d19d873e88d048808dc5283465271369e302a680317e4
larrybr [Wed, 11 May 2022 03:29:52 +0000 (03:29 +0000)]
drh [Tue, 10 May 2022 23:28:12 +0000 (23:28 +0000)]
Fix a bug in the sqlite3WhereMalloc() routines that were added by
chekc-in [
f237e1d8cc41b937 ]. The bug was detected by dbsqlfuzz
test case
4c5e3e89bc251d28378be88233f531b84ec66901 .
FossilOrigin-Name:
764b71267e0b31ff7eaf2a0def7526a1a02dce4d5b456dea060d97ed342efdd1
larrybr [Tue, 10 May 2022 22:32:27 +0000 (22:32 +0000)]
Make tester.tcl work on more Windows Tcl installations. And sync w/ trunk.
FossilOrigin-Name:
d25fbdf8772f1c8283828424b208fc1758c82e9e28e0e52122c87db4af1c672d
drh [Tue, 10 May 2022 18:43:54 +0000 (18:43 +0000)]
drh [Tue, 10 May 2022 18:18:45 +0000 (18:18 +0000)]
drh [Tue, 10 May 2022 17:42:55 +0000 (17:42 +0000)]
drh [Tue, 10 May 2022 15:55:10 +0000 (15:55 +0000)]
larrybr [Tue, 10 May 2022 14:57:38 +0000 (14:57 +0000)]
larrybr [Tue, 10 May 2022 14:55:45 +0000 (14:55 +0000)]
larrybr [Tue, 10 May 2022 06:04:48 +0000 (06:04 +0000)]
larrybr [Tue, 10 May 2022 01:11:51 +0000 (01:11 +0000)]
Cause most shell tests to be run under Tcl suite valgrind config.
FossilOrigin-Name:
cd085b36ff777396ac2705c030c1518f8094a70a0b0ba4a628776429524d20f0
drh [Tue, 10 May 2022 00:24:01 +0000 (00:24 +0000)]
Simplified "hidden" and "no-expand" handling in the *-expander.
FossilOrigin-Name:
c6c3115f3a008cf9b0d7c5c812f17e38c8a75a904032c5f05f0bea03a7340527
larrybr [Mon, 9 May 2022 18:33:14 +0000 (18:33 +0000)]
drh [Mon, 9 May 2022 17:55:34 +0000 (17:55 +0000)]
Minor STAT4 test case change due to the ANALYZE enhancement of
[
eb59c46a5aed69bc |check-in
eb59c46a5aed69bc ].
FossilOrigin-Name:
8ce2fecb580da53fc01c53d8de10e2cc99499094215429ba925e777717e369b2
drh [Mon, 9 May 2022 16:29:53 +0000 (16:29 +0000)]
Add ALWAYS() on two unreachable branches in the * expander.
FossilOrigin-Name:
387c852375bba62df040330944c9e979a6993f95ece3443597c5fc66e34263ca
drh [Mon, 9 May 2022 12:59:16 +0000 (12:59 +0000)]
Simplify a branch in the "*" expansion logic. New test case for an
INSTEAD OF trigger on a RIGHT and FULL outer join.
FossilOrigin-Name:
d2717348f43b571c7bb58498e0c723331abf85de174189e66aca2c438ca26d5f
larrybr [Mon, 9 May 2022 12:29:47 +0000 (12:29 +0000)]
Simplify .import leak plug and arrange for CLI to be run under valgrind.
FossilOrigin-Name:
0d3e2380197aa3e725591266acaeb0d43a7e794ca9153e6c56253cdcf60720b1
larrybr [Sat, 7 May 2022 03:53:14 +0000 (03:53 +0000)]
Stop a memory leak in .import, and add leak complaint to CLI debug builds.
FossilOrigin-Name:
f5f09368b33b6af00f96e5b8f763e7ee2d00ba6af2aee0f2ca86bb58c03d0b71
larrybr [Sat, 7 May 2022 02:21:17 +0000 (02:21 +0000)]
drh [Fri, 6 May 2022 22:29:45 +0000 (22:29 +0000)]
Perserve the requested reserved-bytes size for the database file when
doing a VACUUM.
FossilOrigin-Name:
dac6d87c71606f3ec7ce601be6d17357d323476ecb60dbb167030146783b62b2
drh [Fri, 6 May 2022 00:43:06 +0000 (00:43 +0000)]
Prevent an infinite loop on SQLITE_ERROR_RETRY when trying to modify a
corrupt schema while PRAGMA writeable_schema=ON is active.
dbsqlfuzz
ded83609f475cc989c7339d45efb5151c1495501
FossilOrigin-Name:
217b33234dc3dc36b5b6add50c170869421057a56a7576d1a61767956248d5c9
drh [Thu, 5 May 2022 10:02:19 +0000 (10:02 +0000)]
drh [Wed, 4 May 2022 18:43:39 +0000 (18:43 +0000)]
Improvements for name resolution for parenthsized joins.
FossilOrigin-Name:
006b2d9c52201c9e836b649018519acfb47f793f70b968722440f00084e9d846
drh [Wed, 4 May 2022 17:43:59 +0000 (17:43 +0000)]
New test cases for RIGHT and FULL JOIN, focusing on cases that make use
of Bloom filters, and a bug fix related to when ON-clause constraints are
applied.
FossilOrigin-Name:
67510354e69bab98bd8095f5bedd34aae619fe2c7885975d7a6a00b7df5ece4e
drh [Wed, 4 May 2022 17:30:51 +0000 (17:30 +0000)]
Code EP_InnerJoin constraints at the same time that EP_FromJoin constraints
are coded.
FossilOrigin-Name:
b57033d2af2196e2f7e5305f3504fc20da5cadeb66026d38b999fe909cab8ac5
drh [Wed, 4 May 2022 14:46:08 +0000 (14:46 +0000)]
Merge ON-clause constraint usage fix from trunk into the joinD branch.
FossilOrigin-Name:
0a20d4a85964fb5f2060b9522356ad2711f41d0d526ba3d2e58fc51029878298
drh [Wed, 4 May 2022 14:45:19 +0000 (14:45 +0000)]
Fix ON-clause constraint usage for FULL and RIGHT JOINs.
FossilOrigin-Name:
544268a723cafdf0460221f5f018e752836436bad0fac90852cec70e63d9dcde
drh [Wed, 4 May 2022 11:49:26 +0000 (11:49 +0000)]
New test cases using various join types and Bloom filters. Two cases
differ from PG and need to be resolved.
FossilOrigin-Name:
befa8cbc0682bc3269f87e392a1f3d4baacf4db7c716ea84192bb9c13c99490b
larrybr [Wed, 4 May 2022 03:45:32 +0000 (03:45 +0000)]
drh [Wed, 4 May 2022 02:01:49 +0000 (02:01 +0000)]
In the query planner, do not let tables commute across any outer join.
FossilOrigin-Name:
8cee5388232ade91ea627bb6857eb8937d7530b5ea519e0ae6da362c37c7ed35
larrybr [Tue, 3 May 2022 21:58:24 +0000 (21:58 +0000)]
drh [Tue, 3 May 2022 16:26:50 +0000 (16:26 +0000)]
Merge Bloom filter bug fix from trunk into the right-join branch.
FossilOrigin-Name:
72131ad1bda3d087e59cd4a51d87f10f65a55e658645397e1ede15f9fb1f5143
drh [Tue, 3 May 2022 16:18:25 +0000 (16:18 +0000)]
drh [Tue, 3 May 2022 14:01:48 +0000 (14:01 +0000)]
Fix the Bloom filter pull-down optimization so that it jumps to the correct
place if it encounters a NULL key. Fix for the bug described by
[forum:/forumpost/
2482b32700384a0f |forum thread
2482b32700384a0f ].
FossilOrigin-Name:
6eda9b1a7784cf6d58c8876551f67ab98e78a08e726a0579d4def5ba881985bb
drh [Tue, 3 May 2022 12:11:16 +0000 (12:11 +0000)]
Add assert()s to show that jumps always land an an instruction that is between
1 and Vdbe.nOp-1. Had these assert()s been in place before, they would have
caused an assertion fault for the byte-code error reported by
[forum:/forumpost/
2482b32700 |forum post
2482b32700 ].
FossilOrigin-Name:
8f8a58feb7047d19522ca32efbe42fd9ddf49aaf9064f7373eb56a88982406a2
drh [Mon, 2 May 2022 20:49:30 +0000 (20:49 +0000)]
Organize the various flag bits of the ExprList_item object into a substructure
so that the whole lot can be copied all at once. Faster and smaller code.
FossilOrigin-Name:
5341d4bbe9a943f9cdbbdea829e18f108e98972ebb706396c50fc62fcc6a6328
drh [Mon, 2 May 2022 20:14:26 +0000 (20:14 +0000)]
Merge trunk fixes into the right-join branch.
FossilOrigin-Name:
e01f4c05c21e89dcc7985e00874f288d9ba5d5d932f7284f8d970bd3145ac0c2
drh [Mon, 2 May 2022 20:04:34 +0000 (20:04 +0000)]
drh [Mon, 2 May 2022 19:59:03 +0000 (19:59 +0000)]
Name resolution and "*" wildcard expansion for parenthesized FROM clauses
seems to work the same as PG. The code is chaos, however, and needs some
cleanup.
FossilOrigin-Name:
6f9c0b07aadc5189c65c3ee4e6938aac10fc0d98f1cb06980f5e5d7b0308f237
drh [Mon, 2 May 2022 15:47:57 +0000 (15:47 +0000)]
drh [Mon, 2 May 2022 15:31:06 +0000 (15:31 +0000)]
Document (in comments) that the SQLITE_FlttnUnionAll bit has a specific value
needed by TH3.
FossilOrigin-Name:
bcaa4a44749d157c5953c6f54c88b1ba29b4035f4b21fce986b7efbea372e109
drh [Mon, 2 May 2022 15:23:59 +0000 (15:23 +0000)]
Fix a harmless compiler warning in sqlite3TreeViewWinFunc() (a routine that
does not even appear in release builds).
FossilOrigin-Name:
daff6070039e45df7c47b323a8352e56d1264a7bfb065fe2d79c58454c95a262
drh [Mon, 2 May 2022 15:10:38 +0000 (15:10 +0000)]
Merge the latest trunk fixes and enhancements into the right-join branch.
FossilOrigin-Name:
afbcf075c1e09ae064c7b16e63501cd1d374711812664aef76bd35d02d64a2b6
drh [Mon, 2 May 2022 14:32:56 +0000 (14:32 +0000)]
Improvement on check-in [
a193749730d6cfba ] so that the subroutine call to
the IN operator right-hand side generator from the RIGHT JOIN no-match logic
does not generate unreachable byte code.
FossilOrigin-Name:
cc458317bd77046c4328715ae9e3409f3f4cd422a01162cb33405ef3a142b0a3
drh [Mon, 2 May 2022 11:24:21 +0000 (11:24 +0000)]
Bring the comments on sqlite3FindInIndex() into closer alignment with what
that routine actually does.
FossilOrigin-Name:
40f3274745b53bb72933c1052d0e85bc74be56d3a1068e9d54dc28763a2cfef9
drh [Sat, 30 Apr 2022 19:55:28 +0000 (19:55 +0000)]
Defensive code in sqlite3TreeViewWindow() to fix a compiler warning.
FossilOrigin-Name:
b250c218b4b6327a1cae3edbc037625ba998f89ee13a9bfbc2cefd1edfc4b768
drh [Sat, 30 Apr 2022 18:40:22 +0000 (18:40 +0000)]
Simplified fix to the problem with subroutine reuse in the RIGHT JOIN no-match
logic for a subquery on the right-hand side of an IN operator. The code still
needs simplification.
FossilOrigin-Name:
a193749730d6cfba617f2a64e7254c78f92bbf29b109c19055fc33f6cc643d4c
drh [Sat, 30 Apr 2022 12:35:51 +0000 (12:35 +0000)]
Preserve the COLLATE operator on an index on an expression when resolving
the use of that expression into a reference to the index. See
[forum:/info/
7efabf4b03328e57 |forum thread
7efabf4b03328e57 ] for details.
FossilOrigin-Name:
a8da85c57e07721dc1c918d67433d6c99ce48421e369123cc3194d855e55f7e8
drh [Sat, 30 Apr 2022 00:06:52 +0000 (00:06 +0000)]
Further improvements to codeEqualityTerm() for cases when an IN operator with
a right-hand side subquery is used as a constraint that needs to be processed
by the RIGHT JOIN non-matched logic.
FossilOrigin-Name:
bb2798be3fb5737827eec505db2d4c8cb510d227d98fc26ce748bf2da7e8b382
drh [Sat, 30 Apr 2022 00:05:37 +0000 (00:05 +0000)]
Enhance the TreeView debugging output for Expr with opcode TK_IN so as to
show the RHS table and the subroutine address.
FossilOrigin-Name:
aec1e4cd59ae874b66335e4f87322fbe31fbb752429e68bf41338db316d0a9ed
drh [Fri, 29 Apr 2022 19:00:11 +0000 (19:00 +0000)]
Enhance the codeEqualityTerm() routine inside the code generator so that it is
able to reuse an IN operator that has an invariant subquery on its right-hand
side while coding the non-matched loop of a RIGHT JOIN.
dbsqlfuzz
19f1102a70cf966ab249de56d944fc20dbebcfcf
FossilOrigin-Name:
56dd3065469e49320b13af039471b3f0b85e6f7368cfd97b1cdc0cf8fa8e1956
drh [Fri, 29 Apr 2022 17:45:39 +0000 (17:45 +0000)]
With TreeView, only show the table columns for a SrcItem if the data source
is a subquery rather than a persistent table.
FossilOrigin-Name:
7b4a0d0fa1d8facaf5e550650d9b261eda7eb7a2a413627f2751f01c5477e1f3
drh [Fri, 29 Apr 2022 17:13:52 +0000 (17:13 +0000)]
Multiple enhancements to the TreeView output for SrcItem, cherrypicked from
the right-join experimental branch.
FossilOrigin-Name:
293afa81112e824eec2557d004a27319d484276f796936e16d64243fe24f6b68
drh [Fri, 29 Apr 2022 17:03:25 +0000 (17:03 +0000)]
Show the USING clause as part of the tree-view display of SrcItem.
FossilOrigin-Name:
9cba3ce577e442f83d7a2d6926e38ffe6bc45953c88ecdd384f3455890303cce
drh [Fri, 29 Apr 2022 12:09:43 +0000 (12:09 +0000)]
Minor typo fix in a comment, for the benefit of broken IDE syntax highlighters.
FossilOrigin-Name:
680ccecbc839373194ed2dcc1053e25512d9ea3f12f8c8963cb8fbd1a034d2f8
dan [Thu, 28 Apr 2022 18:33:02 +0000 (18:33 +0000)]
Fix problem with SQLITE_OMIT_VIRTUALTABLE builds.
FossilOrigin-Name:
a99ee612b9bd6d75b63e557ef5bdac2143425a558cf023a0480cc28c8300a9a8
drh [Thu, 28 Apr 2022 18:17:51 +0000 (18:17 +0000)]
In treeview.c, show the columns of the table associated with each SrcItem.
FossilOrigin-Name:
3aafccb5c3c780c29090ee5eb428a6c3153627ce8bf834bbd392e79a30e9389b
drh [Thu, 28 Apr 2022 17:35:58 +0000 (17:35 +0000)]
Tweaks to the name resolution on parenthesized joins. A small number of
tests fail now due to extra columns appearing in the expansion of "*".
FossilOrigin-Name:
c86804917e3fffcf0c19bbf11875667f7968275210fc768e650826bd9c87a5d2
drh [Thu, 28 Apr 2022 12:52:49 +0000 (12:52 +0000)]
Merge trunk enhancements into the right-join branch.
FossilOrigin-Name:
3fd9706bba4a71cb5c7ce1341c3be0a7727941445820a073e7b2f0f32512e8ef
drh [Wed, 27 Apr 2022 18:38:46 +0000 (18:38 +0000)]
drh [Wed, 27 Apr 2022 16:41:56 +0000 (16:41 +0000)]
When computing STAT1 values using ANALYZE, if a ratio comes out to be between
1.0 and 1.1, then round it down to 1 rather than the using the default rounding
rule of changing it to 2. The reduces the estimation error for the
case where a column value is very nearly, but not quite unique.
FossilOrigin-Name:
eb59c46a5aed69bc6fd096997bf24c082e533c1085439f6ec1fbe5ff78e8b374
dan [Wed, 27 Apr 2022 13:33:48 +0000 (13:33 +0000)]
Fix a test problem in rbubusy.test causing a crash under some circumstances.
FossilOrigin-Name:
bc5bbd9fa636cc9ef0cbbc0600b8fc1404b9732670ac4e7a8b5a230fbce758d5
dan [Tue, 26 Apr 2022 19:16:11 +0000 (19:16 +0000)]
Update corruptL.test so that it works with SQLITE_ENABLE_OVERSIZE_CELL_CHECK builds.
FossilOrigin-Name:
b1bec72043f798f4d4d30e6b60a45ed4dc521115c8a9f97bb8228e3f089deefb
drh [Mon, 25 Apr 2022 20:56:55 +0000 (20:56 +0000)]
Fix a problem with automatic indexes introduced by
check-in [
664b461bb5063d980 ] and reported by
[forum:/forumpost/
0d3200f4f3bcd3a3 |forum post
0d3200f4f3bcd3a3 ].
FossilOrigin-Name:
134cfb18ff930e4bccc1a7412a02be353bf67c6d5080bc0673afaac81afa889c
drh [Mon, 25 Apr 2022 20:47:58 +0000 (20:47 +0000)]
Do not allow the push-down optimization on the right table of a RIGHT JOIN.
FossilOrigin-Name:
05917bfa02a7b6678c147d10fb53f55532ab15fd5d82d925ae921ae3759f0115
drh [Mon, 25 Apr 2022 20:38:42 +0000 (20:38 +0000)]
The pushDownWhereTerms() routine should be using
sqlite3ExprIsTableConstraint(), not sqlite3ExprIsTableConstant(). This fixes
many problems, but still an error persists in join7.test.
FossilOrigin-Name:
10bf0e613809f71cc1a47ad40b517e2a66671212a6464e179c9d377e8b70d499
drh [Mon, 25 Apr 2022 19:40:33 +0000 (19:40 +0000)]
Fix a problem with automatic indexes introduced by
check-in [
664b461bb5063d980 ] and reported by
[forum:/forumpost/
0d3200f4f3bcd3a3 |forum post
0d3200f4f3bcd3a3 ].
FossilOrigin-Name:
7ca3456c00998a429418ff29cf251b381586b330b88344c94a40c5df0b71da85
drh [Mon, 25 Apr 2022 14:59:59 +0000 (14:59 +0000)]
Add a new optimizer disabling bit to disable just the UNION ALL branch of the
query flattener.
FossilOrigin-Name:
c0f9ebab5455d8541a562122d3270b95ce571c3fd870b0048dda2b036c2b66c0
drh [Mon, 25 Apr 2022 14:49:48 +0000 (14:49 +0000)]
Avoid unintended side-effects on Parse.nSelect in the
sqlite3ViewGetColumnNames() routine.
FossilOrigin-Name:
59789fe1e745bb6f81898176e7e9c6064ac9f4bbefb4dc3c8f3e4c1379568f69
drh [Mon, 25 Apr 2022 10:43:19 +0000 (10:43 +0000)]
Remove NEVER() on branches formerly thought to unreachable
(see check-in [
71272caff5874137 ]) in order to fix the first bug reported
by [forum:/forumpost/
28821db852 |forum post
28821db852 ].
FossilOrigin-Name:
bd6811d8110d5f00596e2eff6d4b02af8b6d8557d41990e6f50518ead0fa01fb
drh [Sat, 23 Apr 2022 19:26:34 +0000 (19:26 +0000)]
Merge enhancements and fixes from trunk into the right-join branch.
FossilOrigin-Name:
2fb165cf8bd1e43248612aa2922bd311df30dcbb3c2f1daee73c363e409c501f
drh [Sat, 23 Apr 2022 19:21:47 +0000 (19:21 +0000)]
Prevent the ORDER BY LIMIT optimization from running if the innermost loop
is a right-join, as doing so will get an incorrect answer.
FossilOrigin-Name:
3aefc874d31885c64a5e02868edb2aa56a2b4429252d494e67e4088a9298ce5b
drh [Sat, 23 Apr 2022 18:46:03 +0000 (18:46 +0000)]
In debug builds, add extra code to verify that there are no jumps that try to
escape from the right-join body subroutine.
FossilOrigin-Name:
45fe919266ba1843f3eeeb511ab43126069d4976c9fc64e57e0390c21f110b6e