aboutsummaryrefslogtreecommitdiff
path: root/src/sqliteInt.h
Commit message (Collapse)AuthorAge
...
* | | | | 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
* 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
* 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
| * 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
* | 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
* Add assert() statements to validate access to the SrcItem.u1.nRow union member.drh2024-03-18
| | | FossilOrigin-Name: 21f616d9b948efca441f8d45d0a95f4c052ce8b6daec7fa582ad9a00b82ca570
* Improvements to EXPLAIN QUERY PLAN output for multi-row VALUES claues.drh2024-03-18
| | | FossilOrigin-Name: ac6f095e13e43d66c06552c8b01f6bec3407c9d41a34c4cdb0be57b0b828ad0d
* Further expand the scope of usage for the enhacement to expr-is-constant.drh2024-03-16
| | | FossilOrigin-Name: d7eadcf7dd089f0f4aa963c58f0df32edd951368c9906375fd62b0a61cd393b8
* Enhance the sqlite3ExprIsConstant() function so that it recognizesdrh2024-03-16
| | | | | | constant functions. So far the enhancement only applies to the multi-row VALUES clause, but it could possibly be applied in many other places. FossilOrigin-Name: c9e0488c6c0135932b6e76b0f3f3acd69ef65327e0a54daa59777f35da1aef26
* Attempt to reduce the memory used by VALUES clauses in as many statements as ↵dan2024-03-11
| | | | | possible, not just INSERT. This branch still has problems. FossilOrigin-Name: 17d1f7cfabc7593d0725051b0c7c9619a23a482265f30f15ab9493fef5caeeb0
* The NOT NULL strength reduction optimization from [de9c86c9e4cdb34f] shoulddrh2024-03-08
| | | | | | | | be applied to the WHERE clause only. Otherwise, the operand of the IS NULL or IS NOT NULL operator might be a reference to a bare column of an aggregate table, and we can't tell if it is NULL or not based only on its NOT NULL attribute. [forum:/forumpost/440f2a2f17|Forum post 440f2a2f17]. FossilOrigin-Name: 51704feae224eff601db5607f8651da11b3c2ed8a58ffe5b6ee8260cab50695b
* Silently ignore redundant ON CONFLICT clauses in an UPSERT. Only the firstdrh2024-03-08
| | | | | | | ON CONFLICT for each index is active. Do not issue an error, since that might break legacy queries. But ignore the redundant ON CONFLICT clauses to prevent problems such as described in [forum:/forumpost/919c6579c8|forum post 919c6579c8]. FossilOrigin-Name: d0ea6b6ba64dba9d68c2b391ccf1171ea96fcdd7409dafdb2b697accb00246b8
* Allow "_" characters to appear between any two digits in an integer, real or ↵dan2024-02-27
|\ | | | | | | | | hexadecimal SQL literal. FossilOrigin-Name: 0e6700f43f133510c8049b2c5a2610cb3be29da7ed4d39b1fa65dc22c4cf529b
| * Add extra checks for the validity of a numeric literal to ↵dan2024-01-23
| | | | | | | | | | sqlite3DequoteNumber(). FossilOrigin-Name: d57407ef59baf699b72c8c4859abfaa7977dd41f6f16eb8fe1d53a68806eb966
| * Allow "_" characters to appear following any digit in an integer or real SQL ↵dan2024-01-20
| | | | | | | | | | literal. FossilOrigin-Name: 401650aaccbc99246bd4e1ff37a28b78f528178aee2f294d87b9f7fecd7432bb
* | Rename the TF_StatsUsed flag to TF_MaybeReanalyze, to more accuratelydrh2024-02-16
| | | | | | | | | | reflect its usage. No logic changes. FossilOrigin-Name: b4790da5e0d6f0f617e6c3a17fc2606842e41cab14339392abd335410fec0aa3
* | Use __ppc__ instead of __POWERPC__ to identify 32-bit PowerPC processors.drh2024-01-28
| | | | | | | | | | [forum:/forumpost/34794846ce|Forum post 34794846ce]. FossilOrigin-Name: c974d9313b60591bcd554c3ec652a8040d382930e30778e6be8a875145b0b3da
* | Fix userauth so that it works together with SQLITE_OMIT_SHARED_CACHE.drh2024-01-22
|/ | | | | | | ([forum:/forumpost/0bfc5888a384d430|Forum post 0bfc5888a384d430]). However, also change to code to issue a deprecation warning whenever SQLITE_USER_AUTHENTICATION is used. FossilOrigin-Name: 249048b0cbc37058c229a785182e07b46029584aff9c385269b0b93503153476
* Extra steps taken to avoid using low-quality indexes in a query plan.drh2024-01-01
| | | | | | This branch accomplishes the same end as the nearby enhanced-stat1 branch, but with much less change and hence less risk. FossilOrigin-Name: c030e646262fee43a59b45fdc1630d972f8bf88ac3c142b6bdaf4cbb36695a4f
* Enable SQLITE_DIRECT_OVERFLOW_READ unless it is specifically disabled usingdrh2023-12-28
| | | | | the -DSQLITE_DIRECT_OVERFLOW_READ=0 compile-time option. FossilOrigin-Name: 630604a4e604bfb36c31602917bfa8d42c10c82966d0819932bf8f827b9158b8
* Pass subtype information through the aggregate ORDER BY sorter fordrh2023-12-14
| | | | | aggregate functions that use subtype information. FossilOrigin-Name: 3536f4030eab6d650b7ed729d2f71eb6cc3b5fbe16b4e96b99008d66522aaccb
* Improvements to UTF8 handling, and especially the handling of invalid UTF8,drh2023-12-13
| | | | | in the JSON routines. FossilOrigin-Name: 1b229c1101d6c384a30f343c5e47b471ab084b2d8e81170eb8f642afc1c67e3b