dan
5ad03a486e
Merge further changes from trunk, including fix to dbdata.c.
...
FossilOrigin-Name: bcf6b48d52c1ce656899f50bd508c0920cae8cf2ef3c0758a7633981f0f0f484
2022-10-26 18:22:22 +00:00
drh
705d7be62d
Remove the sqlite3StdTypeMap global constant that was made
...
obsolete by [aa6e908619624867].
FossilOrigin-Name: 3dfdfb3f12edb3f4267942598efd05d573e13b7c5d6cdbc3404373f41b8993dd
2022-10-26 11:11:31 +00:00
drh
42dddb97de
Enhance the sqlite3_strglob() and sqlite3_strlike() interfaces so that they
...
will do sensible things with NULL string pointers. This is an extra layer
of defense against bugs such as reported by
[forum:/forumpost/730b554179|forum post 730b554179].
FossilOrigin-Name: 8ba9c884bded52e3e044ff39c826c04838e7c31f05d802f4a14d9ce5a01ab721
2022-10-25 13:44:18 +00:00
drh
d5ca2c4b3d
Make the ".dump" command of the CLI more robust against malformed databases.
...
See [forum:/forumpost/730b554179|forum post 730b554179].
FossilOrigin-Name: 0573edfb9e0b1fd51e8da20592c71b02040968c33fdec41c31a6b1b7d3e83262
2022-10-25 13:42:10 +00:00
dan
5f726694eb
Merge latest trunk changes with this branch.
...
FossilOrigin-Name: 757e3f585959f4f113fee48fe3d504f037604c53a95c8d47ce5c2bccfb2af8ff
2022-10-25 11:05:31 +00:00
drh
7704a535d0
Fix typo in comment.
...
FossilOrigin-Name: f65c95658fe4d30817da8de7eb88e823ea1cd8be40e347d626870bad3cc13359
2022-10-24 18:42:45 +00:00
drh
99a37ca779
Add a comment to a previously undescribed member of the Walker union.
...
FossilOrigin-Name: 69d704224e9ed022fcec591beff2ffcc4daf3e7fc586debfdcf00b25c1fddd87
2022-10-24 18:33:50 +00:00
dan
80b30f995e
Use the same "PRAGMA synchronous" setting for the output of a "VACUUM INTO" as are configured for the database being vacuumed.
...
FossilOrigin-Name: 86cb21ca12581cae9a29f42ba707bd9d789e667e5ddc0f64b24940d5d5c9a118
2022-10-24 15:51:24 +00:00
drh
4073706a47
Improve the ability of the query planner to recognize covering indexes even
...
on tables with more than 63 columns and where the index is over columns
beyond the 63rd column.
FossilOrigin-Name: f058773e41495ddbae698f9e9a4f62b7003112ea8614dfad69471340058735e4
2022-10-24 13:20:48 +00:00
drh
1f41a8c8a7
Fix built-in documentation for the ".mode qbox" command in the CLI.
...
FossilOrigin-Name: 3d7ea33be1076fd21681bdcff0c489646c017594b42b4a21a74e9e2d3947890b
2022-10-24 11:10:40 +00:00
drh
7d913e9aae
The wide-table covering index detection must take into account aggregate
...
queries.
FossilOrigin-Name: 9ac73f83c53b9fba10bb1b8bbfd1a8dc8a2dc4a655e811d5b96335dbf2b6fdac
2022-10-23 20:09:13 +00:00
drh
fb643592fe
More frequently send the complete SELECT statement into sqlite3WhereBegin()
...
so that it can more accurately determine index coverage.
FossilOrigin-Name: f6d09c5a0df940dbaa716df70df28218985b83540b34c468989729a3421ef38c
2022-10-22 23:09:29 +00:00
drh
54cc766b41
Enhance the query planner with the ability to discern when an index is
...
covering even when it indexes columns well beyond the 63rd column.
FossilOrigin-Name: 1390417be45dd84e9118f6e761f23b8ff7476d26411e165bbaab678881e4eadd
2022-10-22 20:13:46 +00:00
drh
f55a7dad19
This branch attempts to improve the detection of covering indexes. This
...
first check-in merely improves a parameter name to sqlite3WhereBegin() to
be more descriptive of what it contains, and ensures that a subroutine is
not inlines so that sqlite3WhereBegin() runs slightly faster.
FossilOrigin-Name: cadf5f6bb1ce0492ef858ada476288e8057afd3609caa18b09c818d3845d7244
2022-10-22 14:16:02 +00:00
drh
5723c659fd
Clarification on the meaning of SrcList and SrcItem and especially the
...
SrcItem.colUsed and Index.colNotIdxed fields. Comment changes only - no
changes to code.
FossilOrigin-Name: d96f6cc8475ae5509b8bff2db75e3c6f69a214d58d8979fbc0162ae488a040dc
2022-10-22 13:49:35 +00:00
stephan
3725af73b9
Add SQLITE_DQS to the compileoptions_used list, per request in [forum post 8b1060122b|forum:8b1060122b]. Force DQS=0 in sqlite3-wasm.c.
...
FossilOrigin-Name: fcd9e0dbe3226f3f7ccc15b11fc3aa3b8058571bef274c25a33e9753e22f7551
2022-10-21 17:48:49 +00:00
stephan
89ccfac0ac
Macro name typo fix in OS_KV builds.
...
FossilOrigin-Name: 9cf1142b0cdb13347e3f551c862cb4714cadfe5ad637f049cf0a4b8bb6125b32
2022-10-21 17:37:05 +00:00
drh
c046f6d4d9
Add a bit to the optimization disabling mask for the indexed expression
...
optimization.
FossilOrigin-Name: 56df1482ab45d4d41f937b27c5a877b52fa082bfc6809ea682b62b47a51333de
2022-10-20 16:30:05 +00:00
drh
e180564028
Only enable the bMaybeNullRow flag on IndexedExpr for an index on an
...
expression, not on a virtual column. But do enable it for the right operand
of a right join.
FossilOrigin-Name: a9657c87c53c19228a42559c82c54b504a5ad729e407e9e2c7dabcc0c949b261
2022-10-20 16:12:02 +00:00
drh
63b3a64ca6
The generalized indexed expression optimization of [2435112867fbd7b6] makes
...
the prior [a47efb7c8520a011] enhancement from 2017 obsolete. This check-in
removes the older optimization.
FossilOrigin-Name: 56442c9bdd7844454c79acf83323380ea3509cb2e0b9a3d538a6b51726ae6d07
2022-10-20 13:36:32 +00:00
dan
9b6a28330b
Fix minor problems in test1.c test code.
...
FossilOrigin-Name: 6e545e2b846795fc67f8a90c04de284861a8a429ac686a7476b41c8ed7aabf75
2022-10-20 10:46:17 +00:00
stephan
842c5ee849
Rework sqlite3_wasm_vfs_unlink(), add sqlite3_wasm_db_vfs(), update some docs.
...
FossilOrigin-Name: cdd46858f0e63bc7bfce8e339b3db9efdec43b6443ee76563a847f53d0176831
2022-10-20 05:14:37 +00:00
drh
bf70f1bd1a
In the CLI, never use strcmp() or strncmp() directly. Instead use
...
wrapper functions cli_strcmp() and cli_strncmp() that work correctly even
if the input is a NULL pointer.
[forum:/forumpost/142b868da7560d0b|Forum post 142b868da7560d0b].
FossilOrigin-Name: 7450a561f8577c3ee41f84074c6ef39e29e56876cab4fd763e6489c66f603223
2022-10-19 18:04:42 +00:00
dan
361fb98b5d
Move file /ext/misc/dbdata.c to the /ext/recover/ directory.
...
FossilOrigin-Name: f6d5ac807efcf6140016a8b8f0c74566c0bfc98ad92bd8fca03c5cc80ebf3dec
2022-10-19 18:03:39 +00:00
drh
3b88065d35
Fix references to "SrcList_item" in comments as that object has since
...
[bfd5bf2c73110fcb] (2021-02-21) been called "SrcItem". Comment changes
only. No changes to code.
FossilOrigin-Name: e3648a07f5607dbd4d6ad5b6e5a62a4a1d0b173d3f22aa36c74b768281fc86d8
2022-10-19 11:58:24 +00:00
drh
72ab366192
If a virtual column whose value is constant gets indexed, do not include
...
that column in the IndexedExpr list.
dbsqlfuzz 59ac17a99b9a5c4930ee71cc153c9428a0c0e794
FossilOrigin-Name: c21eb903f06a16d4fafa5f895be08414fa58e6a91c148030aec8676b40c2d66d
2022-10-18 22:37:07 +00:00
drh
7a2a8cee5a
Improved byte-code comments for the OP_Column opcodes used by the
...
indexed expression optimization.
FossilOrigin-Name: bf6d837fddbf74d5b3f40ad01ea4564edfac00b651d6f3f0e996cc5dc18bb06c
2022-10-18 20:27:02 +00:00
drh
a331cf7e57
Fix the indexed expression resolver for generated columns so that it picks
...
the correct table in a self-join.
FossilOrigin-Name: 54c3eb085aca92da2b819f3532ee4750b377265f7e1e914600ea3c3d535efe51
2022-10-18 16:47:41 +00:00
drh
9489e0a5d7
Merge recent trunk fixes into the index-expr-opt branch.
...
FossilOrigin-Name: 6198ab4b871c464448ae303072bde0a810cac566a516cc29b1bf806fbd0a6c7b
2022-10-18 16:32:22 +00:00
drh
0e522c068a
Correct sort order for serial-type 10 entries in the database file. This
...
is a continuation of [4fb77e96fa89a23a].
FossilOrigin-Name: 904b54625d985e742888e06ba792cab316b9ec9d6669d9cf509bac48030373ca
2022-10-18 13:27:31 +00:00
drh
451393c4f4
Merge trunk fixes into the index-expr-opt branch.
...
FossilOrigin-Name: c7b9cc645b394a1b638a9a13ca83d321215aaa78d69ca70c6baa0ee692ed21bf
2022-10-18 11:28:33 +00:00
drh
43fce6bb0d
Fix sqlite3VdbeRecordCompareWithSkip() so that it sorts the internal-use
...
serial-type of 10 together with NULLs.
dbsqlfuzz 5ff35e9d49a5fcca5051e23960ff2f483a538bab
FossilOrigin-Name: 4fb77e96fa89a23a9365320c4190834edd6c09cfaf1ca30b34ce19b747ebbec0
2022-10-18 10:27:06 +00:00
drh
79b99b09fa
Merge trunk changes into the index-expr-opt branch.
...
FossilOrigin-Name: a1485ce6c8374135290eb0a1e4eb4e225497ad7096847a4e2377c9c054946ca7
2022-10-17 16:31:55 +00:00
drh
8be8924901
Fix a potential call to strlen() with a null argument in the command-line shell
...
following an OOM error. [forum:/forumpost/9c4f2ebe22|forum post 9c4f2ebe22].
FossilOrigin-Name: b6413a6dff8ac9b7088b1381afbbbf799e376455d11786530cc5fc825747ab53
2022-10-17 16:09:33 +00:00
drh
e70d458340
Improved comments and function names. No logic changes.
...
FossilOrigin-Name: 8f460b3b15bf4b88a224907d2f83e4ed6bf84d6b3f480008a1b187ea49c6ce1d
2022-10-17 14:46:39 +00:00
drh
08535840c6
Get the indexed expression optimization working for virtual generated columns.
...
FossilOrigin-Name: 8a510cb0880349370ad19b0852f270ca072bff7871f0dc272964af31c32a7c37
2022-10-17 14:30:01 +00:00
drh
543c368958
Merge trunk enhancements into index-expr-opt branch.
...
FossilOrigin-Name: 56ef97e64efb84176df570819474901d492209ff80ce4355ff896dea9d2b8a51
2022-10-17 14:29:04 +00:00
drh
ce4b0fdf8a
Make use of alloca() in wherePathSolver() when SQLITE_USE_ALLOCA is defined.
...
FossilOrigin-Name: 45752471521f8d4a6cad4bce40f907018acd403ffd3b8170020c34e4e0b6b91b
2022-10-17 10:15:41 +00:00
drh
135c9ff6f7
Remove a use of alloca() that does more harm than good.
...
FossilOrigin-Name: 2ab3cf4d71b23a4c0b69f977828d82df7bbc080c29ae189e0d78d38efee50c96
2022-10-17 09:56:51 +00:00
dan
9dffd36c5d
Merge latest trunk changes.
...
FossilOrigin-Name: 42255ead8e44b24a8abc04aca49f170c55f3b52f42366a0d8ef248ee65fcc7ce
2022-10-15 15:39:46 +00:00
drh
f3adb7c430
Enable the index-on-expression optimization even when the expression is
...
used as an argument to an aggregate function.
FossilOrigin-Name: 462b3c7f39724dc814f55e7a225e7d0c48f81c524cdda797a66e9e198c35ce58
2022-10-15 12:01:40 +00:00
drh
7a98937db2
Only extract an expression from an index when the index is not a null row
...
in an outer join.
FossilOrigin-Name: 08b033c737d1a84859291f50e2985c9dad8d660a50185d55d3171165a8e08d4c
2022-10-15 11:27:01 +00:00
drh
260ac72722
Merge fixes from trunk.
...
FossilOrigin-Name: 1cb65f36c3539302767f551ed53082f054666a7cb2696cef0990ab6747edbc52
2022-10-14 19:56:58 +00:00
dan
879164ed74
Fix a problem with using the push-down optimization on compound SELECTs where component SELECTs use different collation sequences. dbsqlfuzz 11516f050100243e5a845f5a2b48a90ed2efaf2e.
...
FossilOrigin-Name: ed14863dd72e35fa3a23320c3d5a8166515faea39a555c28a27b2d35e701eac4
2022-10-14 19:30:34 +00:00
drh
0388f17988
Add missing initializer from the extension loader. Fix for
...
check-in [d6d449978245b4fa].
FossilOrigin-Name: 565d74c36f2dd4612860c7ee561682c50db28cfa5384346528292019dbfdf86c
2022-10-14 19:21:12 +00:00
dan
2bc4a6cad0
Fix a problem in the LIKE and GLOB operators that may occur when the character immediately following a "%" or "*" wildcard is U+80. Reported by [forum:61bf7ccbdf].
...
FossilOrigin-Name: 2da677c45b643482eec39e4db7079c772760bc966dc71bf6c01658cc468f5823
2022-10-14 15:10:36 +00:00
drh
859434d049
Cancel IndexExpr objects when they go out of scope.
...
FossilOrigin-Name: 0963519371bb7ac02adb323430855760fb9b82a23745e47c504aaf393d22ac34
2022-10-14 02:00:54 +00:00
drh
4bc1cc1847
This experimental branch attempts to use columns for an index-on-expression
...
in place of the expression that is being indexed. This particular check-in
mostly works, but there are still issues.
FossilOrigin-Name: 2e8d4fd4cfd9e82f33c707ba246fe2bb3ca01762cf5ac5905058fbc7adf0abe7
2022-10-13 21:08:34 +00:00
drh
921acff927
Optimize the IS NULL and IS NOT NULL operators so that they avoid loading
...
large strings or blobs off of disk if all it needs to know is whether or
not the string or blob is NULL.
FossilOrigin-Name: cb94350185f555c333b628ee846c47bcc9df5f76bb82de569b8322f30dbbe1bc
2022-10-13 15:09:44 +00:00
drh
eddfa9840e
Improvements to the description of the OPFLAG_TYPEOFARG option to OP_Column.
...
FossilOrigin-Name: 5e9c67ba18b701aabbb0546acdfc532c9e8f0d27fb0a2c899415a5c47096c90b
2022-10-13 14:54:32 +00:00