aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* 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
| * | When compiled with SQLITE_ALLOW_ROWID_IN_VIEW, rowid-in-view is on by defaultdrh2024-03-19
| | | | | | | | | | | | | | | | | | but can now be turned off using SQLITE_TESTCTRL_ROWID_IN_VIEW. Without the compile-time option, rowid-in-view is always off. FossilOrigin-Name: 8a6196ab29052071be753c5c77ac945c2d62ecc8019c6160f954eafe34ab05a8
| * | First steps toward getting -DSQLITE_ALLOW_ROWID_IN_VIEW to work again. Thatdrh2024-03-19
| | | | | | | | | | | | | | | | | | | | | compile-time option is untested, undocumented, and unsupported. But it was mentioned in the release notes for version 3.36.0, so I think that means we need to support it forever. FossilOrigin-Name: 7c46ff640247584f1ea260c062de29a0e49f649d1894a526574c1a479006a1fc
* | | Make sure the new u1.nRow value is copied when making a copy of a SrcItemdrh2024-03-19
| |/ |/| | | | | | | object. This fixes a problem in [ac6f095e13e43d66] from yesterady. FossilOrigin-Name: 262f8f9d80d37160e4126634b99aa48fce2073e61f6365e8bdbe1cc4fa560a96
* | Fix another problem from [c63e26e705f5e967] involving infinities and thedrh2024-03-19
|/ | | | | | Kahan-Babushka-Neumaier summation algorithm. Problem reported by [forum:/forumpost/23b8688ef4|forum post 23b8688ef4]. FossilOrigin-Name: 45d272ef38d5ee6189f81369aefb8e3ac35868a67687012d93c84f2bbc42520a
* Fix harmless compiler (scan-build) warnings.drh2024-03-18
| | | FossilOrigin-Name: c86f9f2a15ffc726b7f0d9bba5a8c4dfdaeea6a297e0b591c554fff3d1fe6e1c
* Allow the VALUES-as-coroutine optimization to be applied to later rows ofdrh2024-03-18
| | | | | a VALUES clause even if earlier rows do not qualify. FossilOrigin-Name: 9a47ea7f0f675f7bf4710901487ce34c7689e618cd1d8b9f94f0ff7ebc3f2841
* Add assert() statements to validate access to the SrcItem.u1.nRow union member.drh2024-03-18
| | | FossilOrigin-Name: 21f616d9b948efca441f8d45d0a95f4c052ce8b6daec7fa582ad9a00b82ca570
* Fix the patch at [10ee6fcba08ab128] so that it works on reduced-size Exprdrh2024-03-18
| | | | | nodes. FossilOrigin-Name: 260bd764c3f2d6d067adb9cd0045b7c24d5e00b02ab2735b1cba455a6143ff4c
* Improvements to EXPLAIN QUERY PLAN output for multi-row VALUES claues.drh2024-03-18
| | | FossilOrigin-Name: ac6f095e13e43d66c06552c8b01f6bec3407c9d41a34c4cdb0be57b0b828ad0d
* Ensure the database schema has been loaded and the database encoding gleaned ↵dan2024-03-18
| | | | | before beginning to code a multi-row VALUES clause. FossilOrigin-Name: 2ff476eb3d1f4a2146f4a48b57895a00a3ff5beb29afa679ae53ea58cac07c76
* Fix a problem caused by a non-aggregate function with an OVER clause in a ↵dan2024-03-18
| | | | | multi-row VALUES clause. FossilOrigin-Name: 10ee6fcba08ab1281235197602148fe062560e1d5034a477b8e7b574dd3e2907
* Omit the "noop(X)" test SQL function. Accomplish the same thing usingdrh2024-03-17
| | | | | the idiom: "coalesce(X,random())". FossilOrigin-Name: 0eb2fbb8910e7a372c50db3ae44238d7b161f0e45858b74061b5228aec5fcc7e