drh
4f2144dac0
Add the percentile extension to the CLI by default.
...
FossilOrigin-Name: bcc31846964102385d5a21eb5e85d7db153b155e76b4e2847c9453d3d0e1af04
2024-07-24 13:53:51 +00:00
drh
6326e30f86
Fixes to TreeView debugging output for VALUES clauses.
...
FossilOrigin-Name: b6aed8bcb06edc7f0221fd707d5adc227856fe62dbcaae5ffe1fb4faa5c542e1
2024-07-21 23:34:52 +00:00
drh
c855df67a4
Improved debugging output when using PRAGMA vdbe_addoptrace:
...
Show the range of opcodes being checked for Column-to-Copy conversion.
FossilOrigin-Name: 2c122026db979a099a3d1a14ae1e01a0a64a559905ea414b2d80ed7dc3e04846
2024-07-21 23:10:55 +00:00
dan
aecfb0a3b3
Fix an oversized allocation in sqlite3ExprCodeIN().
...
FossilOrigin-Name: d7be326a80e7b3aa8fd6e5e059c04e6ad3feaffcb20b1e3c251d7195ddc1be8b
2024-07-20 16:11:12 +00:00
dan
a592883d87
Add extra assert() statements to the fixes on this branch.
...
FossilOrigin-Name: 81b6360050eea95e4367de1b41b5864a640b4d1c5c8fc3bea3b96ed770cb0325
2024-07-17 16:27:36 +00:00
dan
7acf972c59
Fixes for platforms with 32-bit pointers that require 64-bit values to be aligned.
...
FossilOrigin-Name: 2212d7488ed4ec2839ffa45cb9567056b36519434834634e4ecc441c330694d7
2024-07-13 16:53:56 +00:00
dan
68d700cac6
Fix a use-after-free that could occur following an OOM introduced by [d8cedbe0].
...
FossilOrigin-Name: 4fabfacfcf38e129949d3e4e2c3ffde3da3cd40d9d12c97ca29bc7c3604db6ed
2024-07-08 17:39:52 +00:00
drh
42123a294d
Use a mini Bloom filter to help reduce the number of pointless searches for
...
prior SubrtnSig objects when generating code for IN operators with subqueries
as their right operand.
FossilOrigin-Name: d8cedbe055b40a0ea4e5d47845b535162e9fcb0d0f88c03211797ab64d2d56fb
2024-07-05 13:55:59 +00:00
drh
615fc1f083
Small performance optimizations.
...
FossilOrigin-Name: 99fd34b58a9b09af20f1f1a3c37137ae55159310c8af97806550eeee6adc4fc5
2024-07-05 01:05:34 +00:00
drh
42305fc126
Disable the reuse of IN-clause subqueries if the subquery is an explicit
...
"SELECT ALL". The ALL keyword is almost never used in actual practice (most
developers don't even know it can be used) so this should not interfere with
the optimization, but it does give us a convenient way to turn it off for
testing purposes.
FossilOrigin-Name: a81299be2ce203dcc28e7d0ba24791cbfba80e1ee3e1564469a226cac8adb17d
2024-07-04 18:26:41 +00:00
dan
6c23f1941b
Update EXPLAIN output to include P4_SUBRTNSIG.
...
FossilOrigin-Name: 61e56923c80d72d6467ec703b4946b251abf591649fa9e8e579667d7cbd25682
2024-07-04 17:49:34 +00:00
drh
0cf237c5b0
Be more aggressive about reusing subqueries that appear on the RHS of IN
...
operators that have been replicated due to the predicate push-down optimization.
FossilOrigin-Name: 2accf32b6e45a396503c29eecc14a103bcc7b4c313cde921b26b489704060177
2024-07-04 16:57:11 +00:00
drh
6357d35da9
Add comment using the name "predicate push-down optimization" to what we have
...
also called "WHERE-clause push down". No changes to code.
FossilOrigin-Name: be77fe701c7b7d3407800e1ed6a4c8be14035831790419cc99362bff41c65b60
2024-07-04 11:15:32 +00:00
drh
5b070cfa0f
Show the creation of IN-operator Bloom filters in the EXPLAIN QUERY PLAN output.
...
FossilOrigin-Name: c10a1b99d47a4c93bdb16e646f6a21add570d6dbb34fd91a32f8abacdb28712b
2024-07-03 20:10:42 +00:00
drh
c4c2589ff0
Add a new sqlite3FaultSim() call to OP_NotFound to use for testing purposes.
...
FossilOrigin-Name: 84fd275bfd8afada50d3a5ac491d2b866671f8f0d2496bd240cf4bfdd74e7399
2024-07-03 18:56:56 +00:00
drh
6172e4355f
Use a Bloom filter to improve performance of IN operators when the RHS of
...
the IN operator is a subquery.
FossilOrigin-Name: 1933496539c19cbf429a39d6b0b1c6b1b2af50733a3c4aea4920990ced652f6a
2024-07-03 17:51:48 +00:00
drh
8960c02b91
Reword the deliberate_fall_through macro along the lines suggested by
...
[forum:/forumpost/7ec11023dd|forum post 7ec11023dd] so that it works better
with LLVM, while preserving compatibility with MSVC and older GCCs.
FossilOrigin-Name: fc248a4a0a232a95a79e24e57faedb5d824c3bf0aa62054b72339257dc9c18b3
2024-07-02 12:16:29 +00:00
drh
2143714d9f
In the CLI, if the XDG_CONFIG_HOME environment variable is not set, then also
...
search in ~/.config/sqlite3/sqliterc for the initialization file.
See [forum:/forumpost/5cc6d059e9e092ed|forum thread 5cc6d059e9e092ed].
FossilOrigin-Name: 33841c9c3cb57beeb3884d4b0715d26199926b7d3e4d3dd1ab6f5603b5a62591
2024-07-02 11:30:10 +00:00
drh
6adbdac676
Add a NEVER() around a branch in sqlite3ExprAffinity() that is designed to
...
prevent an infinite loop, but which can now never be reached due to recent
changes.
FossilOrigin-Name: da0b794852f8ccba5bd30395892044ec71b148075608406867785395e1f50b31
2024-06-29 12:22:32 +00:00
drh
f13e2d22fe
Additional steps to make sure calls to sqlite3ExprToRegister() are sane.
...
FossilOrigin-Name: 1c42d7176b228791f99bc9971d92a9ab67b1e2956ca4f8d934bd1a3e596d6c80
2024-06-28 18:07:10 +00:00
drh
076bd5758b
Do not convert an expression node that is already TK_REGISTER into a
...
new TK_REGISTER. This is a follow-up to [663f5dd32d9db832] that fixes a
bug discovered by dbsqlfuzz.
FossilOrigin-Name: fcb669cfaa8a59ca710504d5aaa1936f65a6da8ff13473ad84458f97a6fd1f49
2024-06-28 17:14:00 +00:00
dan
1d8cde9d56
Enhance the output of ".scanstats vm" to include the absolute number of ticks for each VM instruction, instead of just the percentage of the total.
...
FossilOrigin-Name: 1535828335d2b0eccebae952ed2bc70cc0cd893bd4b079d26b80deff9b5f752b
2024-06-24 14:53:14 +00:00
stephan
e9540e2881
Internal doc typo fixes, as reported in the forum. No code changes.
...
FossilOrigin-Name: ea16b286b4344c1833ca3d17b6d315fb4ddcb99bcc232ff6444debeb634881f2
2024-06-18 09:58:39 +00:00
drh
9175b18226
Do not omit the ORDER BY clause from a recursive CTE just because the
...
query that contains the CTE also contains an ORDER BY clause. Plus
other changes imported from the recursive-cte-orderby-fix branch.
FossilOrigin-Name: 13242289c5d412b706f50fc7e1553032ea3a52d41a3e34e155432adaf0551481
2024-06-14 23:13:54 +00:00
dan
718c5ff551
Fix a problem with rolling back hot journals using the unix-dotfile VFS.
...
FossilOrigin-Name: a44703135e8dd3cc67e548e1aa3c42e71df127fb7b593ccfc06025ec42a501fd
2024-06-12 15:50:35 +00:00
stephan
6975fc56f7
Slight API doc tweak for xCheckReservedLock(), based on forum feedback. No code changes.
...
FossilOrigin-Name: 2af7a96f6868a4529d689702926b350a4c00082f14da0ded5a8eaea295682d17
2024-06-12 11:39:29 +00:00
dan
41caf1cdfa
Handle the case where unix-dotfile is used with URI parameter nolock=1.
...
FossilOrigin-Name: 3925a5b904e159d54455cfc73fe837a9c6ea3a6d60da63afde3242b4d6f67c90
2024-06-11 20:28:56 +00:00
dan
f6ec2b5946
Fix a problem with rolling back hot journals using the unix-dotfile VFS.
...
FossilOrigin-Name: 4ae3300b79e03381fd7f1033bb7978bb6367369790f17c3bdacac51e205edaf9
2024-06-11 20:03:32 +00:00
stephan
cf2710e0b6
When compiling shell.c in SQLITE_SHELL_FIDDLE mode, ensure that the shell_main_exit goto label is reachable.
...
FossilOrigin-Name: 06e6f64533563ab9c059b773e5f0d78085df716f2624e547b7259f6789c3ffe0
2024-06-11 17:04:02 +00:00
drh
941602ae4f
Change constant expressions to pre-computed constants, because apparently
...
MSVC on ARM requires that.
[forum:/forumpost/4feb1685cced0a8e|Forum thread 4feb1685cced0a8e].
FossilOrigin-Name: 6c103aee6f146869a3e0c48694592f2e4c6b57ecdb4450f46e762c38b4e686f1
2024-06-11 14:36:56 +00:00
drh
34e4c6f732
Improved header comment on the sqlite3FpDecode() implementation.
...
For the fpdecode() SQL function (available in debug builds only) limit
the value of the third parameter (mxRound) to be positive.
FossilOrigin-Name: 56af06fa12104a1fe119d7087746011183af053834eac72d0fb69f60d98054c6
2024-06-10 12:43:03 +00:00
drh
2fbb3fb532
Disable the omit-noop-join optimization when there are 64 or more terms in
...
the ORDER BY clause.
FossilOrigin-Name: 40de3939792e17df25598b3e60d1cebcecde2b00832acd55604f14b21398a9a7
2024-06-09 17:34:03 +00:00
drh
4703b7d092
Better optimize queries that use parameters in the LIMIT clause.
...
FossilOrigin-Name: e58cb304d1e0ec6e30260a165aaccc2cf096ce6c999efb06683c4ef600ee12ef
2024-06-06 15:03:16 +00:00
stephan
404ddadbd4
Re-enable [dcc2bb2c562e97e090174], as [296eeb26c816bc73] corrects the wasi-sdk build problem the former check-in triggered. Reported in [forum:143e40d7f4e79c66|forum post 143e40d7f4e79c66].
...
FossilOrigin-Name: f66608bd356efe492d1003663c2e1ccd7cfbf2d40393d256f8720149904ad2d5
2024-06-06 12:22:19 +00:00
drh
fd6beda14b
Adjust the parser so that the value of TK_ISNOT is similar to the value of
...
TK_IS. This helps the compiler generate faster switch() statements on the
Expr.op fields when there are cases for TK_ISNOT and other common operators.
FossilOrigin-Name: 34f05c3d89b2dd15e4b0d1ba292df7de3dfc54b505c0ba145cc3db52cf020845
2024-06-06 01:21:57 +00:00
drh
48f5e52728
Small performance optimization in the operatorMask routine of the WHERE
...
clause analysis logic.
FossilOrigin-Name: 9d69fc1c87ae673356869ecd89eb19734fd126702c0f9fe595336ecd7be89e08
2024-06-06 01:00:50 +00:00
drh
b458cbb601
Small performance optimization in the allowedOp() routine of the WHERE
...
clause analysis code.
FossilOrigin-Name: 4ba8be544711e07748e8dd3ca6b81f9897906061c0a1a1bb4fb3808dc27f734b
2024-06-06 00:49:36 +00:00
drh
0de7da1998
Small performance optimization in the codeEqualityTerm() routine of the
...
code generator.
FossilOrigin-Name: 8080c6eafd1280ea870a6ab1ba715ac5af67387e69771be6cbd46dda77c3eaa8
2024-06-05 20:41:36 +00:00
dan
e3eefe00dd
Fix a very obscure issue where the name resolver could get confused if aliases like "sqlite_schema" or "sqlite_master" were used in a query involving the sqlite_temp_schema table.
...
FossilOrigin-Name: a096eb7554952f8137c6e9330c328164719fb27e958787fbd503bcd1364e6ae4
2024-06-05 11:36:58 +00:00
dan
7d24afa0de
Better handle WHERE terms that are common to two or more OR branches when planning virtual table queries.
...
FossilOrigin-Name: 1976c3f7e1fe77cf3367710e8ada230a3672ed374e316425164e42b2622526c7
2024-06-04 17:26:15 +00:00
dan
077f9b14f1
Fix a couple of memory leaks in the shell tool code that could occur when processing errors.
...
FossilOrigin-Name: e84f09d469ee76a5b5e44baf6a69b90c69d4160fa4c32de04a96f868643acd96
2024-06-04 15:07:38 +00:00
dan
c5a0ed7b43
Allow shell command "testctrl pending_byte" to be used in unsafe-testing mode only.
...
FossilOrigin-Name: afa45c4f5afc9248ca4a1e775404a460280bb9a58a92eae508ae00fb2f675dc6
2024-06-04 14:32:31 +00:00
drh
8741ca0819
Address a corner-case associated with the call-function-once optimization
...
of check-in [663f5dd32d9db832] that was causing a (harmless) use of an
uninitialized bytecode register.
dbsqlfuzz 8a44f675401a8b1f68a43bf813c4f4f72ad8f0ea
FossilOrigin-Name: b37ac2d020873b78efa164036db4056406a67330679f850775da520cd8027cb9
2024-06-03 18:04:10 +00:00
drh
586b2b2a54
Omit an unused #define.
...
FossilOrigin-Name: 9c2de28a146e4cdfa4c05bf8dbd4ebb1156c71104001edf68e6dd5db21deb91f
2024-06-03 12:36:43 +00:00
stephan
e1b55a5af9
Modify three #if checks in os_unix.c to improve handling of SQLITE_OMIT_WAL on WASI builds. Based on the discussion in/around [forum:57e918431735128a|forum post 57e918431735128a].
...
FossilOrigin-Name: 296eeb26c816bc734530cf446922f25be970b901c884df1a98083502f0d1e9f5
2024-06-03 07:22:28 +00:00
drh
0507e6e388
Be more aggressive about freeing memory associated with the
...
sqlite3_index_info.idxStr field.
FossilOrigin-Name: 85dcd0a8479a658203833cfd75f22813faa26d4793ebfbb8843035d683bee105
2024-06-02 10:52:35 +00:00
dan
af35432400
Further tests for OR constraints on virtual tables.
...
FossilOrigin-Name: ff4a30056f8dbcbd045afdbee485f6671c3580b95187144aa9a77c97dfda2647
2024-05-31 20:32:10 +00:00
dan
cadfdd4e09
Better handle WHERE terms that are common to two or more OR branches when planning virtual table queries.
...
FossilOrigin-Name: 4edd9b29f58621335b8a562280c991c34804bbba090f90c951261d043cff1965
2024-05-31 19:26:22 +00:00
drh
5ef9c89977
Do not even try star-schema detection if the join has fewer than 5 tables,
...
since 5 is the minimum for a positive detection.
FossilOrigin-Name: a07ec16bbc056fbc23a7bd58e5e32ef691c13e9babeb542918cf9a01cac40c20
2024-05-31 15:39:00 +00:00
drh
d72ca8f810
Document the OP_Explain opcode. Add the WhereLoop.rRun value as P3 in
...
OP_Explain opcodes associated with WhereLoops, for testing purposes.
FossilOrigin-Name: 996c46e61d9a53a54018672dd407b8ba8c480dd6795393428f9d5fcb81b47ab5
2024-05-31 14:39:42 +00:00