SQLite

Timeline
Login

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

322 check-ins using file src/insert.c version 2189e0e5

2021-11-06
11:58
Add the rbu_exclusive_checkpoint query parameter to RBU. (Leaf check-in: c15806a4 user: drh tags: reuse-schema-3.36)
2021-10-26
10:16
Fix an RBU problem with restarting an update after the *-oal file is already larger than 4GiB. (check-in: 0e79584a user: drh tags: reuse-schema-3.36)
10:02
Fix an RBU problem with restarting an update after the *-oal file is already larger than 4GiB. (Leaf check-in: e4662603 user: drh tags: branch-3.36)
2021-07-26
01:35
Manual merge of new .connection shell command (check-in: 0d41f7f9 user: larrybr tags: cli_extension)
2021-07-11
12:58
Much self-doc improvement for shell.c generation. Misleading error message fixed. (check-in: 7738ce1b user: larrybr tags: cli_extension)
2021-07-10
14:48
.tables fixup for legacy behavior. (check-in: 827ea61d user: larrybr tags: cli_extension)
03:42
Migration to dispatched meta-commands done (check-in: ac4267da user: larrybr tags: cli_extension)
2021-07-07
18:43
General cleanup of mkshellc.tcl, + help and options, decruft (check-in: 8bdd5fbf user: larrybr tags: cli_extension)
2021-07-06
15:47
Create new branch named "branch-3.36" (check-in: 5eea151d user: larrybr tags: branch-3.36)
02:07
More commands dispathed. Dispatch translation parameterized. (check-in: 372e3241 user: larrybr tags: cli_extension)
2021-07-04
22:38
Streamline most common command definition (check-in: dd76b41a user: larrybr tags: cli_extension)
2021-07-03
19:20
Create infrastructure for dynamic shell extension. (check-in: 5e7e0d4e user: larrybr tags: cli_extension)
02:55
In the PRAGMA foreign_key_check, ensure that sufficient registers are allocated for the virtual machine, even if one or more foreign keys reuses the same column multiple times and has more columns than the table it is part of. Forum post a6b0c05277. (check-in: 68db1ff9 user: drh tags: trunk)
2021-07-02
12:25
Put ALWAYS() on a branch that is always true due to [d4097364c511709b]. Fix a testcase precondition associated with the same check-in. (check-in: 55e2fbeb user: drh tags: trunk)
12:08
Fix a harmless assertion fault discovered by OSSFuzz. The assertion fault is harmless because the assert() checks a condition that that is harmless if false and the assert() is disabled in production builds. (check-in: 79443aab user: drh tags: trunk)
2021-07-01
18:19
Allow unqualified "rowid" references to be used in join queries, provided that only one of the source objects has a rowid. Forum post ab5b077c32636e49 (check-in: d4097364 user: dan tags: trunk)
16:57
Import the updated nmakehlp.c file used by the TCL Extension Architecture (TEA) builds in the amalgamation tarballs. Forum post 5a5001f20a. (check-in: 595bf95b user: drh tags: trunk)
2021-06-30
14:04
Fix a memory leak in fts5 that could occur when processing a query containing multiple classes of error. (check-in: 7c279670 user: dan tags: trunk)
12:11
Fix an assert() in fts5 that might fail when dealing with corrupt records. (check-in: 9e760e25 user: dan tags: trunk)
11:53
Do not enforce the SQLITE_LIMIT_FUNCTION_ARG limit for internally generated SQL. This prevents problems with statements like ALTER TABLE if the function argument limit is set too low. Forum post 17735aa21f3ddab2. (check-in: 763fdec5 user: drh tags: trunk)
2021-06-28
15:25
When generating data for a RETURNING clause, avoid assuming cursor number 0 is available for use. (check-in: 4b2c59ac user: dan tags: trunk)
2021-06-25
14:48
The OP_ReopenIdx opcode should clear the cursor if the cursor is being reused. This prevents leaving the cursor in an initialized state which could cause problems for a subsequent OP_SeekScan opcode. Fix for ticket [6dcbfd11cf666e21] and the OP_SeekScan optimization of check-in [4a43430fd23f8835]. (check-in: d4bf5243 user: drh tags: trunk)
11:21
Remove a redundant "ANALYZE" line from the ".fullschema" output. (check-in: 7b47f420 user: drh tags: trunk)
11:14
Fix a bug in the ".fullschema" dot-command of the CLI brought to light by check-in [a2ddb89b206c1387] - raising an error on at attempt to access the rowid of a subquery or view. (check-in: 36875827 user: drh tags: trunk)
00:25
Document sqlite3_wal_hook() return. (check-in: 8acaf796 user: larrybr tags: trunk)
2021-06-24
18:23
Allow the SQLITE_OPEN_EXCLUSIVE flag in sqlite3_open(). Return the SQLITE_CANTOPEN_EXISTS extended code to indicate that the open failed because the database already exists. (check-in: d091150f user: drh tags: trunk)
2021-06-23
17:41
Make conditional nature of sqlite3_normalized_sql() better known. (check-in: 0e0ece71 user: larrybr tags: trunk)
16:07
Fully incorporate *_changes64() API improvement. (check-in: 6699a2f6 user: larrybr tags: trunk)
11:39
Show CROSS JOINs in the TreeView debuggingn output. (check-in: 72e09b6c user: drh tags: trunk)
11:12
Fix a problem handling ORDER BY terms of the form "ORDER BY likely(<integer>)" within window frames. (check-in: 710f75b9 user: dan tags: trunk)
2021-06-22
23:30
This is another alternative fix to the covering index on WHERE_MULTI_OR in a LEFT JOIN problem that is fixed on trunk nearby. In this alternative, covering indexes are simply disabled for WHERE_MULTI_OR on a LEFT JOIN. This might have run-time impact on some obscure queries. This patch is saved for historical reference only. (Closed-Leaf check-in: 66856410 user: drh tags: multi-or-covidx-fix3)
23:27
This is an alternative fix to the covering index on WHERE_MULTI_OR in a LEFT JOIN problem that is fixed nearby. This one works by having the OP_NullRow opcode create the index if it does not already exist. That is slightly more complex. This patch is saved for historical reference only. (Closed-Leaf check-in: 956bafb6 user: drh tags: multi-or-covidx-fix2)
23:24
When an index is used by all branches of the WHERE_MULTI_OR optimization and becomes a covering index, make sure the index has been created prior to NULLing it in the OP_NullRow opcode of a LEFT JOIN. See forum post 0575376e07. The covering-index for WHERE_MULTI_OR optimization was added by [62678be3df35cdcb]. Test cases are in the orindex01.test module of TH3. (check-in: 787c76a8 user: drh tags: trunk)
18:32
Add the sqlite3_changes64() and sqlite3_total_changes64() API functions. (check-in: 48fdec22 user: dan tags: trunk)
18:06
Fix a problem causing sqlite3_changes() to return an incorrect value following a "DELETE FROM tbl" command on an intkey table (because internal b+tree cells were being included in the count). (check-in: f662ff47 user: dan tags: trunk)
14:59
Ensure that the cell array used in balance_nonroot() is always large enough, even if the pages being balanced are corrupt. (check-in: 53f64e83 user: dan tags: trunk)
2021-06-20
22:52
Load recent dbsqlfuzz cases into test/fuzzdata8.db. (check-in: a766bba0 user: drh tags: trunk)
22:49
Remove a NEVER() that is reachable by a corrupt database. dbsqlfuzz 8456a0f88e39a49fb675d8f77394979ebb2a03c1. Test case in TH3. (check-in: 1c41e86f user: drh tags: trunk)
22:17
Do not allow an SQLITE_CORRUPT error to mask a prior SQLITE_IOERR in balance_nonroot(). dbsqlfuzz 5e1c86e7f18023f2b9abe3429977d7ea726f50d8 (check-in: 50e81876 user: drh tags: trunk)
2021-06-19
20:20
Remove unnecessary (redundant) variable initialization from sqlite3BtreeInsert() for a small size reduction and performance increase. (check-in: 70d18364 user: drh tags: trunk)
18:35
The previous check-in is a significant change to btree, so go ahead and increment the version number for the next development cycle. (check-in: 2eb66970 user: drh tags: trunk)
18:32
Split the sqlite3BtreeMovetoUnpacked() routine into two separate routines sqlite3BtreeTableMoveto() and sqlite3BtreeIndexMoveto(), since we usually know the type of btree in advance. This results in less branching and better performance. (check-in: 3b0d34e5 user: drh tags: trunk)
2021-06-18
19:01
Merge version 3.36.0 (check-in: 79221520 user: drh tags: reuse-schema)
18:36
Version 3.36.0 (check-in: 5c9a6c06 user: drh tags: trunk, release, version-3.36.0)
2021-06-17
17:44
Merge recent trunk changes into branch-concurrent-pnu-wal2 via that wal2 branch. (check-in: 2ff7e562 user: drh tags: begin-concurrent-pnu-wal2)
17:30
Merge recent trunk enhancements into the begin-concurrent-pnu branch. (check-in: 229107b1 user: drh tags: begin-concurrent-pnu)
17:29
Merge recent trunk enhancements into the begin-concurrent branch. (check-in: 59303e69 user: drh tags: begin-concurrent)
17:26
Merge recent trunk enhancements into reuse-schema branch. (check-in: 92d8f967 user: drh tags: reuse-schema)
16:53
Merge the latest trunk enhancements into the wal2 branch. (check-in: 41363fb9 user: drh tags: wal2)
2021-06-16
19:23
Add an ALWAYS on a branch in STAT4-only logic that is now always true due to check-in [c21bc5a2353e660f]. (check-in: 7bd55eee user: drh tags: trunk)
18:58
Omit a handful of tests from pager1.test when testing SQLITE_ENABLE_ZIPVFS builds. (check-in: c3036c28 user: dan tags: trunk)
16:56
Do not run test file sessionbig.test on 32-bit platforms. It uses too much memory. (check-in: 75e53215 user: dan tags: trunk)
15:56
Adjust the mkshellc.tcl script so that the generated code always uses unix-style line endings. (check-in: 9f69af4d user: drh tags: trunk)
13:26
Avoid ominous warning in showdb.c (check-in: f8d7ac01 user: larrybr tags: trunk)
12:26
Adjustments to requirement markings in comments. No changes to code. (check-in: be00e45b user: drh tags: trunk)
11:32
Enhanced defense against integer overflow in ALTER TABLE. (check-in: fb7f094e user: drh tags: trunk)
2021-06-15
20:10
Fix some #ifdefs so that builds work for all supported compile-time options. (check-in: ca7d78f7 user: drh tags: trunk)
20:07
Fix an incorrect ifdef in the previous check-in. (Closed-Leaf check-in: 4b2bb467 user: drh tags: ifdef-update)
18:46
Fix some minor #ifdef issues so that all of the supported compile-time options continue to build. (check-in: d8cf4070 user: drh tags: ifdef-update)
15:36
Update the "nmakehlp.c" utility program sources associated with the TCL Extension Architecture, obtained from https://core.tcl-lang.org/sampleextension/file. Perhaps this new version will sit better with salmonx's static analyzer (ref1), (ref2). (check-in: 603b851d user: drh tags: trunk)
15:15
Add NULL checks on all sqlite3_vfs_find(0) calls. This is not strictly necessary. There are no vulnerabilities here. However, adding these checks avoids unnecessary static analyzer complaints. Forum post ce1193be15. (check-in: 272a15b9 user: drh tags: trunk)
14:34
Prevent an infinite loop in the trim() SQL function if the second argument is a carefully malformed UTF8 string. (check-in: 829343c2 user: drh tags: trunk)
2021-06-14
20:49
Fix typos in testcase() macros from check-in [c09d90eec2a49b94]. (check-in: d4d9869c user: drh tags: trunk)
20:41
In the authorizer, use SQLITE_DROP_INDEX, not SQLITE_DROP_TEMP_INDEX when dropping an index in an attached database. (check-in: e5a5acd6 user: drh tags: trunk)
20:08
Fix an ALTER TABLE problem with handling infinite loops of CTEs in the database schema. (check-in: c09d90ee user: dan tags: trunk)
14:52
Fix a test script problem in corruptN.test. (check-in: 3ddfe9ae user: dan tags: trunk)
14:35
Update this branch with latest changes from trunk. (check-in: f21a53fb user: dan tags: reuse-schema)
14:25
Update this branch with latest changes from wal2. (check-in: 0ab89901 user: dan tags: begin-concurrent-pnu-wal2)
14:12
Update this branch with latest changes from trunk. (check-in: b38c2b8b user: dan tags: wal2)
14:00
An index on the expression "likely(X)" should store the true value of X, even if X is a real number with no fractional part. The optimization of storing some REAL indexed values as INT (see [10d851353c2abead]) should be omitted for index columns that are expressions. Forum post 3b940c437a. (check-in: 791473bc user: drh tags: trunk)
13:49
Update this branch with latest changes from trunk. (check-in: 74b42754 user: dan tags: begin-concurrent-pnu)
12:23
Update this branch with latest trunk changes. (check-in: d8199634 user: dan tags: begin-concurrent)
11:20
Avoid allocating oversized column names in the sqllimit1.test module. (check-in: 7068f1f6 user: drh tags: trunk)
2021-06-13
19:14
The opcode that preceeds OP_SeekScan is usually OP_IdxGT but can sometimes be OP_IdxGE. Adjust asserts accordingly. Follow-up to [9a2ab6092d644fc3]. dbsqlfuzz e41762333a4d6e90a49e628f488d0873b2dba4c5 (check-in: d6803ed8 user: drh tags: trunk)
17:55
Improved defense against OOM errors in sqliteInitOne(). dbsqlfuzz 429db39cd5777c46479641e8637c48c62890042d (check-in: b6c57e0e user: drh tags: trunk)
08:23
Correct link in .ar help. (check-in: de9d0f95 user: larrybr tags: trunk)
2021-06-12
18:12
The sqlite3WithPush() routine might destroy its second argument if there was a prior OOM. Do not use the second argument of sqlite3WithPush() if this happens. (check-in: baa3f962 user: drh tags: trunk)
17:45
An alternative approach to the use-after-free problem. (Closed-Leaf check-in: 6796b7a2 user: drh tags: alternative-oom-fix)
16:17
Fix a use-after-free that could follow an OOM in ALTER TABLE. (Edit:) Still contains problems. (Closed-Leaf check-in: 193b14a5 user: dan tags: original-uaf-fix)
2021-06-11
13:18
Reapply two recent ALTER TABLE error checks that turned out to be necessary after all. dbsqlfuzz fc5a9deefda00dda914748985155a6d4c44174e5. (check-in: 230fedd9 user: drh tags: trunk)
12:41
Avoid bugs in some implementations of dlopen() by avoiding calls to dlopen() with a filename argument that exceeds FILENAME_MAX bytes. Forum post 08a0d6d9bf. (check-in: 01f3877c user: drh tags: trunk)
12:14
Fix a crash in new ALTER TABLE code that could follow an OOM. (check-in: 6f1f2a0a user: dan tags: trunk)
12:02
Remove an unreachable branch added by the previous commit. (check-in: 852ee0e9 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 post 9d965f2956. (check-in: 8b1f9a51 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: 5079b5d5 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: 32e3ecfc user: dan tags: alter-table-cte-fix-1)
14:36
Improved robustness following OOM in the constant propagation optimization. dbsqlfuzz 001a20255c0df7495c21df62a20ea5b51e22c390. (check-in: 8658a64d 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 post a636276f0d451667 and 33821c8db543c. (check-in: 56ff58c0 user: drh tags: trunk)
13:39
Add defensive code to better handle corrupt records in fts5. (check-in: a99c29b5 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: f3f82967 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 post a60ea5a4d4 for context (check-in: e3188a86 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: 33babdb5 user: drh tags: trunk)
12:15
Avoid a buffer overread in fts3 that could occur when handling corrupt data structures. (check-in: 45f459d2 user: dan tags: trunk)
2021-06-07
17:36
Fix a buffer overread that could occur in fts5 when handling corrupt records. (check-in: 078962a2 user: dan tags: trunk)
15:28
Fix a buffer overrun in fts3 that could occur when handling corrupt records and '^' queries. (check-in: 9d0b6b0f user: dan tags: trunk)
14:21
Add recent dbsqlfuzz test cases to test/fuzzdata8.db. (check-in: 16202200 user: drh tags: trunk)
13:50
Avoid use of uninitialized memory while running defragmentPage() on a corrupt database file. dbsqlfuzz 4c45cecc0b255aaf2ea85453ccd17e814fd0b6b2 (check-in: 35e40d75 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: 10801f65 user: drh tags: trunk)
00:54
Remove unnecessary end-of-line whitespace from the regexp.c extension. (check-in: 17e26a1f 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: 2aa9368b 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: 1c71de43 user: drh tags: trunk)
21:46
Make MSVC build examples work when taken literally, and say when they do. (check-in: b53ca8ed user: larrybr tags: trunk)
17:47
Improvements to the OP_SeekScan optimization. Added the SQLITE_TESTCTRL_TUNE test-control. (check-in: 9a2ab609 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: c93be7e6 user: drh tags: trunk)
16:11
Fix harmless compiler warnings. (check-in: 83aca2d8 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: 569e00d4 user: drh tags: trunk)
13:40
Revamp SQLITE_TESTCTRL_TUNE to provide visibility of current turning parameter values. (Closed-Leaf check-in: 677e645e 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: f1199d58 user: drh tags: seekscan-improvements)
12:29
Merge recent trunk enchancements into the seekscan-improvements branch. (check-in: d9e85fe8 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: 4a587c34 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 post 07dedbf9a1. (check-in: 820ae3b1 user: drh tags: trunk)
13:51
Add the regexp() and regexpi() extension functions to the CLI. (check-in: 5d4535bf 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: fa23108b 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 post 983b43ef8e. (check-in: 1a8e43cc user: drh tags: trunk)
2021-06-02
19:28
Add an optimization control bit to disable the OP_SeekScan optimization. (check-in: f674c41e user: drh tags: seekscan-improvements)
18:50
Fix an ALWAYS which can be false. (check-in: a87f8ecd user: drh tags: seekscan-improvements)
17:32
Tighten assert() restrictions on the OP_SeekScan opcode. (check-in: dbc33d3a user: drh tags: seekscan-improvements)
17:14
Never use WHERE_IN_SEEKSCAN for the 2nd or subsequent IN operator. (check-in: d0b98619 user: drh tags: seekscan-improvements)
12:44
This is an attempt to address the OP_SeekScan performance issue identified by forum post b4fcb8a598. (check-in: d58efb3f 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: a8d92113 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 post 31ceaa8461. (check-in: 587a3044 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 post d813704d7c. (check-in: 8cc23931 user: drh tags: trunk)
21:50
Fix a subtle error in an assert(). dbsqlfuzz eefbd0215c0c1b4bcc32b8141b48b35f7b431300 (check-in: a5ec81eb 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: 4488cb88 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 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: c9f0b9cb user: drh tags: trunk)
12:15
Fix a potential memory leak in json_group_object() following an error. dbsqlfuzz cd32630de3ff039d97089592b63cb3616f8ec9dd (check-in: 21676731 user: drh tags: trunk)
2021-05-27
16:31
Add the merge-test.tcl script to ease verification of LTS branches. (check-in: f958ffbc 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: e867d226 user: drh tags: reuse-schema)
14:09
Improved comment on the prpagateConstants() routine. No changes to executable code. (check-in: d61a875d 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: 4eb80b0c 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 post 6a06202608 for more detail. (check-in: 9be208a6 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: f17dec40 user: drh tags: constant-propagation-fix)
19:37
Add new test file whereM.test. Containing tests for the change on this branch. (check-in: c4c76b82 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: 389ec669 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: f30fb19f user: drh tags: trunk)
14:32
Update an assert() in wherecode.c that might fail following an unrelated SQL error. (check-in: 3e2c36a8 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: 708ce7ad 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: 0b45e821 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: b0bc5ab9 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: 17960165 user: dan tags: trunk)
12:28
Minor comment improvements in fuzzcheck.c. (check-in: 7aca8d52 user: drh tags: trunk)
12:13
New dbsqlfuzz cases added to test/fuzzdata8.db. (check-in: 5bb5c9ec 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: dd56fbe0 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: 0be6b6c9 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: c2066dde user: drh tags: trunk)
2021-05-22
15:05
Merge latest trunk changes into this branch. (check-in: dbc65a69 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 post 7e484e225c. (check-in: b9866005 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: 57087ab2 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: 4ae5e5b5 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 post aa4a7a3980 for an example. (check-in: 94225d69 user: drh tags: trunk)
17:31
Merge latest changes from wal2 into this branch. (check-in: 4efefb59 user: dan tags: begin-concurrent-pnu-wal2)
16:42
Merge the latest trunk enhancements into the wal2 branch. (check-in: 95cc7783 user: drh tags: wal2)
16:41
Fix a problem with SQLITE_MAX_MEMORY in malloc.c. (check-in: c18dbe2f user: dan tags: trunk)
16:17
Merge recent trunk changes into the begin-concurrent-pnu branch. (check-in: a8d05f8e user: drh tags: begin-concurrent-pnu)
15:33
Merge all recent trunk changes into the begin-concurrent branch. (check-in: 0dba9010 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: fd8b68a4 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: 240f7494 user: drh tags: trunk)
18:11
Enhance one test case to use various alternative definitions of DUAL. (check-in: 179dcb6b 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: f7dcc4b5 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: 67bde016 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 post 8590e3f6dc. Test cases for both problems added. (check-in: 5614279d user: drh tags: trunk)
00:10
Fixes and improvements to PRAGMA compile_options. (check-in: 34579549 user: drh tags: trunk)
2021-05-19
23:29
final merge from trunk (Leaf check-in: 06629569 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 post a274248080. More changes associated with CTE name resolution are pending. (check-in: 0f0959c6 user: drh tags: trunk)
20:01
Incorporate ..._DESERIALIZE revision. (check-in: b70587cc user: larrybr tags: compile_options)
19:55
merge from trunk (check-in: 19ffe3cf user: larrybr tags: compile_options)
19:28
Add a comment with useful information about SHM locking. No changes to deliverable code. (check-in: 4e81ea3b user: drh tags: trunk)
19:27
Fix a formatting error on the comment. (Closed-Leaf check-in: 6f2fb60e 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: b480aacb user: drh tags: better-comment)
14:49
Allow aggregate sub-selects within ORDER BY and PARTITION BY clauses of window frame definitions. (check-in: 3daab949 user: dan tags: trunk)
12:17
Improved column name and column type determination for the RETURNING clause. (check-in: 699c3399 user: drh tags: trunk)
02:33
Cure some TCL test failures and narrow an object scope. (check-in: 1155696c 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: 4a55f725 user: drh tags: trunk)
12:36
Improved comments on the generated opcodes.h file. (check-in: f2a17f1f user: drh tags: trunk)
00:52
Add a CORRUPT_DB term to an assert() added earlier today. (check-in: 304739d2 user: drh tags: trunk)
2021-05-17
17:14
Fix harmless compiler warnings. (check-in: ace12a39 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: 4221f41a 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: 4c6cd54a 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 post 726219164b. (check-in: 391c7313 user: drh tags: trunk)
11:19
Performance improvement in sqlite3TableLock(). (check-in: 0d77e371 user: drh tags: trunk)
2021-05-15
19:36
Performance optimization in the memory allocation of allocateCursor. (check-in: 9d16323d user: drh tags: trunk)
13:08
Performance optimization to the clearCell() routine inside of btree. (check-in: c4e02619 user: drh tags: trunk)
2021-05-14
20:01
Small performance improvement for sqlite3BtreeInsert(). (check-in: 4ae64484 user: drh tags: trunk)
15:37
Avoid adding superfluous virtual WHERE clause terms that might arise due to the constant propagation optimization. (check-in: cf63abbe user: drh tags: trunk)
14:26
Attempt the 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 post 830d37b928. (check-in: e994c9f2 user: drh tags: trunk)
13:32
Fix an over-length source code comment in whereexpr.c. No logic changes. (check-in: af5eb902 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: cf8eb465 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 post 6c8960f545. (check-in: c21bc5a2 user: drh tags: trunk)
2021-05-12
22:15
Further simplification of the reverse-order scan logic of the previous check-in. (check-in: b2b0e23b 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 post 8988341615. Test cases in TH3. (check-in: f65c929b 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: b635375d 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: 8db1c069 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: 533fffc4 user: drh tags: trunk)
02:52
Respond correctly to OOM during mutex allocation. (Closed-Leaf check-in: 98dae595 user: drh tags: memdb-enhancement)
02:09
Mark an unreachable branch as NEVER(). (check-in: 6c20d9d4 user: drh tags: memdb-enhancement)
2021-05-11
11:40
Fix a NEVER() that can sometimes be true. (check-in: 8f9f1cbc user: drh tags: memdb-enhancement)
10:47
Fix a NEVER() that can sometimes be true. dbsqlfuzz 9a86fb3830977e216fde061bfbe1c1e5c2e9bfc4 (check-in: f39666e6 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: 0617c66a user: drh tags: memdb-enhancement)
13:28
Add new output columns to the "PRAGMA database_list" statement. (Leaf check-in: 905085a7 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: 6df3b03e user: drh tags: trunk)
11:57
Fix help-text typo in the CLI. (check-in: 56075314 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: 0d11d777 user: drh tags: trunk)
14:16
This was suppose to be a merge from trunk. But something went wrong. (Closed-Leaf check-in: c5e2de1d user: dan tags: bad-merge)
2021-05-06
20:47
Fixes for cksmvfs and rbu so that they work together. (check-in: f35f6972 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: 5f12f891 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: 9080d3d5 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: 5ac24179 user: drh tags: trunk)
11:47
Fix an undefined-integer-overflow problem in fts3.c. (check-in: a0bf931b 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 post eb8613976a. (check-in: f1f9b5de user: drh tags: trunk)
18:24
Also for the 0x20000 bit of ".wheretrace", show when WHERE clause terms are disabled. (check-in: 625fb253 user: drh tags: trunk)
16:51
Additional debugging output for whereScanNext() showing equivalence classes when the ".wheretrace" setting contains the 0x20000 bit. (check-in: 9280e3d9 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 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: 16252d73 user: drh tags: trunk)
2021-05-03
13:35
Fix minor coverity warnings in the CLI. (check-in: 204086a9 user: drh tags: trunk)
13:24
Fix a potential memory leak following OOM in the decimal extension. (check-in: 5127f737 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: 20a4f3f1 user: drh tags: trunk)
2021-04-30
16:12
Guard against a NULL-pointer dereference following OOM in the JSON extension. (check-in: ea221f3c user: drh tags: trunk)
12:30
Fix a harmless "unused variable" warning when compiling with -DSQLITE_COVERAGE_TEST. (check-in: 0bef3fb1 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: 327eb479 user: larrybr tags: trunk)
18:03
Fix the operation of the "-" argument to --load-dbsql in the fuzzcheck program. (check-in: 1f18b3cb 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 post 6a3ec138e9. (check-in: eb40248c user: drh tags: trunk)
13:58
Enhanced "PRAGMA vdbe_trace=on" output associated with the seekHit flag. (check-in: 68395000 user: drh tags: trunk)
13:37
Fix harmless compiler warnings. See forum post 256140e470. (check-in: 1b8da792 user: drh tags: trunk)
10:48
Update test/fuzzdata8.db with recent dbsqlfuzz finds. (check-in: bce2ea39 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: 65ec39f0 user: drh tags: trunk)
15:43
Adjust a VDBE coverage macros due to the enhancement at [506333742103c1f4]. (check-in: daed59b4 user: drh tags: trunk)
2021-04-27
17:36
Create new branch named "testing_help" (Leaf check-in: a97a5022 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: ff3538ae 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: d0b15ecc user: drh tags: trunk)
11:28
Fix a segfault that could occur when querying a corrupt data structures with an fts5token table. (check-in: cbedfa05 user: dan tags: trunk)
04:47
merge latest trunk (check-in: 3ff22824 user: larrybr tags: compile_options)
00:05
Better error messages on showdb. (check-in: 7e18e114 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: 3eabac2e user: drh tags: trunk)
22:30
New dbsqlfuzz cases added to test/fuzzdata8.db. (check-in: 88d20500 user: drh tags: trunk)
21:23
Fix the UNION ALL flattener optimization so that it works better with recursive CTEs. dbsqlfuzz 88ed5c66789fced139d148aed823cba7c0926dd7 (check-in: f80d7bb2 user: drh tags: trunk)
21:00
Add ALWAYS() to branches that are no longer reachable due to recent enhancements. (check-in: 63c50fbd user: drh tags: trunk)
20:18
refix altertab.test (check-in: db032156 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: 6c633466 user: dan tags: trunk)
15:28
More aggressive detection of OOM errors in resolveAlias(). dbsqlfuzz 7f96832c2ef7ee472022ed805b064e55e41094b2 (check-in: e99faf4f 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 post 74330094d8. (check-in: 7178dc3a 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: cb8c41aa user: dan tags: trunk)
2021-04-25
23:13
Skip test when no JSON. (check-in: 6fcb2438 user: larrybr tags: trunk)
2021-04-24
23:40
Make window range queries more robust against corrupt database files. dbsqlfuzz f22df3a7b2aab0937a415484514fc2f68a293c99. (check-in: 50633374 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 post ed8f696a20. (check-in: 3d55c21c 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: 32255e39 user: drh tags: trunk)
2021-04-23
13:57
Fix harmless compiler warnings in fuzzcheck. (check-in: e7b4ffec 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: e1548802 user: drh tags: trunk)
12:16
Give a better final output line for the --spinner option on fuzzcheck. (check-in: 93729614 user: drh tags: trunk)
11:50
New dbsqlfuzz cases added to test/fuzzdata8.db. (check-in: 8da88508 user: drh tags: trunk)
11:37
Fix an assert() in fts5_index.c that may fail if the database records are corrupt. (check-in: dfadb96e user: dan tags: trunk)
00:59
Improved OOM detection in sqlite3ExprCheckIN(). dbsqlfuzz 46ae2d8f473ac672f3042cc14ab67aeab9ffa6c2 (check-in: fac12115 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: bab132cb user: drh tags: trunk)
19:34
Fix harmless compiler warnings of unused function parameters in FTS5. (check-in: 14273915 user: drh tags: trunk)
18:52
Further tweaks for comments in sqlite3session.h. (check-in: 553ada28 user: dan tags: trunk)
18:39
Change to comments in sqlite3session.h. No changes to code. (check-in: 353ebb71 user: dan tags: trunk)
18:02
Raise an error on an attempt to rename an eponymous virtual table. (check-in: c7909e8e user: drh tags: trunk)
17:55
Add the experimental sqlite3session_changeset_size() API. (check-in: 3de544d4 user: dan tags: trunk)
17:40
Add the sqlite3session_object_config() API. Current used to enable/disable collecting data for sqlite3session_changeset_size(). (Closed-Leaf check-in: 4d5fd215 user: dan tags: session-changeset-size)
16:54
Improved handling of errors in ALTER TABLE RENAME. dbsqlfuzz 3e3e2e076e53d02288f80af41a11143a6ddf8c88 (check-in: 9c7a449f user: drh tags: trunk)
14:43
Fix the date/time translation logic in the zipfile extension so that it works with boundary cases. See forum post d82289d69f for the trouble report. (check-in: c8de5f06 user: drh tags: trunk)
13:59
Ensure that the typedefs for specific-length integers in zipfile.c are correct. (check-in: f1f2a490 user: drh tags: trunk)
12:38
In the whereLoopXfer() routine, ensure that the destination is fully initialized even if an OOM error occurs. (check-in: c4258708 user: drh tags: trunk)
2021-04-21
23:13
The new OP_Null opcode from check-in [8b54102a00852b72] was not coded correctly. This check-in attempts to fix that. (check-in: 02af30aa user: drh tags: trunk)
20:52
Add the experimental sqlite3session_changeset_size() API. (check-in: b5564a6f user: dan tags: session-changeset-size)
12:03
Add recent dbsqlfuzz test cases to test/fuzzdata8.db. (check-in: 6fe50dcc user: drh tags: trunk)
11:58
Initialize the key registers in the skip-scan optimization to NULL, in case the query is run on a corrupt database that causes the initialization of the key to be bypassed. dbsqlfuzz 62fdf2bece00d24cac8a4edf2cf562e6eeac779d (check-in: 8b54102a user: drh tags: trunk)
11:32
Fix a problem allowing SQL variables to be used expressions within the second and subsequent ON CONFLICT clauses of an UPSERT within a trigger. (check-in: 2a28910a user: dan tags: trunk)
2021-04-20
22:48
Remove a testcase() that is no longer relevant due to the previous check-in. (check-in: ca70c8ac user: drh tags: trunk)
20:48
More aggressive detection of database corruption in the rebuildPage() routine. (check-in: a18c6506 user: drh tags: trunk)
13:31
Update an assert() in btree.c that may fail with a corrupt database. (check-in: d74bf88c user: dan tags: trunk)
12:14
In the sqlite3SelectDup() routine, do not do an incomplete duplication due to OOM. This in turn requires several new NEVER() and ALWAYS() macros for unreachable branches. (check-in: a61c0e6b user: drh tags: trunk)
00:09
Add two ALWAYS() macros for branches no longer reachable due to the previous check-in. Later: Dbsqlfuzz quickly found ways to make both of these ALWAYS() conditionals false. (Closed-Leaf check-in: 8f339f43 user: drh tags: mistake)
2021-04-19
20:36
Improvement to check-in [d564d8882ef18b55] to detect the OOM fault even if it occurs deep down inside the duplicated expression. (check-in: 3e863cd0 user: drh tags: trunk)
19:59
An improvement to check-in [1a341378ab24a509] that omits the new Walker.bWalkWinDefn boolean (which is not always initialized) and uses a special value for xSelectCallback2 instead. (check-in: bef2238d user: drh tags: trunk)
18:03
Ensure that a WITHOUT ROWID table does not have the .iPKey field set, even if an OOM error occurs while parsing a schema in PRAGMA writable_schema=ON mode. Add extra assert() statements to triple-check that this never happens. dbsqlfuzz 803bb1f63d6f3bd6c14db568494d6e96be8f1ec9. (check-in: 41228350 user: drh tags: trunk)
16:45
Remove fts5 test functions fts5_expr(), fts5_expr_tcl(), fts5_isalnum() and fts5_fold() from release builds. (check-in: c68a6c6c user: dan tags: trunk)
15:05
In the query flattener, avoid invalidating an expression if an OOM occurs. This prevents problems in higher-level routines that might not check for the OOM after processing a subquery. dbsqlfuzz fb70fa8602421f87673e0670b0712ff2b5240ea0 (check-in: d564d888 user: drh tags: trunk)
2021-04-18
05:30
Ensure that all records are updated by setting the OPFLAG_SAVEPOSITION flag when updating records as part of ALTER TABLE DROP COLUMN. Fix for [c88f3036a2]. (check-in: 354a4db5 user: dan tags: trunk)
2021-04-17
20:13
Remove a couple of NEVER() macros from the code for walking window lists. (check-in: 4ec9ef4b user: dan tags: trunk)
20:13
Merge trunk bug/test fixes (check-in: 830b0b1c user: larrybr tags: compile_options)
20:04
Bring in permutations mod. (check-in: 7a1316f3 user: larrybr tags: trunk)
19:59
Do not run external_reader.test as part of permutation "journaltest", as it requires wal mode. (check-in: 9f5f16cf user: dan tags: trunk)
18:43
Allow more time for perf tests when instrumented. Condition another on feature it needs. (check-in: f0dd9cf2 user: larrybr tags: trunk)
18:39
Add new dbsqlfuzz cases to test/fuzzdata8.db. (check-in: d18793e5 user: drh tags: trunk)
14:42
Fix cases where code in expr.c was failing to handle OOM failures that occurred while processing sub-select expressions. (check-in: 62efe2ee user: dan tags: trunk)
13:46
Ensure that variables are not used in the WINDOW clause of a query inside of a trigger. dbsqlfuzz d9cf66100064952b66951845dfab41de1c124611 (check-in: 1a341378 user: drh tags: trunk)
2021-04-16
23:53
Merge from trunk. (check-in: 43894f0b user: larrybr tags: compile_options)
23:43
Add geopoly to $::sqlite_options() and use it to pass more tests. (check-in: 23da5016 user: larrybr tags: trunk)
22:53
Performance optimizations in the code generator, especially in name resolution. (check-in: ab83a998 user: drh tags: trunk)
21:29
Make a test conditioned on feature used. (check-in: 31afda7a user: larrybr tags: trunk)
19:25
Add new dbsqlfuzz-generated cases to test/fuzzdata8.db. (check-in: 1ac0a056 user: drh tags: trunk)
17:09
Fix another undefined behaviour in fts3 that could follow an OOM error. (check-in: fac3ff85 user: dan tags: trunk)
16:55
Avoid signed integer overflow when finding snippets in fts3 by using 64-bit integer offsets. (check-in: 4cc09a87 user: dan tags: trunk)
15:44
Merge from trunk. (check-in: d762784a user: larrybr tags: compile_options)
12:33
Remove an ALWAYS() from a branch in sqlite3ExprAddCollateToken() which can be false following an OOM. dbsqlfuzz 9e8516bf1e786c84e520ae43141b75b7399f8618. (check-in: 6af4e6d0 user: drh tags: trunk)
12:13
Fix an assert() in whereLoopAddOr() that can be wrong if an OOM occurs in an OR constraint on a virtual table if one of the terms of the OR is an IN operator. dbsqlfuzz 5ee7350b40014f5a878c5d6e76913a2d619f5146 (check-in: 5cb40e53 user: drh tags: trunk)
11:25
Fix an assert() in fts3 that might fail when handing corrupt records. (check-in: d0e2d674 user: dan tags: trunk)
11:05
Fix the comment on the implementation of the pi() SQL function. No changes to code. (check-in: 5620bd46 user: drh tags: trunk)
10:25
Dial back assumptions on compile option defaults to reflect actual conditionals. (check-in: cb312772 user: larrybr tags: compile_options)
01:03
Do not invoke sqlite3ExprAffinity() if there is a possibility that the Expr is incomplete due to a prior OOM. dbsqlfuzz b8a824706914488bd236da51118eb9174ceb870f (check-in: e8a1515b user: drh tags: trunk)
2021-04-15
23:43
Merge from (forked) trunk. Handle compile options that differ from default by being 0. (check-in: 6eb83f83 user: larrybr tags: compile_options)
19:09
Fix a bad interaction between constant propagation and transitive term handling causing patterns like "WHERE unlikely(t1.x=t1.y) AND t1.y=?" to return non-matching rows. See forum post c38462ab5e. (check-in: 2363a14c user: dan tags: trunk)
13:26
Add extra test case for OOM handling in where.c. (check-in: 7163de3d user: dan tags: trunk)
12:56
Make sure the WhereInfo.pExprMods list is properly cleared when existing sqlite3WhereBegin() early due to an OOM fault. dbsqlfuzz 1247a51318047aba42e7f6991dfa62577cb7a151. (check-in: 0e19af72 user: drh tags: trunk)
00:26
Bring pragma compile_options up to date. And make mkctimec.tcl help do so. (check-in: 63ea3e29 user: larrybr tags: compile_options)
2021-04-14
15:25
Prevent an assert() from failing if sqlite3_blob_reopen() is called on a blob-handle that has already hit an SQLITE_CORRUPT error. (check-in: b5dc7aba user: dan tags: trunk)
12:11
Fix a potential crash when using json_group_array() as a window function. (check-in: 3c266690 user: dan tags: trunk)
11:20
Fix an assert() in the code generator for expressions so that it is valid even after an OOM. (check-in: 427e83eb user: drh tags: trunk)
2021-04-13
17:45
Fix an undefined signed integer overflow in fts5. (check-in: e6f0adb0 user: dan tags: trunk)
13:48
Do not leave a WITHOUT ROWID table without a primary key index structure due to an OOM error. This prevents downstream troubles in the case of PRAGMA writable_schema=ON. dbsqlfuzz 69fb32cc82d59b4d790881566e3f6c727e616122 (check-in: 608b6644 user: drh tags: trunk)
13:20
The SQLITE_NoSchemaError flag should not apply to OOM errors while parsing the schema. (check-in: 9cc484ad user: drh tags: trunk)
13:01
Earlier detection empty_result_callbacks in sqlite3InitCallbac() to avoid problems with corrupt schemas an writable_schema=ON. dbsqlfuzz ca4ca43bdb22eab9859de4979aec615af851e111. (check-in: fb305fe0 user: drh tags: trunk)
12:28
In the rtreedepth() function, detect OOM when converting a zeroblob() on input. dbsqlfuzz ed23eda7cc3a8a054f85ea19d55c59ba2ca72744. (check-in: 69f843c8 user: drh tags: trunk)
01:12
Fix an error in the inversion function for json_group_array(). dbsqlfuzz 68a4b0f668b7bc27235e3f1c5cff8a2d94cfa17e. (check-in: e718a62e user: drh tags: trunk)
2021-04-12
23:18
Fix a faulty assert() inside sqlite3ExprDup(). (check-in: 59812e7e user: drh tags: trunk)
22:39
Fix an assert() in OP_ParseSchema so that it works even after an OOM. (check-in: 79b88353 user: drh tags: trunk)
18:32
Avoid taking the address of a NULL pointer following an OOM in FTS5. Doing so is harmless in actual practice, but it technically UB so we want to avoid it. (check-in: 1cfcd9dc user: drh tags: trunk)
17:34
Add an assert() to show that the SF_Resolved flag does not get set if errors are being suppressed. (check-in: f455c5b0 user: drh tags: trunk)
16:59
Fix a segfault that could occur if the ORDER BY clause of a compound SELECT contains a sub-select that uses one or more window functions. (check-in: 5ba15ebb user: dan tags: trunk)
12:58
Fix the display of SrcList in the sqlite3TreeView debugging routines. (check-in: 28ecb381 user: drh tags: trunk)
12:02
Avoid an assert() failure when a compound scalar sub-select is, due to a "WHERE (sub-select) AND (... OR ...)" clause, coded twice by the code generator. (check-in: a4e3f133 user: dan tags: trunk)
11:51
Fix harmless comment typo in main.c. (check-in: 785a553e user: drh tags: trunk)
2021-04-11
00:11
Add NEVER() to a branch that is no longer reachable due to check-in [a1d823f6879ce1ac]. (check-in: 5fda21fe user: drh tags: trunk)