/ Timeline
Login

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

200 most recent check-ins using file src/os.h version 4838882169

2024-04-02
18:48
Fix typos in comments. Provided ".wheretrace" debugging output for the interstage heuristic module. Do omit automatic index loops in the interstage heuristic. Leaf check-in: 357d9513d2 user: drh tags: branch-3.28
18:31
Fix table-valued functions so that they will work as the right table in a LEFT JOIN. Ticket [2ae0c599b735d59e] check-in: 1f97086d62 user: drh tags: branch-3.28
11:54
Add a heuristic in between the two solver() passes of the query planner that tries to prevent a very slow query plan in cases where the output row count estimate is imprecise. check-in: 74b247d958 user: drh tags: branch-3.28
2023-11-29
16:26
Fix a duplicate assert() caused by the second cherrypick in the previous check-in. check-in: f10d4fc4a8 user: drh tags: branch-3.28
16:07
Remove Window objects from the corresponding Select.pWin list when they are deleted, as they are, for example, when the ORDER BY clause is optimized out. check-in: f9c6e6a710 user: drh tags: branch-3.28
2023-10-19
21:05
Ensure that when an ephemeral cursor is reopened with a second invocation of to OP_OpenEphemeral, the sequence counter is reset and the cache marked as stale. Fix for [9cdc5c46]. check-in: d4bfa8d21a user: drh tags: branch-3.28
2023-09-15
20:04
Drop support for the view-scan optimization as it was causing multiple performance regressions. In its place, reduce the estimated row count for DISTINCT subsqueries by a factor of 8. check-in: 796a65fa61 user: drh tags: branch-3.28
2023-02-26
11:52
In the [/info/7c2d3406000dc8ac|omit-unused-subquery-columns optimization], be sure to remove the EP_Skip and EP_Unlikely flags from the result set expressions that get nulled-out. dbsqlfuzz bf1d3ed6e0e0dd8766027797d43db40c776d2b15. Also fix an incorrect ".selecttrace" code block. check-in: 83a7f13edb user: drh tags: branch-3.28
2023-02-16
21:01
Fix an #ifdef that uses a different macro name from the main branch. check-in: ad6ac5d3e8 user: drh tags: branch-3.28
19:04
Back-port omit-unused-subquery-column enhancements into the 3.28 branch. check-in: 57a4e91f43 user: drh tags: branch-3.28
14:29
Do not compute result columns of subqueries that are never used. Make those columns NULL instead. This optimization potentially resolves the enhancement request described by [baa5bb76c35a124c|ticket baa5bb76c35a124c]. check-in: 0163b697dd user: drh tags: branch-3.28
01:29
Do not compute unused result columns of subqueries. This optimization will potentially resolve the performance optimization request of [baa5bb76c35a124c|ticket baa5bb76c35a124c]. Closed-Leaf check-in: 0c21b6a5f8 user: drh tags: branch-3.26
01:21
Update test cases so that they work with TCL 8.7 and later. check-in: e9b762de0e user: drh tags: branch-3.26
2023-02-15
13:00
Update the configure script so that it contains the correct version number. check-in: a7cbf30808 user: drh tags: branch-3.26
2022-10-24
13:50
Improve the ability of the query planner to recognize covering indexes even on tables with more than 63 columns and where the index is over columns beyond the 63rd column. check-in: 3d1992de47 user: drh tags: branch-3.28
2022-10-19
11:22
If a query uses an index where one or more of the columns of the index is an expression and if the corresponding expression is used elsewhere in the query, then strive to read the value of the expression out of the index, rather than recomputing it. This is the "Indexed Expression Optimizations". check-in: 3da1032878 user: drh tags: branch-3.28
2022-09-01
10:41
In the query planner, add a heuristic that will reduce the cost of a full table scan for a materialized view or subquery if the full scan is the outer-most loop. This is shown to speed up some queries. check-in: e3754cc188 user: drh tags: branch-3.28
2022-08-10
17:03
Merge the branch-3.28a fixes into branch-3.28. check-in: ba6bf33147 user: drh tags: branch-3.28
2022-08-09
20:22
Fix a rounding error caused by scalar->logarithm->scalar conversion when using stat4 data to estimate some range scans. check-in: 68d86f2b20 user: drh tags: branch-3.28
2021-08-11
18:56
Fix an RBU problem with restarting an update after the *-oal file is already larger than 4GiB. Leaf check-in: 56869f54f3 user: dan tags: rbu-replace-hack
18:44
If the special "sqlite_rbu_replace_hack" table is present in an RBU database, use REPLACE instead of INSERT when writing index entries to imposter tables. check-in: 4b73e151cd user: dan tags: rbu-replace-hack
2021-07-13
15:30
Remove two incorrect assert() statements from the logic used to derive column names and types from subqueries. This allows the SQL associated with CVE-2020-13871 (ticket [c8d3b9f0a750a529]) to be tested. Closed-Leaf check-in: d2e6722037 user: dan tags: branch-3.28a
2021-07-12
15:00
Fix a defect in the query-flattener optimization identified by ticket [8f157e8010b22af0]. This fix is associated with CVE-2020-15358. Leaf check-in: bcd014c473 user: dan tags: branch-3.32a
14:38
Fix a defect in the query-flattener optimization identified by ticket [8f157e8010b22af0]. This fix is associated with CVE-2020-15358. check-in: 9e001b635f user: dan tags: branch-3.28a
2021-06-11
12:14
Fix a crash in new ALTER TABLE code that could follow an OOM. check-in: 6f1f2a0a9c user: dan tags: trunk
12:02
Remove an unreachable branch added by the previous commit. check-in: 852ee0e91c user: dan tags: trunk
11:14
Fix problems with ALTER TABLE and schemas that contain views with some recursive CTEs, or CTEs that reference other CTEs. [forum:/forumpost/9d965f2956|Forum post 9d965f2956]. check-in: 8b1f9a51e9 user: dan tags: trunk
2021-06-10
19:37
Fix an assert() added by the previous commit that could fail with some database schemas. Closed-Leaf check-in: 5079b5d58f user: dan tags: alter-table-cte-fix-1
19:08
Fix problems with ALTER TABLE and schemas that contain views with complex CTEs. check-in: 32e3ecfc8b user: dan tags: alter-table-cte-fix-1
14:36
Improved robustness following OOM in the constant propagation optimization. dbsqlfuzz 001a20255c0df7495c21df62a20ea5b51e22c390. check-in: 8658a64d41 user: drh tags: trunk
2021-06-09
14:45
Set the database connection error code for an oversize argument to sqlite3_bind_blob64() or sqlite3_bind_text64(). [forum:/info/a636276f0d451667|Forum post a636276f0d451667] and [forum:/forumpost/33821c8db543c|33821c8db543c]. check-in: 56ff58c0b8 user: drh tags: trunk
13:39
Add defensive code to better handle corrupt records in fts5. check-in: a99c29b5ef user: dan tags: trunk
2021-06-08
23:46
Remove two assert()s in FTS5 that checks for database corruption right before actual code does the same check. dbsqlfuzz 9680db8f5338cb9b6060eb3a02d984555d4472e3. check-in: f3f82967b2 user: drh tags: trunk
17:56
Try to avoid a double-free in the showdb utility program when running pgidx on a corrupt database. See [forum:/forumpost/a60ea5a4d4|forum post a60ea5a4d4] for context check-in: e3188a8663 user: drh tags: trunk
12:22
Add an assert() to prevent the value of the SQLITE_VTABRISK macros from being changed in a way that would break logic. check-in: 33babdb582 user: drh tags: trunk
12:15
Avoid a buffer overread in fts3 that could occur when handling corrupt data structures. check-in: 45f459d2fa user: dan tags: trunk
2021-06-07
17:36
Fix a buffer overread that could occur in fts5 when handling corrupt records. check-in: 078962a216 user: dan tags: trunk
15:28
Fix a buffer overrun in fts3 that could occur when handling corrupt records and '^' queries. check-in: 9d0b6b0f42 user: dan tags: trunk
14:21
Add recent dbsqlfuzz test cases to test/fuzzdata8.db. check-in: 162022003c user: drh tags: trunk
13:50
Avoid use of uninitialized memory while running defragmentPage() on a corrupt database file. dbsqlfuzz 4c45cecc0b255aaf2ea85453ccd17e814fd0b6b2 check-in: 35e40d7575 user: drh tags: trunk
11:50
Fix an assert() in the OP_ParseSchema opcode that might fail on a corrupt database file when running with PRAGMA writable_schema=ON. dbsqlfuzz e7d743ca65f2767e415095f0c5a49166a0f55eea. check-in: 10801f65af user: drh tags: trunk
00:54
Remove unnecessary end-of-line whitespace from the regexp.c extension. check-in: 17e26a1f5e user: drh tags: trunk
00:41
Omit the unnecessary highlighting of the security implications of SQLTIE_DIRECTONLY in the sqlite3_create_function() documentation. No changes to code. check-in: 2aa9368b63 user: drh tags: trunk
2021-06-04
23:26
A better fix for the problem addressed by [4eb80b0cc61526c1]. This fix also avoids reading uninitialized variables. check-in: 1c71de43db user: drh tags: trunk
21:46
Make MSVC build examples work when taken literally, and say when they do. check-in: b53ca8ed83 user: larrybr tags: trunk
17:47
Improvements to the OP_SeekScan optimization. Added the SQLITE_TESTCTRL_TUNE test-control. check-in: 9a2ab6092d user: drh tags: trunk
16:17
Add the (missing) dependency of regexp.c to the shell.c rule in the makefiles. This dependency should have been added by [5d4535bfb603d7c8] but was missed. check-in: c93be7e660 user: drh tags: trunk
16:11
Fix harmless compiler warnings. check-in: 83aca2d870 user: drh tags: trunk
15:56
Fix more cases in the regexp extension where the 0x00 terminator at the end of the input string is being pattern matched. [forum/forumpost/9104f0d9e7|Forum post 9104f0d9e7]. check-in: 569e00d4ac user: drh tags: trunk
13:40
Revamp SQLITE_TESTCTRL_TUNE to provide visibility of current turning parameter values. Closed-Leaf check-in: 677e645e69 user: drh tags: seekscan-improvements
13:16
Add support for SQLITE_TESTCTRL_TUNE and the ".testctrl tune ID VALUE" command in the CLI. check-in: f1199d58b9 user: drh tags: seekscan-improvements
12:29
Merge recent trunk enchancements into the seekscan-improvements branch. check-in: d9e85fe80c user: drh tags: seekscan-improvements
2021-06-03
18:56
Fix a case where combining row-value UPDATE FROM syntax with window functions over aggregates can cause an error. dbsqlfuzz ae4516bff08d736f203f09934e2f4d31e0b3e7ce check-in: 4a587c3492 user: dan tags: trunk
18:51
Fix the truncate optimization so that PRAGMA count_changes and changes() return correct values even for a WITHOUT ROWID table. [forum:/forumpost/07dedbf9a1|Forum post 07dedbf9a1]. check-in: 820ae3b117 user: drh tags: trunk
13:51
Add the regexp() and regexpi() extension functions to the CLI. check-in: 5d4535bfb6 user: drh tags: trunk
13:44
Fix a bug in the regexp extension in which the "." wildcard would match the 0x00 terminator at the end of the comparison string. check-in: fa23108b29 user: drh tags: trunk
12:31
Fix the case-insensitive version of the regexp() function so that it does not use the prefix optimization incorrectly. [forum:/forumpost/983b43ef8e|Forum post 983b43ef8e]. check-in: 1a8e43cc1b user: drh tags: trunk
2021-06-02
19:28
Add an optimization control bit to disable the OP_SeekScan optimization. check-in: f674c41e5c user: drh tags: seekscan-improvements
18:50
Fix an ALWAYS which can be false. check-in: a87f8ecd6d user: drh tags: seekscan-improvements
17:32
Tighten assert() restrictions on the OP_SeekScan opcode. check-in: dbc33d3ae3 user: drh tags: seekscan-improvements
17:14
Never use WHERE_IN_SEEKSCAN for the 2nd or subsequent IN operator. check-in: d0b9861908 user: drh tags: seekscan-improvements
12:44
This is an attempt to address the OP_SeekScan performance issue identified by [forum:/forumpost/b4fcb8a598|forum post b4fcb8a598]. check-in: d58efb3f21 user: drh tags: seekscan-improvements
2021-06-01
21:07
Fix issue in 'mkopcodeh.tcl' tool that prevented its termination in rare circumstances. check-in: a8d921136f user: mistachkin tags: trunk
15:37
Fix a problem with running ALTER TABLE against schemas that contain compound SELECT statements with ORDER BY clauses containing one or more references to the second or subsequent component SELECT statements. This fixes the problem reported by [forum:/forumpost/31ceaa8461|forum post 31ceaa8461]. check-in: 587a304446 user: dan tags: trunk
2021-05-29
23:07
Do not confuse the ">" operator with IS NOT NULL when checking to see if a partial index is usable. [forum:/forumpost/d813704d7c|Forum post d813704d7c]. check-in: 8cc23931d6 user: drh tags: trunk
21:50
Fix a subtle error in an assert(). dbsqlfuzz eefbd0215c0c1b4bcc32b8141b48b35f7b431300 check-in: a5ec81eb49 user: drh tags: trunk
2021-05-28
14:28
If a subquery is used to drive an index, this change avoids making an extra copy of the result of that subquery. But, such situations are probably sufficiently unusual that the added complexity of this enhancement is not worth the performance gain. So I'm going to park this check-in on a branch. If we later find a use case to justify it, we can merge it to trunk then. This is the "further change" that was promised by the prior check-in comment. Leaf check-in: 4488cb883e user: drh tags: copy-optimization
12:48
Make a deep copy of the result of a subquery in case the subquery is reused. Fix for the problem reported by [forum:/forumpost/28216b36ac|forum post 28216b36ac] and introduced by check-in [f30fb19ff763a7cb]. Further changes to try to optimize the new OP_Copy opcode back into either OP_SCopy or OP_Move will be attempted separately. A test case will be in TH3. check-in: c9f0b9cb0a user: drh tags: trunk
12:15
Fix a potential memory leak in json_group_object() following an error. dbsqlfuzz cd32630de3ff039d97089592b63cb3616f8ec9dd check-in: 21676731ce user: drh tags: trunk
2021-05-27
16:31
Add the merge-test.tcl script to ease verification of LTS branches. check-in: f958ffbc61 user: drh tags: trunk
15:24
The SQLITE_ENABLE_SHARED_SCHEMA compile-time option is on by default in the configure-generated makefile, permitting a complete test of this branch using "./configure && make test". check-in: e867d22622 user: drh tags: reuse-schema
14:09
Improved comment on the prpagateConstants() routine. No changes to executable code. check-in: d61a875df4 user: drh tags: trunk
10:23
Remove a NEVER that is reachable following OOM in writable_schema=ON mode with a corrupt schema. check-in: 4eb80b0cc6 user: drh tags: trunk
2021-05-26
23:10
Improvements to the constant-propagation optimization in order to better deal with unusual affinities. See [forum:/forumpost/6a06202608|forum post 6a06202608] for more detail. check-in: 9be208a6d7 user: drh tags: trunk
19:52
Minor optimization to opcode comparison logic in the fixes to the constant-propagation optimization on this branch. Closed-Leaf check-in: f17dec40a0 user: drh tags: constant-propagation-fix
19:37
Add new test file whereM.test. Containing tests for the change on this branch. check-in: c4c76b824c user: dan tags: constant-propagation-fix
18:51
Avoid assuming that an expression like "x=10" in a WHERE clause implies that CASE(x AS TEXT)=='10'. check-in: 389ec669f4 user: dan tags: constant-propagation-fix
18:46
Take care that the code is not generated for the same Select object more than once, as transformations that apply during the first pass might cause problems for the second pass. dbsqlfuzz 836b625cd8a41809ef80fc7ebaa6554357bcb463. check-in: f30fb19ff7 user: drh tags: trunk
14:32
Update an assert() in wherecode.c that might fail following an unrelated SQL error. check-in: 3e2c36a827 user: dan tags: trunk
2021-05-25
16:10
Do not run sessionbig.test as part of the session_strm permutation. It is too slow. check-in: 708ce7ad8a user: dan tags: trunk
15:21
Update an allocation routine in the sessions module to allow it to allocate the maximum size permitted by sqlite3_realloc64(). check-in: 0b45e82191 user: dan tags: trunk
11:39
Enhance the shell tool ".dump PATTERN" command so that it dumps the contents of shadow tables when a virtual table is identified by the PATTERN. check-in: b0bc5ab9ce user: dan tags: trunk
2021-05-24
14:35
Fix a problem in the in-memory journal code that could occasionally lead to a segfault when a sub-transaction that modified zero pages was committed. check-in: 17960165f5 user: dan tags: trunk
12:28
Minor comment improvements in fuzzcheck.c. check-in: 7aca8d52c1 user: drh tags: trunk
12:13
New dbsqlfuzz cases added to test/fuzzdata8.db. check-in: 5bb5c9ec04 user: drh tags: trunk
11:35
Fix the TreeView module so that it works with the TK_ERROR exprssion. Also fix an assert() that was failing due to the recent TK_ERROR addition. check-in: dd56fbe0cf user: drh tags: trunk
00:17
Additional defenses (above and beyond [b986600520696b0c]) to prevent an invalid subquery from causing problems downstream. If an error is found while analyzing a subquery expression, change the expression to TK_ERROR so inhibit further processing on that expression. dbsqlfuzz cf624b8c0484c66e0f552bf6475e3e3f2c22b24e. check-in: 0be6b6c9f7 user: drh tags: trunk
2021-05-23
17:47
Do not push a WITH clause onto the processing stack if prior errors have occurred. dbsqlfuzz 6b7a144674e215f06ddfeb9042c873d9ee956ac0. check-in: c2066dde53 user: drh tags: trunk
2021-05-22
15:05
Merge latest trunk changes into this branch. check-in: dbc65a6958 user: dan tags: reuse-schema
11:23
Do not invoke sqlite3ExprAffinity() after a syntax error that might have left the tree in an inconsistent state. See also [e8a1515b44380cc5] and [forum:/forumpost/7e484e225c|forum post 7e484e225c]. check-in: b986600520 user: drh tags: trunk
11:00
The fix in the previous check-in was only correct if the OOM occurs on the initial allocation. This changes should make it correct for a resize as well. check-in: 57087ab2f2 user: drh tags: trunk
01:30
If an FTS5 Cursor fails to enlarge the space for the aInst array, set the size of the aInst array to zero. dbsqlfuzz 294254b8105cca409f27a711f1eb2e9e63cbcac5. check-in: 4ae5e5b5ec user: drh tags: trunk
2021-05-21
21:49
If there are errors in a nested CTE, be sure to abandon processing. Do not continue since the parse tree may have been left in a goofy state which could cause use-after-free and segfaults. See [forum:/forumpost/aa4a7a3980|forum post aa4a7a3980] for an example. check-in: 94225d6939 user: drh tags: trunk
17:31
Merge latest changes from wal2 into this branch. check-in: 4efefb5938 user: dan tags: begin-concurrent-pnu-wal2
16:42
Merge the latest trunk enhancements into the wal2 branch. check-in: 95cc778345 user: drh tags: wal2
16:41
Fix a problem with SQLITE_MAX_MEMORY in malloc.c. check-in: c18dbe2f38 user: dan tags: trunk
16:32
Merge the latest trunk changes into begin-concurrent-report branch via the begin-concurrent-pnu branch. check-in: 1dc6cf5113 user: drh tags: begin-concurrent-report
16:17
Merge recent trunk changes into the begin-concurrent-pnu branch. check-in: a8d05f8e92 user: drh tags: begin-concurrent-pnu
15:33
Merge all recent trunk changes into the begin-concurrent branch. check-in: 0dba9010ad user: drh tags: begin-concurrent
13:32
Add a new sqlite3_config() option for setting the maximum precision of a printf() substitition. The default value is 100,000. It was formerly more than 2 billion. The default can be changed using the SQLITE_PRINTF_PRECISION_LIMIT compile-time option. Leaf check-in: fd8b68a474 user: drh tags: compile-time-precision-limit
2021-05-20
23:25
Fix a faulty assert() statement in sqlite3ExprListDup(). This is a continuation of the fix at [59812e7ef705226c]. check-in: 240f7494bf user: drh tags: trunk
18:11
Enhance one test case to use various alternative definitions of DUAL. check-in: 179dcb6ba7 user: drh tags: trunk
17:15
Ensure that objects within view definitions are not incorrectly resolved to CTEs that are part of the statement using the view. check-in: f7dcc4b519 user: dan tags: trunk
11:42
Ensure the required b-tree mutexes are held for "CREATE TABLE IF NOT EXISTS" and "DROP TABLE IF EXISTS" statements on attached databases. check-in: 67bde01614 user: dan tags: trunk
00:44
Replace [0f0959c6f95046e8] with a new and better solution that also fixes the CTE name resolution problem described in [forum:/forumpost/8590e3f6dc|forum post 8590e3f6dc]. Test cases for both problems added. check-in: 5614279daf user: drh tags: trunk
00:10
Fixes and improvements to PRAGMA compile_options. check-in: 34579549a3 user: drh tags: trunk
2021-05-19
23:29
final merge from trunk Leaf check-in: 0662956944 user: larrybr tags: compile_options
21:55
When constructing the synthensized SELECT statement that is used to choose the rows in an UPDATE FROM, make sure the first table is really the table being updated, and not some common-table expression that happens to have the same name. [forum:/forumpost/a274248080|forum post a274248080]. More changes associated with CTE name resolution are pending. check-in: 0f0959c6f9 user: drh tags: trunk
20:01
Incorporate ..._DESERIALIZE revision. check-in: b70587cca9 user: larrybr tags: compile_options
19:55
merge from trunk check-in: 19ffe3cfe2 user: larrybr tags: compile_options
19:28
Add a comment with useful information about SHM locking. No changes to deliverable code. check-in: 4e81ea3b15 user: drh tags: trunk
19:27
Fix a formatting error on the comment. Closed-Leaf check-in: 6f2fb60e49 user: drh tags: better-comment
16:55
Add a table of shared-memory lock offsets in a comment in the os_unix.c code. Include some assert()s to help verify the numbers. check-in: b480aacb34 user: drh tags: better-comment
14:49
Allow aggregate sub-selects within ORDER BY and PARTITION BY clauses of window frame definitions. check-in: 3daab94977 user: dan tags: trunk
12:17
Improved column name and column type determination for the RETURNING clause. check-in: 699c33990a user: drh tags: trunk
02:33
Cure some TCL test failures and narrow an object scope. check-in: 1155696c70 user: larrybr tags: trunk
2021-05-18
19:10
In the MULTI-INDEX OR query plan, code for sub-expressions can sometimes be generated twice. But for some subqueries, generating code off of the same tree twice causes problems. So now MULTI-INDEX OR makes a copy of the sub-expressions it uses to avoid code-generating them more than once. dbsqlfuzz 9ebd2140e7206ff724e665f172faea28af801635. check-in: 4a55f72542 user: drh tags: trunk
12:36
Improved comments on the generated opcodes.h file. check-in: f2a17f1fad user: drh tags: trunk
00:52
Add a CORRUPT_DB term to an assert() added earlier today. check-in: 304739d238 user: drh tags: trunk
2021-05-17
17:14
Fix harmless compiler warnings. check-in: ace12a3912 user: drh tags: trunk
16:54
Enhance the integer-comparison optimization on the OP_Eq and similar opcodes so that it avoids a lot of useless work. check-in: 4221f41af9 user: drh tags: trunk
16:20
Fix problems with refering to CTEs from within sub-selects in PARTITION BY or ORDER BY clauses of window frame definitions. Also a problem with renaming a column when the schema contains a trigger containing a correlated sub-select within a window frames PARTITION BY or ORDER BY clause. check-in: 4c6cd54a8d user: dan tags: trunk
13:11
When deleting an SQL function that does not exist, return without doing anything at all rather than creating a tombstone function. In this way, function deletes that happen inside virtual-table destructors that are run when a database connection is closing do not create new tombstones in the function table after the function table has already been purged. [forum:/forumpost/726219164b|forum post 726219164b]. check-in: 391c73132c user: drh tags: trunk
11:19
Performance improvement in sqlite3TableLock(). check-in: 0d77e371c4 user: drh tags: trunk
2021-05-15
19:36
Performance optimization in the memory allocation of allocateCursor. check-in: 9d16323d14 user: drh tags: trunk
13:08
Performance optimization to the clearCell() routine inside of btree. check-in: c4e02619a4 user: drh tags: trunk
2021-05-14
20:01
Small performance improvement for sqlite3BtreeInsert(). check-in: 4ae64484c5 user: drh tags: trunk
15:37
Avoid adding superfluous virtual WHERE clause terms that might arise due to the constant propagation optimization. check-in: cf63abbe55 user: drh tags: trunk
14:26
Attempt the [/info/f4229707ac08d66c|constant propagation optimization] on any WHERE clause that has a top-level AND operator, even if the query is not a join. This is an attempt to partially address the concern raised in [forum:/forumpost/830d37b928|forum post 830d37b928]. check-in: e994c9f29f user: drh tags: trunk
13:32
Fix an over-length source code comment in whereexpr.c. No logic changes. check-in: af5eb902e7 user: drh tags: trunk
2021-05-13
18:24
Modify the sqlite3_stmt_readonly() interface so that it returns false for CREATE TABLE IF NOT EXISTS statements even if the table already exists and the statement is really a read-only no-op. Likewise for DROP TABLE, CREATE INDEX, and DROP INDEX. Update the documentation for sqlite3_stmt_readonly() to reflect this new behavior. check-in: cf8eb46597 user: drh tags: trunk
13:43
The content columns of the index-btree that implements a WITHOUT ROWID table are not ordered and so the query planner should not assume they are ordered. Fix for the issue identified by [forum:/forumpost/6c8960f545|forum post 6c8960f545]. check-in: c21bc5a235 user: drh tags: trunk
2021-05-12
22:15
Further simplification of the reverse-order scan logic of the previous check-in. check-in: b2b0e23ba8 user: drh tags: trunk
22:02
Fix the query plan for an indexed lookup on a WITHOUT ROWID table with a DESC primary key when the primary key is constrained by an inequality. See [forum:/forumpost/8988341615|forum post 8988341615]. Test cases in TH3. check-in: f65c929bf1 user: drh tags: trunk
15:39
Fix a race condition that can lead to deadlock in the memdb VFS if one thread is trying to open an existing database at the same moment that another thread that is the only prior user of that database is trying to close it. check-in: b635375dbe user: drh tags: trunk
14:17
Add the new threadtest5 test program for stressing multiple database connections in the same process hammering on a single database. Primarily designed to test memdb, but works on any database. check-in: 8db1c06958 user: drh tags: trunk
11:55
Enhance the memdb VFS so that it is able to share databases among multiple database connections in the same process, as long as the database filename begins with "/". This provides a way for threads to share an in-memory database without the use of shared-cache mode. check-in: 533fffc4a3 user: drh tags: trunk
02:52
Respond correctly to OOM during mutex allocation. Closed-Leaf check-in: 98dae595d8 user: drh tags: memdb-enhancement
02:09
Mark an unreachable branch as NEVER(). check-in: 6c20d9d4b7 user: drh tags: memdb-enhancement
2021-05-11
11:40
Fix a NEVER() that can sometimes be true. check-in: 8f9f1cbc44 user: drh tags: memdb-enhancement
11:33
Merge changes from branch-3.35. Specifically, fixes for a running RBU with a cksumvfs VFS. Leaf check-in: ca62c36b7f user: dan tags: reuse-schema-3.35
11:25
Fixes for cksmvfs and rbu so that they work together. Leaf check-in: ce8b589e4c user: dan tags: branch-3.35
10:47
Fix a NEVER() that can sometimes be true. dbsqlfuzz 9a86fb3830977e216fde061bfbe1c1e5c2e9bfc4 check-in: f39666e64d user: drh tags: trunk
2021-05-10
23:48
Enhance the memdb VFS to provide the ability to share a single database among multiple database connections. check-in: 0617c66ac2 user: drh tags: memdb-enhancement
13:28
Add new output columns to the "PRAGMA database_list" statement. Leaf check-in: 905085a75d user: drh tags: database-list-enhancement
2021-05-08
17:18
Enable the sqlite3_serialize() and sqlite3_deserialize() interfaces by default. Omit the SQLITE_ENABLE_DESERIALIZE option and replace it with the SQLITE_OMIT_DESERIALIZE option. check-in: 6df3b03e00 user: drh tags: trunk
11:57
Fix help-text typo in the CLI. check-in: 560753148a user: drh tags: trunk
2021-05-07
15:46
Detect misuse of aggregate functions in the ORDER BY clause of a query even if the query also contains window functions. check-in: 0d11d777c8 user: drh tags: trunk
14:16
This was suppose to be a merge from trunk. But something went wrong. Closed-Leaf check-in: c5e2de1d24 user: dan tags: bad-merge
2021-05-06
20:47
Fixes for cksmvfs and rbu so that they work together. check-in: f35f6972cd user: dan tags: trunk
13:45
Remove an assert() in FTS5 that can (rarely) be false in the event of an OOM while processing a corrupt database file. check-in: 5f12f89154 user: drh tags: trunk
11:02
Improved detection of oversized cells in balance_nonroot(), especially in index b-trees when a cell is being moved from a child page into the parent page in order to become a new divider cell. check-in: 9080d3d5f5 user: drh tags: trunk
2021-05-05
19:46
Provide the sqlite3PrintMem() routine on SQLITE_DEBUG builds, which can be invoked from a debugger to get a summary of the status of an sqlite3_value or Mem object. check-in: 5ac24179f5 user: drh tags: trunk
11:47
Fix an undefined-integer-overflow problem in fts3.c. check-in: a0bf931bd7 user: dan tags: trunk
2021-05-04
23:21
When applying the optimization that disables WHERE clause terms that drive indexes, make sure not to do so if the term being disabled is a transitive constraint. Fix for the problem identified by [forum:/forumpost/eb8613976a|forum post eb8613976a]. check-in: f1f9b5de3c user: drh tags: trunk
18:24
Also for the 0x20000 bit of ".wheretrace", show when WHERE clause terms are disabled. check-in: 625fb253ee user: drh tags: trunk
16:51
Additional debugging output for whereScanNext() showing equivalence classes when the ".wheretrace" setting contains the 0x20000 bit. check-in: 9280e3d994 user: drh tags: trunk
12:07
Back out the EXISTS-to-IN optimization. It slows things down rather than speeds them up depending on the query. And (see [forum:/forumpost/8692d94725|forum post 8692d94725]) it sometimes results in an incorrect answer. We may come back and revisit this optimization later, but for now it seems best just to disable it. check-in: 16252d73fa user: drh tags: trunk
2021-05-03
13:35
Fix minor coverity warnings in the CLI. check-in: 204086a942 user: drh tags: trunk
13:24
Fix a potential memory leak following OOM in the decimal extension. check-in: 5127f73767 user: drh tags: trunk
2021-05-01
12:09
Back out the NEVER() inserted by [c7309ed3c7588c7e] because it is reachable after all. dbsqlfuzz bc17a306a09329bba0ecc61547077f6178bcf321 check-in: 20a4f3f12c user: drh tags: trunk
2021-04-30
16:12
Guard against a NULL-pointer dereference following OOM in the JSON extension. check-in: ea221f3c8e user: drh tags: trunk
12:30
Fix a harmless "unused variable" warning when compiling with -DSQLITE_COVERAGE_TEST. check-in: 0bef3fb11f user: drh tags: trunk
2021-04-29
19:30
Reduce API lifetime requirement for objects passed to sqlite3_bind_...() with SQLITE_STATIC. Also fix broken session doc links (by zapping refs.) check-in: 327eb4792f user: larrybr tags: trunk
18:03
Fix the operation of the "-" argument to --load-dbsql in the fuzzcheck program. check-in: 1f18b3cbee user: drh tags: trunk
15:49
Fix the IN-early-out optimization so that it works even for the corner case where the NULL bypass fires before the affinity of the LHS operator has been set. Fix for the problem described in [forum:/forumpost/6a3ec138e9|forum post 6a3ec138e9]. check-in: eb40248ce6 user: drh tags: trunk
13:58
Enhanced "PRAGMA vdbe_trace=on" output associated with the seekHit flag. check-in: 6839500093 user: drh tags: trunk
13:37
Fix harmless compiler warnings. See [forum:/forumpost/256140e470|forum post 256140e470]. check-in: 1b8da7924c user: drh tags: trunk
10:48
Update test/fuzzdata8.db with recent dbsqlfuzz finds. check-in: bce2ea393a user: drh tags: trunk
2021-04-28
17:37
Ignore the TEMP or TEMPORARY keyword on CREATE statements which parsing the schema out of an existing database file. Those keywords should never be there. This change simply adds robustness in case a legacy or damaged database is seen. check-in: 65ec39f0f0 user: drh tags: trunk
15:43
Adjust a VDBE coverage macros due to the enhancement at [506333742103c1f4]. check-in: daed59b4f9 user: drh tags: trunk
2021-04-27
17:36
Create new branch named "testing_help" Leaf check-in: a97a50229c user: larrybr tags: testing_help
17:18
Further improvements to the handling of RETURNING clauses on changes to TEMP tables with triggers. dbsqlfuzz 683913e98f54fe4f14e8dd11a48011f73bdca58d check-in: ff3538ae37 user: drh tags: trunk
13:04
RETURNING bug fix: Correctly deal with RETURNING statements on changes to TEMP tables that also have triggers. dbsqlfuzz 78b9400770ef8cc7d9427dfba26f4fcf46ea7dc2 check-in: d0b15eccbf user: drh tags: trunk
11:28
Fix a segfault that could occur when querying a corrupt data structures with an fts5token table. check-in: cbedfa0550 user: dan tags: trunk
04:47
merge latest trunk check-in: 3ff228249a user: larrybr tags: compile_options
00:05
Better error messages on showdb. check-in: 7e18e114b2 user: drh tags: trunk
2021-04-26
23:57
Improved robustness of the "showdb" debugging program when it is parsing corrupt database files. check-in: 3eabac2ee5 user: drh tags: trunk
22:30
New dbsqlfuzz cases added to test/fuzzdata8.db. check-in: 88d20500c5 user: drh tags: trunk
21:23
Fix the [/info/df1d6482f9e92daf|UNION ALL flattener optimization] so that it works better with recursive CTEs. dbsqlfuzz 88ed5c66789fced139d148aed823cba7c0926dd7 check-in: f80d7bb2c3 user: drh tags: trunk
21:00
Add ALWAYS() to branches that are no longer reachable due to recent enhancements. check-in: 63c50fbdee user: drh tags: trunk
20:18
refix altertab.test check-in: db03215693 user: larrybr tags: trunk
15:32
Fix a problem that could cause a crash in sqlite3BtreeDelete() when operating on a corrupt database file. check-in: 6c6334660d user: dan tags: trunk
15:28
More aggressive detection of OOM errors in resolveAlias(). dbsqlfuzz 7f96832c2ef7ee472022ed805b064e55e41094b2 check-in: e99faf4f82 user: drh tags: trunk
14:32
When doing the optimization that attempts to avoid sorting on a GROUP BY, do not assume that the values in an index on an expression are non-NULL. Bug discovered by Wang Ke's fuzzer and reported at [forum:/forumpost/74330094d8|forum post 74330094d8]. check-in: 7178dc3a32 user: drh tags: trunk
14:09
Do not initialize eponymous virtual tables when parsing the schema. This can happen if the db is corrupt. check-in: cb8c41aa20 user: dan tags: trunk
2021-04-25
23:13
Skip test when no JSON. check-in: 6fcb2438f8 user: larrybr tags: trunk
2021-04-24
23:40
Make window range queries more robust against corrupt database files. dbsqlfuzz f22df3a7b2aab0937a415484514fc2f68a293c99. check-in: 5063337421 user: drh tags: trunk
12:24
Treat byte-order marks (BOMs) at the start of a token as whitespace. This enhancement is inspired by [forum:/forumpost/ed8f696a20|forum post ed8f696a20]. check-in: 3d55c21c16 user: drh tags: trunk
12:20
Fix testcase altertab-25.1 due to check-in [c7909e8e0d0577c6] disallowing ALTER TABLE on eponymous virtual tables. check-in: 32255e39cb user: drh tags: trunk
2021-04-23
13:57
Fix harmless compiler warnings in fuzzcheck. check-in: e7b4ffecc6 user: drh tags: trunk
12:58
Enhance the --load-dbsql and related options of fuzzcheck so that if the argument is a single - then filenames are read from standard input. check-in: e1548802b6 user: drh tags: trunk
12:16
Give a better final output line for the --spinner option on fuzzcheck. check-in: 93729614e2 user: drh tags: trunk
11:50
New dbsqlfuzz cases added to test/fuzzdata8.db. check-in: 8da8850893 user: drh tags: trunk
11:37
Fix an assert() in fts5_index.c that may fail if the database records are corrupt. check-in: dfadb96edf user: dan tags: trunk
00:59
Improved OOM detection in sqlite3ExprCheckIN(). dbsqlfuzz 46ae2d8f473ac672f3042cc14ab67aeab9ffa6c2 check-in: fac12115a9 user: drh tags: trunk
2021-04-22
20:01
Change a memcpy() into a memmove() to prevent a warning about overlapping regions passed to memcpy() in case of some obscure and unlikely database corruption. check-in: bab132cbd1 user: drh tags: trunk
19:34
Fix harmless compiler warnings of unused function parameters in FTS5. check-in: 1427391597 user: drh tags: trunk
18:52
Further tweaks for comments in sqlite3session.h. check-in: 553ada28f3 user: dan tags: trunk
18:39
Change to comments in sqlite3session.h. No changes to code. check-in: 353ebb71c4 user: dan tags: trunk