aboutsummaryrefslogtreecommitdiff
path: root/src/sqliteInt.h
Commit message (Collapse)AuthorAge
* 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
* 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
* 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
* Unconditionally include <ctype.h> in sqliteInt.h, even in builds wheredrh2024-10-03
| | | | | it is not needed. FossilOrigin-Name: 825f01d7e258ac7981f715fd10708560381b079f0e026abc414cf56d16d862da
* Remove all code that makes use of the C-language "long double" datatype.drh2024-10-01
| | | FossilOrigin-Name: f622b52024c8bec1d241b1dc480fbbd839fc1af50b6220f012812503de2c656e
* Add compile-time option -DSQLITE_USE_LONG_DOUBLE=0 to omit all attempts to usedrh2024-10-01
| | | | | | "long double". Or =1 to omit attempts to use the Dekker algorithms to achieve high-resolution floating point. FossilOrigin-Name: ca5964ef70efad3332e0bf9c158eb5fd5006d3022051d1ac506c097c427735a1
* Improved rebustness to malformed UTF-16 inputs to sqlite3_prepare16_v2().drh2024-09-19
| | | FossilOrigin-Name: 7b3a517b3e16ea487ca77a2c88a0c11d737de366524fc911aa1bdd6bfb7ad148
* A couple of #defines so that the build work with SQLITE_OMIT_FLOATING_POINT.drh2024-08-30
| | | FossilOrigin-Name: be768f80c703ac1645251ccbac83e07b3ea4cc231c8ea7e66374a4f78361f10b
* Fix minor comment issues.drh2024-08-20
| | | FossilOrigin-Name: c1bbed19f4348ec31c3cb4723eaa8f1554bb58ef4de7feb3a0f39612785f13d5
* Tighter checking of access constraints on union members in SrcItem.drh2024-08-20
| | | | | Improved invariant checking. FossilOrigin-Name: fd72d3400a8fe5747f494eee81654698acee350bb95b9db269e87d857af03492
* Refactor the SrcItem object so that information about subqueries is storeddrh2024-08-19
| | | | | | | | | in a separately allocated Subquery object. This reduces the memory requirements for SrcItem and makes the code run faster. It also provides an expansion path for subquery processing that does not burden simple queries. The current checking mostly works, but there are still issues that need to be tracked down and fixed. FossilOrigin-Name: 8ff5dda8448d7e1a533d7f27db2573ce68fa9956b9d9847ced45e83c1f06bab0
* Give unique names to fields in the SrcItem object, to facilitate analysis ofdrh2024-08-17
| | | | | how those fields are used using "grep". FossilOrigin-Name: 9f5aeef3cbc2c95267c8f7bf60d5c66971a76789669fb0e8f853273ff6f616f2
* Reduce the size of the SrcItem object by combining fields into a union.drh2024-08-17
| | | FossilOrigin-Name: a4c59ac3c6ec979c25b544d29e47b8e39f6439c098eed8f84b3bd506c9adf047
* If a subquery is materialized due to an ORDER BY and that ordering is usefuldrh2024-08-15
| | | | | | in helping to satisfy the ORDER BY or GROUP BY in the order query without doing an extra sort, then omit the extra sort. FossilOrigin-Name: 2fbb4dc2327ee435cb2b7a4adcddf5a9cee6dff7de96e2ecb761166427b5ddea
* Change the AggInfoColumnReg() and AggInfoFuncReg() macros fordrh2024-08-06
| | | | | | compilers that cannot parse empty elements of a comma expression. [forum:/forumpost/8fd21998dc|Forum post 8fd21998dc]. FossilOrigin-Name: 533a6251f188805363f0e39613ea03b1bfd758eaea00e0855803238585bdfec7
* Use a mini Bloom filter to help reduce the number of pointless searches fordrh2024-07-05
| | | | | | prior SubrtnSig objects when generating code for IN operators with subqueries as their right operand. FossilOrigin-Name: d8cedbe055b40a0ea4e5d47845b535162e9fcb0d0f88c03211797ab64d2d56fb
* Small performance optimizations.drh2024-07-05
| | | FossilOrigin-Name: 99fd34b58a9b09af20f1f1a3c37137ae55159310c8af97806550eeee6adc4fc5
* Use a Bloom filter to improve performance of IN operators when the RHS ofdrh2024-07-03
| | | | | the IN operator is a subquery. FossilOrigin-Name: 1933496539c19cbf429a39d6b0b1c6b1b2af50733a3c4aea4920990ced652f6a
* Reword the deliberate_fall_through macro along the lines suggested bydrh2024-07-02
| | | | | | [forum:/forumpost/7ec11023dd|forum post 7ec11023dd] so that it works better with LLVM, while preserving compatibility with MSVC and older GCCs. FossilOrigin-Name: fc248a4a0a232a95a79e24e57faedb5d824c3bf0aa62054b72339257dc9c18b3
* Internal doc typo fixes, as reported in the forum. No code changes.stephan2024-06-18
| | | FossilOrigin-Name: ea16b286b4344c1833ca3d17b6d315fb4ddcb99bcc232ff6444debeb634881f2
* Disable the omit-noop-join optimization when there are 64 or more terms indrh2024-06-09
| | | | | the ORDER BY clause. FossilOrigin-Name: 40de3939792e17df25598b3e60d1cebcecde2b00832acd55604f14b21398a9a7
* Better optimize queries that use parameters in the LIMIT clause.drh2024-06-06
| | | FossilOrigin-Name: e58cb304d1e0ec6e30260a165aaccc2cf096ce6c999efb06683c4ef600ee12ef
* Omit an unused #define.drh2024-06-03
| | | FossilOrigin-Name: 9c2de28a146e4cdfa4c05bf8dbd4ebb1156c71104001edf68e6dd5db21deb91f
* Ensure that queries like "SELECT indeterministic(a) FROM tbl GROUP BY 1" ↵dan2024-05-24
| | | | | invoke the indeterministic function only once for each row of tbl. FossilOrigin-Name: 4555d66547e28cb110e1012b145bcf3aafb5d4bde05e9d27bcb4ca33837b28f5
* Fix the definition of sqlite3_vtab_distinct() such that return codes 2 anddrh2024-05-18
| | | | | | | 3 mean that all rows must be distinct over "colUsed" which is a superset of "aOrderBy". Also, disallow return codes 2 and 3 if the rowid of the virtual table is accessed. FossilOrigin-Name: 922731ce98c0ce7837784ff7966049e59fa73da2aa04abf3506503b6fc4aa048
* The sqlite3FaultSim(300) error from [1e8863909ac369e5] must be treated asdrh2024-05-10
| | | | | | an OOM, since it simulates an OOM. Also fix deferred deletion of Expr objects from [a53bdd311c4154fd] so that it does not corrupt the AST if an OOM occurs. FossilOrigin-Name: c623d9a51e0ae6b4a8e1186714d14e7aa3df55246e123323481f07f07749dea5
* Squelch two OMIT-flag-related warnings reported in ↵stephan2024-05-10
| | | | | [forum:388243d9882067a9|forum post 388243d9882067a9]. No functional changes. FossilOrigin-Name: 1d6716054d7fc50df237996c3db30e5fb8e32acbf48cb8b9af472360515945c4
* 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