SQLite

Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

74 check-ins using file src/vdbeaux.c version 3bcf1377

2024-08-10
10:14
Enhancements to covering-index prediction. Add early detection of over-prediction of covering-indexes so that sqlite3_prepare() will return an error rather than just generate bad bytecode. (check-in: 4afe3201 user: drh tags: branch-3.46)
2024-08-09
12:20
Remove unused static var cBadGroup from ext/consio/console_io.c to resolve a compiler warning reported in the fossil forum. This is a build fix, not a functional change. (check-in: be3de2e6 user: stephan tags: branch-3.46)
2024-08-08
15:42
Ensure sqlite3expert.c unregisters any SQL user-functions it registers with the database handle before returning. (check-in: 27083144 user: dan tags: branch-3.46)
14:49
Do not let the number of terms on a VALUES clause be limited by SQLITE_LIMIT_COMPOUND_SELECT, even if the VALUES clause contains elements that appear to be variables due to the use of double-quoted string literals. (check-in: 05dbfad7 user: drh tags: branch-3.46)
10:55
Move a misplaced va_end, as reported in forum post 702c79e9da. (check-in: 569824c7 user: stephan tags: branch-3.46)
2024-08-06
22:54
Improved robustness of parsing of tokenize= arguments in FTS5. (check-in: 7a65ac42 user: drh tags: branch-3.46)
2024-07-15
10:13
Slight doc touchup for [af41a1e6fc8b36e9bf65]/[c7519d98ff09e] based on feedback. No code changes. (check-in: a61997c3 user: stephan tags: branch-3.46)
2024-07-12
13:51
Work around a difficult-to-trigger Atomics API message-passing quirk in the OPFS VFS which appears in rare instances in some browsers when running high I/O loads. This resolves issue #12 of the npm distribution. (check-in: c7519d98 user: stephan tags: branch-3.46)
2024-06-17
13:06
Improve the JS-exception-to-C-result-code conversion to account for the case of a file disappearing while the OPFS VFS is waiting to acquire a lock on it. (check-in: d34e7880 user: stephan tags: branch-3.46)
2024-06-12
21:08
Fix a potential db corruption case triggered by the OPFS VFS's xCheckReservedLock() implementation. (check-in: a7cd07d9 user: stephan tags: branch-3.46)
2024-06-09
17:58
Disable the omit-noop-join optimization when there are 64 or more terms in the ORDER BY clause. (check-in: a7fe90c1 user: drh tags: branch-3.46)
2024-06-05
16:50
Fix an fts5 problem with secure-delete mode causing integrity-check to erroneously report a corrupt index. (check-in: 0a7fa0a4 user: drh tags: branch-3.46)
2024-05-28
18:53
Tweaks to the query planner so that it is better able to deal with star queries with many dimensions and bad indexes. (check-in: 1e490810 user: drh tags: trunk)
15:37
For query planning purposes, assume every table holds at least 100 rows, as this seems to give better worst-case performance if the table row count estimate turns out to be inaccurate. Park this change on a branch for now and consider it for a future enhancement. (Leaf check-in: 76c7d933 user: drh tags: min-row-estimate)
12:41
Increase the number of parallel paths in the query solver from 12 to 20. In the .wheretrace output, sort the parallel paths in order of increasing cost. (check-in: 8ba2c2f5 user: drh tags: trunk)
11:24
Documentation typo fix. Forum post 772d6688f5. (check-in: 1f2f9c70 user: drh tags: trunk)
10:57
Fix a problem with the error message reported by fts5 in some OOM cases. (check-in: c7aaa28f user: dan tags: trunk)
00:16
Improve the automatic-index decision such that no attempt is made to create 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 ticket [8ff324e120d5e9bd] and forum post b21c2101a559be0a. (check-in: 2a7603c3 user: drh tags: trunk)
00:01
Query planner tuning: Increase the maximum number of simultaneous solutions to track in the solver from 10 to 12. (check-in: fe2e1dad user: drh tags: trunk)
2024-05-27
21:55
Avoid creating an automatic index on a column that is known to be not very selective. (Closed-Leaf check-in: 70409763 user: drh tags: auto-index-improvements)
19:52
The previous check-in was a little two aggressive about skipping the initialization of entries in the CellArray.ixNx array. Fixed here. (check-in: 1b6d1fbc user: drh tags: trunk)
18:15
Fix typo in comment used to generate parts of the documentation. Forum post da5a2ca4db. (check-in: 428aadf0 user: drh tags: trunk)
15:13
Very small performance increase and size reduction by removing unnecessary ALWAYS() macros from the btree balance logic and replacing them with special initialization of CellArray and some assert()s. (check-in: 32b79041 user: drh tags: trunk)
13:41
Doc typo fix. No code changes. (check-in: eaf07fe6 user: stephan tags: trunk)
13:24
For compatibility with PostgreSQL, when right-hand side of the ->> operator is negative, it should index from the right side of the JSON array on the left-hand side. (check-in: 82365a45 user: drh tags: trunk)
11:38
Fix a possible buffer overwrite in the ".import" command. (check-in: 55eee9f9 user: drh tags: branch-3.46)
11:35
Fix a possible buffer overwrite in the ".import" command. forum post 0c447f0548. (check-in: 0fd958fa user: dan tags: trunk)
11:31
Add new assert() statements to help out a static analyzer. Response to forum post 17fe8ac32e0de4f5. (check-in: 857f6d53 user: drh tags: trunk)
2024-05-25
23:17
Ensure that sqlite3ViewGetColumnNames() returns non-zero on any error. (check-in: 01ead0a2 user: drh tags: branch-3.46)
23:13
Ensure that sqlite3ViewGetColumnNames() returns non-zero on any error. dbsqlfuzz d9de2a508f693e5a228d7a01d5341e3c64326fbb. (check-in: 57aeb3a2 user: drh tags: trunk)
2024-05-24
23:44
Ensure that queries like "SELECT func(a) FROM tab GROUP BY 1" only call the func() function once per row. Fix for the issue described in forum thread bf8f43aa522c2299. (check-in: 663f5dd3 user: drh tags: trunk)
21:38
Fix another fts5 problem related to unknown tokenizer modules. (check-in: e78b7783 user: dan tags: trunk)
21:23
Fix a crash in fts5 that could occur within "PRAGMA integrity_check" if the specified tokenizer was unknown. (check-in: 061d7b69 user: dan tags: trunk)
20:18
When omitting result columns for the vector-IN optimization, make sure that any result-set column references in both the ORDER BY clause and the GROUP BY clause are updated appropriately. (Closed-Leaf check-in: f890812d user: drh tags: group-by-consistency)
18:31
Ensure that queries like "SELECT indeterministic(a) FROM tbl GROUP BY 1" invoke the indeterministic function only once for each row of tbl. (check-in: 4555d665 user: dan tags: group-by-consistency)
14:16
Add the stmtrand() extension function for use in testing. (check-in: 5c97a5b9 user: drh tags: trunk)
13:33
Fix an "ifcapable" expression in values.test. (check-in: b8442d2a user: dan tags: trunk)
2024-05-23
23:34
Increase the version number to 3.46.1 (check-in: 170e3a91 user: drh tags: branch-3.46)
23:30
Fix the window-function group_concat() so that it returns an empty string if it has one or more empty string inputs. (check-in: 7fe11274 user: drh tags: branch-3.46)
23:26
Fix the window-function group_concat() so that it returns an empty string 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 post bf8f43aa522c2299. (check-in: cec6bb3f user: drh tags: trunk)
15:05
Merge various enhancements that were being held on a branch until after the 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. (check-in: 1e5385ff user: drh tags: trunk)
14:58
Increase the version number to 3.47.0 to begin the next development cycle. (check-in: 20e228a2 user: drh tags: trunk)
13:25
Version 3.46.0 (check-in: 96c92aba user: drh tags: trunk, release, major-release, version-3.46.0)
2024-05-21
17:37
Ensure an sqlite_dbdata cursor is properly reset before being used again, even if it has already encountered database corruption. (check-in: 3210e1ca user: dan tags: trunk)
14:54
Do not attempt to run mmapcorrupt.test with builds that do not support mmap(). (check-in: 54a49f18 user: dan tags: trunk)
13:34
Fix harmless compiler warnings. (check-in: aab59f9f user: drh tags: trunk)
11:11
Fix the -> and ->> operators so that when the RHS is a string that looks like a number, it is still treated as a string, because that is what PG does. Forum post 9e52cdfe15c3926e. (check-in: de8182cf user: drh tags: trunk)
2024-05-20
19:59
Omit a capi3 test from 2007 that depends upon undefined behavior (UAF). (check-in: a60a0b75 user: drh tags: trunk)
19:51
Do not run the tests in recovercorrupt4.test with the inmemory_journal permutation. (check-in: c13205d6 user: dan tags: trunk)
17:52
Improvements to the documentation of sqlite3_vtab_distinct(). Do not allow sqlite3_vtab_distinct() to return 2 or 3 if the rowid column of the virtual table is used, as doing so might lead to an incorrect answer. (check-in: 08058d66 user: drh tags: trunk)
16:00
Improvements to the sqlite3_vtab_distinct() documentation. (Closed-Leaf check-in: 6ee041d3 user: drh tags: vtab-distinct-fix)
2024-05-18
20:00
Fix the definition of sqlite3_vtab_distinct() such that return codes 2 and 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. (check-in: 922731ce user: drh tags: vtab-distinct-fix)
15:21
JS error message and doc typos reported in the forum. No code changes. (check-in: 1a073f9a user: stephan tags: trunk)
2024-05-17
22:51
Improvements to a VDBE comment. No changes to anything that affects queries. (check-in: c2188da8 user: drh tags: trunk)
14:26
Merge branches "fix-onerow-opt", "faster-openread", "fts5-delay-tokenizer" and "enhanced-raise", each containing minor enhancements prepared for 3.46, into this branch. (Closed-Leaf check-in: 6dc64721 user: dan tags: pending-3.46)
13:56
Fix a problem in where.c preventing SQLite from identifying some ONEROW scans, leading to (slightly) sub-optimal byte-code. (Closed-Leaf check-in: b41e7120 user: dan tags: fix-onerow-opt)
2024-05-16
16:22
Add extra tests for the error messages generated by sqlite3_declare_vtab() when passed something other than a well-formed CREATE TABLE statement. (check-in: 5fa0c2a0 user: dan tags: trunk)
15:57
The sqlite3_declare_vtab() interface should return SQLITE_ERROR, not SQLITE_MISUSE when a nonsense SQL input is provided, for legacy compatibility. Forum post 4b875d7b2a. (check-in: 1ec2961a user: drh tags: trunk)
00:20
Fix a case where an error in the ORDER BY clause of an aggregate function that is part of a trigger body might cause an assert() to fail in an ALTER TABLE command. dbsqlfuzz 899d9255555a07f1fe11a0bb51a2fe197b3150cd (check-in: 953271f2 user: drh tags: trunk)
2024-05-15
23:36
Back out the assert() fixes from [a9443dbfbe25e588] and [3afaeac56dff58db] (but keep the corresponding test cases) because they are both made obsolete by the previous fix on this branch. (Closed-Leaf check-in: 3120c7c8 user: drh tags: alter-table-fix)
21:38
Fix a case where an error in the ORDER BY clause of an aggregate function that is part of a trigger body might cause an assert() to fail in an ALTER TABLE command. (check-in: b79a8be3 user: dan tags: alter-table-fix)
15:06
If there is no data available for a field in a corrupted record, but the type is available, have the recovery extension substitute 0, 0.0, '' or X'' instead of a NULL value. (check-in: 8eb326c2 user: dan tags: trunk)
2024-05-14
19:41
Optimize queries against fts5vocab(row) tables that do use the "cnt" column. (Closed-Leaf check-in: 96a591c2 user: dan tags: fts5-delay-tokenizer)
19:09
Avoid calculating the value of the "cnt" column for fts5vocab(row) queries that do not use it. (check-in: c0c91e30 user: dan tags: fts5-delay-tokenizer)
17:16
Have fts5 tables delay initializing the tokenizer until it is first used in all cases where the tokenizer is not "trigram". (check-in: ca4fdcb8 user: dan tags: fts5-delay-tokenizer)
2024-05-13
20:06
Allow existing fts5 tables to be dropped even if the associated tokenizer is not available. (check-in: 69ef47ee user: dan tags: fts5-delay-tokenizer)
2024-05-12
00:26
Optimization in the implementation of OP_OpenRead and OP_OpenWrite (Closed-Leaf check-in: 3a256a16 user: drh tags: faster-openread)
2024-05-11
16:44
Add tests to bestindexC.test. No changes to code. (check-in: 58d938c0 user: dan tags: trunk)
2024-05-10
18:24
Fix aggregate function processing to correctly deal with OOMs inside of sqlite3ParserAddCleanup(). (dbsqlfuzz b2d11ca70e55ee8bde48ae0b53fa3e9355812f95). Also add improved testing support by causing sqlite3FaultSim(300) to simulate an OOM inside of sqlite3ParserAddCleanup() and by adding improved fault-sim support to the CLI. (check-in: c6fd70b3 user: drh tags: trunk)
18:15
Add a test for the fixes on this branch. (Closed-Leaf check-in: 716088d6 user: dan tags: cleanup-testing)
18:10
The sqlite3FaultSim(300) error from [1e8863909ac369e5] must be treated as 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. (check-in: c623d9a5 user: drh tags: cleanup-testing)
17:05
Improvements to the ".testctrl fault_install" command in the CLI. (check-in: 48b34ded user: drh tags: cleanup-testing)
16:28
Add an sqlite3FaultSim(300) call to the sqlite3ParserAddCleanup() routine for more precise simulation of OOM errors in that routine. (check-in: 1e886390 user: drh tags: cleanup-testing)
09:26
Squelch two OMIT-flag-related warnings reported in forum post 388243d9882067a9. No functional changes. (check-in: 1d671605 user: stephan tags: trunk)