/ Timeline
Login

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

50 most recent check-ins that include changes to files matching 'src/*'

2024-05-12
00:26
Optimization in the implementation of OP_OpenRead and OP_OpenWrite (Leaf check-in: 3a256a1667 user: drh tags: faster-openread)
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: c6fd70b3c2 user: drh tags: trunk)
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: c623d9a51e user: drh tags: cleanup-testing)
17:05
Improvements to the ".testctrl fault_install" command in the CLI. (check-in: 48b34ded82 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: 1e8863909a user: drh tags: cleanup-testing)
09:26
Squelch two OMIT-flag-related warnings reported in [forum:388243d9882067a9|forum post 388243d9882067a9]. No functional changes. (check-in: 1d6716054d user: stephan tags: trunk)
2024-05-08
17:57
Rename a shadowed local var, as reported in [forum:2ba65af3148585cf|forum post 2ba65af31]. No functional changes. (check-in: d030c87c4d user: stephan tags: trunk)
17:42
Allow arbitrary expressions as the second argument to RAISE(). (Leaf check-in: 003e1c8c27 user: drh tags: enhanced-raise)
2024-05-07
17:58
Ensure successive scans of pragma virtual tables return consistent rowids. (check-in: 6838bf3ac1 user: dan tags: trunk)
2024-05-06
20:18
Omit redundant unary + operators from the AST. (check-in: f81cc149e5 user: drh tags: trunk)
19:04
Avoid unnecessary recursion in sqlite3ExprDeleteNN(). This complicates the code, but it is needed to prevent nuisance "stack overflow" reports from OSSFuzz while it is running the latest ASAN. (check-in: 70abc144ca user: drh tags: trunk)
2024-05-04
15:10
Assume that an SQL function is able to return a subtype if any of its arguments are SQL functions that are able to return subtypes. This closes a corner-case hole in the patch at [ba789a7804ab96d8]. (check-in: b36d499e4c user: drh tags: trunk)
15:04
Assume that a function is able to return a subtype if either (1) it is itself 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. (Closed-Leaf check-in: f16b200f25 user: drh tags: func-rw-subtype)
11:31
Functions that pass through the sqlite3_value of one of their arguments must also be marked as SQLITE_RESULT_SUBTYPE, in case one of their arguments has a subtype. (check-in: 2f9fba931d user: drh tags: func-rw-subtype)
2024-05-03
19:35
The coalesce(), ifnull(), and iif() functions pass through subtype values from their arguments, and hence need to have the SQLITE_RESULT_SUBTYPE flag set. (check-in: cdd1610c44 user: drh tags: func-rw-subtype)
2024-05-02
19:22
Fix a problem with queries that use "IN(...) ORDER BY ... NULLS LAST" or similar introduced by [d7648e21605a0b38]. (check-in: 26b2d9390f user: dan tags: trunk)
18:16
Avoid an assert failure accessible only when internal testing features are enabled. dbsqlfuzz crash-66abacda6bca6bd531e25595e8c8068e2c710326.txt. (check-in: fbc446daac user: dan tags: trunk)
14:48
Avoid an OP_Next in cases where an IN(...) query against a UNIQUE index may return at most 1 row. (check-in: d7648e2160 user: dan tags: trunk)
12:14
Fix the CREATE TABLE performance issue described by [forum:/forumpost/4cf69794d9dfff7c|forum thread 4cf69794d9dfff7c] in two different ways: (1) Omit the call to PRAGMA integrity_check('X') that was being done after CREATE TABLE "X" because the result was being ignored and the integrity_check was not doing anything other than burning CPU cycles. (2) Do not interpret the argument to PRAGMA integrity_check as a number if it is in fact a string that looks like a number. (check-in: 71f08b9122 user: drh tags: trunk)
11:52
Do not accept a string that looks like a number used as an argument to PRAGMA integrity_check as a number. Treat it as a table name that just happens to look like a number. (check-in: b04e7a2347 user: drh tags: faster-create)
11:51
Omit the OP_SqlExec to "PRAGMA integrity_check" added by [348fa7aaf7958b3f] 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. (check-in: 532795acd1 user: drh tags: faster-create)
2024-05-01
19:48
Avoid an OP_Next in cases where an IN(...) query against a UNIQUE index may return at most 1 row. (Closed-Leaf check-in: 560f64157d user: dan tags: unique-in-opt)
2024-04-30
19:34
Avoid 32-bit overflow when calculating ncycle for ".scanstats vm". (check-in: 2858efa06d user: dan tags: trunk)
2024-04-26
19:10
Fix issues in [/info/1e227ad9f413227f|LIMIT/OFFSET support for virtual tables]. The first problem was reported by [forum:/forumpost/c243b8f856|forum post c243b8f856]. That report prompted an enhancement to the generate_series() (also included in this merge) which in turn identified other similar issues. (check-in: 5f6c079d84 user: drh tags: trunk)
18:13
Allow virtual table implementations to handle OFFSET but not LIMIT, but not LIMIT but not OFFSET. (Closed-Leaf check-in: 90e5c8226a user: dan tags: vtab-limit-fix)
17:19
Have where.c ignore any plan from a virtual table that tries to use LIMIT/OFFSET without also using all WHERE constraints. (check-in: 7d30596496 user: dan tags: vtab-limit-fix)
14:32
Fix a problem allowing a LIMIT constraint to be passed to a virtual table in cases where there exist WHERE terms that cannot also be passed. (check-in: 72c8ed9698 user: dan tags: vtab-limit-fix)
13:38
Fix handling of LIMIT and OFFSET in virtual tables that are part of a compound SELECT. (check-in: 40421c1c4e user: drh tags: vtab-limit-fix)
11:32
Fix the TreeView display of a LIMIT clause on a compound query. Debugging code only - not part of production builds. (check-in: 38f1e5ce4e user: drh tags: trunk)
2024-04-25
23:26
Improvement to the way that affinity is determined for columns of a compound subquery. The affinity is the affinity of the left-most arm of the compound subquery that has an affinity other than NONE, adjusted to accommodate the data types coming out of the other arms. (check-in: e6df846f36 user: drh tags: trunk)
17:52
Further improvements to the computation of affinity for compound subqueries: make sure that the selected affinity is compatible with a literal values in arms to the left of the arm that is used to determine affinity. (Closed-Leaf check-in: bbdf22e3d9 user: drh tags: compound-subquery-affinity)
16:55
Back out the previous change on this branch. In its place: Determine the affinity of a subquery by the left-most arm of the subquery that has an affinity other than NONE. In other words, scan from left to right looking for an arm of the compound subquery with an affinity of BLOB, TEXT, INTEGER, or REAL and pick the first one found. Or stay with NONE if no arm has a defined affinity. Test cases added. (check-in: b8ec8511b1 user: drh tags: compound-subquery-affinity)
2024-04-24
19:49
An experimental minor tweak to the way affinities are computed for compound subqueries, when the actual affinity is ambiguous. (check-in: 779723ad79 user: drh tags: compound-subquery-affinity)
16:36
If a RETURNING clause contains a subquery that references the table that is being updated in the statement that includes the RETURNING clause, then mark the subquery as correlated so that it is recomputed for each result and not just computed once and reused. See [forum:/forumpost/2c83569ce8945d39|forum post 2c83569ce8945d39]. (check-in: 9ea6bcc8fd user: drh tags: trunk)
14:18
Fix a case where a corrupt stat4 record could go unrecognized due to integer overflow. (check-in: 240a4a48b2 user: dan tags: trunk)
11:51
Add comments linking the assert() added in [cef4d9e3ba586735] to the places where the precondition that the assert() tests are actually required. (check-in: 6f0e7e1952 user: drh tags: trunk)
11:40
Avoid slowdown when exprNodeIsConstant() is called on deeply nested SQL functions. (check-in: 1c0b034545 user: dan tags: trunk)
11:21
Ensure that temporary SrcItem objects created by trigger processing have either SrcItem.zName or SrcItem.pSelect defined. Every SrcItem should have one or the other. (check-in: cef4d9e3ba user: drh tags: trunk)
2024-04-23
12:02
Fix a problem with vector IN operators used with an index where the affinities and collations for the various vector terms are different. (check-in: 86e8c782e7 user: drh tags: trunk)
11:56
Fix an uninitialized variable problem in the new code on this branch. (Closed-Leaf check-in: 85625b3871 user: dan tags: vector-in-fix)
2024-04-22
13:31
Extra robustness in the code that causes cursors to return NULL when they are participating in an OUTER JOIN. (check-in: 672c2869ef user: drh tags: trunk)
00:42
Continuation of the fix at [8c0f69e0e4ae0a44]: If a viaCoroutine FROM clause term is participating in a RIGHT or FULL JOIN, we have to create an always-NULL pseudo-cursor for that term when processing the RIGHT join. dbsqlfuzz 6fd1ff3a64bef4a6c092e8d757548e95698b0df5. (check-in: e1040e51eb user: drh tags: trunk)
2024-04-21
23:35
Fix an indentation problem in debugging routine sqlite3ShowSrcList(). No changes to production code. (check-in: 5560df2726 user: drh tags: trunk)
2024-04-20
19:19
Slight performance improvement for the new code on this branch. (check-in: 500c67f134 user: dan tags: vector-in-fix)
15:14
Fix a problem where an expression like (a, b) IN (SELECT ...) might not use an index on (a, b) if the affinities and collation sequences of "a" and "b" are not identical. (check-in: 4d870fd8b5 user: dan tags: vector-in-fix)
2024-04-18
16:11
Correct handling of OUTER JOIN when on or the other operand is a subquery implemented using the VALUES-as-coroutine optimization. dbsqlfuzz bde3bf80aedf25afa56e2997a0545a314765d3f8. (check-in: 8c0f69e0e4 user: drh tags: trunk)
2024-04-15
20:43
The first assert() added in [0ebc65481f4a3e79] is not necessarily true in a corrupt database file. So add a term to make it true. (check-in: 6b21cccdee user: drh tags: trunk)
14:59
Merge version 3.45.3 patches into the reuse-schema-3.45 sub-branch. (Leaf check-in: a1ff415341 user: drh tags: reuse-schema-3.45)
14:45
Merge all of the latest trunk enhancements into the bedrock branch. (Leaf check-in: 16dac180b5 user: drh tags: bedrock)
14:39
Merge the latest trunk enhancements into the wal2 branch. (Leaf check-in: 4a72acbc4b user: drh tags: wal2)