aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
| * Fix a couple of assert() statements so that they cannot firedrh2024-05-28
| | | | | | | | | | | | when the SQLITE_TESTCTRL_INTERNAL_FUNCTIONS debugging capability is activated. dbsqlfuzz f5b347cf167a62fbe08062b2feee65cb9306e363. FossilOrigin-Name: 273504b74cb9c3cfa2497a1339e706a1f2d2c3ce81b23a16beb47da9292535e0
| * Tweaks to the query planner so that it is better able to deal with stardrh2024-05-28
| | | | | | | | | | queries with many dimensions and bad indexes. FossilOrigin-Name: 1e49081001f93b75ee499536f8a61a0f49225a1745117bb9267249c38c4bf803
| * Increase the number of parallel paths in the query solver from 12 to 20.drh2024-05-28
| | | | | | | | | | | | In the .wheretrace output, sort the parallel paths in order of increasing cost. FossilOrigin-Name: 8ba2c2f5cb31f7bcc426bec78457316ef11d0b5debf24e8da8c6fc2f95878b1e
| * Documentation typo fix. [forum:/forumpost/772d6688f5|Forum post 772d6688f5].drh2024-05-28
| | | | | | FossilOrigin-Name: 1f2f9c709eaee3c45664afa062f0fb2b912de446581066c87ea144b8ba55b55c
| * Improve the automatic-index decision such that no attempt is made to createdrh2024-05-28
| |\ | | | | | | | | | | | | | | | | | | | | | an automatic index on a column that is known to be non-selective because if its use in other indexes that have been analyzed. See [src:/tktview/8ff324e120|ticket 8ff324e120] and [forum:/forumpost/b21c2101a559be0a|forum post b21c2101a559be0a]. FossilOrigin-Name: 2a7603c327d11d5e6bc4d40c29151fea544d650f51200ff76efb921adb0c38df
| | * Avoid creating an automatic index on a column that is known to be not verydrh2024-05-27
| | | | | | | | | | | | | | | selective. FossilOrigin-Name: 70409763f70faa2a0f4f072fd318a687b109a0905cc57906ad7f80d2885fe6d9
| * | Query planner tuning: Increase the maximum number of simultaneous solutionsdrh2024-05-28
| |/ | | | | | | | | to track int eh solver from 10 to 12. FossilOrigin-Name: fe2e1dadbacbe6392ceed44fd287a2ed82189cb8055f35631d37967d9a7a5d1d
| * The previous check-in was a little two aggressive about skipping thedrh2024-05-27
| | | | | | | | | | initialization of entries in the CellArray.ixNx array. Fixed here. FossilOrigin-Name: 1b6d1fbcdecf14bc79dc7b5df50e585d2fcc1484a9987b863c190e8f7ba2c39f
| * Fix typo in comment used to generate parts of the documentation.drh2024-05-27
| | | | | | | | | | [forum:/forumpost/da5a2ca4db|Forum post da5a2ca4db]. FossilOrigin-Name: 428aadf0c71473ccb0681b2b7146281c62949ee99556873e49895d44eec7aee5
| * Very small performance increase and size reduction by removing unnecessarydrh2024-05-27
| | | | | | | | | | | | ALWAYS() macros from the btree balance logic and replacing them with special initialization of CellArray and some assert()s. FossilOrigin-Name: 32b79041d9b6858e4ffade5841898619c7d25d20c4638bf85447a2ca9cc4a3d3
| * Doc typo fix. No code changes.stephan2024-05-27
| | | | | | FossilOrigin-Name: eaf07fe69f383938dd394f58cedad3f16f146d9b48e66bc1ba17446cf75ffb3f
| * For compatibility with PostgreSQL, when right-hand side of the ->> operatordrh2024-05-27
| | | | | | | | | | | | is negative, it should index from the right side of the JSON array on the left-hand side. FossilOrigin-Name: 82365a45b96536c1146a384e5d3efce80a6ec469a54713c7f40bf15eb834b5fd
| * Fix a possible buffer overwrite in the ".import" command. ↵dan2024-05-27
| | | | | | | | | | [forum:/forumpost/0c447f0548|forum post 0c447f0548]. FossilOrigin-Name: 0fd958fa9b56a8ef254127e29800ca2a267590e86edf739bd339239b25a5da6e
| * Add new assert() statements to help out a static analyzer. Response todrh2024-05-27
| | | | | | | | | | [forum:/forumpost/17fe8ac32e0de4f5|forum post 17fe8ac32e0de4f5]. FossilOrigin-Name: 857f6d530949221d154b5120ecc2aa906418bec6f69d1c13197a432ba3cad8eb
| * Ensure that sqlite3ViewGetColumnNames() returns non-zero on any error.drh2024-05-25
| | | | | | | | | | dbsqlfuzz d9de2a508f693e5a228d7a01d5341e3c64326fbb. FossilOrigin-Name: 57aeb3a287fc190bf8d438a7b03d6715c05fd3fd71559c6a14d7bd910d37b38d
| * When omitting result columns for the vector-IN optimization, make sure thatdrh2024-05-24
| | | | | | | | | | | | any result-set column references in both the ORDER BY clause and the GROUP BY clause are updated appropriately. FossilOrigin-Name: f890812df0a57fcd201647640d8b9ee26047cd93cd7171bc6fd050f574649345
| * 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
| * Add the stmtrand() extension function for use in testing.drh2024-05-24
| | | | | | FossilOrigin-Name: 5c97a5b9d163b1c427e002f3734687ca0384bc0da6a90fc4bfd358c654d3a7b3
| * Fix the window-function group_concat() so that it returns an empty string drh2024-05-23
| | | | | | | | | | | | | | if it has one or more empty string inputs. This fixes a bug introduced by [c6da39115d3e2b0f] on 2019-03-26 (version 3.28.0) and reported by [forum/forumpost/bf8f43aa522c2299|forum post bf8f43aa522c2299]. FossilOrigin-Name: cec6bb3fc9932ea78ec8e63d9c2d4e56a4d94b8973b9ea46033cc4baa87c0476
| * Merge various enhancements that were being held on a branch until after thedrh2024-05-23
| |\ | | | | | | | | | | | | | | | | | | | | | | | | 3.46.0 release. (1) Allow arbitrary expressions in the second argument to the RAISE() function. (2) Performance optimization to the OP_OpenRead and OP_OpenWrite bytecode operators. (3) Allow FTS5 tables to be dropped even if the associated tokenizer is not available. (4) Performance optimizations in FTS5. (5) Generate better bytecode to improve performance of ONEROW scans. FossilOrigin-Name: 1e5385ffc30743412ade1536583504eec36790cac5355042aa1e12d8d2271d1f
| | *-----. Merge branches "fix-onerow-opt", "faster-openread", "fts5-delay-tokenizer" ↵dan2024-05-17
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | and "enhanced-raise", each containing minor enhancements prepared for 3.47, into this branch. FossilOrigin-Name: 6dc6472175bccbed15ebf6811c209d1a0b5fad60158fb32040210f2cdae916a6
| | | | | | * Fix a problem in where.c preventing SQLite from identifying some ONEROW ↵dan2024-05-17
| | | |_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | scans, leading to (slightly) sub-optimal byte-code. FossilOrigin-Name: b41e71208abcdf988f57c3fd7e6a372bbaf442c32a8e2c051beb8d45c8001e0f
| | | | | * Optimization in the implementation of OP_OpenRead and OP_OpenWritedrh2024-05-12
| | | | |/ | | | | | | | | | | FossilOrigin-Name: 3a256a1667b15702dc5048fdf2fdba9c1e551106ce8cf391360f156fab35ecc5
| | | * | Allow arbitrary expressions as the second argument to RAISE().drh2024-05-08
| | | | | | | | | | | | | | | FossilOrigin-Name: 003e1c8c27824cb917b3869bdf9000f32ff0b6887a2aff8516712cfe865cf34d
| * | | | Fix harmless compiler warnings.drh2024-05-21
| | | | | | | | | | | | | | | FossilOrigin-Name: aab59f9f7c1c4cfac4d29d7c7a381583295312baf3b9a75e30a617b1541e12e1
| * | | | Fix the -> and ->> operators so that when the RHS is a string that looks likedrh2024-05-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a number, it is still treated as a string, because that is what PG does. [forum:/forumpost/9e52cdfe15c3926e|Forum post 9e52cdfe15c3926e]. FossilOrigin-Name: de8182cf1773ac0d04268d896a613841cf6bf61f9f030342170657d5e06f2acb
| * | | | Improvements to the sqlite3_vtab_distinct() documentation.drh2024-05-20
| | | | | | | | | | | | | | | FossilOrigin-Name: 6ee041d34f292b94701919f51bbb9e12bcb9e0c4f45e4c0b83f30ff328070637
| * | | | 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
| * | | | Improvements to a VDBE comment. No changes to anything that affects queries.drh2024-05-17
| |/ / / | | | | | | | | FossilOrigin-Name: c2188da860a1debd7c5d28b223deeef15035c33c2c5aefae9d9b620b6a2b4677
| * | | Add extra tests for the error messages generated by sqlite3_declare_vtab() ↵dan2024-05-16
| | | | | | | | | | | | | | | | | | | | when passed something other than a well-formed CREATE TABLE statement. FossilOrigin-Name: 5fa0c2a026f0467af3a76ea80cee8168b7a49553c350f642d1dff02ff9e7aeed
| * | | The sqlite3_declare_vtab() interface should return SQLITE_ERROR, notdrh2024-05-16
| | | | | | | | | | | | | | | | | | | | | | | | SQLITE_MISUSE when a nonsense SQL input is provided, for legacy compatibility. [forum:/forumpost/4b875d7b2a|Forum post 4b875d7b2a]. FossilOrigin-Name: 1ec2961a0341619ae88832942b52606b3246fc0de07ca6da0300e4bfc656ecf0
| * | | Back out the assert() fixes from [a9443dbfbe25e588] anddrh2024-05-15
| | | | | | | | | | | | | | | | | | | | | | | | [3afaeac56dff58db] (but keep the corresponding test cases) because they are both made obsolete by the previous fix on this branch. FossilOrigin-Name: 3120c7c8a3565b8a3ca321129c09db96839c2f9af1777fc7a1668fef81973603
| * | | Fix a case where an error in the ORDER BY clause of an aggregate function ↵dan2024-05-15
| | |/ | |/| | | | | | | | | | that is part of a trigger body might cause an assert() to fail in an ALTER TABLE command. FossilOrigin-Name: b79a8be37b44c1eff7d00f7af7cd9d0e13614ce5961bb88ddb9ec63f6a846c78
| * | 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
| * | Improvements to the ".testctrl fault_install" command in the CLI.drh2024-05-10
| | | | | | | | | FossilOrigin-Name: 48b34ded82d0cec8a7dd67431f057b320b8c459b1b78c0fbf79bc2b355e85d4e
| * | Add an sqlite3FaultSim(300) call to the sqlite3ParserAddCleanup() routinedrh2024-05-10
| | | | | | | | | | | | | | | for more precise simulation of OOM errors in that routine. FossilOrigin-Name: 1e8863909ac369e5e62e82e53b6e5a7cc6794100cef281ede00b0bb9bbc28594
| * | Squelch two OMIT-flag-related warnings reported in ↵stephan2024-05-10
| | | | | | | | | | | | | | | [forum:388243d9882067a9|forum post 388243d9882067a9]. No functional changes. FossilOrigin-Name: 1d6716054d7fc50df237996c3db30e5fb8e32acbf48cb8b9af472360515945c4
| * | Rename a shadowed local var, as reported in [forum:2ba65af3148585cf|forum ↵stephan2024-05-08
| |/ | | | | | | | | post 2ba65af31]. No functional changes. FossilOrigin-Name: d030c87c4d410e9ca2b90ec7cb63e752f4490c60e2feac84f233861593142c7d
| * Ensure successive scans of pragma virtual tables return consistent rowids.dan2024-05-07
| | | | | | FossilOrigin-Name: 6838bf3ac130c5862f5fbc718b3e49ece154fa840b6539af2616cffa31e73808
| * Omit redundant unary + operators from the AST.drh2024-05-06
| | | | | | FossilOrigin-Name: f81cc149e5e308785502b36e83eaaf3d31c72520793e0596d5496abd70f9cda8
| * Avoid unnecessary recursion in sqlite3ExprDeleteNN(). This complicates thedrh2024-05-06
| | | | | | | | | | | | code, but it is needed to prevent nuisance "stack overflow" reports from OSSFuzz while it is running the latest ASAN. FossilOrigin-Name: 70abc144ca90a58ea25dc2d90683545246c084d961215c20ec070b0abe640371
| * Assume that a function is able to return a subtype if either (1) it is itselfdrh2024-05-04
| | | | | | | | | | | | | | | | marked with SQLITE_RESULT_SUBTYPE, or (2) one of its arguments is a function that is able to return a subtype. This check-in backs out the code changes from the previous two on this same branch, but keeps the test cases from the previous two. FossilOrigin-Name: f16b200f25a0ec59ad765d254d81c3ffdba21f79e6e82807a7b80d00627952e2
| * Functions that pass through the sqlite3_value of one of their arguments mustdrh2024-05-04
| | | | | | | | | | | | also be marked as SQLITE_RESULT_SUBTYPE, in case one of their arguments has a subtype. FossilOrigin-Name: 2f9fba931d9f80b3d5dffb175180098756bccc6a8f665d7aaf8826970ab60d72
| * The coalesce(), ifnull(), and iif() functions pass through subtype valuesdrh2024-05-03
| | | | | | | | | | | | from their arguments, and hence need to have the SQLITE_RESULT_SUBTYPE flag set. This fixes an corner-case for the patch at [ba789a7804ab96d8]. FossilOrigin-Name: cdd1610c44876623e629bb8e5779ea689e6d23c545552b088eca63ad2d1cf8da
| * Fix a problem with queries that use "IN(...) ORDER BY ... NULLS LAST" or ↵dan2024-05-02
| | | | | | | | | | similar introduced by [d7648e21605a0b38]. FossilOrigin-Name: 26b2d9390f1273ee0e3f3c96f6bc5bf0e9c1dcfd0d9ecd993dba487ef5a07f7e
| * Avoid an assert failure accessible only when internal testing features are ↵dan2024-05-02
| | | | | | | | | | enabled. dbsqlfuzz crash-66abacda6bca6bd531e25595e8c8068e2c710326.txt. FossilOrigin-Name: fbc446daac761dd1b66a85c9b61e1d5af194a8fd665600c43a874da38cc6ec10
| * Avoid an OP_Next in cases where an IN(...) query against a UNIQUE index may ↵dan2024-05-02
| |\ | | | | | | | | | | | | return at most 1 row. FossilOrigin-Name: d7648e21605a0b381b1935a47e5a77bdfacc4cc96f03d6bb7956f8f4e6a40648
| | * Avoid an OP_Next in cases where an IN(...) query against a UNIQUE index may ↵dan2024-05-01
| | | | | | | | | | | | | | | return at most 1 row. FossilOrigin-Name: 560f64157d2fe40e107582eebb6526185c9c43305e364f4132e182dbec5b210a
| * | Do not accept a string that looks like a number used as an argument todrh2024-05-02
| | | | | | | | | | | | | | | | | | PRAGMA integrity_check as a number. Treat it as a table name that just happens to look like a number. FossilOrigin-Name: b04e7a23478f1012e501a810f3e09cca81a66e802f5f72cae80c81120174e2cb
| * | Omit the OP_SqlExec to "PRAGMA integrity_check" added by [348fa7aaf7958b3f]drh2024-05-02
| |/ | | | | | | | | | | because it is a no-op. Even if the integrity_check failes, the CREATE TABLE is stull successful. The OP_SqlExec just burns CPU cycles for no reason. FossilOrigin-Name: 532795acd1c800751737fe70148f9ae691e9cf11b836577f8538421d24cab2fe