drh
403869680b
Sometimes it makes sense to do a full table scan rather than try to use
...
an index when most of the rows will be selected. This branch is trying to
tune the query planner to make that happen more often.
FossilOrigin-Name: 0f42099ad65855c94af8472f3a6fddac7fc2a82e8fdfcc06a298eb6683a28688
2020-10-22 15:47:48 +00:00
drh
f1ea425560
DISTINCT may not be ignored inside a UNION ALL common table expression.
...
Fix for ticket [c51489c3b8f919c5]
FossilOrigin-Name: 7d2b590d3abd66a7e6ae9046198eb669e0fd2f223f7691281e9ad795a12b8903
2020-09-17 00:46:09 +00:00
drh
92e21ef079
Include the original text of the CHECK constraint in the error message for
...
anonymous CHECK constraints.
FossilOrigin-Name: 5ce34a955bb36d77edc9951cb7ac2ef9c876d7d3ff5852af682f558e248f428c
2020-08-27 18:36:30 +00:00
drh
46fe138d98
Do not skip over TK_IF_NULL_ROW operators when bypassing TK_COLLATE operators.
...
Fix to check-in [ac31edd3eeafcef4] which was itself a fix for ticket
[45f4bf4eb4ffd788].
FossilOrigin-Name: 871f2ddcfbb9196dbd851a350e3471ee6d242d86bbd755201f7e2406fce3ac55
2020-08-19 23:32:06 +00:00
drh
68c0c71065
For UPDATE and DELETE, use OP_DeferredSeek always. If the seek must later
...
be resolved, add the OP_FinishSeek opcode after all WHERE clause terms have
been processed. This obviates the need for the WHERE_SEEK_TABLE and
WHERE_SEEK_UNIQ_TABLE flags to sqlite3WhereBegin() and the ensuing
complication, and it allows the covering index optimization to be used
further into WHERE clause processing.
FossilOrigin-Name: a495f60d315e34b1a1bc5fb1336e05047add52c8fb2710b577c97b10a5e734f6
2020-08-14 20:04:26 +00:00
drh
24c22753fc
Remove an unused #define from sqliteInt.h.
...
FossilOrigin-Name: d5b254f94c1ce6f0f26024d0b9c80e610f7cc891360bc4c2cb116e9eda2874b3
2020-08-11 16:46:21 +00:00
drh
47eb561c40
Simplify #ifdefs associated with Parse.eParseMode. Fix an #ifdef error
...
associated with SQLITE_OMIT_AUTOVACUUM.
FossilOrigin-Name: 5bbd4bddd3b9fa64d134ed62bce3eb4a09456bf24dec2474b5d764a3a3775964
2020-08-10 21:01:32 +00:00
drh
08b9208660
Fix harmless compiler warnings that surface in newer versions of GCC.
...
FossilOrigin-Name: 9d670a318381f219b467653f5f9539097808b887ae37291ce13be462dedfb18d
2020-08-10 14:18:00 +00:00
dan
a6c13b22b2
Change the name of sqlite3SelectTrace to sqlite3_unsupported_selecttrace.
...
FossilOrigin-Name: 5ecd03a27b81637ec92af654451a8fff46f1768ddb7c7a443d2a4a933b4475c1
2020-08-08 17:02:39 +00:00
drh
3b3ddbae36
When parsing the schema, detect out-of-bounds rootpage values and throw an
...
error.
FossilOrigin-Name: 6c3a2727dc912ed800146e07db5d15d0f3468d13701165ba763c4b114c3e18e8
2020-07-22 18:03:56 +00:00
drh
abc3815860
Continuing work toward supporting unsigned 32-bit page numbers.
...
FossilOrigin-Name: 9ce1710aad43cebe5ad50859c7685fb83e40cdd4a60913bd2b7e659bc59942fd
2020-07-22 13:38:04 +00:00
drh
a7982eacd5
Merge fixes from trunk.
...
FossilOrigin-Name: d2aac001204621062e6cb3230ce2ac1b4545cb83b3ebb6bfebccee4d51162e97
2020-07-22 10:36:49 +00:00
drh
82b0f106ce
Add the sqlite3Int64ToText() routine and use it to convert integers to text,
...
as it is much faster than the generic text formatter.
FossilOrigin-Name: 14eed318aa9e6e16d1aa13a9f34e3822aa135c39ba06c77df7743509fed6c95e
2020-07-21 18:25:19 +00:00
drh
e9261dbd53
Initial changes to allow database up to 281TB in size.
...
FossilOrigin-Name: 9cb7da9bdb666ea40771513b89591dca275f1e92092b39190df747e3797178a3
2020-07-20 12:47:32 +00:00
dan
07ca7d610b
Make it an error to repeat the target object/alias of an UPDATE statement in its FROM clause.
...
FossilOrigin-Name: d90a37e930c66afe95165955ae47efde08f52c8ce16c4fb239da0233335db050
2020-07-17 16:31:37 +00:00
dan
243210b79b
Fix a problem in SQLITE_ENABLE_HIDDEN_COLUMN builds occuring when an UPDATE...FROM fired an INSTEAD OF trigger.
...
FossilOrigin-Name: 5176cb7a6a4e8cfa1973aaae46fcd7d39baedb70ae20bfacc82d62ca39fb0aa3
2020-07-15 15:32:59 +00:00
dan
e7877b2d6b
Support UPDATE...FROM statements in trigger programs.
...
FossilOrigin-Name: 4f6d8d0ebf40029218a1d3b05ea657c0c5953b01c6f0b6a628465aa44c67e7f3
2020-07-14 19:51:01 +00:00
dan
a7f82d9f47
Merge latest trunk changes with this branch.
...
FossilOrigin-Name: 5ee3c27e20d12a126fb773b428bb864102b949a5b26a8d5c523753dcedf4be10
2020-07-13 18:04:27 +00:00
drh
6af305de1e
Remove unnecessary code from the window functions implementation.
...
FossilOrigin-Name: 1e87da9c93309d1d69b1e0ab65c615b9ff9c1c6813ad0c7b90d2495be4ba0adc
2020-07-10 21:43:53 +00:00
drh
d1d89140c0
Increase the resolution of the vdbe opcode counters to 64 bits, as
...
apparently some users run single prepared statements that go for
longer than 4 billion instructions. See forum post
"[https://sqlite.org/forum/forumpost/d07949dc94 |Possible freeze in the progress loop]"
FossilOrigin-Name: 612eb590ea44fd402e630f2d62558beb7ce57d7d0ba113c8b72ea60a895c5a43
2020-07-06 12:13:05 +00:00
drh
ccb2113a62
Refactoring various names. No changes in the resulting machine code.
...
FossilOrigin-Name: 7bb08b1bfcf184e4b59c8c9028926a0052612ff6a6731914ccdb8dee07ea4a98
2020-06-19 11:34:57 +00:00
drh
346a70ca1e
Provide "sqlite_schema" as an alternative name to the table that holds the
...
database schema.
FossilOrigin-Name: 61782a7ae3c25cf59d7a676cb295eb024d17c46e532ae78c6fe871a91d712fa9
2020-06-15 20:27:35 +00:00
drh
b7cbf5c1b2
Fix a defect in the query-flattener optimization identified by
...
ticket [8f157e8010b22af0].
FossilOrigin-Name: 10fa79d00f8091e5748c245f4cae5b5f499a5f8db20da741c130e05a21ede443
2020-06-15 13:51:34 +00:00
drh
9216de8a23
Provide the ability to use the SELECTTRACE() debugging macro outside of the
...
select.c source file. Use this to add a new SELECTTRACE() entry in
window.c for improved tracing of window-function parse-tree rewriting.
FossilOrigin-Name: 30c6d895b573d5f2a53487b3b7a0d20be7e382c7a0bc87336bd43fbd2fa89bf4
2020-06-11 00:57:09 +00:00
drh
81185a5138
Give the expression pointer fields of AggInfo distinctive names in order to
...
simplify tracking of all their uses.
FossilOrigin-Name: a53bdd311c4154fd5e1131efbb9665362f79db5a35ce9f7b1547f74b8ee2d8ba
2020-06-09 13:38:12 +00:00
drh
e26d428a59
Improved tree-view debugging output for aggregate functions.
...
FossilOrigin-Name: b5711b4eead10ef4b0b61f2e2c54768d215a4105f6d47d2ea78991b6e53a6831
2020-06-09 11:59:15 +00:00
drh
bf7909734a
AggInfo objects might be referenced even after the sqlite3Select() function
...
that created them has exited. So AggInfo cannot be a stack variable. And it
must not be freed until the Parse object is destroyed.
FossilOrigin-Name: 3c840b4df306e2db1da08673e9ede973b4cb6d2b3f9eeeab5835e39452ee3056
2020-06-07 20:18:07 +00:00
drh
896366282d
Alternative fix to ticket [c8d3b9f0a750a529]: Prior to deleting or modifying
...
an Expr not that is referenced by an AggInfo, modify the AggInfo to get its
own copy of the original Expr.
FossilOrigin-Name: 7682d8a768fbccfe0cc956e9f6481637146e1ab9763b248ff11052761ce32e32
2020-06-07 17:33:18 +00:00
dan
b55389412f
Use __has_extension(c_atomic) instead of __has_feature(c_atomic) to detect support for atomic load and store operations with clang.
...
FossilOrigin-Name: 362255791f8801e0d9869e36239b8b2cb29c38bf0b86894bd2d159ce46d8447e
2020-06-04 16:34:49 +00:00
drh
e40cc16b47
Move some utility Walker callbacks into the walker.c source file, as they
...
seem to belong there better.
FossilOrigin-Name: dac438236f7c5419d4e7e094e8b3f19f83cd3b1a18bc8acb14aee90d4514fa3c
2020-05-24 03:01:36 +00:00
drh
16dc07f756
Minor fix to a comment. No code changes.
...
FossilOrigin-Name: efdbb2b499bda8ffcfe54f5d6ece08a2c58fe7a490d9550785d806bd404abb8c
2020-05-24 00:30:38 +00:00
drh
3d863b5e4e
Do not allow a virtual table to be renamed into the name of one of its
...
shadows.
FossilOrigin-Name: eca0ba2cf4c0fdf757bae19c6397a48245adb99e8017ddc28f01804072a30b2c
2020-05-14 21:16:52 +00:00
drh
3c0e606bba
Implement the IIF(x,y,z) SQL function that is short-hand for
...
"CASE WHEN x THEN y ELSE z END". For compatibility with SQL Server.
FossilOrigin-Name: fce173cd211b15867369b6a54fad48168352fc83981a722ce98e57299b88608a
2020-05-13 18:03:34 +00:00
drh
ffe421c76a
Remove unused constant SQLITE_FUNC_COALESCE.
...
FossilOrigin-Name: a116b20f863e9732cd08fbfbb1aa48204a17d611c9c1edde85dcf59310bde782
2020-05-13 17:26:38 +00:00
drh
783e159e48
Fix harmless compiler warnings.
...
FossilOrigin-Name: 92dc59132f8547635d73c61c21ea29b380c401ddc84a6d01412808e00386b9e8
2020-05-06 20:55:38 +00:00
dan
8714de97c0
Changes to avoid deadlock in SQLITE_ENABLE_SETLK_TIMEOUT builds.
...
FossilOrigin-Name: 553423c23142cf0ec219192315d57ce8a0e10c3d8678d28bc110a1a9a7c17cee
2020-05-04 19:42:35 +00:00
dan
f2972b6083
Fix problems with using LIMIT and FROM clauses as part of single UPDATE statement.
...
FossilOrigin-Name: b717dc3c5fafb9b86a141e7ecffc030fd9b36aa57a0b3e5200d64ad23a0aa13d
2020-04-29 20:11:01 +00:00
dan
9ed322d6c3
Fix various bugs in new feature on this branch.
...
FossilOrigin-Name: 823ba94e29dece1687e28711e503a1f56d392c306b0cbc0a20548180834530d1
2020-04-29 17:41:29 +00:00
dan
69887c99d4
Allow a FROM clause in UPDATE statements.
...
FossilOrigin-Name: f353a1a613bb7ad8cedcda377a7fe6fd05ee03b1f50665b00b84a868a71c5bec
2020-04-27 20:55:33 +00:00
drh
ad996da0f6
Merge trunk enhancements into the approximate-analyze branch.
...
FossilOrigin-Name: 17901ea6a1951b8c55671408841901c6660e3f8099378204f080b171a684d718
2020-04-09 15:01:09 +00:00
drh
d44390c8c5
Performance improvement for column name lookup.
...
FossilOrigin-Name: 1e4b6a93987cdfbf829e2ff35ef417c290625f2894ad11949e301af518f1fb44
2020-04-06 18:16:31 +00:00
drh
49a76a8fe5
Add "PRAGMA analysis_limit=N;" to limit the number of rows visited by
...
ANALYZE when N is positive. Positive N also disables collecting stat4.
FossilOrigin-Name: a279b151c1623807774daf4975175c62ea252eefb71f9820ced6773769b392c5
2020-03-31 20:57:06 +00:00
dan
892edb69c4
Use __atomic_load_n() and __atomic_store_n() for a few more things where they are available.
...
FossilOrigin-Name: a49f8ec552bede7da731e0571ccf49de1a30e7be3a5673150436c8b411ba6ffc
2020-03-30 13:35:05 +00:00
drh
74a07986ce
Fix to the recomputation of the colUsed field added by check-in
...
[a9bb71ba708ba722]. This fixes ticket [5829597ac43811e3].
FossilOrigin-Name: 5d14a1c4f2fc17de98ad685ad1422cdfda89dfccb00afcaf32ee416b6f84f525
2020-03-21 23:10:38 +00:00
dan
31f170f396
Ensure that "main" can always be used to refer to the main database, even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME.
...
FossilOrigin-Name: 682b426f5658254e63dff02c960b557fb33cb3e944fdd14faa0aa9988af7269a
2020-03-21 15:41:55 +00:00
dan
465c2b8964
Consolidate some code on this branch.
...
FossilOrigin-Name: a85c63daa640e02fdfd891a05a1a09e848c9621a5dd6e112338451008623ecbb
2020-03-21 15:10:40 +00:00
drh
2aee514b4c
Recompute the set of columns used for each table when the table is
...
involved in query flattening.
FossilOrigin-Name: a9bb71ba708ba72255ba8d18c9856e38ddf53eae2d61c8435149354fb2b2459e
2020-03-21 00:05:53 +00:00
drh
9b258c54e4
Rename sqlite3ExprCodeAtInit() to sqlite3ExprCodeRunJustOnce().
...
Other changes to make the new code cleaner. Test cases added.
FossilOrigin-Name: d7f18489978fdbbe3ab317485518cac91a75416ccef55898301afdd76d3b415b
2020-03-11 19:41:49 +00:00
drh
e7375bfa72
Enhanced detection logic for preventing the use of static schema expressions
...
by code generating routines.
FossilOrigin-Name: 5f60b527b938c0778e8f725c635ce0dc5ed7a4e01fd6252aa2cdb64da2f625bc
2020-03-10 19:24:38 +00:00
dan
0ea2d42ac3
Report an error if the main, or any other, database encoding is modified by an external process (perhaps using the backup API) after the db has been opened.
...
FossilOrigin-Name: 895bd20b29e223496e1585483c6ce3335ae9050f2e5de4d6b69d0e40df396862
2020-03-05 18:04:09 +00:00