SQLite

Timeline
Login

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

399 check-ins using file src/walker.c version b71a992b

2019-09-03
19:40
Fix a buffer overread that could occur when running fts5 prefix queries inside a transaction. (Leaf check-in: b54aa18b user: dan tags: branch-3.18)
18:43
Fix a buffer overread that could occur when running fts5 prefix queries inside a transaction. (Leaf check-in: 0770363b user: drh tags: branch-3.19)
17:55
Disable the undocumented rtreenode() SQL function that is only used for testing, except when doing a build that is specifically intended for testing. (check-in: 34cd2d92 user: drh tags: branch-3.19)
17:46
Disable the undocumented rtreenode() SQL function that is only used for testing, except when doing a build that is specifically intended for testing. (check-in: 0a1cce49 user: drh tags: branch-3.18)
2018-12-19
17:05
Add new interfaces sqlite3_result_pointer(), and sqlite3_value_pointer() and use them to transfer the eponymous FTS3 column pointer to the snippet() and offsets() routines. Cherrypick from commit [8201f4e1] on branch-3.18. (check-in: 553a923c user: dan tags: branch-3.19)
14:44
Fix a crash that can follow an OOM in fts3 on this branch. (check-in: de078148 user: dan tags: branch-3.19)
01:44
Add extra defenses against strategically corrupt databases to fts3/4. (check-in: 4f315e4a user: drh tags: branch-3.19)
01:38
Add extra defenses against strategically corrupt databases to fts3/4. (check-in: 4bb21d82 user: drh tags: branch-3.18)
2018-03-16
07:49
Fix a problem in test script thread001.test causing a spurious "-1 files were left open" error when run separately. Cherrypick of [1774f1c3b]. (check-in: 6cf8172d user: dan tags: branch-3.19)
2018-03-06
11:49
Avoid running a couple of tests in crash8.test that depend on the presence of the journal file if running on an F2FS file-system that does not require a journal file. Cherrypick of [797e02e0]. (check-in: eeedfc74 user: dan tags: branch-3.19)
2018-02-02
08:14
In SQLITE_ENABLE_BATCH_ATOMIC_WRITE builds on F2FS file-systems, invoke SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE if an SQLITE_FCNTL_COMMIT_ATOMIC_WRITE call fails. Also, do not use an atomic transaction to create the initial database. This is because if an error occurs while writing to the db file, any changes to the file-size do not seem to be rolled back automatically. The only time this matters is when the file was 0 bytes in size to start with. Cherrypick of [b3122db154]. (check-in: 22a228ed user: dan tags: branch-3.19)
08:08
Update a couple of test scripts so that they work on F2FS file-systems that support atomic transactions. Cherrypick of [49e58e645e]. (check-in: 1b394679 user: dan tags: branch-3.19)
2018-01-13
14:07
Fix a typo in test file crash8.test. (check-in: 4951d91d user: dan tags: branch-3.19)
13:21
Fix various problems in test scripts preventing "make test" from passing on F2FS file-systems with the "atomic-write" feature. Cherrypick of [56d93d07]. (check-in: 6a296d4d user: dan tags: branch-3.19)
2017-10-11
20:10
Change some internal details to bring this branch closer to the code on trunk. (check-in: 58e42cfd user: dan tags: schemalint)
2017-08-18
19:28
Version 3.19.4 (check-in: 605907e7 user: drh tags: release, version-3.19.4, branch-3.19)
2017-07-31
13:22
Use batch atomic writes when running on a recent F2FS filesystem, if compiled with SQLITE_ENABLE_BATCH_ATOMIC_WRITE. (check-in: 2dd0c77d user: drh tags: branch-3.19)
13:11
Move the generation of output column names earlier, to right after name resolution and before query transformations such as flattening. This prevents the names from getting mangled by query transformations, and obviates hacks in the query flattener that attempt to work around the name mangling. The resulting code is smaller and faster and gives more consistent output. This is a fix for ticket [de3403bf5ae5f72ed] and a cherry-pick of check-in [09834279aeca3bda] (check-in: 499942b3 user: drh tags: branch-3.19)
12:19
Correctly handle an "INTEGER PRIMARY KEY UNIQUE" column in a WITHOUT ROWID table. This is a fix for ticket [bc115541132dad136], cherry-picked from check-in [5216bfb73f1a49bdd8] (check-in: 322a2ede user: drh tags: branch-3.19)
12:07
Increase the version number to 3.19.4 (check-in: b77f297d user: drh tags: branch-3.19)
12:04
Merge further enhancements to the batch-atomic-write subsystem. (Leaf check-in: 4be4265d user: drh tags: batch-atomic-write-3.19)
2017-07-28
02:02
Backport of all batch-atomic-write changes through check-in [67bad7fb9b] (check-in: def55027 user: drh tags: batch-atomic-write-3.19)
2017-07-27
00:27
Do now allow the geometry object in the right operand of a MATCH operator in the RTREE extension to be inpersonated by a BLOB literal. (check-in: 24c9cd46 user: drh tags: branch-3.19)
2017-07-21
07:56
Add new interfaces sqlite3_result_pointer(), and sqlite3_value_pointer() and use them to transfer the eponymous FTS3 column pointer to the snippet() and offsets() routines. This changes is a cherry-pick of [f0f49224] via [69906880cee] and is ultimately inspired by check-in [72de49f2]. (check-in: 8201f4e1 user: drh tags: branch-3.18)
2017-07-07
16:12
Have this branch maintain an in-memory hash-table of old pages for read-only MVCC clients. There is no way to access it yet. (check-in: a3a9a2e1 user: dan tags: server-process-edition)
2017-06-28
20:21
Merge tserver fixes with this branch. (check-in: 58a0aab8 user: dan tags: server-process-edition)
20:12
Fix bugs in test program tserver.c. (Leaf check-in: 093b9108 user: dan tags: server-edition)
2017-06-27
20:23
Support clients within a single process only. (check-in: dfa9a4d5 user: dan tags: server-process-edition)
2017-06-20
19:20
Ensure that test tool "tserver" finalizes all statements before attempting to close a database handle. (check-in: d8568aac user: dan tags: server-edition)
2017-06-17
09:59
Version 3.18.2 (check-in: 036ebf72 user: drh tags: release, branch-3.18, version-3.18.2)
00:39
When building an ephemeral table of integers, do not assume that the table does not already contain N if the insert cursor points to N-1. Fix for ticket [61fe9745]. Also increase the version number to 3.18.2. This is the release candidate. (check-in: e1b71029 user: drh tags: branch-3.18)
2017-06-16
13:41
Version 3.18.1 (check-in: 77bb4623 user: drh tags: release, branch-3.18, version-3.18.1)
12:15
An unintentional fork was created due to a typo when creating branch-3.18. This check-in resolves the fork and is the 3.18.1 release candidate. (check-in: 20e5ffb1 user: drh tags: branch-3.18)
2017-06-15
07:47
Increase the version number to 3.18.1. (check-in: 4be2eba8 user: drh tags: branch-3.18)
2017-06-12
23:44
Ensure pointer map entries are always added when a row that does use overflow pages replaces one that does not in an auto-vacuum database. Fix for [fda22108]. (check-in: 30c50f0e user: drh tags: branch-3.18)
2017-06-10
17:23
Remove sqlite3_log() and abort() calls added to this branch to debug the pointer-map problem ([fda22108]). (check-in: 79544fc2 user: dan tags: begin-concurrent)
2017-06-08
16:23
Update the recent auto-vacuum fix so that it works for the in-memory pointer-map structure used by this branch. (check-in: 8e311a6d user: dan tags: begin-concurrent)
16:10
Merge 3.19.3 changes with this branch. (check-in: e2d38d51 user: dan tags: begin-concurrent)
15:54
Merge changes for version 3.19.0 with this branch. (check-in: 0f59bb94 user: dan tags: begin-concurrent)
14:41
Merge the auto_vacuum bug fix and all other changes from the 3.19.3 release. (check-in: 93f32dd2 user: drh tags: apple-osx)
14:26
Version 3.19.3 (check-in: 0ee482a1 user: drh tags: release, version-3.19.3, branch-3.19)
11:32
Fix an issue with OPT_FEATURE_FLAGS in configure.ac. (check-in: 97b5c4a5 user: drh tags: branch-3.19)
11:27
Increase the version number to 3.19.3. (check-in: 903fff53 user: drh tags: branch-3.19)
11:26
Ensure pointer map entries are always added when a row that does use overflow pages replaces one that does not in an auto-vacuum database. Fix for [fda22108]. (check-in: 9478106c user: drh tags: branch-3.19)
2017-06-07
15:55
Add too/tserver.c - the implementation of a simple multi-threaded server designed for interactive testing of concurrency between connections used by different threads of the same process. (check-in: 05b4fc43 user: dan tags: server-edition)
2017-06-02
09:31
Extend even further the logging designed to find problems in the pointer-map structure. Call abort() to dump a core as soon as such a problem is seen. (check-in: f131677d user: dan tags: begin-concurrent)
2017-05-31
17:06
Generate extra log messages in response to irregularites in the pointer-map used by "BEGIN CONCURRENT" transactions. (check-in: f7e3e2bc user: dan tags: begin-concurrent)
2017-05-29
19:23
Instead of a root page number, log the object (table or index) name if a page level locking conflict is detected. (check-in: 9ad846e5 user: dan tags: begin-concurrent)
14:27
Enhance the log messages emitted when a page conflict is detected. (check-in: 92618492 user: dan tags: begin-concurrent)
13:09
Correctly initialize the iSelectId of FROM clause terms that are a self join of a reused materialized subquery. Without this, the EXPLAIN QUERY PLAN output for the query will identify the subquery using the uninitialized (and arbitrary) iSelectId. (check-in: 43c9ae37 user: drh tags: trunk)
03:48
Improve shell help text for the '.open' command. (check-in: 7cc940a9 user: mistachkin tags: trunk)
2017-05-27
22:42
Smaller and faster vdbeSorterCompareText(). (check-in: 542dc4c5 user: drh tags: trunk)
18:05
Add debugging functions btreePageOriginFile() and btreePageOriginOffset(). (Leaf check-in: 214d238a user: dan tags: btree-debug)
2017-05-26
18:18
Adjust the bitvec related sqlite3_log messages added by [9527089b]. (check-in: a7e0e7a4 user: dan tags: begin-concurrent)
16:51
Add extra test cases for deferred page allocation. (check-in: 9df01957 user: dan tags: begin-concurrent)
16:15
Fix a problem with deferred page allocation in transactions that revert page allocations by savepoint rollbacks. (check-in: a4a3bbe6 user: dan tags: begin-concurrent)
2017-05-25
21:35
Small performance increase and size decrease in the btreeInitPage() routine. (check-in: 6f415833 user: drh tags: trunk)
21:02
Fix a problem with the deferred page allocation on this branch that could occur when the database file is just slightly smaller than the PENDING_BYTE page offset. (check-in: 47a7dd92 user: dan tags: begin-concurrent)
17:36
Merge all fixes from the 3.19.2 release. (check-in: 12964240 user: drh tags: apple-osx)
17:27
Merge the LEFT JOIN query flattener fixes from 3.19.2. (check-in: 6513e4a1 user: drh tags: trunk)
16:50
Version 3.19.2 (check-in: edb4e819 user: drh tags: release, branch-3.19, version-3.19.2)
11:39
The SQLITE_EXTRA_IFNULLROW compile-time option causes OP_IfNullRow opcodes to be issued for references to the right-hand side table of *any* flattened join, not just LEFT JOINs. This puts extra stress on the OP_IfNUllRow opcodes for testing purposes. (check-in: 1a074c8a user: drh tags: branch-3.19)
00:28
The TK_IF_NULL_ROW expression node must be treated as a variable that references the table Expr.iTable. Proposed fix for ticket [7fde638e94287d2c]. (check-in: b30a364a user: drh tags: branch-3.19)
00:12
Increase the version number to 3.19.2 since ticket [7fde638e94287d2] is going to necessitate another patch release. (check-in: c315727a user: drh tags: branch-3.19)
00:08
The TK_IF_NULL_ROW expression node must be treated as a variable that references the table Expr.iTable. Proposed fix for ticket [7fde638e94287d2c]. (check-in: 77fc2301 user: drh tags: trunk)
2017-05-24
15:32
Fix harmless compiler warnings in FTS5. (check-in: 57a60e95 user: mistachkin tags: trunk)
13:08
Version 3.19.1 (check-in: f6d7b988 user: drh tags: release, branch-3.19, version-3.19.1)
04:18
Fix a problem in STAT4 equality estimation for multi-column indexes introduced by check-in [3e0590dee0e68cc1599]. (check-in: cfb0d9e0 user: drh tags: trunk)
2017-05-23
20:00
Remove the msvc.h header file from the autoconf tarball. (check-in: 84996aef user: drh tags: trunk)
19:35
Do not use strcpy() in the (obsolete) amatch extension. In releasetest.tcl, run Apple tests using -Os instead of -O1 (check-in: 4440e420 user: drh tags: trunk)
19:23
Add experimental new API sqlite3_wal_info(). (check-in: 5b9d498f user: dan tags: begin-concurrent)
15:33
Disable the LEFT JOIN flattening optimization for aggregate queries, as it does not currently work. Further fix for ticket [cad1ab4cb7b0fc344]. (check-in: 05ada741 user: drh tags: branch-3.19)
15:21
Disable the LEFT JOIN flattening optimization for aggregate queries, as it does not currently work. Further fix for ticket [cad1ab4cb7b0fc344]. (check-in: 44b21e35 user: drh tags: trunk)
12:44
Ensure that the expression rewriter inside the query flattener decends into the substructure of the TK_IF_NULL_ROW operator. This is a continuation of the fix for ticket [cad1ab4cb7b0fc344]. (check-in: 28d2902d user: drh tags: branch-3.19)
12:36
Ensure that the expression rewriter inside the query flattener decends into the substructure of the TK_IF_NULL_ROW operator. This is a continuation of the fix for ticket [cad1ab4cb7b0fc344]. (check-in: 941d8142 user: drh tags: trunk)
01:35
Change the version number to 3.19.1. (check-in: 16656b8f user: drh tags: branch-3.19)
01:30
Remove a surplus semicolon, which was harmless on gcc and clang but caused compile-time errors on msvc. This only comes up using the encryption extension. (check-in: 4510d55d user: drh tags: branch-3.19)
01:29
When flattening a query, make sure iTable attribute of TK_IF_NULL_ROW operators (that result from a prior flattening of a LEFT JOIN) are updated correctly. Fix for ticket [cad1ab4cb7b0fc344]. (check-in: 919d36e6 user: drh tags: branch-3.19)
01:21
When flattening a query, make sure iTable attribute of TK_IF_NULL_ROW operators (that result from a prior flattening of a LEFT JOIN) are updated correctly. Fix for ticket [cad1ab4cb7b0fc344]. (check-in: 92c17850 user: drh tags: trunk)
00:32
Remove a surplus semicolon, which was harmless on gcc and clang but caused compile-time errors on msvc. This only comes up using the encryption extension. (check-in: 987a2b55 user: drh tags: trunk)
2017-05-22
19:24
Pull in all changes from the 3.19.0 release. (check-in: bbd2d0e1 user: drh tags: apple-osx)
18:09
Fix incompatibilities between the "sqldiff --changeset" command and the sessions module. Specifically, allow sessions to process changesets containing tables with zero operations on them and have sqldiff output the expected output for tables with multi-column primary keys. (check-in: 0bb23c48 user: dan tags: trunk)
18:00
Add the ".cd" command to the command-line shell. (check-in: 5fe28e15 user: drh tags: trunk)
17:39
Increase the version number to 3.20 for the next release cycle. (check-in: ab471f61 user: drh tags: trunk)
14:04
Merge the last-minute 3.19.0 changes into trunk. (check-in: e6ba2a93 user: drh tags: trunk)
13:58
Version 3.19.0 (check-in: 28a94eb2 user: drh tags: release, branch-3.19, version-3.19.0)
13:06
Include the "msvc.h" header file in the amalgamation tarball. (check-in: 3dd6fe53 user: drh tags: branch-3.19)
08:04
Fix a case where NULL was being passed to memcmp() following an OOM. This is probably not a real problem, as the number-of-bytes parameter was passed 0 in this case, but it was causing a santizer complaint. (check-in: 3ea2bad2 user: dan tags: trunk)
08:01
Add code to this branch to emit a log message after each cumulative second that the WRITER lock has been held. (check-in: a726d981 user: dan tags: server-edition)
00:45
When planning a query using sorting, resolve ties in the solver by selecting loop plans with the smaller unsorted cost. (check-in: f261678c user: drh tags: trunk)
2017-05-19
23:04
Prevent a possible NULL pointer dereference in the OP_Found opcode that can follow an OOM error. Problem found by OSS-Fuzz. (check-in: 50ad60de user: drh tags: branch-3.19)
22:51
Prevent a possible NULL pointer dereference in the OP_Found opcode that can follow an OOM error. Problem found by OSS-Fuzz. (check-in: c2de178f user: drh tags: trunk)
20:55
Improved comments on one routine in the query planner. Improved diagnostic output for ".wheretrace". No production code changes. (check-in: 946b87a5 user: drh tags: trunk)
20:47
Fix a documentation typo. No changes to code. (check-in: 68942a4f user: drh tags: trunk)
20:46
Branch for the 3.19 release. (check-in: f2b829ec user: drh tags: branch-3.19)
19:57
Invoke sqlite3_log() in response to irregularities surrounding the Pager.pAllRead bit-vector. (check-in: 9527089b user: dan tags: begin-concurrent)
12:32
Fix some problems in fts5 code detected by -fsanitize=undefined. (check-in: 35f72104 user: dan tags: trunk)
2017-05-18
20:47
Fix a problem on this branch causing some page-level read-locks to be omitted. (check-in: 0eed1521 user: dan tags: begin-concurrent)
18:17
Fix a documentation typo. No changes to code. (Closed-Leaf check-in: cfa4aa20 user: drh tags: doc-type)
2017-05-16
09:49
Update the tool/warnings.sh script to automatically use the right options on OpenBSD. (check-in: 7940bff3 user: dan tags: trunk)
2017-05-15
19:32
Avoid writer starvation by adding a RESERVED state to page locks. (check-in: 9b7f8024 user: dan tags: server-edition)
17:56
Merge changes from trunk. (check-in: 6e0f64ab user: drh tags: schemalint)
17:34
Merge the latest changes from trunk. (check-in: 14ea8400 user: drh tags: begin-concurrent)
15:12
Fix the build so that it works again with SQLITE_OMIT_SUBQUERY. (check-in: bb0d9281 user: drh tags: trunk)
15:05
Improvements to the omittest.tcl script. (check-in: 0f05d7e9 user: drh tags: trunk)
2017-05-13
19:07
Avoid running recovery while there is another read/write client. (check-in: a38858a2 user: dan tags: server-edition)
2017-05-12
18:52
Require exclusive access to the db to wrap the wal file. Have "PRAGMA wal_checkpoint = restart" block for this. (check-in: cbf44ed9 user: dan tags: server-edition)
14:05
Make sure the 'sqlite3changegroup_*' functions are included in the SQLITE_APICALL handling. (check-in: a123cb93 user: mistachkin tags: trunk)
2017-05-11
19:09
Add another test case for the new authorizer functionality. (check-in: 339df63f user: dan tags: trunk)
18:49
Merge recent enhancements from trunk. (check-in: b55c0f14 user: drh tags: apple-osx)
18:42
Enhance the json_extract() function to reuse parses of the same JSON when the function appears multiple times in the same query. (check-in: 3ba9e7ab user: drh tags: trunk)
18:14
Do not save the state of an fts5 merge operation mid-way through an input term, even if no previous entry for that term has caused any output. Doing so may corrupt the FTS index. (check-in: 9a2de4f0 user: dan tags: trunk)
16:49
Cache the JSON parse used by json_extract(). (Closed-Leaf check-in: 44ca6c2c user: drh tags: auxdata-cache)
15:20
Negative N values in sqlite3_get_auxdata() and sqlite3_set_auxdata() can be used to access an auxiliary data cache over all functions in a single prepared statement. (check-in: ff530675 user: drh tags: auxdata-cache)
13:43
New requirements marks and documentation for the authorizer. (check-in: 3980ea09 user: drh tags: trunk)
12:27
Improvements to the sqlite3_set_authorizer() documentation. (check-in: 47629b19 user: drh tags: trunk)
12:05
Change the SQLITE_READ authorization call for unreferenced tables to use an empty string for the column name, as this is less likely to impact legacy authorization callbacks that assume column names are always non-NULL. (check-in: 4139953a user: drh tags: trunk)
2017-05-10
19:42
Rename fields of the internal AuxData object to make them unique and easier to search for. (check-in: 2be9850c user: drh tags: trunk)
16:33
Improved documentation for the SQLITE_READ authorizer callback. No code changes. (check-in: 92c5ea70 user: drh tags: trunk)
16:18
Fix a problem causing a lock to be held past the end of a transaction. Use a blocking lock to take the read-lock on page 1 taken by all transactions. (check-in: 2584df3d user: dan tags: server-edition)
16:12
Invoke the SQLITE_READ authorizer callback with a NULL column name for any table referenced by a query but from when no columns are extracted. (check-in: 92ab1f72 user: drh tags: trunk)
13:46
Use a blocking call to obtain the wal-mode WRITER lock in some cases. (check-in: 4464ca1d user: dan tags: server-edition)
13:36
Fix a couple of test scripts so that they work with -DSQLITE_DISABLE_FTS4_DEFERRED builds. (check-in: 30018d31 user: dan tags: trunk)
12:58
Avoid unnecessary codec operations on in-memory subjournals. (check-in: 199b2a84 user: drh tags: trunk)
12:49
Do not invoke codec macros for in-memory subjournals. (Closed-Leaf check-in: d2bb0066 user: drh tags: codecless-inmemory-subjournal)
2017-05-09
16:32
Fix a problem with wrapping the log file in server mode. (check-in: 270b7d1e user: dan tags: server-edition)
2017-05-08
20:15
Add some support for wal mode to the hack on this branch. (check-in: b733afc1 user: dan tags: server-edition)
18:29
Do not invoke codec macros when reading or writing an in-memory sub-journal. (check-in: 2c145ee6 user: dan tags: codecless-inmemory-subjournal)
2017-05-06
18:09
Fix an obscure assertion fault that can follow an OOM. The problem was introduced by check-in [a1cf44763277b6c7]. (check-in: 04e7e565 user: drh tags: trunk)
17:12
Fix requirements marks and harmless compiler warnings. (check-in: 198ff4c0 user: drh tags: trunk)
16:04
Update this branch with latest trunk changes. (check-in: ed6bad67 user: dan tags: server-edition)
2017-05-04
14:02
Remove the tool/schemalint.tcl script. And related Makefile entries. It is superseded by sqlite3_expert. (check-in: 269bf52e user: dan tags: schemalint)
11:13
Fix a collision of the "B0" identifier name between the termios.h header file and the SHA3 implementation in the shell. (check-in: b9a58dac user: drh tags: trunk)
2017-05-03
19:36
Remove the unused "sqlite3_stack_used" TCL command from the test harness. (check-in: e24b7382 user: drh tags: trunk)
17:44
Fix the sqlite3GetInt32() function so that it correctly returns 0 on a zero-length input string. (check-in: 05eba9e3 user: drh tags: trunk)
15:54
Always enable URI filenames when compiling with SQLITE_HAS_CODEC. Also allow plaintext keys using the key= query parameter. (check-in: 31a51b4d user: drh tags: trunk)
13:05
Fix a harmless compiler warning on Windows. (check-in: 593e5dd0 user: drh tags: schemalint)
12:50
Get sqlite3_expert building on Windows. (check-in: d8254047 user: drh tags: schemalint)
12:15
In sqlite3expert.c, do not copy the schema for virtual tables. Updates to makefiles to make building easier. (check-in: da15752d user: drh tags: schemalint)
2017-05-02
20:42
In the sqlite3_expert command-line tool, allow two-dash options. Do not accept the database name if it begins with "-". (check-in: af7d1596 user: drh tags: schemalint)
19:45
Merge the latest enhancements from trunk. (check-in: a7dcf6a7 user: drh tags: schemalint)
18:00
Fix the fts3EvalAverageDocsize() routine so that it returns errors from sqlite3_reset() rather than always returning SQLITE_OK. (check-in: 430f539c user: drh tags: trunk)
17:54
Reuse the same materialization of a view when that view appears in a query more than once, such as in a self-join. (check-in: 9e35c89d user: drh tags: trunk)
16:55
Move terms of the HAVING clause that reference only columns in the GROUP BY clause over to the WHERE clause, resulting in a faster query plan. (check-in: 47cbb471 user: drh tags: trunk)
16:46
Additional comments on the sqlite3ExprIsConstantOrGroupBy() routine. No code changes. (Closed-Leaf check-in: 8424492e user: drh tags: having-where-optimization)
01:30
Fix typo in comment. No changes to code. (check-in: 6674814a user: mistachkin tags: trunk)
2017-05-01
20:07
Update this branch with latest trunk changes. (check-in: 83b1e163 user: dan tags: server-edition)
19:53
Remove an unnecessary branch. (check-in: a3317959 user: drh tags: having-where-optimization)
18:24
Enhance "PRAGMA integrity_check" to detect duplicate rowids within a leaf page. (check-in: adcad37b user: dan tags: trunk)
18:12
Clear the BTCF_ValidNKey flag set if a cursor is moved by sqlite3BtreeInsert(). Fix for [f68dc596c4]. (check-in: a6727eef user: dan tags: trunk)
17:04
Futher bug fixes to the function that determines when a materialized view can be reused. (Closed-Leaf check-in: c64fe3a1 user: drh tags: materialized-view-reuse)
16:37
Minor bug fixes and performance enhancement. (check-in: b2aae559 user: drh tags: materialized-view-reuse)
15:15
Initial implementation of an optimization that attempts to reuse the same materialization of a view on a self-join of the view. (check-in: 478c34b9 user: drh tags: materialized-view-reuse)
14:25
Update this branch with latest trunk changes. (check-in: 11f4761c user: dan tags: schemalint)
14:09
Add extra tests for the optimization on this branch. (check-in: 4921cd95 user: dan tags: having-where-optimization)
2017-04-29
20:53
Automatically transfer terms from the HAVING clause to the WHERE clause of an aggregate query in cases where the result of evaluating the term depends only one one or more of the GROUP BY expressions (and on no other inputs). (check-in: 5375a3ce user: dan tags: having-where-optimization)
19:29
Add a single testcase() macro to the subquery processing logic. (check-in: 4e1df76e user: drh tags: trunk)
18:02
Improvements to opcode documentation in the bytecode engine. No changes to code. (check-in: e54c9f8d user: drh tags: trunk)
15:48
Avoid reading the file-size before page 1 is read-locked. (check-in: f6b025bf user: dan tags: server-edition)
15:27
Evaluate WHERE clause terms that reference only the index before evaluating terms that require the table, and thereby avoid seeking the table row if index terms are false. This is called the "push-down" optimization in the MySQL world, we are told. Do not confuse with WHERE-clause push-down. (check-in: d7bb79ed user: drh tags: trunk)
14:56
Minor size and performance improvements to the push-down optimization. (Closed-Leaf check-in: 91dfb61a user: drh tags: pushdown-optimization)
2017-04-28
19:59
Within a loop that uses a non-covering index test, test non-indexed terms that can be tested without seeking the main table cursor before those that cannot. (check-in: afe68f0a user: dan tags: pushdown-optimization)
17:32
Fix various bugs revealed by running performance tests. (check-in: a40b42c4 user: dan tags: server-edition)
14:09
Add a missing releasePage() call to the server-mode free-list management code. (check-in: a5a08548 user: dan tags: server-edition)
10:20
Use a different free-list format for server-mode databases in order to reduce contention. (check-in: 778e8a10 user: dan tags: server-edition)
2017-04-27
14:12
Do not write master journal filenames into server-mode journal files. Use SQLITE_MUTEX_STATIC_APP1 to protect critical sections in server.c. (check-in: 3144ae40 user: dan tags: server-edition)
13:05
If possible, delete the journal file when a database connection is closed. (check-in: d5b5326d user: dan tags: server-edition)
2017-04-26
20:45
Experimental implementation of pessimistic page-level locking based on rollback mode. (check-in: 64ecf7c7 user: dan tags: server-edition)
17:21
Add new test file cachespill.test. (check-in: 2d0b6431 user: dan tags: trunk)
14:34
Replace <fts5.h> with "fts5.h" in test file fts5_test_tok.c. (check-in: 63d9ca5c user: dan tags: trunk)
04:32
Fix a subtle bug in Lemon discovered and reported on the mailing list by Kelvin Sherlock, who also suggested the correct fix. (check-in: 304689f8 user: drh tags: trunk)
2017-04-24
16:14
Bring in all the latest enhancements from trunk. (check-in: 031feebc user: drh tags: apple-osx)
14:16
When building an ephemeral table of integers, do not assume that the table does not already contain N if the insert cursor points to N-1. Fix for ticket [61fe9745]. (check-in: 1c1b0862 user: dan tags: trunk)
2017-04-22
00:20
Fix an assertion fault found by OSSFuzz. (check-in: e39769f4 user: drh tags: trunk)
2017-04-21
19:58
Another minor formatting fix. (check-in: 9fa2ce3c user: dan tags: schemalint)
19:56
Fix formatting errors in the previous commit. (check-in: da9a2e5a user: dan tags: schemalint)
19:53
Update the README.md file in the ext/expert/ directory. (check-in: 3b2ff4e0 user: dan tags: schemalint)
17:03
Remove a NEVER macro for a condition that may be true as of [a47efb7c]. Problem reported by OSSFuzz. (check-in: bdc50d8d user: dan tags: trunk)
16:04
Fix an FTS5 bug that could cause a prefix-query without a prefix-index on a database that contains delete-markers to return extra, non-matching, rows. (check-in: 840042cb user: dan tags: trunk)
2017-04-20
17:35
Merge latest trunk changes into this branch. (check-in: b1533bc4 user: dan tags: schemalint)
17:03
Avoid creating a temp table in the user database in the sqlite3_expert code. (check-in: 4e366996 user: dan tags: schemalint)
16:43
Speed this branch up a bit by filtering before the virtual table layer when sampling user data. (Closed-Leaf check-in: 8e57c313 user: dan tags: schemalint-failure)
16:18
Avoid adding INTEGER PRIMARY KEY columns to candidate indexes. (check-in: 4577fea5 user: dan tags: schemalint)
16:08
Avoid creating a temp table in the user database in the sqlite3_expert code. Trouble is, this makes sampling for stat1 data much slower. (check-in: c62e3582 user: dan tags: schemalint-failure)
09:54
Add an option to generate stat1 data based on a subset of the user database table contents to sqlite3_expert. (check-in: c69c3e21 user: dan tags: schemalint)
2017-04-19
13:25
Further improvements to coverage of fts3 module. (check-in: 6b21d0fd user: dan tags: trunk)
07:33
Further modifications and test cases to improve test coverage of fts3. (check-in: ea8a0d2c user: dan tags: trunk)
2017-04-18
20:10
Have sqlite3_expert_analyze() populate the sqlite_stat1 table before running queries through the planner for the second time. (check-in: a157fcfd user: dan tags: schemalint)
13:50
Use sqlite3_table_column_metadata() instead of a SELECT statement to check for the existence of a %_stat table in fts3. This leads to smaller and easier to test code. (check-in: dc2a4802 user: dan tags: trunk)
11:20
Improved optimizations of views as the right operand of a LEFT JOIN. (check-in: 41c27bc0 user: drh tags: trunk)
09:04
Fix sqlite3_expert handling of triggers on views. (check-in: ff4976da user: dan tags: schemalint)
05:49
Refactor the fts3ColumnMethod() function so that all branches can be covered. (check-in: e47fdb49 user: dan tags: trunk)
2017-04-17
23:23
Defer checking for null in the comparison operators, since that is an uncommon case. (check-in: 56845256 user: drh tags: trunk)
20:50
Do not allow a Mem object to be both NULL and some other type at the same time. (check-in: e698db19 user: drh tags: trunk)
18:42
Consolidate two branches of code in the "PRAGMA foreign_key_check" implementation. (check-in: 69f51f83 user: dan tags: trunk)
18:02
Fix a problem in "PRAGMA foreign_key_check" in handling a WITHOUT ROWID child table with an INTEGER PRIMARY KEY parent key. Also, if an FK violation is detected in a WITHOUT ROWID child table, do not try to read and return the rowid. The second column returned by "PRAGMA foreign_key_check" in this case (WITHOUT ROWID child table) is now always set to NULL. (check-in: 690870bd user: dan tags: trunk)
17:03
Add support for analyzing trigger programs to the sqlite3_expert code. (check-in: 159e8022 user: dan tags: schemalint)
16:07
Further improvements to test coverage in fts3. (check-in: 352413ee user: dan tags: trunk)
13:38
Improve coverage of code in fts3. (check-in: 1a08a836 user: dan tags: trunk)
13:18
Fix the ".column" output mode in the command-line shell so that it correctly counts and formats multi-byte UTF characters. (check-in: f508aff8 user: drh tags: trunk)
2017-04-16
22:41
In the showwal command-line tool, for unix builds, if the auxiliary argument is of the form "Ntruncate" where "N" is a frame number, then truncate the WAL file after the N-th frame. (check-in: 90015df3 user: drh tags: trunk)
22:08
Add the anycollseq.c loadable extension in etc/misc (check-in: d7b9813c user: drh tags: trunk)
2017-04-15
16:52
Fix problems with handling constraints on the rowid column in sqlite3expert.c. (check-in: 2e630879 user: dan tags: schemalint)
15:47
Merge latest trunk changes into this branch. (check-in: 2d0c458e user: dan tags: schemalint)
14:30
Add header comment for sqlite3_vtab_collation(). (check-in: d238694c user: dan tags: schemalint)
14:16
Fix memory leaks in the code on this branch. Make use of the sqlite3_index_constraint.usage field. Do not try to handle ORDER BY terms with explicit COLLATE clauses - they don't get passed to the vtab layer anyway. (check-in: 0cd75a87 user: dan tags: schemalint)
11:53
In the skip-ahead-distinct optimization, fix a bug in the logic that determines when to invoke the optimization based on sqlite_stat1 statistics. (check-in: 89f9e436 user: drh tags: trunk)
2017-04-14
22:41
Fix to the decision logic for when to use the skip-ahead-distinct optimization. (Closed-Leaf check-in: e50fd489 user: drh tags: skip-ahead-distinct)
19:46
Remove end-of-line whitespace from lemon.c. (check-in: d78355c8 user: drh tags: trunk)
19:44
Fix some left-over K&R-C constructs in lemon.c. No changes to the core. (check-in: a5379905 user: drh tags: trunk)
19:41
Modify the code in ext/expert/ to use the vtab interface instead of sqlite3_whereinfo_hook(). Remove sqlite3_whereinfo_hook(). (check-in: 3bb65850 user: dan tags: schemalint)
19:03
Add the TK_IF_NULL_ROW opcode to deal with non-NULL result columns in the result set of a view or subquery on the RHS of a LEFT JOIN that gets flattened. (Closed-Leaf check-in: 3a5860d8 user: drh tags: left-join-view)
17:30
When doing a DISTINCT query using an index, try to use the index to skip ahead to the next distinct element, rather than doing a full scan of the index. (This is the "skip-ahead-distinct" optimization.) (check-in: f489b5bb user: drh tags: trunk)
17:18
An initial attempt to optimize VIEWs that occur as the right operand of a LEFT JOIN. This particular check-in does not work correctly because it does not deal with the case of columns in the VIEW that return non-NULL even when all columns in the table of the VIEW are NULL because of the LEFT JOIN. (check-in: 1838a59c user: drh tags: left-join-view)
14:50
Make USE_FULLWARN=1 the default for MSVC and fix harmless compiler warnings. (check-in: 6bf67376 user: mistachkin tags: trunk)
14:02
Enhance the sqlite3TreeView() display for Expr objects so that it shows the iRightJoinTable value for Expr nodes that have the EP_FromJoin property. (check-in: 5159cb8f user: drh tags: trunk)
12:39
Simplify the interface to the subst() routines that are part of the query flattener by collecting common parameters into the SubstContext object and passing around a pointer to that object. (check-in: e651074b user: drh tags: trunk)
12:27
Remove an incorrect ALWAYS(). (check-in: f956f6ae user: drh tags: trunk)
00:45
Fix a couple of unreachable branches. (check-in: 1aa0ea8d user: drh tags: skip-ahead-distinct)
2017-04-13
21:29
Fix the skip-ahead-distinct optimization so that it works with indexes that have repeated columns with different collating sequences. (check-in: ce1e2b88 user: drh tags: skip-ahead-distinct)
19:48
Simplification of the skip-ahead-distinct logic. There is still an issue with handling COLLATE. (check-in: 57c5173b user: drh tags: skip-ahead-distinct)
18:33
New test cases and minor fixes for the optimization on this branch. (check-in: 70ac9ea1 user: dan tags: skip-ahead-distinct)
16:19
Update this branch with latest changes from trunk. (check-in: 5fcd840c user: dan tags: schemalint)
15:51
Reinstate the SQLITE_API qualifier on the sqlite3_delete_database() method in test_delete.c. Accidentally removed by the previous commit. (check-in: 59c70108 user: dan tags: trunk)
15:36
Update the code in test_delete.c to use the "win32" VFS if SQLITE_OS_WIN is defined. (check-in: fa9bb7b7 user: dan tags: trunk)
13:01
Only use the skip-ahead-distinct optimization if the index has been analyzed and we know that a skip-head is likely to skip over at least 11 rows. The magic number 11 was determined by experimentation. (check-in: 0cf16dec user: drh tags: skip-ahead-distinct)
09:45
Allow a user column name to be used on the LHS of a MATCH operator in FTS5. (check-in: 6f54ffd1 user: dan tags: trunk)
01:19
Forward port the skip-ahead-distinct branch which was abandoned for some reason that I do not recall. This port should have been achived by a merge of trunk into the previous head of skip-ahead-distinct, but that did not work. So I had to manually "rebase" the changes. (check-in: 132339a1 user: drh tags: skip-ahead-distinct)
00:12
Fix a regression caused by the fix for ticket [6c9b5514077fed34551f98e64c09a1] - control characters allowed in JSON. (check-in: 8e7b6118 user: drh tags: trunk)
2017-04-12
17:50
Update fts5 to support "<colset> : ( <expr> )" for column filtering, as well as "<colset> : NEAR(...)" and "<colset> : <phrase>". (check-in: c847543f user: dan tags: trunk)
17:38
Improved \n and \r escapes in the ext/misc/dbdump.c utility function. The implementation of dbdump.c now matches the implementation in the CLI. (check-in: f2643315 user: drh tags: trunk)
2017-04-11
20:48
Avoid updating unaffected indexes on a table as part of an UPDATE that requires foreign key processing in some cases. (check-in: 7aae5c0f user: dan tags: trunk)
19:58
Avoid updating unaffected indexes on a table as part of an UPDATE that requires foreign key processing in some cases. (Closed-Leaf check-in: 477bea9e user: dan tags: fkey-optimization)
19:00
Update this branch with latest trunk changes. (check-in: 0f66a093 user: dan tags: schemalint)
18:55
Limit the depth of recursion for valid JSON in the JSON1 extension in order to avoid using excess stack space in the recursive descent parser. Fix for ticket [981329adeef51011052667a9]. (check-in: 1f68c184 user: drh tags: trunk)
18:29
Fix a formatting issue in the output of the sqlite3_expert program. (check-in: cc8c3581 user: dan tags: schemalint)
18:06
Smaller and faster implementation of exprMightBeIndexed(). (check-in: 76cd611d user: drh tags: trunk)
17:43
Add header comments to the API functions in sqlite3expert.h. Include a list of all candidate indexes in the report output by the sqlite3_expert program. (check-in: 0c45c5eb user: dan tags: schemalint)
16:44
Very slight smaller and faster sqlite3SelectNew() (check-in: 4143650c user: drh tags: trunk)
12:20
Add an ALWAYS() around an unreachable condition in sqlite3VdbeMemGrow(). (check-in: 0f3eb61f user: drh tags: trunk)
11:52
Fix a segfault that could occur if an indexed expression was used in a comparison operation within the result-set of a SELECT statement. (check-in: d6bb7c42 user: dan tags: trunk)
01:30
When evaluating a query that uses an index on an expression, try to use the expression values read directly from the index rather than reevaluating the expression. (check-in: a47efb7c user: drh tags: trunk)
01:01
Improved comments. Fix a problem when an indexed expression is used in an ORDER BY clause. (Closed-Leaf check-in: c59eaf2b user: drh tags: covering-index-on-expr)
2017-04-10
23:42
Merge changes from trunk. (check-in: 8978465f user: drh tags: covering-index-on-expr)
20:51
Smaller and faster vdbeFreeOpArray() (check-in: e052436d user: drh tags: trunk)
20:27
Slightly smaller and faster sqlite3VdbeMemGrow(). (check-in: efd1702a user: drh tags: trunk)
20:00
Add ext/expert/README.md. (check-in: 9318f1b9 user: dan tags: schemalint)
16:13
Changes to allow the code in sqlite3expert.c to be tested directly (via the API in sqlite3expert.h) instead of by invoking the sqlite3_expert application. Fix memory leaks and other problems. (check-in: 5dd98317 user: dan tags: schemalint)
12:31
Add a new JSON test case to verify that all control characters are escaped in the json_quote() function. (check-in: 6ee12221 user: drh tags: trunk)
12:25
Change the JSON extension so that it disallows control characters inside of strings. Fix for ticket [6c9b5514077fed34551f98e64c09a10dc2fc8e16]. (check-in: 475d8f82 user: drh tags: trunk)
2017-04-09
19:23
Do not expose the name of the internal Mem object in the public interface defined by sqlite3.h. (check-in: 19dd753f user: drh tags: trunk)
08:38
Fix the -file option on the sqlite3_expert program. (check-in: 0857c48e user: dan tags: schemalint)
2017-04-08
19:00
Merge latest trunk with this branch. (check-in: e051e8f2 user: dan tags: schemalint)
18:56
Rename shell6.test to expert1.test. Have it invoke the sqlite3_expert binary if it is present. (check-in: be0deff9 user: dan tags: schemalint)
18:24
Merge all recent changes from trunk. (check-in: c23ef5e2 user: drh tags: apple-osx)
18:18
Disallow leading zeros on numeric constants in JSON. Fix for ticket [b93be8729a895a528e2] (check-in: 204e72f0 user: drh tags: trunk)
17:41
Use hash tables instead of in-memory database tables for a few purposes in sqlite3expert.c. (check-in: bf10e68d user: dan tags: schemalint)
14:11
Expand on the comment above OP_Destroy to explain why it throws an error if there are any active reader VMs. (check-in: b9a8c2b9 user: dan tags: trunk)
13:52
Have the rtree module close any open blob-handle within the xSavepoint method. This prevents such an open blob handle from interfering with DROP TABLE operations. (check-in: fa4416ad user: dan tags: trunk)
13:42
Fix the quoting mechanism for ".dump" so that it is not applied for the ".mode quote" output. (check-in: 78c1e903 user: drh tags: trunk)
09:12
Have fts5 close any open blob-handle when a new savepoint is opened. This ensures that fts5 does not prevent DROP TABLE statements (which always open a savepoint) from succeeding. (check-in: a921ada8 user: dan tags: trunk)
01:09
Make sure the RTree sqlite3_blob handle is reset prior to renaming the table. (check-in: 1cdae2db user: drh tags: trunk)
00:55
Fix the ".dump" command so that it works with ".headers on". Also fix the display of ".mode insert" with ".headers on". (check-in: a6ce57ee user: drh tags: trunk)
00:25
Merge the latest trunk changes. (check-in: dd16439e user: drh tags: apple-osx)
2017-04-07
20:20
Use replace() instead of char() to quote newline and return characters in strings in the output of .dump, to avoid excess expression complexity. (check-in: 73073529 user: drh tags: trunk)
20:14
Refactor code to suggest indexes from the shell tool into an extension in ext/expert. Unfinished. (check-in: 305e19f9 user: dan tags: schemalint)
19:52
Remove an unused token type. (check-in: 13a42223 user: drh tags: covering-index-on-expr)
19:41
Proof of concept for the ability to use the expression columns in an index on expressions in place of equivalent expressions in the result set or in the WHERE clause. This check-in compiles but is mostly untested. (check-in: a52ef2ad user: drh tags: covering-index-on-expr)
11:45
Use replace() instead of char() to quote newline and return characters in strings in the output of .dump, to avoid excess expression complexity. (Closed-Leaf check-in: 4c2b5729 user: drh tags: shell-fix)
2017-04-06
18:44
Changes to allow indexes to be recommended for queries on SQL views. (check-in: 0884ff1d user: dan tags: schemalint)
14:56
Fix the ".lint fkey" shell command for cases where the child key is also an INTEGER PRIMARY KEY. (check-in: 48826b22 user: dan tags: trunk)
12:06
Fix the ".lint fkey" shell tool command so that it works for foreign keys that refer implicitly to primary key columns with non-BINARY default collation sequences. (check-in: 327eff25 user: dan tags: trunk)
2017-04-05
13:44
Remove a confusing and pointless sentence from the documentation for the sqlite3_interrupt() interface. (check-in: c5f1a2b6 user: drh tags: trunk)
12:39
Split off sqlite3DbFreeNN() from sqlite3DbFree() and use it in cases where we know that the argument to be freed is never NULL. (check-in: ad90e8bb user: drh tags: trunk)
11:57
Save a few bytes and a few CPU cycles in sqlite3ExprListDelete() routine. (check-in: 9e6c9391 user: drh tags: trunk)
11:49
Remove a conditional made unreachable by the previous ExprList enhancement. (check-in: a1cf4476 user: drh tags: trunk)
11:32
Combine the ExprList_item objects and the ExprList wrapper into a single memory allocation, for improved performance and reduced footprint. (check-in: 2b6560ad user: drh tags: trunk)
10:54
Attempt to remove bash-isms from configure.ac. Use -O0 with --enable-debug. (check-in: 71ed35cc user: drh tags: trunk)
2017-04-04
19:58
Fix a problem causing "PRAGMA integrity_check" to disable the xfer optimization for subsequent VACUUM operations on tables with one or more CHECK constraints. This could result in VACUUM producing slightly larger database files. (check-in: e5bb7db5 user: dan tags: trunk)
17:50
Add some support for OR terms to sqlite3_whereinfo_hook(). (check-in: 5cd07000 user: dan tags: schemalint)
04:23
Add the sqlite3_whereinfo_hook() API - an experimental API replacing the DBCONFIG_WHEREINFO hack on this branch. (check-in: a54aef35 user: dan tags: schemalint)
2017-04-03
14:07
Avoid an unnecessary call to sqlite3WhereGetMask() inside of whereShortCut(). (check-in: 5c11f430 user: drh tags: trunk)
13:59
Do not attempt to run sync2.test with SQLITE_DISABLE_DIRSYNC builds. (check-in: 658f08ce user: dan tags: trunk)
13:33
Force a schema load prior to "PRAGMA optimize". (check-in: 86897c24 user: drh tags: trunk)
13:17
Fix typos in the documentation for OP_Column. (check-in: 777b43e6 user: drh tags: trunk)
12:04
Slightly smaller and faster implementation for vdbeSorterCompareInt(). (check-in: 84fa069c user: drh tags: trunk)
2017-04-01
20:44
Remove an unnecessary setting of the Mem.enc field for the output of the OP_Record opcode, for a performance improvement and size reduction. (check-in: e6e36b28 user: drh tags: trunk)
20:14
Minor performance enhancements to the OP_Affinity opcode. (check-in: c45cd3b9 user: drh tags: trunk)
19:45
Remove an unnecessary clearing of the Vdbe.iCurrentTime value. (check-in: fcd2acdd user: drh tags: trunk)
11:59
Faster implementation for sqlite3VdbeIntValue() and sqlite3VdbeRealValue(). (check-in: 8698df60 user: drh tags: trunk)
11:40
Remove unused fields from the BtCursor object. (check-in: 1c0d82e0 user: drh tags: trunk)
00:20
Save a 78 bytes of code space and a million CPU cycles in speedtest1 by storing the cell index for the leaf page in the BtCursor object in its own field (BtCursor.ix), rather than as an entry in the BtCursor.aiIdx array. (check-in: 2452f061 user: drh tags: trunk)
2017-03-31
11:20
Merge latest trunk into this branch. (check-in: cb721d0b user: dan tags: schemalint)
2017-03-30
20:35
Merge changes from the 3.18.0 release. (check-in: 785c37d9 user: drh tags: begin-concurrent)
20:26
Merge all changes from the 3.18.0 release. (check-in: ed28f15e user: drh tags: apple-osx)
17:13
Declare the Lemon-generated parser object as itself. (Duh) (check-in: c8000e94 user: drh tags: trunk)
16:51
Increase the version number for the next development cycle. (check-in: 9e550ccc user: drh tags: trunk)
16:37
Ensure that the stack space used to hold the Lemon-generated parser object is always 8-byte aligned. (check-in: 1279de0b user: drh tags: trunk)
2017-03-29
23:22
When compiling with MSVC, disable extra SELECT/WHERE tracing for dynamically built shells. (check-in: a6891942 user: mistachkin tags: trunk)
18:03
Avoid unnecessary blob handle invalidation when changes are made to an unrelated table. (check-in: 4a01880b user: drh tags: trunk)
17:06
Slightly smaller and faster implementation of pcache1InitBulk(). (check-in: 06c2b685 user: drh tags: trunk)
16:55
Fix some tests in malloc5.test to account for the sqlite3_release_memory() change in the previous commit. (check-in: d336858d user: dan tags: trunk)
15:18
Fix the sqlite3_release_memory() interface so that it works even if SQLITE_DEFAULT_PCACHE_INITSZ is non-zero. (check-in: 5d902b7f user: drh tags: trunk)
2017-03-28
18:48
Version 3.18.0 (check-in: 424a0d38 user: drh tags: release, branch-3.18, version-3.18.0)
2017-03-25
19:16
Add the new sqlite3_set_last_insert_rowid() interface to the extension loader thunk. (check-in: 8469fc0d user: drh tags: trunk)
18:31
Do not run tests for ".dump --preserve-rowids" when testing SQLITE_OMIT_VIRTUALTABLE builds. (check-in: 55df410b user: dan tags: trunk)
18:15
Disable the new --preserve-rowids option on the CLI ".dump" command if compiled with SQLITE_OMIT_VIRTUALTABLE. (check-in: bd5bbe4e user: drh tags: trunk)
18:03
Make the default value for SQLITE_DEFAULT_SYNCHRONOUS a simple integer literal, so that it does not show up goofy in the output of "PRAGMA compile_options;". (check-in: 833ab321 user: drh tags: trunk)
12:08
Fix two harmless compiler warnings. (check-in: 32be9c3f user: drh tags: trunk)
2017-03-24
19:45
Fix a harmless compiler warning in the JSON1 extension. (check-in: c2c3dd84 user: drh tags: trunk)
18:38
Previous check-in was not correct. This is a better fix for the OP_Once problem of ticket [06796225f59c057cd120f1]. (check-in: 8194dd28 user: drh tags: trunk)
17:59
Fix the OP_Once opcode so that it works correctly for recursive triggers. Ticket [06796225f59c057cd120f1]. (check-in: 25560145 user: drh tags: trunk)
15:09
Merge all recent enhancements from trunk. (check-in: fd5676fe user: drh tags: begin-concurrent)
13:31
Add the RFC-7396 Appendix A test cases for json_patch(). (check-in: c5441d2d user: drh tags: trunk)
12:35
Fix an error in the new json_patch() routine discovered by Ralf Junker. (check-in: 9d535041 user: drh tags: trunk)
2017-03-23
23:44
Add the json_patch() SQL function to the JSON1 extension. (check-in: 47608848 user: drh tags: trunk)
20:33
Change the name of the json_merge_patch() function to just json_patch(). (Closed-Leaf check-in: 04d41004 user: drh tags: json_mergepatch)
19:51
Improvement to the amalgamation configure.ac file contributed by Bob Friesenhahn. (check-in: bf28a55d user: drh tags: trunk)
17:22
Do not run test file autoanalyze1.test if OMIT_VIRTUALTABLE is defined. (check-in: e1d06a57 user: dan tags: trunk)
17:03
Remove an invalid assert() statement failing when VACUUMing a database that contains an index on a column explicitly declared "COLLATE BINARY". (check-in: 9f2e04d3 user: dan tags: trunk)
12:56
Avoid redundant edits in the json_merge_patch() function. (check-in: 4a8e6437 user: drh tags: json_mergepatch)
00:46
Fix harmless compiler warnings in the new json_merge_patch() logic. (check-in: 5d2cf5a2 user: drh tags: json_mergepatch)
00:13
Various fixes to the json_merge_patch() function. (check-in: f49fd255 user: drh tags: json_mergepatch)
2017-03-22
21:45
Change the name of the new function to "json_merge_patch()". (check-in: 53bf70f3 user: drh tags: json_mergepatch)
21:24
Initial implementation of the json_mergepatch(A,B) SQL function. (check-in: a2674440 user: drh tags: json_mergepatch)
12:51
Fix harmless compiler warnings in the shell. (check-in: a7868297 user: drh tags: trunk)
2017-03-21
20:17
New simplified memory initialization for MacOS. (check-in: 055b36f1 user: drh tags: trunk)
18:56
Fix an incorrect assert in the ANALYZE logic for STAT4 on WITHOUT ROWID tables. (check-in: ad741976 user: drh tags: trunk)
17:19
Add short script ext/fts3/tool/fts3cov.sh. To help measure test-coverage of fts3 source code. (check-in: ee9588e8 user: dan tags: trunk)
10:45
Do not run sync2.test as part of the "inmemory_journal" permutation. (check-in: 9f680bc7 user: dan tags: trunk)
2017-03-20
22:58
Add the --native-malloc option to fuzzcheck. Fix ossfuzz.c and fuzzcheck.c so that they both deallocate the temp_store_directory before closing. (check-in: 0dd18ec8 user: drh tags: trunk)
20:42
Fix the fuzzcheck program so that it can create new databases again. (check-in: 021e8874 user: drh tags: trunk)
19:35
Avoid passing NULL as the second argument to memcpy() in fts3. (check-in: 49b93d97 user: dan tags: trunk)
19:26
Avoid a technically undefined right-shift of a signed value in rtree.c. (check-in: a144875f user: dan tags: trunk)
18:53
Fix some problems in fts3 found by address-sanitizer. (check-in: 16a8e84f user: dan tags: trunk)
16:34
Avoid the possibility of signed integer overflow with oversized precisions in %d conversions in the printf() implementation. (check-in: ef3a7c87 user: drh tags: trunk)
16:06
Do not run sync2.test as part of the "journaltest" permutation, as it uses "PRAGMA synchronous = off". (check-in: 285005a9 user: dan tags: trunk)
15:29
Ensure that a "--" prefix is added to sqlite3_trace_v2() output for nested SQL statements. (check-in: 673a7b67 user: drh tags: trunk)
15:11
Only run sync2.test on unix, as it depends on instrumentation in os_unix.c. (check-in: ecb9321e user: dan tags: trunk)
14:44
Fix the check.test script so that it works on Windows. (check-in: 8822eb5d user: drh tags: trunk)
13:03
Documentation fix: SQLITE_SOURCE_ID is a now a SHA3-256 hash. (check-in: 2aa22509 user: drh tags: trunk)
2017-03-18
13:59
Only do the specialized MacOS single-core zone_malloc initialization if compiled with the SQLITE_MIGHT_BE_SINGLE_CORE flag. This avoids a (harmless) warning about OSAtomicCompareAndSwapPtrBarrier() being deprecated. (check-in: 4e6a03d9 user: drh tags: trunk)
2017-03-17
23:08
Fix an error in the newly revised documentation for SQLITE_LIMIT_VDBE_OP. No changes to code. (check-in: f4cf8635 user: drh tags: trunk)
22:51
Set a reasonable limit on the number of opcodes in a prepared statement for ossfuzz.c. This should prevent timeouts in OSS-Fuzz when it generates totally unreasonable queries. (check-in: f74899ed user: drh tags: trunk)
22:50
Begin enforcing the SQLITE_LIMIT_VDBE_OP. The documentation warned that this day might come. (check-in: ef591461 user: drh tags: trunk)
14:59
Add the --show-errors and --show-max-delay command-line options to the ossshell test program. (check-in: 626bdca9 user: drh tags: trunk)
14:15
Fix the Makefile.in so that it builds the ossshell test program correctly. (check-in: 36f5602e user: drh tags: trunk)
13:59
Fix a buffer overread in debugging routine sqlite3VdbeMemPrettyPrint(). Problem discovered by OSS-Fuzz. (check-in: f336fba7 user: dan tags: trunk)
03:21
Fix a problem in the enhanced PRAGMA integrity_check where it verifies CHECK constraints: Do not be confused by the reuse of the Table.pCheck field by VIEWs with named columns. Problem discovered by OSS-Fuzz. (check-in: 019dd3d5 user: drh tags: trunk)
2017-03-16
18:55
If the user has not set it explicitly, set the "PRAGMA synchronous" setting to SQLITE_DEFAULT_SYNCHRONOUS when a database connection changes from wal to rollback journal mode. (check-in: 5c604479 user: dan tags: trunk)
18:54
Fix a typo causing the build to fail if SQLITE_DEFAULT_SYNCHRONOUS==SQLITE_DEFAULT_WAL_SYNCHRONOUS. (Closed-Leaf check-in: df39adea user: dan tags: default-synchronous-fix)
18:14
If the user has not set it explicitly, set the "PRAGMA synchronous" setting to SQLITE_DEFAULT_SYNCHRONOUS when a database connection changes from wal to rollback journal mode. (check-in: 78030c0f user: dan tags: default-synchronous-fix)
14:28
Simplified OOM detection in the instr() SQL function. (check-in: 6d85eb57 user: drh tags: trunk)
13:30
Fix an uninitialized variable reference in the text generator for "PRAGMA vdbe_trace=ON" output. Problem discovered by OSS-Fuzz. (check-in: e3d48716 user: drh tags: trunk)
13:14
Fix a problem in the "showdb" utility that prevents it from correctly decoding cells with no content beyond the record header. (check-in: eb7680a1 user: drh tags: trunk)
12:11
Fix a crash that could follow an OOM condition in the instr() SQL function. Problem discovered by OSS-Fuzz. (check-in: 6e59e903 user: dan tags: trunk)
2017-03-15
20:27
Updates to README files under the ext/ hierarchy. No changes to code. (check-in: 029bc5d2 user: drh tags: trunk)
19:11
Add the "Obtaining The Code" subsection in the top-level README.md file. No changes to code. (check-in: b1b1aa8b user: drh tags: trunk)
14:20
Mention the ".selftest" command in the ".help" output of the CLI. (check-in: 37f766db user: drh tags: trunk)
14:04
Make "PRAGMA temp.synchronous=N" a no-op to ensure that the TEMP schema always has synchronous=OFF. This fixes an issue discovered by OSS-Fuzz. (check-in: bcf6bb08 user: drh tags: trunk)
13:47
Improved header comment on the shathree.c extension. No changes to code. (check-in: 84f2e3d5 user: drh tags: trunk)
2017-03-14
15:27
Updates to the MSVC makefiles. (check-in: 1e4b9e7c user: mistachkin tags: trunk)
2017-03-13
22:10
Add the dbdump.c extension that implements functionality similar to the ".dump" command of the CLI, though in a separate library. (check-in: 2b9980a2 user: drh tags: trunk)
22:02
Add dbdump.exe to the MSVC makefile. (Closed-Leaf check-in: 59241a50 user: drh tags: dbdump)
21:49
Fixes to the dump logic. All appears to be working in preliminary tests. (check-in: 007b11e3 user: drh tags: dbdump)
21:26
First draft of the complete dbdump.c library. (check-in: 84ea4fcc user: drh tags: dbdump)
19:26
Infrastructure for an extension C-library to implement sqlite3_db_dump() and a corresponding "dbdump" command-line utility - both of which do the same work as the ".dump" command of the CLI. (check-in: 74c5ace4 user: drh tags: dbdump)
18:31
Merge all recent changes from trunk. (check-in: 3d04b2cd user: drh tags: apple-osx)
18:24
In the output of the ".dump" command in the CLI, quote newline and carriage-return characters using the char() function, so that they do not get eaten by end-of-line processing logic in the OS or in other command-line utilities and/or libraries. (check-in: 68f6dc7a user: drh tags: trunk)
17:37
Fix the sqlite3TreeViewSelect() routine so that it works with a null pointer to the Select object. (check-in: 9034cf7e user: drh tags: trunk)
14:30
Fix a segfault that could occur following an OOM error in the flattenSubquery() routine. (check-in: c6dda3f7 user: dan tags: trunk)
13:45
In the OSSFuzz test module, invoke the progress handler much more frequently so that timeouts are detected punctually even if the test script is running opcodes that individually take a long time (for example, an OP_Function opcode that invokes "randomblob(1.5e6)"). (check-in: f3b6959c user: drh tags: trunk)
2017-03-12
20:28
Fix a possible NULL pointer dereference in following an OOM error in sqlite3ExprIsInteger(). Problem found by OSS-Fuzz. (check-in: 5ec655e8 user: drh tags: trunk)
19:39
Remove an obsolete assert() in the IN operator code generation. (check-in: 18bf6aca user: drh tags: trunk)
2017-03-11
13:02
Make sure the translateColumnToCopy() routine in the query planner does not try to access an array that failed to be fully allocated due to a prior OOM. This fixes an issue discovered by OSSFuzz. (check-in: 3299a261 user: drh tags: trunk)
01:56
The output of the ".dump" command in the CLI quotes newline and carriage-return characters using "char(10)" and "char(13)". (Closed-Leaf check-in: 8b2954dd user: drh tags: string-quoting-dump)
00:46
Increase the number of significant digits in floating point literals on ".dump" output from the shell. (check-in: 7359fcac user: drh tags: trunk)
2017-03-10
18:36
Remove the rbu_round_trip.tcl script. It is now part of project "test-dbs". (check-in: b5bf2957 user: dan tags: trunk)
17:03
Fix an error in the SQLITE_MAX_MEMORY implementation resulting from a bad merge. Update the OSSFuzz interface so that it times out after running the byte-code engine for 10 seconds. (check-in: f8560c60 user: drh tags: trunk)
16:22
Add the -DSQLITE_MAX_MEMORY=N compile-time option. The default is no limit. (check-in: eabd4ef4 user: drh tags: trunk)
15:55
Add the SQLITE_MAX_MEMORY compile-time option that provides a hard upper bound on the amount of memory that SQLite will use, per process. (Closed-Leaf check-in: 77dfe2ab user: drh tags: max-memory-option)
14:36
Enhance the ".stats" dot-command in the CLI to use sqlite3_status64() instead of sqlite3_status(). (check-in: 118f5c05 user: drh tags: trunk)
01:05
Improvements to ".selftest --init". Tests are number in increments of 10 starting with 100. The tests are generated inside a SAVEPOINT. Errors are reported during test generation. Tests can be appended to existing tests. Add a test case to verify the schema. (check-in: b044b152 user: drh tags: trunk)
2017-03-09
22:00
Remove the test/dbselftest.c program. In its place, add the ".selftest" command to the CLI. The new CLI version is .selftest is slightly different in that it uses SHA3 hashing instead of SHA1, so the new is subtly incompatible with the old. (check-in: f4fcd46f user: drh tags: trunk)
18:13
Fix the ".dump" command to correctly extract tail data from corrupt WITHOUT ROWID tables. (check-in: 6c627e50 user: drh tags: trunk)
16:32
Add the --recovery-mode option to the CLI ".dump" command. This involves enhancing the "PRAGMA reverse_unordered_selects" command to accept a "TOGGLE" option. Recovery mode used to be always on. Now it is opt-in. Not sure this is the correct approach. Also not sure if TOGGLE is a good feature to have on boolean PRAGMA statements. (Closed-Leaf check-in: 5dc82a15 user: drh tags: dump-recovery)
13:50
Begin moving separate boolean variables in the ShellState object of the CLI into the shellFlgs bitmask. (check-in: 50eec5d9 user: drh tags: trunk)
2017-03-08
23:29
Refactor the output logic in the CLI. Not sure we want to go this way. Just saving the work for historical reference, or in case I decide to come back to it. (Leaf check-in: aacac906 user: drh tags: shell-print-refactor)
18:37
Merge recent enhancements from trunk, including the --preserve-rowids option to .dump and the .sha3sum commands of the CLI. (check-in: 9b439173 user: drh tags: apple-osx)
18:06
Make sure the database connection is open prior to running the ".sha3sum" command. (check-in: 2ea300fb user: drh tags: trunk)
17:56
In the ".sha3sum" command, if there is a LIKE pattern, show the hashes for each table separately. Without a LIKE pattern, show a single hash over the entire database. (check-in: 30f87883 user: drh tags: trunk)
16:10
Add the ".sha3sum" command to the CLI - used to compute a cryptographic hash of the content of a database file or of individual tables with in that file. (check-in: fc663799 user: drh tags: trunk)
15:03
Improved comments explaining the sha3_query() format. Fix a performance #ifdef error in the sha3 implementation. (check-in: 54ef7abd user: drh tags: trunk)
13:50
Add the shathree.c extension for implementing SHA3() and SHA3_QUERY() SQL functions. (check-in: f7ca9193 user: drh tags: trunk)
12:25
In the CLI, avoid unnecessary identifier quoting in the ".dump" output. Also add new ".dump" test cases. (check-in: de65f907 user: drh tags: trunk)
11:44
Add the --preserve-rowids option to the ".dump" command in the CLI. (check-in: c60aee24 user: drh tags: trunk)
2017-03-07
20:03
Add test script ext/rbu/rbu_round_trip.tcl. Uses "dbselftest" to test that "rbu" and "sqldiff" work together. (check-in: 961e79da user: dan tags: trunk)
14:38
Performance optimization in the tokenizer/parser loop. (check-in: 2cb71583 user: drh tags: trunk)
12:18
Minor comment typo fixes. No changes to code. (check-in: 01cd9fb1 user: drh tags: trunk)