aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
| * | Do not accept a string that looks like a number used as an argument todrh2024-05-02
| | | | | | | | | | | | | | | | | | PRAGMA integrity_check as a number. Treat it as a table name that just happens to look like a number. FossilOrigin-Name: b04e7a23478f1012e501a810f3e09cca81a66e802f5f72cae80c81120174e2cb
| * | Omit the OP_SqlExec to "PRAGMA integrity_check" added by [348fa7aaf7958b3f]drh2024-05-02
| |/ | | | | | | | | | | because it is a no-op. Even if the integrity_check failes, the CREATE TABLE is stull successful. The OP_SqlExec just burns CPU cycles for no reason. FossilOrigin-Name: 532795acd1c800751737fe70148f9ae691e9cf11b836577f8538421d24cab2fe
| * Avoid 32-bit overflow when calculating ncycle for ".scanstats vm".dan2024-04-30
| | | | | | FossilOrigin-Name: 2858efa06d4fc7b412b892f35f5e9a766b467b4a5b74d602a030d25443f9efb4
| * Fix issues in [/info/1e227ad9f413227f|LIMIT/OFFSET support for virtual tables].drh2024-04-26
| |\ | | | | | | | | | | | | | | | | | | | | | The first problem was reported by [forum:/forumpost/c243b8f856|forum post c243b8f856]. That report prompted an enhancement to the generate_series() (also included in this merge) which in turn identified other similar issues. FossilOrigin-Name: 5f6c079d847e3664ec5acaf1b3e989efe0d548c211ae4a18936162b36df89065
| | * Allow virtual table implementations to handle OFFSET but not LIMIT, but not ↵dan2024-04-26
| | | | | | | | | | | | | | | LIMIT but not OFFSET. FossilOrigin-Name: 90e5c8226a695e838e8c1703a9b8598e654d216799e8806c4d1a1f20c28c6486
| | * Have where.c ignore any plan from a virtual table that tries to use ↵dan2024-04-26
| | | | | | | | | | | | | | | LIMIT/OFFSET without also using all WHERE constraints. FossilOrigin-Name: 7d30596496c6a7a37b925f13d8d94d5de224ec31bb86594fa4cc07b10082e776
| | * Fix a problem allowing a LIMIT constraint to be passed to a virtual table in ↵dan2024-04-26
| | | | | | | | | | | | | | | cases where there exist WHERE terms that cannot also be passed. FossilOrigin-Name: 72c8ed9698dd2aadee7b84fd293e8306233f0fe5b5b5731687482444fdf461c7
| | * Fix handling of LIMIT and OFFSET in virtual tables that are part ofdrh2024-04-26
| | | | | | | | | | | | | | | a compound SELECT. FossilOrigin-Name: 40421c1c4ed5bb1ed79ad7ee37cb5a4f0b7864c1eb94abd8ee357ab2202cad30
| * | Fix the TreeView display of a LIMIT clause on a compound query. Debuggingdrh2024-04-26
| |/ | | | | | | | | code only - not part of production builds. FossilOrigin-Name: 38f1e5ce4eedd59fbeb0a0d676d26dfe8a3313189ab9b9e4a5a1ed6721b73a14
| * Further improvements to the computation of affinity for compound subqueries:drh2024-04-25
| | | | | | | | | | | | make sure that the selected affinity is compatible with a literal values in arms to the left of the arm that is used to determine affinity. FossilOrigin-Name: bbdf22e3d989f42b963f1f2f219dfeac11db786f17ac27097ab72f72e7638a2a
| * Back out the previous change on this branch. In its place: Determine thedrh2024-04-25
| | | | | | | | | | | | | | | | | | affinity of a subquery by the left-most arm of the subquery that has an affinity other than NONE. In other words, scan from left to right looking for an arm of the compound subquery with an affinity of BLOB, TEXT, INTEGER, or REAL and pick the first one found. Or stay with NONE if no arm has a defined affinity. Test cases added. FossilOrigin-Name: b8ec8511b1968bbc1472b3e2e21f0fef1d5becebeb31f9d13ee3ca9e13abb1e5
| * An experimental minor tweak to the way affinities are computed for compounddrh2024-04-24
| | | | | | | | | | subqueries, when the actual affinity is ambiguous. FossilOrigin-Name: 779723ad792ca24dd07b7a1425303c76b44bb173e718a33c26c9f7644e9912cb
| * If a RETURNING clause contains a subquery that references the table that isdrh2024-04-24
| | | | | | | | | | | | | | | | being updated in the statement that includes the RETURNING clause, then mark the subquery as correlated sot hat it is recomputed for each result and not just computed once and reused. See [forum:/forumpost/2c83569ce8945d39|forum post 2c83569ce8945d39]. FossilOrigin-Name: 9ea6bcc8fdf6aadb756ec5bcaaa7af314167f8973bdd32fd23f83bd964f0c21e
| * Fix a case where a corrupt stat4 record could go unrecognized due to integer ↵dan2024-04-24
| | | | | | | | | | overflow. FossilOrigin-Name: 240a4a48b27a2b1070bba6d7da76a8df8e3f1808e262045d7ad2cf910df08f3d
| * Add comments linking the assert() added in [cef4d9e3ba586735] to the placesdrh2024-04-24
| | | | | | | | | | where the precondition that the assert() tests are actually required. FossilOrigin-Name: 6f0e7e195275aeb4aefd9da20348af35e3ef7f0a6b2768a34824daeace16eff1
| * Avoid slowdown when exprNodeIsConstant() is called on deeply nested SQL ↵dan2024-04-24
| | | | | | | | | | functions. FossilOrigin-Name: 1c0b0345451853846076467831884f951c92ec79476be40ce7f7b766fd2d8fc1
| * Ensure that temporary SrcItem objects created by trigger processing havedrh2024-04-24
| | | | | | | | | | | | either SrcItem.zName or SrcItem.pSelect defined. Every SrcItem should have one or the other. FossilOrigin-Name: cef4d9e3ba586735598f03eb5e8f29072c9e6f62b0d34ddd2fb3ed1795f6e21c
| * Fix a problem with vector IN operators used with an index where the affinitiesdrh2024-04-23
| |\ | | | | | | | | | | | | and collations for the various vector terms are different. FossilOrigin-Name: 86e8c782e7494377de3c27b750cd83a7eb2302c1182ee2004d3864db50fca557
| | * Fix an uninitialized variable problem in the new code on this branch.dan2024-04-23
| | | | | | | | | FossilOrigin-Name: 85625b38718c6e4cf7aa97fa3c52153bd25c810b68f19e7924e1f4b709c6a05d
| | * Slight performance improvement for the new code on this branch.dan2024-04-20
| | | | | | | | | FossilOrigin-Name: 500c67f1341fe2a7e7333d525c90df201cc73a683b943ad5c1e41d4a4f639043
| | * Fix a problem where an expression like (a, b) IN (SELECT ...) might not use ↵dan2024-04-20
| | | | | | | | | | | | | | | an index on (a, b) if the affinities and collation sequences of "a" and "b" are not identical. FossilOrigin-Name: 4d870fd8b5450047a7486fc023d1ac9439642e8ed91eadfd5026c4cda7cc9179
| * | Extra robustness in the code that causes cursors to return NULL when theydrh2024-04-22
| | | | | | | | | | | | | | | are participating in an OUTER JOIN. FossilOrigin-Name: 672c2869ef48e08447d37b0d76a1850cdafbe30ca1906ec98c55e3ab496fd9a6
| * | Continuation of the fix at [8c0f69e0e4ae0a44]: If a viaCoroutine FROM clausedrh2024-04-22
| | | | | | | | | | | | | | | | | | | | | term is participating in a RIGHT or FULL JOIN, we have to create an always-NULL pseudo-cursor for that term when processing the RIGHT join. dbsqlfuzz 6fd1ff3a64bef4a6c092e8d757548e95698b0df5. FossilOrigin-Name: e1040e51ebd04f2a076f477b6f240f849afb10f543ebe518e09d6842cc3cb38e
| * | Fix an indentation problem in debugging routine sqlite3ShowSrcList(). Nodrh2024-04-21
| |/ | | | | | | | | changes to production code. FossilOrigin-Name: 5560df2726fed215c98d602c5f6ebbf3c5ae23f8ba1074291c509bf446fdfe66
| * Correct handling of OUTER JOIN when on or the other operand is a subquerydrh2024-04-18
| | | | | | | | | | | | implemented using the VALUES-as-coroutine optimization. dbsqlfuzz bde3bf80aedf25afa56e2997a0545a314765d3f8. FossilOrigin-Name: 8c0f69e0e4ae0a446838cc193bfd4395fd251f3c7659b35ac388e5a0a7650a66
| * The first assert() added in [0ebc65481f4a3e79] is not necessarily true in adrh2024-04-15
| | | | | | | | | | corrupt database file. So add a term to make it true. FossilOrigin-Name: 6b21cccdeec92db9f6ce3dd7ea5e61b8b46650cc1e550271aa51bdc619f55b11
| * Add assert() statements to help verify the overflow page cache.drh2024-04-12
| | | | | | FossilOrigin-Name: 0ebc65481f4a3e7974558adea51c620a025bc0e76c0a139e549b56c5abe0cabb
| * New assert() statements to verify the correctness of the BTCF_AtLast flagdrh2024-04-12
| | | | | | | | | | on btree cursors. FossilOrigin-Name: 4efecd6167de71500c90b63155eba1b8567c90e9d1e282fbea54130f9ee21813
| * Mark the BTree cell overflow cache as invalid whenever the rowid goes invalid.drh2024-04-12
| | | | | | FossilOrigin-Name: 74c9e19c92c887012aebbe96450f6ed7a60ba22d6e3edbaa39a0f989fb7f2901
| * Fix handling of the SQLITE_OMIT_WAL check in one place. Resolves ↵stephan2024-04-11
| | | | | | | | | | [forum:87cc13302de160eb|forum post 87cc13302de160eb]. FossilOrigin-Name: 5dae6e6df4921f42e45c6c8de40853ab63f53a4bd1d9088a8cdac957ce62f196
| * The read-only CHECK-constraint optimization of [34ddf02d3d21151b] inhibits thedrh2024-04-09
| | | | | | | | | | | | | | | | | | xfer optimization for tables with CHECK constraints. However, the xfer optimization is required for correct operation of VACUUM INTO on tables that contain generated columns. Fix this by ignoring CHECK constraints when qualifying the xfer optimization while running VACUUM. Problem reported by [forum:/forumpost/3ec177d68fe7fa2c|forum post 3ec177d68fe7fa2c]. FossilOrigin-Name: a6e26e778812c8409fca77183e24d3b70189c4d02fce10c7e74cd4ccc8c8ea97
| * Merge trunk testing enhancements into the pushdown-subquery branch.drh2024-04-07
| |\ | | | | | | FossilOrigin-Name: 287ff24b26a512ff7648679767e68244f6eef95df6a49c46ed1f2594030ed523
| | * If SQLITE_ALLOW_ROWID_IN_VIEW is set to 2, then all rowids for views returndrh2024-04-07
| | | | | | | | | | | | | | | a value of NULL. FossilOrigin-Name: 0a53dde21403aa6de11c5085c16def3f95046c5629daf2675b075e4d6683ef94
| * | Merge trunk enhancements into the pushdown-subquery branch.drh2024-04-07
| |\| | | | | | | FossilOrigin-Name: 27865e316f8dfbf4c20290cf1be3024d7518fec46655e34f3fc435e15346c63e
| | * Add comments to note the name abiguity between the MySQL push-downdrh2024-04-07
| | | | | | | | | | | | | | | optimization and the WHERE-clause push-down optimization. FossilOrigin-Name: 3d5fb1ec7a0440072d6e3b957903c85d0f32b8b07207a1ef22d1a69cf5e664d1
| * | Do not allow changes to sqlite3ExprIsTableConstant() that support pushdown ofdrh2024-04-06
| | | | | | | | | | | | | | | subqueries interfere with the hash-join logic. FossilOrigin-Name: 8682931f9c6b40e1b09139c10bbe932c38330b5eb0c5c84f2432ad19a6793e37
| * | Generalize pushdown to allow any uncorrelated subquery to be pushed down.drh2024-04-06
| | | | | | | | | FossilOrigin-Name: 87c45fb0d5f5ca5d6d1ad27bef83f294231d17d94299e1997364a7975b423e38
| * | Experimental enhancement in which expressions of the form "expr IN table"drh2024-04-05
| |/ | | | | | | | | can be pushed down into subexpressions. FossilOrigin-Name: 2cbd7838fd6ffdf210f34671cd2e3e749a076a3a6f155bbe5f910a67db31c5b1
| * Check-in [a9657c87c53c1922] is wrong: the IndexedExpr.bMaybeNullRow flag isdrh2024-04-05
| | | | | | | | | | | | | | required for virtual columns if they are part of an outer join. Add a test case (derived from dbsqlfuzz b9e65e2f110df998f1306571fae7af6c01e4d92b) to prove it. FossilOrigin-Name: 4484ec6d26b31305e31de89bdbae26344d8083a7e7de20861430d31737d9979c
| * When compiling with SQLITE_ALLOW_ROWID_IN_VIEW, if the RETURNING clause ofdrh2024-04-05
| | | | | | | | | | | | an UPDATE of a view specifies a rowid, then return NULL for the value of that rowid. dbsqlfuzz 7863696e9e5ec10b29bcf5ab2681cd6c82a78a4a. FossilOrigin-Name: c7896e88850669e18e89d44c4169d4f4a5d4b904bea6ccb2ac64f93b6d348a42
| * Add the "interstage-heuristic" that attempts to avoid wildly inefficientdrh2024-04-04
| |\ | | | | | | | | | | | | | | | queries that use table scans instead of index lookups because the output row estimates are inaccurate. FossilOrigin-Name: 7bf49e2c54c9f6f336416f01c0e76aaf70f1e2f3fd612232e5a33ae5dabe0900
| | * Fix typos in comments. Provided ".wheretrace" debugging output for thedrh2024-04-02
| | | | | | | | | | | | | | | | | | interstage heuristic module. Do omit automatic index loops in the interstage heuristic. FossilOrigin-Name: 186dcae19e249db36de15f295999cff25063b54ee3d5d481cd2ba99b6d13148e
| | * Add a heuristic in between the two solver() passes of the query planner thatdrh2024-04-02
| | | | | | | | | | | | | | | | | | tries to prevent a very slow query plan in cases where the output row count estimate is imprecise. FossilOrigin-Name: 8018417b0143ea11535f2457bf3e4b3755717c554a17df1076425b4251b5f2c6
| * | Fix an ASAN problem in part of the test harness. No changes to SQLite itself.drh2024-04-04
| |/ | | | | FossilOrigin-Name: 797cda7ddcceb140330d58892c3e73d28df72b638df00fd48f07dfcba7706c5f
| * Improved comments in the query planner logic that computes the cost for adrh2024-04-01
| | | | | | | | | | particular step in a query plan. No code changes. FossilOrigin-Name: 0b2ac2cdc767db764e3ea8bbc33898cac4e1ec27fe8c9b60ce08a1785f921e6d
| * Make explicit that sqlite3_keyword_name()'s index is 0-based, per forum ↵stephan2024-03-30
| | | | | | | | | | request. Doc changes only. FossilOrigin-Name: 090943dc31e7a3af5c11c1c0953cb82ae3ca07ba000189bb85deaecc76921504
| * Document that the order of an update hook call is unspecied vis-a-vis the ↵stephan2024-03-28
| | | | | | | | | | final result of the operation which triggers that hook. Doc changes only. FossilOrigin-Name: 3d4b1f0791384d3e531d6757daecf67e5b873954de61f37032474e3ae23cd22b
| * Avoid expanding integer values in columns with real affinity to the full ↵dan2024-03-26
| | | | | | | | | | 8-byte representation when editing records as part of a DROP COLUMN command. FossilOrigin-Name: a49296de0061931badaf3db6b965131a78b1c6c21b1eeb62815ea7adf767d0b3
| * The RAISE() operator is not a constant expression and cannot participate indrh2024-03-25
| | | | | | | | | | | | the VALUE-as-coroutine optimization. dbsqlfuzz 74cf7c9904360322a6c917e4934b127543d1cd51 FossilOrigin-Name: 6a06dc73847716c88d65651d1bf0e002002303881df1389beac884d0032eae08
| * Simplifications to the sqlite3_declare_vtab() implementation. Changesdrh2024-03-25
| | | | | | | | | | some conditionals into assert() statements, for coverage. FossilOrigin-Name: ff7b898a6f9cb9aecb51bd6b63e253b4b7486ac9367f59c3c0491d78cfb39993