aboutsummaryrefslogtreecommitdiff
path: root/src/sqliteInt.h
Commit message (Collapse)AuthorAge
* Fix harmless compiler warnings in builds that use SQLITE_OMIT_DATETIME_FUNCS.drh3 days
| | | FossilOrigin-Name: e11fbf9fd630a7de2e0b0e4b67dded05b905b2a0ba04aa7e915ca9df2d9ebe21
* Merge the latest trunk enhancements and fixes into the ↵drh9 days
|\ | | | | | | | | empty-table-optimizations branch. FossilOrigin-Name: f15cdf07573c05276a13885d74bae21a93544766344f19ef939b7a69edd1073b
| * Back out the fix at [ba7d5bad32ad6aac] because it does not always work and ↵drh10 days
| | | | | | | | | | | | | | | | | | | | because it causes a performance regression. Add new test cases for row-value lookups of indexes that contain redundant columns, three of which are currently failing. This branch is seeking an improved solution to the redundant index column problem for row-value lookups. FossilOrigin-Name: ad8ddcefab5cc526b1cd77731e00939c672e61ca83350d28961b67635d20da03
* | Merge in the exists-to-join optimization that has been modifieddrh2025-07-02
|\ \ | |/ |/| | | | | to relax the requirement of having an indexed join constraint. FossilOrigin-Name: 1c1aef2b7feae29066d0330699ab634ef41f5b60cdcd479a60cb1a5409553138
| * Merge all the latest trunk enhancements into the exists-to-join branch.drh2024-07-31
| |\ | | | | | | FossilOrigin-Name: 9084a4c8726a2c7ba1c381886e29c7b86121d531282be0d63d5988d84f6f448d
| * \ Merge the latest trunk enhancements into the exists-to-join branch.drh2024-06-27
| |\ \ | | | | | | | | FossilOrigin-Name: fc643f8a12e9b7448136b281f798e18dfebe0a3df5115d930b965c8a33933e2d
| * | | Provide the ability to disable the exists-to-join optimization usingdrh2024-06-11
| | | | | | | | | | | | | | | | | | | | SQLITE_TESTCTRL_OPTIMIZATIONS. Provide tree-trace output for the optimization. FossilOrigin-Name: 33a3f327855b427ae6ba0057218d043a1417bc9d780728f47f23acdd836e1686
| * | | Merge trunk enhancements into the exists-to-join branch.drh2024-06-11
| |\ \ \ | | | | | | | | | | FossilOrigin-Name: 5f25a9518a675efbd0525cc2f5595ee7bc7122be7cfecdf6b20c909185dea370
| * | | | Experimental optimization to rewrite a SELECT with an EXISTS(...) expression ↵dan2024-06-07
| | | | | | | | | | | | | | | | | | | | | | | | | in the WHERE clause as a join. FossilOrigin-Name: 972a33db0b0e924b78d5309d222d8ea298bd59c72da14ea2d14e8e2caaad1e0a
* | | | | Raise an error right away if the number of aggregate terms in a querydrh2025-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | exceeds the maximum number of columns. FossilOrigin-Name: 5508b56fd24016c13981ec280ecdd833007c9d8dd595edb295b984c2b487b5c8
* | | | | Change the definition of SQLITE_DYNAMIC to a function that has exactlydrh2025-06-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the same type as sqlite3_destructor_type, in an effort to work around possible legacy compiler bugs. FossilOrigin-Name: 83553edf78c35d171a0ddf1a51306e963d715e56d95b8159b561b729cfb27843
* | | | | Make the show-%p-az-zero hack of the previous check-in configurable atdrh2025-06-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | run-time using the 0x100000 bit of either .treetrace or .wheretrace. As before, this is all a no-op except for debugging builds. FossilOrigin-Name: a29627d7e7f8344d9a099cc133bda85250b02dc5ee5f358ba59691e0816b5b2d
* | | | | Improved diagnostics for Bitvec: Add the sqlite3ShowBitvec() routine thatdrh2025-06-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | can be called from a debugger (only available with SQLITE_DEBUG). Add new output opcodes for sqlite3BitvecBuiltinTest(). FossilOrigin-Name: dea1e37fa67ada6efc1533b449d9eb22338d9e58eec8f89b48c38319c212c8f4
* | | | | Improve the accuracy of affinity and collating sequence analysis fordrh2025-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NATURAL JOINs to the left of RIGHT JOINs where source tables are views or subqueries. Initial problem report in [forum:/forumpost/829306db47|forum post 829306db47]. FossilOrigin-Name: f184d1d236e47962658a4639d9533f67a525b74cfe0f06c93e9b85fdcd02a15f
* | | | | Remove an unnecessary parameter from sqlite3VdbeRecordUnpack(). Improveddrh2025-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | comments and assert()s on KeyInfo. FossilOrigin-Name: 387f4c4d98b8fb83f6ae406e4143dabda7766e8752b7f6ca104655e51330c978
* | | | | Fix stale comments related to KeyInfo. Add new assert()s associated withdrh2025-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | memory management of KeyInfo. FossilOrigin-Name: abd805bc76f14ede7359b029908179b7ca57e929c5918acae1403ef73ae0bd47
* | | | | Use a more robust backup definition for offsetof().drh2025-05-30
| | | | | | | | | | | | | | | FossilOrigin-Name: 22441955e03df07903b98832a60c05c53721cd67c667f6c83d5e97fcc62735ee
* | | | | Back out the "low-quality index" query planner hack of check-indrh2025-05-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [bcac937526d9a6ef]. Subsequent query planner enhancements for dealing with star-queries make that change unnecessary and the change was recently found to cause a performance regression in an unrelated query. Also fix a typo in a debugging message. FossilOrigin-Name: e7dcf25efae364b7cdf9eb8265803c816c8b8557e4a7684da428badc6ffb3875
* | | | | Correctly handle the case of a multi-column UNIQUE constraint that containsdrh2025-04-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the ROWID as one of it columns, and then the columns of that UNIQUE are used in a row-value IN operator as a WHERE clause constraint. Reported by [forum:/forumpost/b9647a113b465950|forum post b9647a113b]. Problem introduced by [723f1be3d4a905a6], part of ticket [da78413751863]. FossilOrigin-Name: d22475b81c4e26ccc50f3b5626d43b32f7a2de34e5a764539554665bdda735d5
* | | | | Use flexible arrays for RTREE.drh2025-03-14
| | | | | | | | | | | | | | | FossilOrigin-Name: 2b41776179c726586e3ff836edcf235938cf02f7c5e33c1d6954b84d4061b8d5
* | | | | Make use of the flexible-array feature of C99, when available, to try todrh2025-03-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pacify -fsanitize=strict-bounds. This check-in fixes the core. There is more yet to do in FTS3, RTREE, and in FTS5. FossilOrigin-Name: 6fd6b32d06bd6a705e5140cd613af823b8183a6f6a9ceeeedfcf5e8b50821d68
* | | | | Enhancements to help avoid problems in the CLI when trying display contentdrh2025-02-25
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | that contains ANSI escape codes: (1) Add the --escape MODE option to the CLI where MODE is one of "symbol", "ascii", "off" where the default is "symbol". (2) Add the unistr() SQL function. (3) Add the unistr_quote() SQL function. (4) Add the %#Q and %#q conversions in the built-in printf. FossilOrigin-Name: e3e509ae145ee2623ac68ededa59991a97fcd28313e03f67a3890b560c5381b0
| * | | | | Consolidate two different UTF8 encoders into a single subroutine.drh2025-02-25
| | | | | | | | | | | | | | | | | | FossilOrigin-Name: 6208e494858b9d362efc7db4e8aac6f8e93fe51d2e038c94dfa97c55a74688a0
| * | | | | Add the unistr_quote() function that works like quote(), but also escapedrh2025-02-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | control characters using unistr() if necessary. FossilOrigin-Name: e99e37b54baf7283588ead4983e613a1e14c58a0b92be5f7b25b4d9d287b5324
* | | | | | Merge latest changes from trunk into this branch.dan2025-02-24
|\| | | | | | | | | | | | | | | | | FossilOrigin-Name: 55324d1c862c42b95251a398c40930d9fa94debb1aec7d3d0ae734d6b17b4a59
| * | | | | The number of declared columns in an index is limited to SQLITE_LIMIT_COLUMN.drh2025-02-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | But the actual number of columns in the implementation might need to be twice as much to account for the primary key at the end. Ensure that the code is able to deal with this. This is a correction to check-in [d7729dbbf231d57c]. FossilOrigin-Name: 5822feec43be9352fd87bf9968c39c0218e01ab5fe3ba50431ae21cba79e6c89
| * | | | | Detect when a UNIQUE or PRIMARY KEY on a WITHOUT ROWID table would needdrh2025-02-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to use more than SQLITE_LIMIT_COLUMN columns and raise an error. Also include some unrelated compiler warning fixes. FossilOrigin-Name: d7729dbbf231d57cbcaaa5004d0a9c4957f112dd6520052995b232aa521c0ca3
| * | | | | Code changes that make it easier to prove that no 32-bit integer overflowsdrh2025-02-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | happen during memory allocation. No problems fixed; this change is just to make future maintenance easier. FossilOrigin-Name: 215650a5a1d55bdbca9c92524804a1a54456a17f42a17e53747b21a6507506f5
* | | | | | Merge latest changes from trunk into this branch.dan2025-02-11
|\| | | | | | | | | | | | | | | | | FossilOrigin-Name: e5ec5bb9f4dc3e02db7ab0e49686f47617af75d3f7d4ab23288a1aea4a693e59
| * | | | | Put a 16-byte hash table for column names on each Table object, to speeddrh2025-02-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | up column name lookups. FossilOrigin-Name: 11eb8f99e5c4974cb6ba39e5bbc99f6b88b9e01006b70d5fea85c2a6d4f7044f
| * | | | | Fix GCC-isms and compiler warnings introduced by recent check-insdrh2025-02-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [c56092507c967230] and [6e57848fe1e0e2b5]. FossilOrigin-Name: 91102c04375f83cffcd0f3204870e476636f651710e9e6fb773cf74085ef7636
| * | | | | Fix comments on the Parse.nMaxArgs field so that they are correct. Adddrh2025-02-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | assert()s to ensure they are correct. Other Parse changes to reduce the amount of memset() needed to initialize it. FossilOrigin-Name: c56092507c96723030589ddd9121bc993d615a7acd453305fc3b1dbb9e30554c
| * | | | | Further reduction in the amount of memset() needed to initialize the Parsedrh2025-02-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | object. FossilOrigin-Name: 45e462c0060e51c3375a226d636148e3415ee6020e544ecc84861c7aef4ecf7b
| * | | | | Reduce the amount of memset() needed to initialize the Parse object.drh2025-02-07
| | | | | | | | | | | | | | | | | | FossilOrigin-Name: 284538d8486ef3e9bee1ab980043b53c144743c31b984be13a5cc137e7cbec31
| * | | | | The Parse.addrExplain field is never even if SQLITE_OMIT_EXPLAIN is defined.drh2025-02-03
| | | | | | | | | | | | | | | | | | FossilOrigin-Name: 5d81a984c6aabb9fa9180efde8ca942b40f1ec18ff5a89f2fbb1252734f051d3
| * | | | | Add the SQLITE_DBCONFIG_ENABLE_COMMENTS setting (default on) to enable ordrh2025-01-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | disable the ability to include comments in SQL input text. FossilOrigin-Name: 393749a2e22d5c8eba36e2106a35909420aa6316652d1ab4f18ef699247b6fba
| * | | | | Merge all the latest trunk changes into the extra-security branch.drh2025-01-31
| |\ \ \ \ \ | | | | | | | | | | | | | | FossilOrigin-Name: 86ba57561a8d8c14e401c06b2345a9417053aa3a5f0c84e52460f23f5e6aa8d0
| | * | | | | Simplifh the IdList object to remove unnecessary fields. Performancedrh2025-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | increases by about 0.8%. FossilOrigin-Name: a4625bb995dd5582d1f3cf0c2e54eb3f01f1cc1405811dda86ebd38b2b858994
| | * | | | | Small size and complexity reduction on the star-query heuristic. Improveddrh2025-01-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | comments for the star-query heuristic. FossilOrigin-Name: a7ecb2f4b7eee78b88f1b2e026dffed2007ca4ffeb152632624ab2582839b250
| | * | | | | Improvments to debug output on the star-query heuristic.drh2025-01-25
| | | | | | | | | | | | | | | | | | | | | FossilOrigin-Name: b3ebeb0682a2c837987acf4ed92f06cf91aea235830c5a0f9dd1ce64afe16e84
| * | | | | | Add two new sqlite3_db_config() options that enable the ATTACH commanddrh2025-01-22
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to create new database files and to open databases read/write. Both default to on for backwards compatibility. FossilOrigin-Name: fe0c58d00b491d1af7c0894f5c32542954aeea2e6510853b3bcbf13ac0bf5ce0
| * | | | | Add an SQLITE_TESTCTRL_OPTIMIZATION mask that can disable the query plannerdrh2025-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | heuristics that are designed to help with star queries. FossilOrigin-Name: fec4ff185a2f3f1bee8f27432206276636cf27365d2d41cd7282f8c0425f2e96
* | | | | | Experimental change to allow clients to block when taking a SHARED lock to ↵dan2025-02-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | connect to a wal mode database. FossilOrigin-Name: d2d6a000fb9bf8097e0ce9979685408d183be3ab785ceeb11ec1f97a81a83e41
* | | | | | Have sqlite3_enable_setlk(-1) configure indefinite blocking locks where they ↵dan2025-01-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | are supported. FossilOrigin-Name: 62009565d2f2a2c4d347e1da0d5b4ad43056742df47fd6ddb92e62f53a2b57f1
* | | | | | Add the sqlite3_setlk_timeout() API. For setting the timeout used by ↵dan2025-01-27
|/ / / / / | | | | | | | | | | | | | | | | | | | | SQLITE_ENABLE_SETLK_TIMEOUT blocking locks without also setting the regular retry-based busy-timeout. FossilOrigin-Name: 4a7eb492797abb47b18b7dfc557aeae43a0dea5b861efc203398d5059b10d131
* | | | | Increase the maximum number of arguments on an SQL function to 1000 with thedrh2024-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | capability to increase it further up to 32767 using a compile-time option. FossilOrigin-Name: e8d7d68ba0bb0bc2f948db5d9966990a5d23597fc3658b7cd0bc99d53c7353a9
* | | | | Remove the never-used and never-documented and long-ago deprecateddrh2024-10-28
| | | | | | | | | | | | | | | | | | | | | | | | | user-authentication feature option. FossilOrigin-Name: 3a3f7bf4307c27e56546e51da06ecc9a262cdf155fda2dd359aa2326d207a147
* | | | | An assortment of comment typo fixes discovered by aspell. Add several new ↵stephan2024-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | words to tool/custom.txt. No code changes. FossilOrigin-Name: 59b76a99e4a28f4cc8c4f9f39ff6e039c4d29cb7b44183f1902b5792638656d2
* | | | | Allow expressions with subtypes to be read from indexes unless they are ↵dan2024-10-05
| | | | | | | | | | | | | | | | | | | | | | | | | being used as direct or indirect parameters to SQLITE_SUBTYPE functions. FossilOrigin-Name: aa440e78e9004c7ca3e03beaf264f54d0070ad7298a3c96ca097d8b35c872e5f
* | | | | Experimental change to allow expressions with subtypes to be read from ↵dan2024-10-05
| | | | | | | | | | | | | | | | | | | | | | | | | indexes in situations where they are not used as function parameters. FossilOrigin-Name: ac63f98ad85a4dd1e49cc64b41f0ca0044153972c15d71c669f4bc3ec590e268