aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
| * 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
| * Fix a theoretical OOB memory access in sqlite3_stmt_scanstatus_v2().dan2024-03-25
| | | | | | FossilOrigin-Name: 87be9580747b405c2c534beadb0f95cee0d4f34e0245f90e157a6b7ada38e092
| * Revert the previous change. Instead, do a pre-check of the CREATE TABLEdrh2024-03-25
| | | | | | | | | | | | | | statement that is the second argument to sqlite3_declare_vtab() and if the first two keywords are not "CREATE" and "TABLE", then raise an SQLITE_MISUSE error. FossilOrigin-Name: 6a2ff8351244da2336055454dfad2dd40534b7cfb51e840f7f8cf2ddacf8649e
| * Remove an ALWAYS() from a condition that can be true.drh2024-03-25
| | | | | | FossilOrigin-Name: 715fcf033a6c0c64fa3076d58be8c39246aebef922c1a44a31831b40e165015e
| * Fix an inaccuracy in automatic indexes that was exposed by the fixdrh2024-03-25
| | | | | | | | | | at [80c4223098c1827f]. FossilOrigin-Name: fdc9406f1c8ba4a7341c1e408f6042ddc788cf65f98e1de2ee101390bfb0abae
| * Use the SQLITE_CONSTRAINT return value from xBestIndex to prohibit baddrh2024-03-25
| | | | | | | | | | query plans in the pragma virtual table. FossilOrigin-Name: b1259d4448f744861e416f42328c1450854370e5c77102d2a5abe5cf6c7f12bd
| * Flag sqlite3_trace() and sqlite3_profile() as deprecated so that the doc ↵stephan2024-03-25
| | | | | | | | | | generator for funclist.html sees them as such, and add 'Deprecated' to their page's title for consistency with other deprecated APIs. Comment changes only. Addresses [forum:0901025836|forum post 0901025836]. FossilOrigin-Name: 87c54f93f5711739741ed0ff3c1a6fe24ffc8a025b43523bf78c1f6be8c1b4cd
| * Fix the xBestIndex method of the pragma virtual table so that it correctlydrh2024-03-24
| | | | | | | | | | | | | | gives a higher cost to plans where the schema hidden parameter is unconstrained. Fix for the problem reported by [forum:/forumpost/85b6a8b6705fb77a|forum post 85b6a8b6705fb77a]. FossilOrigin-Name: bc516ff5202ee6e9834266bf755fe26e30ac557dcc7975ca7a06dfe33874fcd2
| * Improved "wheretrace" debugging output for calls to xBestIndex. No changesdrh2024-03-24
| | | | | | | | | | to release code. FossilOrigin-Name: 33966bb06ce9a8e90734de59a8d43c523f60870d20be64789638da4c84a8b81b
| * Do not automatically assume that ROWID is NOT NULL when compiled withdrh2024-03-24
| | | | | | | | | | | | SQLITE_ALLOW_ROWID_IN_VIEW. dbsqlfuzz 31b38eeb63a4e1562de665078f52b7b47a7543cf FossilOrigin-Name: 80c4223098c1827ff3a564f1f9a4203164a943e9a83eef99df68378fa3c4764b
| * Fix an adverse interaction between CREATE TABLE AS and the newdrh2024-03-23
| | | | | | | | | | | | [/info/a120c9235f125e05|VALUES-as-coroutine] optimization. dbsqlfuzz c2c5e7e08b7e489d270a26d895077a03f678c33b FossilOrigin-Name: 84b6fdea0bf07c73df0ca8ef110db066164a5f34606e6c069a060476e04ef44e
| * Fix incorrect boundary assert()s on the new OP_IfSizeBetween opcode.drh2024-03-22
| | | | | | FossilOrigin-Name: 8eda4797c573382cbb989a4ab4b1f19d8fd538dbc9818d86a9aa6189cfa90f37
| * Have os_unix.c reuse cached file-descriptors in the case when a read-write ↵dan2024-03-21
| | | | | | | | | | fd is requested on a read-only file and a read-only fd returned. FossilOrigin-Name: a678e85402af08c1e387bf30ff2205f84dd7da749755da565d70f831c007a3d9
| * Fix all test cases so that they work with SQLITE_ALLOW_ROWID_IN_VIEW.drh2024-03-21
| | | | | | FossilOrigin-Name: 66c69e2f20f7692e0f34743ae97b09c4d8d11b874cdc5381795f2d1e0410f724
| * Change EXPLAIN QUERY PLAN output to say "USE TEMP B-TREE FOR LAST TERM OF ↵dan2024-03-20
| | | | | | | | | | ORDER BY", or "LAST N TERMS OF ORDER BY", instead of "RIGHT PART OF ORDER BY". FossilOrigin-Name: cd547c500442f3f58c05d6da8a67c3238560c5204ea62ec14afa844cc8fb94f0
| * Fix the SQLITE_ALLOW_ROWID_IN_VIEW bug-compatibility option so that it worksdrh2024-03-20
| |\ | | | | | | | | | | | | | | | | | | again. Add the SQLITE_CONFIG_ROWID_IN_VIEW sqlite3_config() value to optionally disable the bug-compatibility mode at start-time. Enable testing of SQLITE_ALLOW_ROWID_IN_VIEW. FossilOrigin-Name: b6802565df0f63286a7ef26c92d3ed817895f244920a24909cd855090fdfa08c
| | * Fix a typo in a comment.drh2024-03-20
| | | | | | | | | FossilOrigin-Name: 54680d0fbec1f0575ac4be6dca866971795dab2c42b02a492d5cd485f46d153f
| | * Fix typos in the SQLITE_CONFIG_ROWID_IN_VIEW documentation.drh2024-03-20
| | | | | | | | | FossilOrigin-Name: 1ad1ca498296493c8e89cda911cc153baa51c90ae6c19961841e6b4e37302a23
| | * Change the SQLITE_CONFIG_NO_ROWID_IN_VIEW configuration option to bedrh2024-03-19
| | | | | | | | | | | | | | | | | | | | | just SQLITE_CONFIG_ROWID_IN_VIEW (without the "_NO_" in the middle) and give it the ability to turn the option on and off. Otherwise, it is difficult to test. FossilOrigin-Name: 5d412edc2e378999ad798d1d7d73c7f7a17ee4e3c751a0dd00b9d5ce32759550
| | * Return the error "ambiguous column name: rowid", instead of "no such column: ↵drh2024-03-19
| | |\ | | | | | | | | | | | | | | | | rowid", when a "rowid" reference is ambiguous. FossilOrigin-Name: 0615bdae2dfc70c7e0416a28e89ffde31fa44ed4b3dac46e5ef20eed0d89e58c
| | | * Return the error "ambiguous column name: rowid", instead of "no such column: ↵dan2024-03-19
| | | | | | | | | | | | | | | | | | | | rowid", when a "rowid" reference is ambiguous. FossilOrigin-Name: 021f34fcfed41b607be8169bbda59aef93f130108d944f4741b46e8e345b2bbb
| | * | Add the --no-rowid-in-view option to the --help output of the CLI.drh2024-03-19
| | | | | | | | | | | | FossilOrigin-Name: 134da9c348a5e3b5cef97b79f37d48257afd4fa958a84f6930ac9874284a14cd
| | * | In the name resolver when SQLITE_ALLOW_ROWID_IN_INDEX is enabled, if theredrh2024-03-19
| | | | | | | | | | | | | | | | | | | | | | | | are multiple views that might resolve to the "rowid" but only one real table, then use that one real table and ignore the views. FossilOrigin-Name: 8fcea4cdfc89dd78eca5e7f62aa31aff0e296f41e79349d3af1cc3a2bc4d77c6
| | * | Update tests to work with SQLITE_ALLOW_ROWID_IN_VIEW.dan2024-03-19
| | | | | | | | | | | | FossilOrigin-Name: 495b8c7b08b998ddfe2ad055703f058c768e7e94014952e5cd8a81c7c1515cb1
| | * | Improvements to the first check-in on this branch, causing less collateraldrh2024-03-19
| | | | | | | | | | | | | | | | | | | | damage. FossilOrigin-Name: 7bc882897b6910f93695ad372445df7791b096412089ccbcd4fde365c62fa074
| | * | On second thought, change SQLITE_TESTCTRL_ROWID_IN_VIEW into a start-timedrh2024-03-19
| | | | | | | | | | | | | | | | | | | | option SQLITE_CONFIG_NO_ROWID_IN_VIEW. FossilOrigin-Name: b8e045c9e1d098d116f8745704b10ed76569d4b063c0b81cce16bc136930755d