dan
d6285d3159
Change the instrumentation messages on this branch so that they contain "v=7" instead of "v=6".
...
FossilOrigin-Name: acea12d90f180538161b9611ab8fb0e10a43262c15739a8c24d3732b99f968ed
2023-01-25 17:24:34 +00:00
dan
9e86590867
Experimental patch to put page buffers on an internal per-connection list for reuse instead of free()ing them when the page-cache is reset.
...
FossilOrigin-Name: 1e4cfd2f30c36172eb513b82db322f5c38d3686137a063f5c2a9dff957068e23
2023-01-25 17:09:16 +00:00
dan
9180b3308a
Add test logging around the pcache1FreePage() loop in pcache1TruncateUnsafe().
...
FossilOrigin-Name: a057f9cb2c647e0ee95c5956eb8707f2a4892bbf207544b47d76db56fd4f8990
2023-01-19 21:05:02 +00:00
dan
cb393f7b84
Another version of the debug-only logging on this branch.
...
FossilOrigin-Name: 906caf8911ed2afd7bf828550d2e709b23860597e1288334fc9ba57480542142
2023-01-16 20:33:43 +00:00
dan
5f2e0b7129
Fix the threshold for logging "PRAGMA schema_version" slowness.
...
FossilOrigin-Name: ca3854cb6fa27e7a05938fe39224887570898ef39a0c5569cc9c2ccf262328c1
2023-01-06 19:03:39 +00:00
dan
2ddde4074c
One more iteration of "PRAGMA schema_version" instrumentation.
...
FossilOrigin-Name: 0d9081068ea42178d27b535ee59598cadb1f6936a9244f79b1cf0ea0eeb7ff4a
2023-01-05 19:48:58 +00:00
dan
1532cf2330
Another iteration of "PRAGMA schema_version" instrumentation.
...
FossilOrigin-Name: d5a8d6cf0506a4b656112d0e0d441635e5039816b93a57b5dfc126646bb5dc39
2022-12-23 15:05:13 +00:00
dan
93c92dbcd2
Fix an error in the previous commit causing timings to be logged for every "PRAGMA schema_version" command, not just those that are slower than 2 seconds.
...
FossilOrigin-Name: 1e8220c1b4b5102eee08f4b1f783827156c682e5e7b00bc7283b08af15198681
2022-12-22 15:04:04 +00:00
dan
707300e999
Different version of "PRAGMA schema_version" instrumentation.
...
FossilOrigin-Name: b9efbc538b5461e6eb429630b3c61a7a849a77cdc4cc0efd6fc80d3e27d5f389
2022-12-22 14:29:55 +00:00
dan
24249b3bf9
Hack for special gettimeofday() instrumentation of "PRAGMA schema_version".
...
FossilOrigin-Name: 44dd01e3152eba0b487f9ec5349ecc9e6474e94a10e3f4951b9d928ea39f53f0
2022-12-19 18:42:55 +00:00
drh
e62a79d8d9
Merge the latest trunk enhancements into the begin-concurrent-pnu-wal2 branch.
...
FossilOrigin-Name: 68a61513f9e064ed9e79638ec40f8bff1a8ee678793683e2725a4ce63563db6a
2022-09-30 14:04:15 +00:00
drh
73b1ef33ef
Merge recent trunk enhancements into the wal2 branch.
...
FossilOrigin-Name: c22c7c879846b1357c00741700b7f6d1111c4b94895b4e7f552c92299d35712e
2022-09-30 13:54:27 +00:00
drh
31474ce57e
Fix misuse of the sqlite3_set_auxdata() interface in the ICU extension.
...
FossilOrigin-Name: f25cf63471cbed1edb27591e57fead62550d4046dbdcb61312288f0f6f24c646
2022-09-28 19:14:01 +00:00
drh
5d48e0cdc5
Provide the SQLITE_MAX_ALLOCATION_SIZE compile-time option for limiting the
...
maximum memory allocation size.
FossilOrigin-Name: 584de6a996c78b8e41bdfcd05a8e2a3844664c6b4efedb5883c8b8af388462b5
2022-09-27 16:35:06 +00:00
drh
6319a8003c
Make the legacy FTS3 code more robust against integer overflow during
...
memory allocation.
FossilOrigin-Name: 5517bc50988b5339c2fd071b29de1b5ca03037b0b635c3b112cf7108fab54d5f
2022-09-27 01:53:05 +00:00
drh
80cf891792
Enhance defensive mode so that it disallows CREATE TRIGGER statements if the
...
statements within the trigger attempt to write on a shadow table.
FossilOrigin-Name: 3283bbd12a60f472ed03cb7c6209a605a3bf9f3d9083371e17840b56e8b3f559
2022-09-27 00:56:45 +00:00
drh
f333370e1f
Reduced and improved comments on the constraintCompatibleWithOuterJoin()
...
function.
FossilOrigin-Name: 38aaf26e082bd95df6b64df43e1772fe6e20c4eb71307dcd97559cac7f11f8f1
2022-09-21 18:21:31 +00:00
drh
2897b88f9e
The RIGHT JOIN logic added to version 3.39.0 added a new restriction on the
...
query flattener which resulted in a performance regression for some queries,
as documented by [forum:/forumpost/96b9e5709cf47cda|forum post 96b9e5709cf47cda].
This change removes that restriction (thus restoring performance) and fixes the
problem that RIGHT JOIN was having in a different way.
FossilOrigin-Name: 501609eddf2a46d51e8cd56477a22d4df142a166e78fe4322c0db11d1eed6687
2022-09-21 09:54:41 +00:00
drh
faaacd3fbb
Break out the decision of whether or not a constraint term is usable by
...
an outer join into a subroutine: constraintCompatibleWithOuterJoin().
FossilOrigin-Name: c7fbc9b0453050e2746af27e3a11e0c3701bef8c56da8e19173242c6ea3aff8b
2022-09-21 00:16:59 +00:00
drh
0f51aa3972
Do not allow EP_InnerON terms to be used on a outer join.
...
FossilOrigin-Name: f47aa745690c018800243bf76930b2499ff4537411c4e27b4b16ba3854cc2bf8
2022-09-20 22:19:13 +00:00
drh
0cc6f78bcf
Add new test cases that (current) get an incorrect answer.
...
FossilOrigin-Name: fe5c37736444e397ace387b761ec2491229785d7a437f3f60232aedf9d1f00ec
2022-09-20 21:07:52 +00:00
drh
4c5c941b6e
New test cases for query flattening when there are ON clauses and outer joins.
...
FossilOrigin-Name: db55387b1972bc7bc6855bd3497af744a111e7d28d09893cd985fbb01be41bcc
2022-09-20 19:45:04 +00:00
drh
8b9a3d1fc8
Modify the OP_IfNotOpen opcode so that the jump is taken if the cursor is open
...
but was previously set to a NULL row using OP_NullRow.
FossilOrigin-Name: 1292d68caa7086610ddda343f3852e63de8da1eb66536ee4716b6529f5a31bc6
2022-09-20 19:22:17 +00:00
drh
5a0771a1f4
Remove code that has been previously commented out.
...
FossilOrigin-Name: 852b385a5de622aa32026824210d4bd23db52a4a8a697b83d22d6000edeba487
2022-09-20 18:18:00 +00:00
drh
a5f8c42c98
Merge the fuzzcheck fix from trunk into the flattener improvement branch.
...
FossilOrigin-Name: 930a8c1561d0d5dc70dc5378edac77f79ac59ab6569b561de3dfb02f160c38c5
2022-09-20 17:43:40 +00:00
drh
703c208d30
Update the fuzz invariant checker to conform to the latest changes in
...
dbsqlfuzz.
FossilOrigin-Name: 8d8c124349d2a25200ace9a60d76751594b722468ad0c39d927a5d2c6e2464e0
2022-09-20 17:21:54 +00:00
drh
40c9becc81
Is the query flattener restriction 29 (do not allow both EP_InnerON and
...
EP_OuterON constraints on the same FROM clause term) really necessary? This
branch explores what happens if we omit that restriction. This is an effort
to address the performance regression reported by
[forum:/forumpost/96b9e5709cf47cda|forum post 96b9e5709cf47cda] that is caused
by flattener restriction 29.
FossilOrigin-Name: 19270577ad1d08c9e6e5f0600396b8a1ccda9df1e67a0df845aee6b60437f379
2022-09-20 16:57:49 +00:00
drh
b22b493338
Clarify comments that describe query flattener restrictions associated with
...
outer joins. No code changes.
FossilOrigin-Name: 2647d73bb1876d01851f52cb3fd6af08a962ab336b6d51c160d27b1baf94f75f
2022-09-19 19:25:15 +00:00
drh
316cd40122
Fix a minor comment typo. No changes to code or documentation.
...
FossilOrigin-Name: 8032db4ade66f70a102abb9d3a49e20620e204c45ad7a954a49d20403985bf07
2022-09-19 17:41:59 +00:00
drh
bcdb4cc71b
Remove a NEVER macro in defragmentPage() that dbsqlfuzz discovered can be
...
true. crash-32d9312f145cdce41613573f6431d9a3e439e3d7
FossilOrigin-Name: 90403759e1cf30f7c11fa8170d6df59a0dd138e1de59d2b60bec7ba15d74f67c
2022-09-18 17:59:28 +00:00
drh
3e4e697d1c
New run-time options to the speed-check.sh script.
...
FossilOrigin-Name: ff46bc9d2a844dde9dafa157114f4d9ee157205ca5c08ed9ee32f018de310e62
2022-09-12 16:07:24 +00:00
mistachkin
bdb6368d72
Fix harmless compiler warning seen with MSVC.
...
FossilOrigin-Name: 73c4c68d3b4c16caf8281dabddd7365d24691e5ee2da89b1783eca66bfbd9280
2022-09-09 17:50:29 +00:00
drh
b53e0992b2
Enhance an assert() to impose for tighter constraints on the operation of pcache.
...
FossilOrigin-Name: 42105eb43a916a7cd839fa6c582eaffaef17f50b23c3e05142400c379feb73c7
2022-09-07 20:11:22 +00:00
drh
8c983ddb67
An improved technique for ensuring that the Rekey() operation does not
...
overwrite an existing page number. This approach does not change the
semantics of the underlying pluggable pcache and it is easier to prove
correct. This replaces the changes at
[aadd38f99a3e5abc] and [81cff9f1955874aa].
FossilOrigin-Name: 7dbddde79e3ca1b81e00288616fc27434698ce6dcb47714728fce8602ae91f45
2022-09-07 19:28:18 +00:00
drh
2e440a0801
Add the tool/omittest-msvc.tcl script that will try to build using MSVC
...
using various compile-time options, to ensure that the compile-time options
all build without errors.
FossilOrigin-Name: 6b00ecb59fd303f7985902c35a46db9e729201d4beaedea46596b728d9e4b1c8
2022-09-05 22:54:36 +00:00
drh
0c4517a61a
Get the tool/omittest-msvc.tcl script working.
...
FossilOrigin-Name: 82b89f8a074858a81d841dfc26436e8d39ce4907b8f989eba4d848db16758303
2022-09-05 22:53:24 +00:00
drh
4c8404e555
Add a prototype for a script, similar to tool/omittest.tcl, that is designed
...
to test builds using MSVC to ensure they work with various OMIT options.
FossilOrigin-Name: b1e37a0bd31fa9f8e58c2859a80c23a682b4702eefab2c55b243f1e21d475d6c
2022-09-05 20:42:01 +00:00
drh
6e440ab3de
Fix the windows build so that it works with -DSQLITE_OMIT_AUTOINIT.
...
FossilOrigin-Name: f74a5ea8c986dc33d3afcda169c38abbe55728c56716cf9991a5e2ef7fc4917a
2022-09-05 18:17:03 +00:00
dan
ad617b4d6d
Ensure the Pager.journalOff variable is zeroed if an error occurs while writing the initial header to the journal file.
...
FossilOrigin-Name: da7af290960ab8a04a1f55cdc5eeac36b47fa194edf67f0a05daa4b7f2a4071c
2022-09-02 21:19:24 +00:00
drh
173b418e60
Fix an assert() associated with the dbsqlfuzz error at [8372468bb5d8922c].
...
FossilOrigin-Name: 54251f81ebc43839cc97f91d2df4c320c1b96b5690cc11ce45b60c087c9becd6
2022-09-02 17:25:25 +00:00
drh
5fc3a8a32f
If sqlite3PcacheMove() really performs a swap, then be sure to renumber the
...
second page.
FossilOrigin-Name: 81cff9f1955874aade55daa94263f58f06d966bd51ad558755f92777069a7347
2022-09-02 15:09:55 +00:00
drh
4e9bf5ace3
Enhance the pcache1 implementation so that during an xRekey operation if
...
another page already exists at the destination, that other page gets moved
to the source key.
FossilOrigin-Name: aadd38f99a3e5abcf9bef49f4367752f163cc79500a28f812bb71969d7de419c
2022-09-02 14:29:54 +00:00
drh
e04c9f4b33
Mutex protect access to the sqlite3_test_directory and sqlite3_data_directory
...
global variables. See
[forum:/forumpost/719a11e1314d1c70|forum thread 719a11e1314d1c70].
FossilOrigin-Name: 8e6ad3a3e942a326cf16432e16d6596c7206c05b6f45cd0ff3a9b836bcfc9deb
2022-09-02 11:45:26 +00:00
drh
fee6431392
Improved mutex protection of the sqlite3_temp_directory and
...
sqlite3_data_directory global variables.
FossilOrigin-Name: ebbe9634d6dde9e097f61fb98a79111e46de422b7bbbd9ed3af7b6f22aacf5ec
2022-09-02 11:12:16 +00:00
drh
18a3a48db1
Experimental changes to put sqlite3_temp_directory behind a mutex.
...
FossilOrigin-Name: 5ee3515fbb88bf1ae5f8b507844f82dcc429380b6ebeab9b09b52b25ee60a60d
2022-09-02 00:36:16 +00:00
drh
44132244fa
Defer deleting a transient SELECT statement associated with a flattening
...
of one arm of a compound SELECT until after the parse has completed.
FossilOrigin-Name: 1c4157c71cd1e062a9c2c79787d17e34e340f28ce1e40573851dfe174f5da7d7
2022-09-01 13:51:09 +00:00
drh
a3fc683c80
In the query planner, add a heuristic that will reduce the cost of a full
...
table scan for a materialized view or subquery if the full scan is the
outer-most loop. This is shown to speed up some queries.
FossilOrigin-Name: 609fbb94b8f01d6792e5941ab23ce041313d359f6788c4dde6b1ca749ab49137
2022-09-01 10:29:02 +00:00
drh
9c3a114ca0
Enhance the b-tree page sorting code to ensure that sqlite3PagerRekey() never
...
overloads a page number and uses only the PENDING_BYTE page for temporary
storage.
FossilOrigin-Name: 5007742886bd20de20be3973737cf46b010359911615eb3da69cd262bd9a2435
2022-08-31 15:04:42 +00:00
drh
78d15f097a
Improved comments in pcache1.c. No changes to code.
...
FossilOrigin-Name: dd017bb1b3e31c7692d29dc4865d6bda871e429978c8738a39160d0114e5bf9b
2022-08-30 16:54:41 +00:00
drh
4d28830861
Any function call can abort. Take this into account when deciding if a DML
...
statement needs a statement journal. See
[forum:/forumpost/9b9e4716c0d7bbd1|forum thread 9b9e4716c0d7bbd1] for more
information.
FossilOrigin-Name: 5c95ae6c9b93b9bcf698bb1cad93b2da2e28121b35e7c539b1ddc0ef2de33cfe
2022-08-30 00:11:51 +00:00