drh
4e6047a5ee
Fix a problem causing a cursor to retain an out-of-date cell-info cache when processing a DISTINCT query on values that are identical according to their collation sequence, but different on disk.
...
FossilOrigin-Name: b02811847cbb9c80ba886d3e84fc6a8048cde5c932405f50416baf6e0cbd78e9
2023-03-20 15:50:40 +00:00
drh
2d4139dda5
Fix assert() statements that would (incorrectly) fire if an IF NOT EXISTS
...
trigger that already exists contained two or more RETURNING clauses.
FossilOrigin-Name: 9b43b34d81adb1a8fd5e087f6c61387ed3a2e3e604418e295906d220f5cc5254
2023-03-17 00:10:06 +00:00
drh
fe5751815b
Correctly handle SELECT DISTINCT ... ORDER BY when all of the result set terms
...
are constant and there are more result set terms than ORDER BY terms.
FossilOrigin-Name: 097512b60498803570fe80d0403963ed2b5cecbee7156af355418ff9f1851d60
2023-03-16 21:05:59 +00:00
drh
a0e71193e5
Do not use the one-pass optimization on an UPDATE if there is a subquery
...
in the WHERE clause, since if the subquery is hidden behind a short-circuit
operator, the subquery might not be evaluated until after one or more rows
have been updated.
FossilOrigin-Name: b5d8a9a6a58b4eb81a663192f578e0fbed72e8155bc7e1100ece04e8394a1984
2023-03-16 10:21:52 +00:00
drh
1a7d1ab06e
Disallow the one-pass optimization for DELETE if the WHERE clause contains
...
a subquery.
FossilOrigin-Name: 25e1831885e8de370482a1e9f664f1590fa49995048fb16e1f948acd2a29c3e3
2023-03-15 18:05:02 +00:00
drh
73dd2b94e1
Fix Bloom filters on an expression index.
...
FossilOrigin-Name: 11e0256b8c6f29bd2e60a0820f740e9927112bf6a0814751b7a73896298b4826
2023-03-14 20:16:48 +00:00
drh
88894f2b5f
The cherry-pick merge at [371838562a675c1b] caused a performance regression
...
for some queries, which is here fixed.
FossilOrigin-Name: 6d6d95fcedbc8758ab284d3014ae4a97af6247003bb3d0a7056f2e6bffa6cae4
2023-03-11 23:29:34 +00:00
drh
10e44bf373
In the Bloom filter optimization, hash all strings and blobs into the same
...
value, because we do not know if two different strings might compare equal
even if they have different byte sequences, due to collating functions.
Formerly, the hash of a string or blob was just its length. This could
all be improved.
FossilOrigin-Name: cc8a0ee40cfc83ab42a0ff452de0a53fe17784aefb944ea7ac2cb078a8310730
2023-03-09 16:04:34 +00:00
dan
b08004d947
Fix countofview.test so that it works with SQLITE_OMIT_PROGRESS_CALLBACK builds.
...
FossilOrigin-Name: d55a7742c9447eba20a7fe252fb3edcabba3793030a55976d5a5e6c65bce7706
2023-03-09 15:08:56 +00:00
drh
da1b094d95
Merge count-of-view optimization fixes from trunk. But count-of-view is
...
still off by default for this branch.
FossilOrigin-Name: cbbe8986ea26e78a7c5b122170cb5bf3f275f8e3a2941017f9ef11d7f3864256
2023-03-09 13:58:49 +00:00
drh
cc4f0f678d
Fix a possible NULL pointer dereference due to the sqlite3_interrupt()
...
enhancement in the 3.41.0 release.
FossilOrigin-Name: 66d24a220e3455a183b61490f42869520744cb3990e13f3ded92f1b6a7e248ce
2023-03-09 01:35:52 +00:00
drh
fe8d2d2497
Fix an assertion fault added by [65ffee234787213c].
...
FossilOrigin-Name: d00e68baf73238d2f91df6b19525c91539a7fe26406516cbacfff113e79e26ea
2023-03-08 00:04:47 +00:00
drh
ec1533e366
Cherry-pick the agg-with-indexed-expr optimization fix from trunk.
...
FossilOrigin-Name: b2ad89d3f0fe5c7582d97e65770eb93986ba8d4b031aafb04f86160383b47aab
2023-03-04 15:49:33 +00:00
drh
9ebf799d5b
Do not use an expression index on a generated column if generated column has the wrong affinity.
...
FossilOrigin-Name: 65ffee234787213ca3b12afde1b5ed7ae536366c30e984b14c0975da0c57917d
2023-03-03 19:47:09 +00:00
drh
74273c4369
When it is known when preparing a statement that X cannot be NULL, transform the expression (X IS NULL) to integer value 1 instead of 'true'. This is because under some circumstances, "Y IS TRUE" may not be equivalent to "Y IS 1".
...
FossilOrigin-Name: 0fc7f7c2a90ce9bc3462478441b4e628c90e5adff0d461e6cc3521371b7f1f08
2023-03-03 17:11:15 +00:00
drh
7a83522677
When flattening the right operand of a LEFT JOIN,
...
ensure that the OP_IfNullRow opcode does not
NULL-out a subquery result that was computed within OP_Once.
FossilOrigin-Name: c80b262c9dbde80c51872f36f9c4d406eba1c3f34468d36d5cb7084b1720ee5c
2023-03-02 14:09:11 +00:00
drh
843c71d748
When flattening a view that is the right operand of a LEFT JOIN
...
always insert the TK_IF_NULL_ROW expression nodes, even for TK_COLUMN
expressions, as the TK_COLUMN might be a column from an outer query
and hence still need to be NULLed out.
FossilOrigin-Name: 371838562a675c1bdd9c80250230eb87ac0e5e135cc39abbdbe1f8b1b8149445
2023-03-01 20:44:34 +00:00
drh
cbfa2269c4
Make sure subtypes do not cross a subquery
...
boundary even if the function that returned the value with a subtype is
buried down inside a larger expression.
FossilOrigin-Name: 9dc460318d98308f51e31df216872ff96ece67c86f50c3fd11bf2a3df112afdd
2023-03-01 15:28:34 +00:00
drh
1603f7edee
Fix stale requirement marks and fix a typo in the documentation for
...
sqlite3_preupdate_hook().
FossilOrigin-Name: 655991f5d9afdd3281049eb430921046e0ba90eef215020c2fb149adc0d3c4c5
2023-02-18 20:31:26 +00:00
drh
16cdb4b632
Fix a harmless typo in the test case added by [29fc06465efb948f].
...
FossilOrigin-Name: e0a0bf56f11f32f58705098e76c276deaf90cfa87e110032bdaad10ce9674f61
2023-02-17 22:48:46 +00:00
drh
ab31a5df93
Do not allow the COUNTOFVIEW optimization to run if the count() contains
...
a FILTER clause. dbsqlfuzz 4f8e0de6e272bbbb3e1b41cb5aea31e0b47297e3
FossilOrigin-Name: 29fc06465efb948f98d2733bb25ffa1e0662a0189304006b3d0be9fec7dd28c5
2023-02-17 18:27:48 +00:00
dan
bdb2ec409a
Update testrunner.tcl to run zipvfs test scripts on unix.
...
FossilOrigin-Name: e6c8e19ab0d6e7526d4596b75a45bb6becaf3c029690f7e75c016eac803c9990
2023-02-14 18:09:40 +00:00
drh
d6ba4252b2
Ignore extra parentheses around a subquery on the RHS of an IN operator,
...
because that is what PostgreSQL does.
FossilOrigin-Name: ecdeef43b27412b0b0b09e09a62ad3a03836a3fc80f2070268090e7ca8f02712
2023-02-13 19:32:40 +00:00
drh
b4dc263ec5
Do not allow WHERE clause terms to match constant string index terms, which
...
can happen if DQS_DDL is enabled. Follow-up to
[44200596aa943963]. dbsqlfuzz 54c9db85ed4af7055f5fd0d50877875c82b11d46.
FossilOrigin-Name: 2d2b91cc0f6fed8cb6f738dc7019047ce0f1e86b5eb8efa997095d08a32cbcb6
2023-02-13 18:42:01 +00:00
dan
0c69938511
Allow vector-IN expressions like "(a, b) IN ( (?,?), (?,?) )" to use an index.
...
FossilOrigin-Name: 1815b15ddb8785a25b7617aab19e13c2410b9377389c16a85176025b3d9400e8
2023-02-13 16:10:31 +00:00
drh
80e936aef0
Do a better job of detecting when a WHERE clause term might be useful to
...
an expression index. Fix for performance regression reported by
[forum:/forumpost/e65800d8cb|forum thread e65800d8cb].
FossilOrigin-Name: 44200596aa943963bc6ca98b5d4fd5b9235d1109d8dfc1a75eeae353b4239142
2023-02-10 21:53:33 +00:00
drh
9a8330b550
New test cases added to fuzzdata8.db.
...
FossilOrigin-Name: be67bafccd79ba835ed7e287e09852ce83805da0797b164d0c8e44be05d9d28a
2023-02-09 12:47:15 +00:00
drh
601e4d4a0f
Back out the 'txn' enhancement to date/time functions. The duration of a
...
"transaction" is confused and needs to be straightened out prior to moving
forward with this change.
FossilOrigin-Name: 4a145f07322d768a07619bed27e0390d50f3a01d07787b9296234a5ceb6f1218
2023-02-08 20:29:48 +00:00
drh
159cbfe1cb
Test cases to show that CURRENT_TIMESTAMP and similar hold the same value
...
across a transaction.
FossilOrigin-Name: 7b2fa20e31b8a0314b9ccb97bb556898d552505dbc5943f248df3f86c0f4e008
2023-02-08 12:31:47 +00:00
drh
3393ee7ff6
Simplify the code and add test cases.
...
FossilOrigin-Name: d3bed4caff561e71c396cc869c5b4d9bf216ba203485e738c12ec62741f1aba5
2023-02-07 23:55:59 +00:00
drh
da3d655fd8
Remove the long obsolete "client/server" mode tests.
...
FossilOrigin-Name: 08e3114caec0633fc54f8febb7f4732b46a1f47508bbca0a6a2bff02591254d5
2023-02-06 15:46:34 +00:00
dan
6896da42c6
Update test scripts speed1.test and speed1p.test so they may be run by testrunner.tcl.
...
FossilOrigin-Name: e761d4b9c8dcacccc927d23f20fdf779a0ae5304281b5bd6aa998bade56f0a37
2023-02-06 15:46:01 +00:00
drh
634ed64312
Shorten the status line for testrunner.tcl so that it fits on an 80-character
...
terminal.
FossilOrigin-Name: b760a7307c453d95cf3b302c9867c84a9c899956c16c2ce1ea6cce8f025db425
2023-02-06 14:48:02 +00:00
dan
ee18659f69
Fix a formatting problem in scanstatus2.test introduced by [81c118d9].
...
FossilOrigin-Name: 928ab40edbf11c02b3f03e660051d9587243002b9220adc77f972c3758c12b19
2023-02-06 13:36:34 +00:00
dan
0bd0843eb1
Add the --fuzztest option to testrunner.tcl. Also, have it print whitespace over the top of the old report line before writing the new.
...
FossilOrigin-Name: d83ce01fe1f21edcc93ad4c6308026156f235bab75e16e15389e27ad388fb274
2023-02-06 11:43:22 +00:00
dan
2288ecbb9c
Fix problems with test scripts preventing them from running with SQLITE_DEFAULT_MEMSTATUS=0 builds. Or builds without SQLITE_ENABLE_STAT4.
...
FossilOrigin-Name: c0fbc89ed26b6eb361c1a05e2fb0d78d101fe2daf2947bbe5e0e58e0c2a779a2
2023-02-06 11:02:31 +00:00
dan
e734207a79
Fix some test scripts that were failing with SQLITE_OMIT_VIRTUALTABLE builds.
...
FossilOrigin-Name: 81c118d90b281b30f40b3eeefaeb2c8350aa40080b4fe7de8f21d263986c6acb
2023-02-06 10:47:57 +00:00
drh
072f48e556
Do not use a Bloom filter if any outer loop lacks STAT1 data, since without
...
STAT1 data, the query planner cannot make an accurate determination of
whether or not a Bloom filter will be useful. This fixes the problem
reported by [forum:/forumpost/56de336385|forum post 56de336385].
FossilOrigin-Name: e6ab96bd0b9efc51fd703bf7e92b079943ad9a3b92183d434adc11fb7d238afb
2023-02-05 20:29:10 +00:00
drh
e88b209874
In fuzzcheck, only show the description of each database if the -v option
...
is specified.
FossilOrigin-Name: 6a58179aaffa77a5542ab620ffce6f68135e399de957b1a97113fd2f1dc0c098
2023-02-05 17:09:18 +00:00
drh
fdde4042eb
Modify the status line output from testrunner so that each line overwrites
...
the previous rather than scrolling.
FossilOrigin-Name: ad4d28cd68589a9259069c77c8d375ae49cfd0bcdf3b03d3e84418569e12ebfc
2023-02-05 00:32:32 +00:00
dan
a3d4d7a0ae
Avoid running rbu tests under permutation "journaltest", which does not support wal. Fix some other test script problems.
...
FossilOrigin-Name: 92f018698a87ed32acc31d83f7246dbb7295867bd6a801b7984a16f97a5c7786
2023-02-04 21:25:17 +00:00
dan
b713d501f6
Changes so that wapptest.tcl still works.
...
FossilOrigin-Name: 7624de3a93e03e9e825b1a283ccde8ad3aa41f93dd5c7f63692620a5177cbda9
2023-02-04 18:58:51 +00:00
dan
0415dd9c56
Update testrunner.tcl usage message.
...
FossilOrigin-Name: b7c246bc3f462098f6281ee2cd2e4e870b6d6481263d277f04956596a4764558
2023-02-04 18:50:16 +00:00
dan
4e5ff3b820
Add testrunner.tcl "njob" and "status" commands.
...
FossilOrigin-Name: 3869cd3d306ed68ec6e118aa10b4e835f2bab1294039888d88a30b3cfcf1d7be
2023-02-04 18:47:59 +00:00
dan
bd55d3ddab
Fixes for testrunner.tcl on windows.
...
FossilOrigin-Name: b98e19fc41cb7f89ae9e063b8af414bc01d14833a14de5d646069483ef0127b2
2023-02-03 21:18:58 +00:00
dan
33d3559736
Have testrunner.tcl run various builds as part of the 'release' command.
...
FossilOrigin-Name: ba2fae30a81e2574f13a7351c9f843b8c2c7d2c93fcd71fb2de98f5b34f3e109
2023-02-03 18:47:00 +00:00
dan
60228cb3d2
Avoid using Tcl command [clock] in testrunner.tcl.
...
FossilOrigin-Name: b2faf9289f6fbbcd4491e1b063da731b35aeed9ff1fc97f64798e99cac847b4a
2023-02-03 11:32:51 +00:00
dan
e18fdcd35f
Do not run test script pendingrace.test as part of the inmemory_journal permutation.
...
FossilOrigin-Name: 69d934a1bfad86f3f60dab146db539645f5735f1bdb07dfe3a3d88828a03390b
2023-02-02 20:15:42 +00:00
dan
b0c8e2f900
Add configuration data for osx and windows to testrunner_data.tcl
...
FossilOrigin-Name: e45d34656a110f85671d8b5d33f0d6d807fd64dfef5777fefba22ac6836f0e86
2023-02-02 19:41:43 +00:00
dan
986c22a6d0
Update testrunner.tcl to use a separate process for each test script. And to run some extra tests too.
...
FossilOrigin-Name: d090948a69a9c4b86693bd3caedba3d7e5883e4b2ad1f2d4bf7ae14c105ddea7
2023-02-01 20:14:59 +00:00