SQLite

Timeline
Login

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

541 check-ins using file ext/rtree/rtree8.test version 076d9d5b78

2017-11-06
10:04
Allow "BEGIN CONCURRENT" transactions to modify the temp schema. (check-in: 0fb6d91cea user: dan tags: begin-concurrent)
2017-11-01
19:30
Fix the SQLITE_NoopUpdate #define so that it occurs under the correct conditions. (check-in: bdf791f9f7 user: drh tags: begin-concurrent-pnu)
18:48
The "PRAGMA noop_update" command now requires SQLITE_ENABLE_NOOP_UPDATE and no longer requires SQLITE_DEBUG. (check-in: 81baf67c44 user: drh tags: begin-concurrent-pnu)
2017-10-25
16:14
Do not reference the ioctl() system call in the unix backend unless it is actually needed by the Batch Atomic Write extension. This should allow the build to work on VxWorks. (check-in: adfa7ed2de user: drh tags: trunk)
01:34
Add the sqlite_btreeinfo eponymous-only table for introspecting the schema and estimating the sizes of various btrees. (check-in: 1e30f4772d user: drh tags: trunk)
2017-10-24
21:17
Force the autoconf makefile for MSVC to always use the 'find.exe' included with Windows. (check-in: b76bffd332 user: mistachkin tags: trunk)
19:12
Merge all enhancements and fixes from the 3.21.0 release. (check-in: 13be3a441d user: drh tags: apple-osx)
19:05
Merge all of the fixes from the 3.21.0 release. (check-in: 5ab662b443 user: drh tags: trunk)
18:55
Version 3.21.0 (Leaf check-in: 1a584e4999 user: drh tags: release, version-3.21.0, branch-3.21)
17:28
Fix a problem in the incr-blob code causing a new cursor to be opened for every sqlite3_blob_reopen() call. (check-in: 41ef34a1f0 user: dan tags: branch-3.21)
2017-10-23
21:24
On the amalgamation package, enable the sqlite_dbpage virtual table so that the .dbinfo command works in the CLI. (check-in: 54b90b4f27 user: drh tags: branch-3.21)
20:20
Merge trunk fixes to swarmvtabfault.test and the lsm extension into this branch. No changes to core SQLite code. (check-in: f632b87002 user: dan tags: branch-3.21)
20:17
In the 'swarmvtabfault' test module, make sure to close the database handle prior to raising an error from the 'not found' callback script. (check-in: f317037b31 user: mistachkin tags: trunk)
17:36
Cleanup a test database file prior to using it. (check-in: e1bf5e1d06 user: mistachkin tags: trunk)
16:34
Updates to test procedures so that they all work with encryption. No changes to the core SQLite code. (check-in: 0481330756 user: drh tags: branch-3.21)
16:03
Avoid passing a NULL value as the second argument to memcpy(). (check-in: 58e5bb491b user: dan tags: branch-3.21)
11:48
In lsm (not SQLite), avoid opening the *-shm file before the database file is locked. Otherwise, there is a race condition whereby a connection in another process process may unlink() it while it is still in use. (check-in: c8b8b9b573 user: dan tags: trunk)
07:53
Fix minor test script problems revealed by releasetest.tcl. (check-in: c333ee7e96 user: dan tags: branch-3.21)
07:52
Fix minor test script problems revealed by releasetest.tcl. (check-in: 15e87d9bc8 user: dan tags: trunk)
2017-10-22
08:03
Fix test cases in dbpage.test so that they work with SQLITE_DEFAULT_AUTOVACUUM=1 builds. (check-in: 9474f061d6 user: dan tags: branch-3.21)
08:02
Fix test cases in dbpage.test so that they work with SQLITE_DEFAULT_AUTOVACUUM=1 builds. (check-in: 0fcf1e61ef user: dan tags: trunk)
07:58
Avoid running tests that use sqlite_dbpage with SQLITE_OMIT_VIRTUAL_TABLE builds. (check-in: 6dde8d6154 user: dan tags: branch-3.21)
07:57
Avoid running tests that use sqlite_dbpage with SQLITE_OMIT_VIRTUAL_TABLE builds. (check-in: 7bd20a20a0 user: dan tags: trunk)
2017-10-21
17:17
Merge all the enhancements and bug fixes from trunk, since none are destablizing. Call this the second beta. (check-in: fb3ee1b7ca user: drh tags: branch-3.21)
14:17
Catch and avoid a 16-bit integer overflow on the number of columns in a common table expression. This fixes a problem found by OSS-Fuzz. The test case is in TH3. (check-in: 6ee8cb6ae5 user: drh tags: trunk)
13:29
Remove unnecessary "#if SQLITE_MAX_COLUMN". SQLITE_MAX_COLUMN is always defined. (check-in: 6ec82acde8 user: drh tags: trunk)
12:59
Initial implementation of the appendvfs extension. Untested. (check-in: 063a03a377 user: drh tags: appendvfs)
2017-10-19
15:17
Take extra care to avoid an OOB read caused by a corrupt b-tree page. This fixes a problem detected by Natalie Silvanovich of Google Project Zero. (check-in: 04925dee41 user: dan tags: trunk)
2017-10-18
15:02
Avoid using snprintf as a member variable of a struct in sqlite3ext.h. This causes problems on OSX. Similar to fix [a1fd3aa8]. (check-in: cd0471ca9f user: dan tags: trunk)
14:29
Avoid using snprintf as a member variable of a struct in sqlite3ext.h. This causes problems on OSX. (Closed-Leaf check-in: b066d5a69f user: dan tags: sqlite3ext-fix)
2017-10-17
18:33
The source code files generated for the 'sqlite3-all.c' target should not have Windows line-endings. (check-in: 6a08c43431 user: mistachkin tags: trunk)
13:44
Fix the ".check" command of the command-line shell to return 1 (error) rather than 2 (exit) on a test failure. (check-in: e2af0cc6ef user: drh tags: trunk)
2017-10-16
11:50
Improved comments, including a typo fix, on the whereLoopCheaperProperSubset() function. (check-in: 700a3c6944 user: drh tags: trunk)
2017-10-15
22:16
In the query planner, do not consider index X to be a proper subset of index Y if X is a covering index but Y is not. (check-in: ee31c04353 user: drh tags: trunk)
2017-10-14
19:58
Updates to the Makefiles for MSVC. Cherrypick of [ac8786f3f9f35cb6]. (check-in: 92eb721fae user: mistachkin tags: branch-3.21)
19:54
Updates to the Makefiles for MSVC. (check-in: ac8786f3f9 user: mistachkin tags: trunk)
2017-10-13
20:14
Improved ability to generate stand-alone program using TCL and SQLite by compiling with -DTCLSH_INIT_PROC=name to cause the TCL interpreter to be initialized using procedure name(). Both sqlite3_analyzer and testfixture are now built this way. (check-in: d65d1f297d user: drh tags: trunk)
18:58
Add the tcl/mkccode.tcl script used to construct a single C-language source fiel for programs that combine C-code, SQLite, and TCL. Use this script to construct the sqlite3_analyzer program. (check-in: 298a3fddec user: drh tags: trunk)
16:24
Fix main.mk to name the win32 executable "sqlite3_expert.exe", not "sqlite3_expert". (check-in: e38571d518 user: dan tags: schemalint)
16:19
Move a bunch of unrelated test code out of tclsqlite.c and into test_*.c files. There is still some test code in tclsqlite.c, but the amount is greatly reduced. (check-in: a9c4bc88fc user: drh tags: trunk)
16:01
The db_use_legacy_prepare command no longer exists. Use the undocumented -use-legacy-prepare option to DB version instead. (Closed-Leaf check-in: ea2fa9ab9b user: drh tags: tclsqlite-cleanup)
15:56
When compiling with SQLITE_TEST, extra options are available on the "DB version" command for controlling the internal state of the SqliteDb object, for testing purposes. (check-in: bf86478d9c user: drh tags: tclsqlite-cleanup)
15:06
Move some test logic out of tclsqlite.c and into auxiliary test_*.c files. This is a work in progress. (check-in: 95b7687fed user: drh tags: tclsqlite-cleanup)
14:20
Update main.mk to build the sqlite3_expert program with -DSQLITE_THREADSAFE=0 and -DSQLITE_OMIT_LOAD_EXTENSION. To minimize dependencies. (check-in: 4c68ad7da4 user: dan tags: schemalint)
2017-10-12
20:37
Add the sqlite_dbpage virtual table (enabled using SQLITE_ENABLE_DBPAGE_VTAB). Make that virtual table and dbstat available to the command-line shell. (check-in: eaeeb09d4a user: drh tags: trunk)
20:24
Fix the EXPLAIN processing so that it returns SQLITE_ERROR on an OOM, as it should. (check-in: 4ec63ef233 user: drh tags: schemalint)
19:50
Create the new ext/repair folder and move checkfreelist.c there. Remove checkfreelist.c from the command-line shell (undoing check-in [48418f2e]). (Closed-Leaf check-in: dfdebd12bf user: drh tags: dbpage)
15:28
Add the experimental "sqlite_expert" extension. Used to find index definitions that might help with specified SQL queries. (Later:) Parked on a dead-end branch due to an assertion fault in TH3. We will merge again after the bug is fixed. (Closed-Leaf check-in: d1ef9eaba0 user: dan tags: withdrawn)
14:18
Fix a harmless compiler warning about an unused parameter. (check-in: de20133d44 user: drh tags: branch-3.21)
14:13
Update this branch to match latest trunk. (check-in: d325da6c50 user: dan tags: schemalint)
14:13
Fix the "snapshot-tarball" makefile target, which was broken by the shell.c change of check-in [36acc0a9]. (check-in: c643ace24c user: drh tags: branch-3.21)
14:03
Merge fixes from trunk. All changes are on makefiles and test scripts. There are no core code changes. (check-in: 1fb87a0c6e user: drh tags: branch-3.21)
13:47
The src/shell.c file is now generated from src/shell.c.in, so remove shell.c from version control and update the makefiles to build it automatically. (check-in: 36acc0a97f user: drh tags: trunk)
13:21
Merge fixes from the 3.21 branch. (check-in: 292921692c user: drh tags: trunk)
11:33
Fix a potential crash that may follow an OOM or other system error in the shell tool. (check-in: c36761e1a0 user: dan tags: trunk)
11:13
Update some test cases to work with SQLITE_OMIT_VIRTUALTABLE and DEFAULT_AUTOVACUUM builds. (check-in: 4b68f424ca user: dan tags: trunk)
10:28
Make sure the tableColumnList() routine of the command-line shell does not cause a null-pointer dereference in an error condition. (check-in: 5d0ceb8dcd user: drh tags: branch-3.21)
01:24
Merge fixes from the 3.21 branch. (check-in: 18d4654fd1 user: drh tags: dbpage)
01:19
Fix a typo in a numeric constant in an assert() - a bug that has been present in the code since check-in [79e22b95038] on 2010-03-30. (check-in: f0a2724f0a user: drh tags: branch-3.21)
2017-10-11
20:27
Add test file mmapwarm.test. With tests for the sqlite3_mmap_warm() extension. (check-in: 5c4980ef17 user: dan tags: trunk)
20:26
Merge latest trunk changes with this branch. (check-in: 2719cf5c5b user: dan tags: schemalint)
18:26
Add the checkfreelist extension to the command-line shell. (check-in: 48418f2ed5 user: drh tags: dbpage)
18:21
Check that the leaf count on each freelist trunk page is in range as part of checkfreelist processing. (check-in: 4e89406248 user: dan tags: dbpage)
18:00
Add new extension "checkfreelist", which uses sqlite_dbpage to check that there are no invalid entries on the database free-list. (check-in: 21930ef537 user: dan tags: dbpage)
17:51
Convert the implementation of the ".dbstat" dot-command of the command-line shell to use the sqlite_dbpage table. (check-in: 497409e167 user: drh tags: dbpage)
17:50
Make JSON1 defines consistent in the makefiles for MSVC. (check-in: 31eee0e4bf user: mistachkin tags: branch-3.21)
17:25
Enable JSON by default in the Windows command-line shell sqlite3.exe. (check-in: 79c96121ba user: drh tags: branch-3.21)
17:13
Enable sqlite_dbpage and dbstat virtual tables in the shell, by default. (check-in: 01bf856c42 user: drh tags: dbpage)
15:02
Get writes working on the sqlite_dbpage virtual table. Add a few test cases. (check-in: a8b264d811 user: drh tags: dbpage)
13:48
Initial implementation of the "sqlite_dbpage" virtual table. Currently it is read-only and has a place-holder xBestIndex. (check-in: c2c1d656e3 user: drh tags: dbpage)
12:20
In the speed-check.sh test script, allow an additional test-name argument which becomes the comparison baseline, in place of "trunk". (check-in: 0245adffc6 user: drh tags: trunk)
11:12
Create a branch for the 3.21.0 release. Development continues on trunk. (check-in: 0f160a8abb user: drh tags: branch-3.21)
2017-10-10
20:11
Add new extension "bgckpt" in ext/misc/bgckpt.c. For experimenting with running wal2 mode checkpoints in a background thread. (check-in: 6395544230 user: dan tags: wal2)
13:37
DROP TABLE now works for WITHOUT ROWID tables and the SQLITE_OMIT_AUTOVACUUM compile-time option. Fix for ticket [e651b1341861d6] (check-in: b8c1b5a584 user: drh tags: trunk)
2017-10-09
19:50
Merge latest trunk changes with this branch. (check-in: d218d815f8 user: dan tags: wal2)
19:49
Add a header comment to wal.c describing the differences between wal and wal2 mode. (check-in: 9c80cd202f user: dan tags: wal2)
2017-10-08
02:22
Fix harmless compiler warnings in FTS5 seen with MSVC. (check-in: 5594a121bf user: mistachkin tags: trunk)
2017-10-07
23:58
Fix harmless compiler warning seen with MSVC. (check-in: 39d920d1ef user: mistachkin tags: trunk)
23:35
Revise variable declaration moved in the previous check-in so sqlite3VdbeReset() is consistent with sqlite3VdbeRewind(). (check-in: 63d1b425ee user: mistachkin tags: trunk)
23:31
Fix C99-style variable declaration issue seen with older versions of MSVC. (check-in: 14b181e862 user: mistachkin tags: trunk)
19:55
Ignore the *-wal2 file if the *-wal file is zero bytes in size. (check-in: f7360fad51 user: dan tags: wal2)
13:37
Check in test file wal2simple.test. (check-in: 8932b2f1d7 user: dan tags: wal2)
2017-10-06
18:00
Add tests for the example fts3 "rank" function that appears in the documentation. (check-in: 702b137aa4 user: dan tags: trunk)
14:25
Merge latest trunk changes into this branch. (check-in: 7e43517861 user: dan tags: wal2)
14:08
Fix a bug in recovering wal2 mode databases introduced by the previous commit. (check-in: 9e1502e1b6 user: dan tags: wal2)
13:43
Fix frame overwriting in wal2 mode. (check-in: a4b02bc938 user: dan tags: wal2)
2017-10-05
20:57
Fix compiler warnings that come up with SQLITE_OMIT_WAL. (check-in: 8ca0fa8dfe user: drh tags: trunk)
20:02
Fix a problem building with SQLITE_OMIT_WAL defined. (check-in: 373b0ace48 user: dan tags: trunk)
19:12
Fix the command-line shell so that the ".schema --indent" command does a better job of dealing with \r\n in the middle of a CREATE statement in the schema. (check-in: 4258fb578a user: drh tags: trunk)
18:14
Fix test case failures on this branch. (check-in: 16decc13af user: dan tags: wal2)
11:29
Disable the delta checksum verification in RBU by default. Reenable it using -DRBU_ENABLE_DELTA_CKSUM, if desired. (check-in: d22c99b6ba user: drh tags: trunk)
2017-10-04
20:57
Add experimental mode that uses two wal files. Activated using "PRAGMA journal_mode = wal2". (check-in: e2fc5c814c user: dan tags: wal2)
18:26
Updates to requirements marks. (check-in: 40964a4ef7 user: drh tags: trunk)
17:05
Update the speedtest1 program so that it prints the output of "PRAGMA compile_options" if the -stats option is specified. (check-in: 7c69f8f108 user: dan tags: trunk)
16:35
Fix typos in session extension header comments. No changes to code. (check-in: 182ec9d6f6 user: mistachkin tags: trunk)
14:13
New test cases for ticket [b899b6042f97f5] derived from a bug report on the mailing list from Wout Mertens. (check-in: ef94ea061d user: drh tags: trunk)
12:08
Amend recent changes to busy.test to avoid failing with SQLITE_ENABLE_STAT4 builds. (check-in: 9ff4944194 user: dan tags: trunk)
12:06
Turn restriction 20 on the query flattener into an assert since the situation restricted can no longer occur because of the more aggressive use of co-routines. (check-in: 4464f40ccd user: drh tags: trunk)
10:39
Add tests to verify that the busy-handler is invoked correctly when processing "PRAGMA optimize" and ANALYZE commands. (check-in: fb83c3d8df user: dan tags: trunk)
05:59
Remove a redundant restriction from the query flattener. (check-in: 66629b2a09 user: drh tags: trunk)
02:30
Fix a minor typo in the query flattener header comment. No code changes. (check-in: d050dc605c user: drh tags: trunk)
2017-10-03
19:53
Simplify the computation of types on columns of a view. (check-in: 772b0db146 user: drh tags: trunk)
18:35
Do not enable SELECT tracing with -DSQLITE_DEBUG. Require the -DSQLITE_ENABLE_SELECTTRACE compile-time option to enable SELECT tracing. (check-in: f5c395834c user: drh tags: trunk)
17:29
Add some OK_IF_ALWAYS_TRUE() marks on optimization branches in select.c. (check-in: 1dd828088d user: drh tags: trunk)
17:17
Remove an unused variable from sqlite3Insert() and fix harmless compiler warnings associated with -DSQLITE_MUTATION_TEST. (check-in: 7be760e907 user: drh tags: trunk)
16:57
Fix the sqlite3_column_decltype() interface to return the correct datatype when the value comes through a CTE. (check-in: 966438bd25 user: drh tags: trunk)
14:24
The simplification to sqlite3SelectExpand() in last night's [3a4ffb21] check-in was not completely correct. This adjustment is needed for correct OOM handling in some configurations. (check-in: c5ad5e1675 user: drh tags: trunk)
03:24
Simplification to the logic that computes column type names. Update: Does not work in all configurations. (Closed-Leaf check-in: f10ece964f user: drh tags: does-not-work)
03:01
Do not compute column and row size estimates for the transient Table objects associated with the result set of a SELECT statement, since those estimates are never used for anything constructive. (check-in: e4342fd401 user: drh tags: trunk)
2017-10-02
23:50
Mark a single branch within sqlite3SelectExpand() as an optimization. (check-in: 3a4ffb21d0 user: drh tags: trunk)
23:30
Simplification to sqlite3SelectPrep() for improved testability. (check-in: 5bf2ccb908 user: drh tags: trunk)
21:29
Add the OK_IF_ALWAYS_TRUE() and OK_IF_ALWAYS_FALSE() macros for marking conditionals that improve performance but do not change the outcome. (check-in: 6035c9b272 user: drh tags: trunk)
13:20
Avoid using lookaside memory for persistent virtual table structures. (check-in: d815f255df user: drh tags: trunk)
02:52
The query planner now always prefers to implement a FROM-clause subquery using a co-routine rather than flattening the subquery into the outer query. (check-in: c9104b59c7 user: drh tags: trunk)
02:32
Improvements to a comment in lempar.c. No code changes. (check-in: 8000d23017 user: drh tags: trunk)
2017-09-30
11:47
More details in the header comment of pushDownWhereTerms(). No changes to code. (Closed-Leaf check-in: 928486231f user: drh tags: prefer-coroutine-sort-subquery)
10:50
Make sure the SQLITE_Stat34 optimization switch is always 0x800, a value which is hard-coded in the TH3 test suite. (check-in: 6aed4ea34c user: drh tags: prefer-coroutine-sort-subquery)
01:25
Fix unreachable conditionals and revise a testcase that was made obsolete by the changes on this branch. (check-in: 71f0adf7ca user: drh tags: prefer-coroutine-sort-subquery)
2017-09-29
22:13
Always render a subquery that is not part of a join as a co-routine. (check-in: 6b1651d711 user: drh tags: prefer-coroutine-sort-subquery)
16:08
Merge the query flattener comment improvements from trunk. (check-in: f62cd4d940 user: drh tags: prefer-coroutine-sort-subquery)
16:07
Clean up the comments on the query flattener to more clearly and accurately express the conditions under which the flattener is able to run. (check-in: 0840f9f824 user: drh tags: trunk)
14:31
Merge changes from trunk. (check-in: 06f432fb7c user: drh tags: prefer-coroutine-sort-subquery)
12:44
Make sure the 6th parameter to the authorizer callback for view subqueries has the correct view name. (check-in: 2a45bbc9fd user: drh tags: trunk)
12:12
Better names for subqueries in EXPLAIN comments. (check-in: 04ef40a8fe user: drh tags: trunk)
2017-09-28
20:06
Do not flatten subqueries that contain an ORDER BY or GROUP BY clause and can be implemented using a co-routine. (check-in: 042d655dd9 user: drh tags: prefer-coroutine-sort-subquery)
17:29
Remove the (undocumented) query-planner control that prevents a "SELECT ALL" subquery in FROM clause from being implemented as a co-routine. This control was added by [a29e117d7ec], where it was called a "stop-gap". (check-in: ff2f5a31a2 user: drh tags: trunk)
16:56
Fix over-length source code lines in select.c. No logic changes. (check-in: fd3267ef92 user: drh tags: trunk)
13:47
Fix an issue introduced by check-in [4cd2a9672c59] (2017-03-03) that could allow a negative value in the 3rd parameter to memmove() when defragmentPage() is called on a btree page with a corrupted freeblock list. The corruption is now detected early and results in an SQLITE_CORRUPT return before the memmove() is reached. (check-in: 5b9ae69312 user: drh tags: trunk)
01:58
Add new routines to simplify dealing with collating sequences in expressions: sqlite3ExprNNCollSeq() and sqlite3ExprCollSeqMatch(). (check-in: 490e488ea9 user: drh tags: trunk)
01:09
Indexes on expressions with a COLLATE clause are able to satisfy an ORDER BY with the same COLLATE clause. (check-in: 0413001843 user: drh tags: trunk)
00:01
In two places, change the magic number -1 to its proper symbol XN_ROWID. (check-in: 80277d2fc9 user: drh tags: trunk)
2017-09-27
16:51
Disable tests for the LIKE optimization when ICU is enabled, since the LIKE optimization only works for the built-in LIKE operator and ICU overrides the built-in. (check-in: f5ef2e1bcd user: drh tags: trunk)
2017-09-25
09:37
Add an extra snapshot related test case. (check-in: 24a95e1437 user: dan tags: trunk)
2017-09-23
07:46
Experimental change so that snapshot transactions always lock the wal file - preventing writers or truncate-checkpointers from wrapping it. (Closed-Leaf check-in: d71eeaab9e user: dan tags: snapshots-lock-wal)
2017-09-22
20:18
Merge in all the trunk enhancements of the previous 7 months. The LIKE optimization has stopped working when there is an ESCAPE - that problem will be addressed in a subsequent check-in. (Leaf check-in: 8d2a1cca61 user: drh tags: est_count_pragma)
16:23
Use the updated Win32 VFS semantics for winOpen from check-in [5d03c738e9] for WinRT, et al, as well. (check-in: 2c03d8b8f0 user: mistachkin tags: trunk)
12:52
Partial backout of check-in [e0af9a904076]. It turns out we do need some extra space at the end of the record blob as an overrun area to use when decoding a maliciously malformed record. (check-in: 403b88a894 user: drh tags: trunk)
11:09
Cherrypick [ec37ad6d08] into this branch. With this patch, if SQLITE_SHARED_MAPPING is defined at build-time SQLite will use a single memory mapping for multiple connections to the same database file within a single process. (check-in: c7a5880d6d user: dan tags: begin-concurrent)
10:49
Merge latest trunk changes into this branch. (check-in: 307b802e86 user: dan tags: begin-concurrent)
00:24
Update the configure script so that it looks for tclsh8.7 ahead of tclsh8.6. (check-in: 0a12915b37 user: drh tags: trunk)
2017-09-21
20:43
In the Windows VFS, when trying to open a database file read/write, if it fails check to see if the file exists and is read-only and immediately fall back to a read-only open attempt, rather than running the AV retry loop. (check-in: 5d03c738e9 user: drh tags: trunk)
20:03
In the Windows VFS, do not emit an SQLITE_CANTOPEN error log message when falling back from SQLITE_OPEN_READWRITE to SQLITE_OPEN_READONLY. Wait until the open fails completely. (check-in: fa3f5bcc23 user: drh tags: trunk)
19:08
Fix harmless UB in the ICU extension. (check-in: 68e9a840d9 user: drh tags: trunk)
14:03
The sqlite3_snapshot_describe() interface useful for debugging snapshot logic. (Leaf check-in: 3fbfa9a8e8 user: drh tags: sqlite3_snapshot_describe)
13:11
Fix a potential use of an uninitialized pointer in RTree following an OOM error. (check-in: fd4ec0cdbd user: drh tags: trunk)
10:24
Fix a bug in tool/mksourceid.c: The mksourceid.c program was incorrectly including the "# Remove this line" line of the Fossil-generated "manifest" file in the SHA3 hash. That means that all SQLITE_SOURCE_IDs for trunk versions going back to check-in [30966d56] (2017-08-22) are incorrect. (check-in: 65765222ef user: drh tags: trunk)
01:04
Revert one performance improvement changes from check-in [3b3e32d4cd07] as it was causing a reference to an uninitialized value. (check-in: f8b1c64d3e user: drh tags: trunk)
00:49
Fix the rendering of the P4_INTARRAY argument to the OP_IntegrityCk opcode in the output of EXPLAIN. (check-in: adc12c83dd user: drh tags: trunk)
2017-09-20
18:47
Size and performance optimization on sqlite3VdbeMemGrow(). (check-in: 4b3f7eacb8 user: drh tags: trunk)
18:07
The BLOB returned by sqlite3VdbeMemFromBtree() does not need to be zero-terminated. (check-in: e0af9a9040 user: drh tags: trunk)
17:49
Small size and performance optimization in the bytecode engine. (check-in: 3b3e32d4cd user: drh tags: trunk)
10:47
Improved resolution of large integer values in "CAST(x AS NUMERIC)". (check-in: 7f2bd4ff45 user: drh tags: trunk)
09:09
Updates to the "lemon.html" document received from Andy Goth. (check-in: 5b2002f3df user: drh tags: trunk)
2017-09-18
18:17
Add the sqlite3_mmap_warm() function as an extension in the ext/misc/mmapwarm.c source file. (check-in: 1b2de41453 user: drh tags: trunk)
18:08
Fix a typo in the MSVC makefile. (Closed-Leaf check-in: 3235835bab user: drh tags: mmap-warm)
16:28
Add extension "mmapwarm.c". Provides function sqlite3_mmap_warm(), used to "warm up" the memory mapping used by SQLite in mmap mode to access db file content. (check-in: d4a30b91f9 user: dan tags: mmap-warm)
13:16
Minor simplification of error message generation during compound query code generation. (check-in: a944719314 user: drh tags: trunk)
09:40
The out-of-bounds read on recovery fix of check-in [378afa16381a222a] caused problems for some corner-case error conditions. This alternative fix appears to work better. (check-in: 74f399d81f user: drh tags: trunk)
08:51
Merge latest trunk changes with this branch. (Leaf check-in: 2e57335081 user: dan tags: shared-mapping-hack)
00:18
Fix the CSV virtual table extension so that it works when the default character is unsigned. (check-in: 42f0777555 user: drh tags: trunk)
2017-09-17
19:45
Do not make the assumption (as check-in [4da49a95c0f07] incorrectly did) that the ExprList returned by sqlite3ExprListDup() would never be passed into sqlite3ExprListAppend(). Include a new test case that shows this sometimes does happen. (check-in: 29227d00a9 user: drh tags: trunk)
2017-09-16
20:58
Simplify the sqlite3VdbeGet() routine. Smaller, faster, and easier to maintain. (check-in: 5dbb255a93 user: drh tags: trunk)
2017-09-15
17:40
Remove an unnecessary parameter from selectInnerLoop(). (check-in: dd95887f82 user: drh tags: trunk)
15:38
Improved the header-comment documentation on sqlite3ExprCodeExprList(). No changes to code. (check-in: 5dc3ecb5f6 user: drh tags: trunk)
15:17
Optimization to the ExprList object to make it slightly smaller and faster. (check-in: 4da49a95c0 user: drh tags: trunk)
14:36
Fix a harmless comment typo. No changes to code. (check-in: f7f0bf1da0 user: drh tags: trunk)
2017-09-14
21:12
Add another test case for the problem fixed by the previous commit. (check-in: 1a7e0b61c8 user: dan tags: trunk)
20:41
Avoid an out-of-bounds read that can be caused by a specially constructed journal file. (check-in: cf5bf42cad user: dan tags: trunk)
02:36
Avoid an out-of-bounds read on a recovery attempt using a carefully crafted database and rollback journal with mismatched page sizes. The test case for this is in TH3. (check-in: 378afa1638 user: drh tags: trunk)
2017-09-13
20:20
Test case update due to PRAGMA integrity_check enhancements in [8525c30c]. No changes to code. (check-in: 43c6023bbf user: drh tags: trunk)
18:38
Experimental sqlite3_stmt_retryable() interface. (Leaf check-in: ebada0723a user: drh tags: sqlite3_stmt_retryable)
12:55
Disable FTS3 matchinfo() tests that assume a littleEndian platform when running on bigEndian. (check-in: 87ccdf9cbb user: drh tags: trunk)
00:33
Improvements to PRAGMA integrity_check for better detection of malformed records. Integrity_check now avoids returning SQLITE_CORRUPT on a corrupt record. Also includes microoptimizations that I stumbled over while working on integrity_check. (check-in: 8525c30c1d user: drh tags: trunk)
00:13
PRAGMA integrity_check returns SQLITE_OK even if it encounters corruption while scanning indexes. (Closed-Leaf check-in: 81f62e99f2 user: drh tags: improved-integrity-check)
00:01
Fix test script comment. No changes to code. (check-in: a5a1949259 user: mistachkin tags: trunk)
2017-09-12
23:58
Remove use of the rand_s() function (added by [139081bef9f63c3e]) as it appears to cause issues with some third-party DLLs. (check-in: 3a2793aa65 user: mistachkin tags: trunk)
20:09
Add the highly-experimental "PRAGMA noop_update=TRUE" command. (check-in: afe45271b9 user: drh tags: begin-concurrent-pnu)
18:49
Add the highly-experimental "PRAGMA noop_update=TRUE" command. (Leaf check-in: de2e371757 user: drh tags: pragma-noop-update)
18:11
Merge the mutex-free PRNG change into this branch. (check-in: 8b1fc4b9f3 user: dan tags: shared-mapping-hack)
18:03
Hack to have multiple connections to a single file share a single memory mapping of the databse file. (check-in: ec37ad6d08 user: dan tags: shared-mapping-hack)
15:05
Fix an error in [b22cdd67] that can cause a negative infinity to be (rarely) reported as a positive infinity. (check-in: 9780b23ca3 user: drh tags: trunk)
13:27
Changes to (hopefully) get the build working with recent Intel compilers. (check-in: b22cdd6734 user: drh tags: trunk)
00:24
Make sure all connections are closed in the pragma.test script. Test change only - no changes to code. (check-in: d7b7f038a2 user: drh tags: trunk)
2017-09-11
23:46
New test case for ticket [b899b6042f97f52d]. (check-in: 9d91ee5ee3 user: drh tags: trunk)
20:54
Add support for new operators in virtual tables: !=, IS, IS NOT, IS NULL, and NOTNULL. (check-in: 3b7dbe9da9 user: drh tags: trunk)
19:47
Refactor names of constants and functions associated with the auxiliary operators for xBestIndex. (Closed-Leaf check-in: 0fb992af66 user: drh tags: vtab-extra-ops)
18:37
Minor adjustments to indentation and spacing for clarity. No changes to code. (check-in: d3153abda6 user: drh tags: vtab-extra-ops)
08:53
Add tests to check that affinities work with != operators on virtual table column values. No changes to code. (check-in: 8d24e0803d user: dan tags: vtab-extra-ops)
2017-09-10
01:06
Simplifications to the PRAGMA integrity_check code generator. (check-in: 99b9140c79 user: drh tags: improved-integrity-check)
2017-09-09
22:46
Simplification and performance improvement to sqlite3_reset(). (check-in: b6425d0170 user: drh tags: improved-integrity-check)
20:38
Improved detection of malformed records by PRAGMA integrity_check. (check-in: 8fa923caa1 user: drh tags: improved-integrity-check)
19:41
Enhance the vtab interface to handle IS, !=, IS NOT, IS NULL and IS NOT NULL constraints. (check-in: 34c8e95261 user: dan tags: vtab-extra-ops)
08:03
Use a mutex-free PRNG for the random() and randomblob() SQL functions and for the randomness used during checkpoint operations. (Leaf check-in: e63d1a7cd3 user: drh tags: mutex-free-randomness)
06:10
Merge trunk enhancements (check-in: 6a0b9d9d4e user: drh tags: apple-osx)
00:51
Fix harmless compiler warnings seen with MSVC. (check-in: faa22e29a5 user: mistachkin tags: trunk)
2017-09-08
17:48
Have the header comment for sqlite3Checkpoint() mention TRUNCATE along with the other three checkpoint types. No changes to code. (check-in: e1e3ca7ea4 user: dan tags: trunk)
2017-09-07
09:56
Prevent a possible crash when trying to recover using a carefully corrupted \ and truncated rollback journal. (Test case in TH3) (check-in: 02828d717e user: drh tags: trunk)
2017-09-05
20:16
Update "PRAGMA integrity_check" to detect inconsistencies between a single record's header and body. (check-in: 9e393a0edf user: dan tags: trunk)
17:23
Fix a comment describing the xRowid method of the "series" virtual table. No code changes. (check-in: 868cd19600 user: dan tags: trunk)
16:24
Add experimental API sqlite3rbu_temp_size_limit(). For limiting the amount of temporary disk space RBU uses. (check-in: 7fdd629830 user: dan tags: trunk)
2017-09-04
19:31
Use the SQLITE_CORRUPT_BKPT return code in a couple more places. (check-in: 72d22c226b user: mistachkin tags: trunk)
18:44
Add the 'mksourceid' executable to the clean target for MSVC. (check-in: 77854694b2 user: mistachkin tags: trunk)
00:33
Proposed fix for ticket [b899b6042f97f5] (check-in: c7f9f47b23 user: drh tags: trunk)
00:19
Fix recent test cases in test/indexepxr2.test so that they work even without SQLITE_ENABLE_STAT4 and SQLITE_ENABLE_JSON1. (check-in: 03f3cc03aa user: drh tags: trunk)
2017-09-01
14:50
Add the new sqlite3PagerUnrefPageOne() pager method to deal with the special case of unreferencing page1. (check-in: b2e2100cf7 user: drh tags: trunk)
12:57
Remove an obsolete optimization in pcache that due to more recent changes was recently making the code a little slower. (check-in: c4e7e175ee user: drh tags: trunk)
12:18
Small size and performance improvement in pcacheManageDirtyList() by not zeroing the PgHdr.pDirtyNext and PgHdr.pDirtyPrev pointers for PgHdr objects that are not on the dirty list. (check-in: 919863b148 user: drh tags: trunk)
2017-08-31
21:11
Clarify the documentation about "protected" versus "unprotected" sqlite3_value objects. No changes to code. (check-in: 4094a3410e user: drh tags: trunk)
2017-08-30
13:21
Remove unnecessary "__declspec(dllexport)" qualifiers from generated file shell.c. (check-in: bcc20be5b2 user: dan tags: trunk)
04:44
Small performance optimization in pcache1. (check-in: ffd437da95 user: drh tags: trunk)
2017-08-29
20:21
Faster memory allocation from lookaside by not trying to keep track of the number of outstanding allocations, and rather computing that value only when requested. (check-in: a06263f1ef user: drh tags: trunk)
17:52
Add a Tcl script to run the performance tests described in README-server-edition.html. (check-in: 1b3df8ffc5 user: dan tags: server-process-edition)
2017-08-28
17:32
Add the --enable-update-limit option to the ./configure script. (Leaf check-in: f545db6c27 user: drh tags: begin-concurrent-branch-3.19)
17:30
Avoid unnecessary mutexes in the pcache1 implementation in the common case where no auxiliary page cache memory is configured. (check-in: 5cd9ff87d8 user: drh tags: begin-concurrent-branch-3.19)
17:26
Remove the rarely-used scratch memory allocator. This makes the code smaller, faster, and easier to maintain. In place of the scratch allocator, add the SQLITE_CONFIG_SMALL_MALLOC configuration option that provides a hint to SQLite that large memory allocations should be avoided. (check-in: cc440400a1 user: drh tags: begin-concurrent-branch-3.19)
17:19
Merge recent enhancements from trunk. (check-in: d53108e763 user: drh tags: begin-concurrent)
17:00
Add the --enable-update-limit option to the ./configure script. (check-in: 64a8ae6838 user: drh tags: trunk)
16:11
Avoid unnecessary mutexes in the pcache1 implementation in the common case where no auxiliary page cache memory is configured. (check-in: 1ba051e34d user: drh tags: trunk)
15:51
Remove the rarely-used scratch memory allocator. This makes the code smaller, faster, and easier to maintain. In place of the scratch allocator, add the SQLITE_CONFIG_SMALL_MALLOC configuration option that provides a hint to SQLite that large memory allocations should be avoided. (check-in: 54b000246c user: drh tags: trunk)
14:33
Backport changes to shell.c into shell.c.in. (check-in: 2348045fbc user: drh tags: trunk)
11:12
Fix the ".dump", ".schema", and ".fullschema" commands of the command-line shell so that they work even if PRAGMA empty_result_callbacks is enabled. Fix for ticket [02f0f4c54f281]. (check-in: cf0d3715ca user: drh tags: trunk)
2017-08-27
10:55
Instrumentation and changes in an effort to reduce thread contention. (Leaf check-in: c93298d5ae user: drh tags: reduced-thread-contention)
2017-08-25
19:51
Fix a few over-length source code lines. No functional changes. (check-in: 1783c54ce9 user: drh tags: trunk)
15:43
Size and performance optimization for sqlite3Init(). (check-in: 776d91284a user: drh tags: trunk)
13:34
Small performance optimization in sqlite3WhereBegin(). (check-in: 39f708d1e2 user: drh tags: trunk)
13:02
Convert a branch made unreachable by [59560d07] into an assert(). (check-in: 2738b8db3c user: drh tags: trunk)
11:44
Improve the internal mechanism used to keep track of what kind of syncing to do for WAL transaction commits and checkpoint operations. Use the checkpoint-style of syncing to sync the header of a new or restarted WAL file. (check-in: e8d23afe84 user: drh tags: trunk)
09:17
Avoid returning duplicate rows in experimental pragmas "pragma_list", "module_list" and "function_list". (check-in: b79cc8dc88 user: dan tags: trunk)
01:14
Update the mechanism used to keep track of what kind of syncing to do for WAL transaction commits and checkpoint operations. Use the checkpoint-style of syncing to sync the header of a new or restarted WAL file. (Closed-Leaf check-in: bf65dae8d4 user: drh tags: wal-sync-refactor)
2017-08-24
20:54
Fix an incorrect hyperlink in a comment. (check-in: 25292b9a4e user: drh tags: trunk)
16:21
Version 3.20.1 (Leaf check-in: 8d3a7ea6c5 user: drh tags: release, branch-3.20, version-3.20.1)
15:43
Fixes to documentation about SQLITE_OPEN_URI. (check-in: 7ec72314d6 user: drh tags: trunk)
14:08
Increase the version number to 3.20.1. (check-in: 70338c7cb1 user: drh tags: branch-3.20)
14:04
Make sure the sqlite3_result_pointer() interface does not leave a VM register in an inconsistent state. Fix for ticket [7486aa54b968e9b5]. Test cases are in TH3. (check-in: abc7adfda2 user: drh tags: branch-3.20)
13:55
Make sure the sqlite3_result_pointer() interface does not leave a VM register in an inconsistent state. Fix for ticket [7486aa54b968e9b5]. Test cases are in TH3. (check-in: d2f9230c5c user: drh tags: trunk)
10:10
Test BEGIN CONCURRENT transactions that consist entirely of read-only statements. (check-in: c3fe1f4b7e user: dan tags: begin-concurrent)
2017-08-23
23:09
Performance optimization to pageFindSlot() in the b-tree layer. (check-in: 59560d079f user: drh tags: trunk)
20:36
Size and performance optimization to dropCell() and freeSpace(). (check-in: bc1ec123ce user: drh tags: trunk)
14:45
Smaller and faster implementation of the fillInCell() routine. (check-in: 77074990ed user: drh tags: trunk)
2017-08-22
21:23
Update documentation to make it clear that SQLITE_SOURCE_ID and sqlite3_sourceid() might changes if the source code is edited. (check-in: e69c0c8770 user: drh tags: trunk)
21:07
Less dramatic changes to the source-id following an edit. Modify the way that the amalgamation is constructed to give it the opportunity to detect changes and modify the source-id. (check-in: 564c7340a3 user: drh tags: trunk)
19:54
Modify the SQLITE_SOURCE_ID if the source code has changed in any way since the previous check-in. (check-in: 515d6a8377 user: drh tags: trunk)
19:49
Trying again to get out-of-tree builds to work correctly. (Closed-Leaf check-in: a1b3337e94 user: drh tags: mksourceid)
19:44
mksourceid still does not work right. (Leaf check-in: ca5dcb4a36 user: drh tags: mistake)
19:43
Attempting to fix the source-id generator so that it works for out-of-tree builds. (check-in: 5a037ac2da user: drh tags: mksourceid)
19:19
Add the "mksourceid" program to the build process. That program changes the SQLITE_SOURCE_ID if the source tree has been modified in any way. (check-in: d4c05e04f7 user: drh tags: mksourceid)
15:21
Fix error tests in seldom-used compile-time branches of the unix backend. (check-in: 885c2b44a4 user: drh tags: trunk)
2017-08-21
02:20
Remove an unnecessary conditional. (check-in: 56d19f9fd7 user: drh tags: trunk)
02:05
Minor optimization to sqlite3VdbeMemSetStr(). (check-in: 6538ef7b6b user: drh tags: trunk)
2017-08-19
20:38
Space and size optimization to the printf implementation. (check-in: d01d2cffef user: drh tags: trunk)
15:50
Ensure that write-locks on pages are dropped at the end of each write transaction, even if there is still a read transaction open. (check-in: 2dd36ade9e user: dan tags: server-process-edition)
2017-08-18
22:30
Another size and performance optimization to readDbPage(). This time we eliminate some unnecessary local variables. (check-in: 745bc8decd user: drh tags: trunk)
21:14
Size and performance optimization the readDbPage() routine in the pager. (check-in: ca9e1875c3 user: drh tags: trunk)
18:55
Add tests to this branch. (check-in: abb6e076c8 user: dan tags: server-process-edition)
16:09
For the unix VFS, avoid an unnecessary stat() system call prior to opening any file in the common case where there are no unused file descriptors. (check-in: 3075cfa074 user: drh tags: trunk)
16:04
Do not search for locks to clear when connecting to a db in multi-process mode unless it looks like the previous user of the client-id crashed. (check-in: 66fb9e1cb4 user: dan tags: server-process-edition)
14:34
Combine the OP_CreateTable and OP_CreateIndex opcodes of the bytecode engine into a single OP_CreateBtree opcode. This simplifies the implementation and makes the bytecode programs clearer. (check-in: eb1202b5e4 user: drh tags: trunk)
08:29
Only use indexes on expressions to optimize ORDER BY and GROUP BY if the collation sequence matches. Possible fix for [e20dd54a]. (check-in: 37e1900880 user: dan tags: trunk)
2017-08-17
20:53
Use the __builtin_clzll() function of gcc to improve the performance and reduce the size of the sqlite3LogEst() routine. (check-in: a42a438cbb user: drh tags: trunk)
19:32
Add support for crash recovery in multi-process mode. And add test cases for the same. (check-in: a8115f95e8 user: dan tags: server-process-edition)
19:23
Small optimization in the Expr tree walker. (check-in: 264a5e1b75 user: drh tags: trunk)
18:54
Size optimization in the authorizer error message generation logic. (check-in: 0367a4d586 user: drh tags: trunk)
18:23
In sqlite3ViewGetColumnNames(), return the number of errors, not an error code. (check-in: f13682ea23 user: drh tags: trunk)
18:17
The RTREE extension should return SQLITE_CORRUPT_VTAB, not just SQLITE_CORRUPT when it encounters incorrectly formatted shadow tables. (check-in: 0712f057ef user: drh tags: trunk)
14:47
Remove an unnecessary branch from the [be436a7f4587ce517ddc] fix. (check-in: fb6ca99b88 user: drh tags: trunk)
14:12
Add test cases for ticket [be436a7f4587ce517] using virtual table modules fts5 and rtree. (check-in: 2101b42087 user: dan tags: trunk)
02:26
Defer schema resets when the query planner is running. Proposed fix for ticket [be436a7f4587ce517]. (check-in: a7bc7752ba user: drh tags: trunk)
2017-08-16
19:20
Avoid a test for CURTYPE_BTREE in sqlite3VdbeCursorMoveto() in order to reduce the size and improve the performance of OP_Column. (check-in: f078deb251 user: drh tags: trunk)
17:06
Update this branch with the latest changes from trunk. (check-in: 380a7b7a45 user: dan tags: server-process-edition)
16:52
Enhance this branch to support page-level-locking (without MVCC) for multi-process deployments. (check-in: 04e0cb571d user: dan tags: server-process-edition)
14:16
Remove an unnecessary local variable from OP_Column, for a small size reduction and performance increase. (check-in: 3954390328 user: drh tags: trunk)
11:04
Performance improvement in the OP_Column opcode. (check-in: dc98a92f32 user: drh tags: trunk)
2017-08-15
14:14
Small size and performance improvement in the OP_Column opcode. (check-in: 2cf3f3de8a user: drh tags: trunk)
03:46
Btree optimization: New field BtCursor.pPage that points to the current page, saving a single pointer dereference on each access. (check-in: 373b71d19c user: drh tags: trunk)
01:07
Fix a problem allowing a conflicting transaction to be committed in the case where more than one 32KB shared-memory page has been written to since the transaction was started. (check-in: 346a710da4 user: drh tags: begin-concurrent-branch-3.19)
2017-08-14
23:53
Minor size and performance optimization to sqlite3BtreeCloseCursor(). (check-in: 1696933884 user: drh tags: trunk)
18:13
Change the internal btree routine moveToRoot() to return SQLITE_EMPTY if the table is empty or if it has pgnoRoot==0. This simplifies the callers, making them smaller and faster. The SQLITE_EMPTY result code is intercepted and changed into SQLITE_OK before surfacing in an API. (check-in: 240d57143d user: drh tags: trunk)
17:03
Fix harmless indentation error. (check-in: 25e92baaae user: drh tags: trunk)
14:53
Sometimes a TK_COLUMN Expr node can have Expr.pTab==0 if it is a reference to an expression column in an index on an expression. Fix for ticket [aa98619ad08ddcab]. (check-in: d0da791ba0 user: drh tags: trunk)
07:16
Remove code for PLL support in wal mode from this branch. (check-in: 8e1b28ed3e user: dan tags: server-process-edition)
06:55
Update this branch with latest trunk changes. (check-in: bc2498d60f user: dan tags: server-process-edition)
01:33
Properly dequote column names in tables constructed by an aggregate SELECT. (check-in: 7e0d3e9cb0 user: drh tags: trunk)
2017-08-12
18:31
Add new test file fts5vocab2.test. (check-in: 02174842c3 user: dan tags: trunk)
14:06
Add a more rigorous test case for the bug fixed by the previous commit on this branch. (check-in: 4256072399 user: dan tags: begin-concurrent)
02:16
Update the speed-check.sh test script to append log output to the end of the cout-NAME.txt file. (check-in: 14d262d6aa user: drh tags: trunk)
02:01
Remove the zBase field from the StrAccum object. Resulting code is slightly smaller and faster. (check-in: 6e52fa5fd7 user: drh tags: trunk)
01:09
Size and performance micro-optimization on sqlite3SrcListIndexedBy(). (check-in: 28a5aec118 user: drh tags: trunk)
2017-08-11
21:16
Fix a problem allowing a conflicting transaction to be committed in the case where more than one 32KB shared-memory page has been written to since the transaction was started. (check-in: 38dd9b50fe user: dan tags: begin-concurrent)
20:22
Add another PAGERTRACE() macro to show when pages are added to Pager.pAllRead. No impact on production builds. (check-in: 11054cf5e8 user: drh tags: begin-concurrent)
19:31
Add a PAGERTRACE() macro to log when frames are written into the WAL file. This is for analysis only and is a no-op for production builds. (check-in: 39f39e3d9a user: drh tags: begin-concurrent)
19:16
Merge the latest enhancements from trunk. (check-in: 47e716952d user: drh tags: begin-concurrent)
18:59
Fix compiler warnings that arise if the PAGERTRACE macro is turned on. This changes does not affect production builds. (check-in: 831156a4bd user: drh tags: trunk)
18:55
Improved comments in the header of the LSM1 vtab module. No code changes. (check-in: aa49926dbf user: drh tags: trunk)
13:51
New test cases for LSM1. (check-in: cb0c49cbd1 user: drh tags: trunk)
12:49
Convert the LSM1 virtual table to be WITHOUT ROWID and get UPDATE and DELETE operations working on it. (check-in: 2164031b50 user: drh tags: trunk)
03:47
Simplification to the like optimization logic. Remove unnecessary branches. (check-in: 9466d952e1 user: drh tags: trunk)
2017-08-10
20:43
Allow WITHOUT ROWID virtual tables to be writable as long as they have exactly one column as their PRIMARY KEY. (check-in: c601d128ff user: drh tags: trunk)
20:36
Add the "instance" type to the fts5vocab virtual table module. For direct access to the contents of the fts5 term index. (check-in: 34a7bd7121 user: dan tags: trunk)
19:12
Fix a typo in csv01.test introduced by the previous commit. (Closed-Leaf check-in: f38ff71827 user: dan tags: writable-vtab-without-rowid)
19:10
Add extra tests to this branch. (check-in: b0e3b88a79 user: dan tags: writable-vtab-without-rowid)
17:53
Test case for writing to a WITHOUT ROWID virtual table. The TCLVAR virtual table is modified to add a "fullname" column which is the primary key, and to accept update operations against the primary key. (check-in: 6997e00c32 user: drh tags: writable-vtab-without-rowid)
15:19
Experimental changes that allow a WITHOUT ROWID virtual table to be writable as long as it has only a single-column PRIMARY KEY. (check-in: ab9ee4c1e6 user: drh tags: writable-vtab-without-rowid)
03:27
Add a first draft of the "vtablog" extensions that implements a generic virtual table useful for experimentation using the command-line shell. (check-in: e49279e651 user: drh tags: trunk)
2017-08-09
22:55
Preserve the error code from xConnect or xCreate methods in virtual table implementations when they are encountered during parsing. (check-in: dcdf091388 user: drh tags: trunk)
20:35
Add experimental sqlite3_open_v2() flag SQLITE_OPEN_REUSE_SCHEMA. For sharing identical in-memory schema objects between connections. (check-in: a625698048 user: dan tags: reuse-schema)
19:27
Various bug fixes for the new LSM1 virtual table design. (check-in: 94434a252f user: drh tags: trunk)
18:40
Work toward redesigning the interface to the LSM1 virtual table. (check-in: 313df94666 user: drh tags: trunk)
2017-08-08
21:40
The identifier "vsnprintf" appears to be a reserved word in recent versions of XCode, so avoid using it as a structure field. (check-in: 795eede331 user: drh tags: trunk)
21:30
Fix a faulty signed/unsigned character comparison in the LIKE optimization logic. (check-in: f4a4b14973 user: drh tags: trunk)
20:03
Enhance the CSV virtual table extension so that it accepts the last row of the CSV file even if the last row omits the closing \n, as long as the last row has a full set of columns. (check-in: 537e3be2e9 user: drh tags: trunk)
2017-08-07
19:12
Avoid casting a value larger than 2^31 to a (size_t) or (SIZE_T) on systems where it is a 32-bit type. (check-in: b26d7a1c7b user: dan tags: trunk)
19:06
On Windows, avoid casting a value larger than 2^31 to a (SIZE_T) on systems where it is a 32-bit type. (Leaf check-in: f08d63b413 user: mistachkin tags: mmap-size-limit)
18:54
Fix a problem with handling SQLITE_FCNTL_MMAP_SIZE requests with a negative parameter in os_unix.c. (check-in: 4249fcf7b0 user: dan tags: mmap-size-limit)
18:27
Update bigmmap.test to account for builds that use "-DSQLITE_MAX_MMAP_SIZE=<integer-constant>LL". (check-in: 7c8b6f1cac user: dan tags: mmap-size-limit)
18:13
Avoid casting a value larger than 2^31 to a (size_t) on systems where it is a 32-bit type. (check-in: 46c3085dca user: dan tags: mmap-size-limit)
17:28
Fix an out-of-order test number. (check-in: 38f30091f9 user: mistachkin tags: trunk)
17:14
Add new test file "bigmmap.test". For testing builds with -DSQLITE_MAX_MMAP_SIZE > 2GB. (check-in: 1744706279 user: dan tags: trunk)
14:15
Update this branch with latest trunk changes. (check-in: 17bc7ded07 user: dan tags: server-process-edition)
14:06
Fix a bug on this branch involving mmap mode and readonly transactions. (check-in: 355c594e82 user: dan tags: server-process-edition)
2017-08-05
16:15
Fix a segfault in swarmvtab that could occur if there was an error in the SQL statement passed to the constructor. Add other test cases. (check-in: 6ce8b7ca62 user: dan tags: trunk)
15:49
Microoptimization in pcache1.c makes the code slightly smaller and faster. (check-in: 422cd9f394 user: drh tags: trunk)
15:30
Fix memory leak in swarmvtab. (check-in: 002a9c7bac user: dan tags: trunk)
2017-08-04
20:27
Add the swarm virtual table to the existing union virtual table module. (check-in: 0f6f6f03de user: drh tags: trunk)
20:15
Add the optional non-found-callback to the swarm-vtab. (Closed-Leaf check-in: a94e2f600b user: drh tags: union-vtab)
17:39
Add further test cases for swarmvtab. And minor code changes. (check-in: 0f82d3b9dd user: dan tags: union-vtab)
16:16
Add test cases and associated fixes for swarmvtab. (check-in: 7ae20eac83 user: dan tags: union-vtab)
08:24
Add SQLITE_API qualifiers to public API functions in header file sqlite3rbu.h. (check-in: e11e6eb1d9 user: dan tags: trunk)
08:23
Update script tool/mksqlite3c.tcl to avoid duplicating the SQLITE_API qualifier when copying sqlite3rbu.h into the amalgamation. (Closed-Leaf check-in: 61ab112f32 user: dan tags: sqlite3rbu.h-fix)
2017-08-03
20:13
Modify swarmvtab to use a separate database connection for each database file. (check-in: 1f05ad29c3 user: dan tags: union-vtab)
15:50
Add SQLITE_API qualifiers to public API functions in header file sqlite3rbu.h. (check-in: d8637badf6 user: dan tags: sqlite3rbu.h-fix)
15:43
Fix some problems in RBU test cases. Also update RBU source code to better handle the trivial case where an RBU update is applied to a database zero pages in size. (check-in: 7676b39bc1 user: dan tags: trunk)
00:29
Optimization to the comparison opcodes in the byte-code engine. (check-in: 654935c773 user: drh tags: trunk)
2017-08-02
22:43
In the KeyInfo object, refactor the nField and nXField elements into nKeyField and nAllField, which are more useful and run a little faster. (check-in: aea5990eab user: drh tags: trunk)
19:59
Enhance the code in unionvtab.c to also provide the "swarmvtab" virtual table module. There are still several problems on this branch. (check-in: 03d94388d6 user: dan tags: union-vtab)
19:04
Avoid redundant calls to sqlite3ApiExit() in sqlite3_step(). (check-in: 527974d4ca user: drh tags: trunk)
18:28
Only attempt to invoke WAL callbacks when a transaction has committed. (check-in: bcc6dacb91 user: drh tags: trunk)
18:27
Minor optimization on clearCell() (check-in: f3c39c2986 user: drh tags: trunk)
15:50
Optimizations associated with error handling in btree cursors. (check-in: 49ba54e267 user: drh tags: trunk)
12:38
Remove unused token codes. (check-in: c45078c062 user: drh tags: trunk)
11:36
Rearrange some of the added token codes for a very slight size decrease and performance increase. (check-in: cb3742f51f user: drh tags: trunk)
11:04
Rearrange integer token values in the parser and logic in the resolveP2Values() routine for a small size reduction and performance increase. (check-in: 1cad2926ad user: drh tags: trunk)
03:21
Show which opcodes are jumps in the comments when generating the opcodes.h header file. (check-in: eef643a369 user: drh tags: trunk)
03:21
Add the "%token" control to the lemon parser. Not currently used by SQLite. (check-in: a6e4c5ae8f user: drh tags: trunk)
02:46
Faster implementation of resolveP2Values(). (check-in: 82e46fe0d4 user: drh tags: trunk)
2017-08-01
20:59
Slightly smaller and faster by allocating Parser objects on the stack. (check-in: 436a89b919 user: drh tags: trunk)
19:53
Split the OP_Last opcode into OP_Last and OP_SeekEnd. Use OP_SeekEnd to position a cursor prior to appending. Ticket [cb91bf4290c211d]. (check-in: 3e02474c7b user: drh tags: trunk)
14:16
Take advantage of atomic-write capabilities in the F2FS filesystem when the database is stored on such a filesystem. This is a compile-time option activated using SQLITE_ENABLE_BATCH_ATOMIC_WRITE. (check-in: 24190b221f user: drh tags: trunk)
13:54
Merge recent enhancements from trunk. (check-in: aafe1fec80 user: drh tags: begin-concurrent)
13:24
Version 3.20.0 (check-in: 9501e22dfe user: drh tags: release, branch-3.20, version-3.20.0)
00:20
Allow ATTACH and DETACH inside of a transaction. (check-in: 95e8f31658 user: drh tags: trunk)
2017-07-31
20:06
TclKit batch tool updates for MSVC. Cherrypick of [bcec155e0d6c6b17] and [0c77935cf9949099]. (check-in: 96ff167572 user: mistachkin tags: branch-3.20)
19:55
Add documentation file ./README-server-edition.html. (check-in: fbc4f4ad25 user: dan tags: server-process-edition)
19:39
Recognize 'AMD64' as 'x64' in the TclKit batch tool for MSVC. (check-in: 0c77935cf9 user: mistachkin tags: trunk)
19:34
Sync up the MSVC autoconf makefile. (check-in: 44cebc6e68 user: drh tags: branch-3.20)
19:26
Sync up the MSVC autoconf makefile. (check-in: b3b89f4ff9 user: mistachkin tags: trunk)
17:51
Fix a windows-compatibility issue in the recently added schema6.test script. (check-in: 14e6c302ec user: drh tags: trunk)
17:40
More consistent column names. Cherry-pick of [09834279] and [0c38dde45] as a fix for ticket [de3403bf5ae]. (check-in: be0e24a029 user: drh tags: branch-3.20)
17:06
Prevent OSSFuzz from using debugging pragmas that are disabled in default builds and which generate lots of excess output. (check-in: cdc6494c05 user: drh tags: trunk)
16:42
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. Fix to ticket [de3403bf5ae5f72ed]. (check-in: ade7ddf199 user: drh tags: trunk)
2017-07-30
20:30
Correctly handle an "INTEGER PRIMARY KEY UNIQUE" column in a WITHOUT ROWID table. This is a fix for ticket [bc115541132dad136] cherry-picked from [5216bfb73f1a49bdd]. (check-in: 5c8cb1ff5d user: drh tags: branch-3.20)
19:50
Add the schema6.test module for demonstrating schemas that generate identical and different content. (check-in: ac1da06a82 user: drh tags: trunk)
18:40
Correctly handle an "INTEGER PRIMARY KEY UNIQUE" column in a WITHOUT ROWID table. This is a fix for ticket [bc115541132dad136], a problem discovered by OSSFuzz. (check-in: 5216bfb73f user: drh tags: trunk)
2017-07-29
17:10
Merge latest trunk changes with this branch. (check-in: b42c87790e user: dan tags: server-process-edition)
17:02
New test cases for column name generation interacting with the query flattener. (Closed-Leaf check-in: 0c38dde454 user: drh tags: early-column-names)
17:01
Update test program "tserver" to use a native pthreads mutex/condition variable to efficiently manage wal file checkpoints without the wal file growing indefinitely. (check-in: 8299bdb7cb user: dan tags: server-process-edition)
16:01
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 an alternative fix to ticket [de3403bf5ae5f72ed]. (check-in: 09834279ae user: drh tags: early-column-names)
14:56
Use the subquery column name, not the original SQL statement text, as the added AS clause in the query flattener. (Closed-Leaf check-in: 5df7f0e6a1 user: drh tags: flattener-column-names)
03:33
In the query flattener, only add AS clauses to output columns of the outer query that are copied directly from the inner query. Formerly, all columns of the outer query received an AS clause if they did not have one already. This is a proposed fix for ticket [de3403bf5ae5f72]. (check-in: 439cc5c52c user: drh tags: flattener-column-names)
2017-07-28
22:22
Update Tcl version used by the TclKit batch tool for MSVC. (check-in: bcec155e0d user: mistachkin tags: trunk)
22:13
Fix harmless compiler warning. (check-in: 3286e1a07b user: mistachkin tags: trunk)
21:02
Reduce the number of mallocs required of writers in server mode. (check-in: 60953997f6 user: dan tags: server-process-edition)
20:49
Disable the writecrash.test module on Windows. (Leaf check-in: 4c0520d4df user: drh tags: batch-atomic-write)
18:16
More precise determination of when an in-memory journal needs to be spilled to disk. (check-in: 6a505bdd93 user: drh tags: batch-atomic-write)
13:18
Add new extended error codes for the atomic write file-controls. (check-in: 94a2004756 user: drh tags: batch-atomic-write)
12:20
Fix a punctuation typo in the documentation for sqlite3_step(). No changes to code. (check-in: c965b757bb user: drh tags: branch-3.20)
11:05
Add new test file test/atomic.test. (check-in: f9213e4864 user: dan tags: batch-atomic-write)
01:53
Add the SQLITE_ENABLE_BATCH_ATOMIC_WRITE macro to ctime.c (check-in: 67bad7fb9b user: drh tags: batch-atomic-write)
00:45
Release candidate 3 for 3.20.0 (check-in: d891a2a00a user: drh tags: branch-3.20)
2017-07-27
20:24
Enhance the like optimization so that it works with an ESCAPE clause. (check-in: f5d330f495 user: drh tags: trunk)
19:59
Increase the version number to 3.21.0 in anticipation for changes to go into the next release. (check-in: 0645f25c79 user: drh tags: trunk)
18:49
Merge the pointer-passing interface changes from the 3.20 branch. (check-in: c63903a4c5 user: drh tags: trunk)
18:43
Simplified documentation for the pointer passing interface. (check-in: 2dfcd9a8ec user: drh tags: branch-3.20)
18:34
Do not set device-capabilities flags SEQUENTIAL or SAFE_APPEND for f2fs file-systems. (check-in: 4477e60cd8 user: dan tags: batch-atomic-write)
17:45
Add destructor functions for the pointer argument (NB: not the type string) to the sqlite3_bind_pointer() and sqlite3_result_pointer() interfaces. Use this new capability to resolve a pointer leak in the custom geometry function mechanism of the RTREE extension. (check-in: 5a2340b81f user: drh tags: branch-3.20)
16:42
In sqlite3_bind_pointer(), invoke the destructor if the bind index is out of range, like sqlite3_bind_blob() does. (Closed-Leaf check-in: d6684d2a74 user: drh tags: pointer-with-destructor)
15:53
Improved implementation of the destructor on pointer-passing interfaces. (check-in: 601ad67959 user: drh tags: pointer-with-destructor)
14:04
A demonstration of how FTS3 cursor pointers can be passed from the MATCH operator to the snippet() function securely and opaquely without having to use the sqlite3_result_pointer() and sqlite3_value_pointer() interfaces. (Closed-Leaf check-in: 49cf31da82 user: drh tags: pass-pointer-as-blob)
03:48
Add a destructor argument to sqlite3_bind_pointer() and sqlite3_result_pointer(). (check-in: 3d9e841f60 user: drh tags: pointer-with-destructor)
2017-07-26
19:59
Add the new sqlite3.mDbFlags field. Factor out bits of sqlite3.flags that do not interact with PRAGMA statements into sqlite3.mDbFlags. (check-in: 3808a00f06 user: drh tags: trunk)
18:26
Allow ATTACH and DETACH to occur inside of a transaction. (Closed-Leaf check-in: ac1fd6beb6 user: drh tags: attach-in-trans)
10:04
Fix a comment on the UnpackedRecord.r1 and UnpackedRecord.r2 fields. No changes to code. (check-in: 622b108915 user: drh tags: trunk)
2017-07-25
15:12
Release candidate 2 for 3.20.0. (check-in: f39cb76b33 user: drh tags: branch-3.20)
01:34
Fix a bug in the deterministic date/time function logic that can only appear with STAT3 or STAT4. (check-in: 1ca707a4fb user: drh tags: trunk)
2017-07-24
20:01
Do not attempt to run test file unionvtabfault.test with SQLITE_OMIT_VIRTUAL_TABLE builds. (check-in: 1a632a9a6c user: dan tags: trunk)
19:43
Update this branch with latest changes from trunk. (check-in: d0719ad757 user: dan tags: server-process-edition)
19:25
Do not attempt to run test file unionvtab.test with SQLITE_OMIT_VIRTUAL_TABLE builds. (check-in: 9a5a3d60a5 user: dan tags: trunk)
19:23
Only open a db in server-mode if there is a directory named "db-journal" in the file-system and the VFS is an exclusive locking VFS. (check-in: e77d29f644 user: dan tags: server-process-edition)
17:37
Handle a real OOM condition when incrblob2.test is run on a low-memory machine. (check-in: f483d06a9a user: drh tags: trunk)
15:29
Additional documentation on sqlite3_bind_pointer() and sqlite3_result_pointer(). No changes to code. (check-in: b1572d4e05 user: drh tags: trunk)
14:44
Compiler warning fix associated with date/time functions. (check-in: a98f07d942 user: drh tags: trunk)
2017-07-22
20:12
Add a test for the outcome of a process crash within an xWrite VFS method call. (check-in: eb8718006c user: dan tags: batch-atomic-write)
16:58
Add the "atomic-batch-write" permutation to permutations.test. This permutation fails if not run on a file-system that supports atomic-batch-writes. (check-in: 9f1b83fae9 user: dan tags: batch-atomic-write)
16:32
Keep batch-atomic-writes turned on for journal_mode=MEMORY, but turn them off for synchronous=OFF. Refuse to compile with both SQLITE_MMAP_READWRITE and SQLITE_ENABLE_BATCH_ATOMIC_WRITE. Fix up some comments in the commit logic. (check-in: 2e80e19e4f user: drh tags: batch-atomic-write)
16:00
Omit unused batch-atomic-write code if SQLITE_ENABLE_BATCH_ATOMIC_WRITE is not defined. (check-in: a89b62c496 user: drh tags: batch-atomic-write)
2017-07-21
21:06
Use ioctl(F2FS_IOC_GET_FEATURES) to determine whether or not atomic batch writes are available. (check-in: 532bbf1f2b user: dan tags: batch-atomic-write)
20:31
Remove stray (and incomplete) comment from a test file. No changes to code. (check-in: 8de20fc72a user: mistachkin tags: trunk)
20:29
Fix typo in comment. No changes to code. (check-in: 65ec077ba6 user: mistachkin tags: batch-atomic-write)
14:49
Additional documentation on the new VFS interface. No changes to code. (check-in: 83077ec8b5 user: drh tags: batch-atomic-write)
2017-07-20
21:18
Add the documentation text for the new VFS interfaces used by batch-atomic writes. (check-in: 5e944eea5a user: drh tags: batch-atomic-write)
21:01
Transform two #ifdef statements into #if statements. (check-in: f2c6b58450 user: drh tags: batch-atomic-write)
21:00
Split SQLITE_ENABLE_ATOMIC_WRITE into two options - the original and SQLITE_ENABLE_BATCH_ATOMIC_WRITE. (check-in: 7eb9bf2c5b user: dan tags: batch-atomic-write)
20:49
Fix a harmless typo, but one that would show up in the documentation if not fixed. (check-in: e4b1dd3683 user: drh tags: trunk)
19:49
Add support for F2FS atomic writes. Untested at this point. (check-in: 416973ede3 user: dan tags: batch-atomic-write)
19:28
Minor fix to the concurrent.test module so that it works on windows. (check-in: 58553d61d1 user: drh tags: begin-concurrent)
19:08
Fix compiler warnings. (check-in: 44c760d150 user: drh tags: begin-concurrent)
18:56
Fix a faulty #ifdef on the previous check-in (check-in: 7355e74239 user: drh tags: begin-concurrent)
18:28
Get the build working with SQLITE_OMIT_CONCURRENT. (check-in: a29401e924 user: drh tags: begin-concurrent)
17:47
Merge all the latest trunk enhancements. (check-in: 213c61cb82 user: drh tags: begin-concurrent)
16:55
Experimental API sqlite3_stmt_refresh() to force a prepared statement to recompile if it needs to due to a schema change or other factor. (Leaf check-in: 10556ee454 user: drh tags: sqlite3_stmt_refresh)
15:08
Enhance the built-in date/time functions so that they can be used in CHECK constraints, in the WHERE clause or partial indexes, and index expressions, provided that none of the non-deterministic keywords ("now", "localtime", "utc") are used as arguments. (check-in: a90c062d46 user: drh tags: trunk)
14:36
New test cases for date/time functions in indexes on expressions, in the WHERE clause of partial indexes, and in CHECK constraints. (Closed-Leaf check-in: b7f70c7fca user: drh tags: index-on-date-func)
13:17
Combine the Parse.ckBase and Parse.iSelfTab fields into just Parse.iSelfTab. This fixes a problem with date/time functions in check-constraints. Add some test cases for date/time functions in index expressions and check constraints. (check-in: 22eda0985e user: drh tags: index-on-date-func)
2017-07-19
19:48
Allow indexes to be created on date/time functions as long as the 'now' date and the 'localtime' and 'utc' modifiers are not used. (check-in: 0a5e1c04d9 user: drh tags: index-on-date-func)
18:54
Merge latest trunk changes with this branch. (check-in: be0df0a65f user: dan tags: server-process-edition)
18:01
Remove some 'breakpoint' commands in test files. (check-in: d14fc621e9 user: mistachkin tags: trunk)
17:12
Create "pure" versions of the date/time functions that omit the 'now' feature and are therefore deterministic and usable in an index. (Closed-Leaf check-in: 55791928f3 user: drh tags: pure-date-functions)
11:52
Add further tests to unionvtab.test. (check-in: c93284cd65 user: dan tags: trunk)
11:20
Add VFS interfaces needed to make use of batch atomic write capabilities in the underlying filesystem. (check-in: 929bc46b8b user: drh tags: batch-atomic-write)
2017-07-18
21:19
Fix a crash in unionvtab caused by a misconfiguration. Add other test cases for the same. (check-in: 255d6b99de user: dan tags: trunk)
20:59
Fix shell.c.in so that it aligns with shell.c. (check-in: 505fdc8ff5 user: drh tags: trunk)
20:49
Add test cases and fix minor error-handling issues in unionvtab.c. (check-in: deadaad2a0 user: dan tags: trunk)
20:30
Fix duplicate test name. No changes to code. (check-in: 47b80ecc67 user: mistachkin tags: trunk)
20:28
Fix another harmless compiler warning. Get the MSVC makefile working with unionvtab. (check-in: d49639c208 user: drh tags: trunk)
20:22
Suppress harmless compiler warnings in union-vtab. (check-in: 4d147a1e28 user: drh tags: trunk)
20:17
Remove an unused variable from unionvtab.c. (check-in: a447fdf182 user: dan tags: trunk)
20:03
Improve the readability of the unionvtab code. (check-in: 5bcf0f86ea user: dan tags: trunk)
19:51
Have unionvtab support constraints on the column that corresponds to the INTEGER PRIMARY KEY field of the underlying source tables in the same way as rowid. (check-in: 4a6c416fa0 user: dan tags: trunk)
18:50
Add test cases to unionvtab.test. (check-in: 6c9128e1a5 user: dan tags: trunk)
18:19
Add the union-vtab extension - still experimental and under active development. (check-in: 948f95046b user: drh tags: trunk)
17:34
Do not use the flattening optimization for a sub-query on the RHS of a LEFT JOIN if that subquery reads data from a virtual table. Because it prevents the planner from creating an automatic index on the results of the sub-query, the flattening optimization sometimes slows things down in this case. (check-in: 9dbae1df75 user: dan tags: trunk)
17:13
Avoid creating an automatic index on the RHS of a LEFT JOIN to optimize an IS term. Fix for [ce68383b]. (check-in: d2f0b2e859 user: dan tags: trunk)
14:41
Change the default command-line shell history depth to 2000 lines. (check-in: 0b69aa7e37 user: drh tags: trunk)
2017-07-17
21:03
Add test cases to test/unionvtab.test. (Closed-Leaf check-in: f2c4a584e8 user: dan tags: union-vtab)
20:25
Enhance error detection and fix other issues in unionvtab code. (check-in: 9c3f1b9a82 user: dan tags: union-vtab)
20:21
Merge all the latest fixes and enhancements from trunk. (check-in: e181225dc7 user: drh tags: apple-osx)
18:45
Merge all changes from branch-3.20. Improvements to the fts5() extension interface. Work around a gcc/valgrind bug in the sqlite3_value_pointer() interface. (check-in: e0aca7d2c6 user: drh tags: trunk)
17:46
Interchange to branches within an "if" statement in sqlite3_value_pointer() in order to work around a bug in gcc. (Closed-Leaf check-in: 8a606e4aba user: drh tags: branch-3.20)
15:38
Improved the interface to the fts5() extension mechanism for enhanced security. (check-in: bc78235f54 user: drh tags: branch-3.20)
13:37
Merge the pointer-type enhancement from the 3.20 branch. (check-in: 9e8e1c4aa1 user: drh tags: trunk)
12:41
Comment changes clarifying details of the pointer-type parameter. No changes to code. (check-in: e4579e50a1 user: drh tags: branch-3.20)
12:27
Add the pointer-type parameter to sqlite3_bind_pointer(), sqlite3_result_pointer(), and sqlite3_value_pointer(). The pointer type is a static string that must match (according to strcmp()) or else the pointer is passed as a NULL. This is a security measure to prevent crossing pointers between different extensions. (check-in: e1196567fc user: drh tags: branch-3.20)
11:39
Improve the sqlite3_result_pointer() interface so that it cannot be faked using sqlite3_result_null() and sqlite3_result_subtype(). (Closed-Leaf check-in: c13264d5ef user: drh tags: pointer-types)
09:30
Use integer handles for fts3 cursors for a small performance improvement. (Closed-Leaf check-in: f4f7196b87 user: dan tags: union-vtab, fts3-int-cursor)
00:40
Add an experimental "pointer type" parameter to sqlite3_bind_pointer(), sqlite3_result_pointer(), and sqlite3_value_pointer(). The pointer type is a string that must compare equal using strcmp() or else the pointer comes through as a NULL. (check-in: 211cce04e9 user: drh tags: pointer-types)
2017-07-15
20:48
Add the "unionvtab" virtual table extension in ext/misc/unionvtab.c. (check-in: 62a86aa6c0 user: dan tags: union-vtab)
20:44
Merge the fix for ticket [a4e06e75a9ab61a12] from trunk. (check-in: b64d64c844 user: drh tags: branch-3.20)
20:33
Fix a register allocation problem in PRAGMA integrity_check that caused the same register to be used for two different purposes on the first ATTACHed database if the schema for the ATTACHed database was noticable more complex than the schema for the first database. Fix for ticket [a4e06e75a9ab61a1]. (check-in: 253945d480 user: drh tags: trunk)
20:25
Fix a missing \n at the end of a comment causing a line to be too long. No code changes. (check-in: 687bd47871 user: drh tags: trunk)
17:57
Enhance the showstat4 utility program to show the full precision of floating point values in sqlite_stat4 tables. (check-in: 5ec37c62f6 user: drh tags: trunk)
13:49
Minor change to one of the command-line shell test scripts to make that script compatible with Tcl 8.5. (check-in: 47cf83a068 user: drh tags: branch-3.20)
13:35
First release candidate for version 3.20.0. (check-in: 035a86ec3e user: drh tags: branch-3.20)
08:02
Fix another minor problem in test file like.test. (check-in: 0953e74612 user: dan tags: trunk)
06:35
Fix test problems causing the "prepare" permutation test to fail. (check-in: b61cc5a0f9 user: dan tags: trunk)
2017-07-14
20:53
Fix test problems with stmtvtab1.test under some permutations. (check-in: ad6699d476 user: dan tags: trunk)
19:52
Fix a typo in a comment used to generate documentation. No code changes. (check-in: 65f9f29c58 user: drh tags: trunk)
19:47
Identify requirements text in the SQLITE_DBCONFIG_ENABLE_QPSG documentation. Add some implementation marks for SQLITE_DBCONFIG_MAINDBNAME requirements. No code changes. (check-in: ab165dcf35 user: drh tags: trunk)
19:22
Add requirements marks for some of the new features in the 3.20 release. (check-in: 2642386713 user: drh tags: trunk)
19:12
Tweak Makefile.in so that testfixture can be built with the --disable-amalgamation configure switch. (check-in: 394c6f4f43 user: dan tags: trunk)
17:50
Modify mkopcodeh.tcl so that it can handle "same as" opcodes with values larger than the total number of opcodes. (check-in: 1eb56fe030 user: dan tags: trunk)
15:57
In the LSM1 virtual table, dequote the filename before opening the file. (check-in: 6ed4ef03ff user: drh tags: trunk)
15:45
Changes to the LSM1 Tcl tests to make things work on Win32. (check-in: 7dc5e70ef1 user: mistachkin tags: trunk)
15:42
Include a hint in the header comment of the LSM1 makefile about how to set the LSMOPTS variable. (check-in: b5e3b26481 user: drh tags: trunk)
15:32
Update the Makefile for LSM1 so that the LSMOPTS can be set prior to including the Makefile, in order to add platform arguments such as -fPIC. (check-in: fe319bcd7f user: drh tags: trunk)
15:18
Fix a typo in the header comment to the remember extension. No code changes. (check-in: 604b9664f4 user: drh tags: trunk)
15:14
Change the name of the STMT virtual table to SQLITE_STMT. Also remove the first column of that virtual table, which was a pointer leak. (check-in: 1bc4e93407 user: drh tags: trunk)
13:24
Minor updates to requirements marks and documention. No changes to code. (check-in: 8f6dd5e290 user: drh tags: trunk)
11:40
Add very simple tcl tests for the lsm1 extension. (check-in: 5e0a97930b user: dan tags: trunk)
04:16
Minor tweaks to documentation. No code changes. (check-in: d8cd0434f3 user: drh tags: trunk)
00:28
Fix harmless compiler warnings in the readline tab-completion logic of the command-line shell. (check-in: 271ca4acfc user: drh tags: trunk)
2017-07-13
22:39
Improved documentation for the new sqlite3_bind_pointer() interface and its cousins. (check-in: 889968bdbf user: drh tags: trunk)
22:03
Improvements to the documentation for SQLITE_PREPARE_PERSISTENT. No code changes. (check-in: 2657781424 user: drh tags: trunk)
20:11
Fix documentation typo. No changes to code. (check-in: 9319f7b71f user: drh tags: trunk)
19:11
Update header comments on the carray() and remember() extensions to bring out the fact that the pointer arguments must be bound using sqlite3_bind_pointer(). (check-in: 55f5396576 user: drh tags: trunk)
18:09
Add new interfaces sqlite3_bind_pointer(), sqlite3_result_pointer(), and sqlite3_value_pointer() used to safely move pointer values through SQL without exposing underlying memory address information. (check-in: 72de49f204 user: drh tags: trunk)
17:56
Fix an incorrect type signature for the loadable extension pointer for sqlite3_result_pointer(). (Closed-Leaf check-in: 0bd7875bd9 user: drh tags: bind-pointer)
17:54
Add the three new pointer interfaces to the loadable extension mechanism. Update sqlite3_value_subtype() documentation to remove the statement about it not being used internally. (check-in: e5a518038f user: drh tags: bind-pointer)
17:48
Update the FTS3 extension to use sqlite3_result_pointer() and sqlite3_value_pointer() for passing FTS3 cursor objects from the table into functions such as snippet(). (check-in: 0fa2e170e5 user: drh tags: bind-pointer)
17:34
Merge the latest changes from trunk. (check-in: a54be6e041 user: drh tags: bind-pointer)
2017-07-12
20:43
Smaller and faster implementation for vdbeFreeOpArray() and freeP4(). (check-in: 0c80593520 user: drh tags: trunk)
18:05
Fix harmless compiler warnings about incomplete structure initializers. (check-in: 604c11d1a3 user: drh tags: trunk)
17:26
Remove unnecessary EP_Leaf settings on the Expr object. (check-in: f951c8b71b user: drh tags: trunk)
17:08
The EP_Resolved flag on the Expr object is not required for correctness nor performance, so remove it. (check-in: 54f55d3b79 user: drh tags: trunk)
14:10
Clarification and simplification and result column naming logic. (check-in: 68824a439b user: drh tags: trunk)
14:03
Fix a problem in an lsmtest test case caused by writing data in "text" mode instead of "binary". (check-in: 3e56a79ad8 user: dan tags: trunk)
12:19
Compile cleanly with SQLITE_OMIT_UTF16. (check-in: 783100b801 user: drh tags: trunk)
2017-07-11
20:36
In lsm, attempt to unmap the database file before truncating it when disconnecting. A mapped file may not be truncated on win32. (check-in: 39069941e9 user: dan tags: trunk)
19:55
Simplify the way in which the database file is truncated when the last connection disconnects. Also ignore the error code from the xTruncate call - as truncating a database file is always optional. (check-in: b0a49d90fc user: dan tags: trunk)
18:11
Fix harmless compiler warnings in the core. (check-in: 55e93f2560 user: drh tags: trunk)
17:54
Make win32GetTimeOfDay() in the lsm1 test code more portable. (check-in: 2fe3a84330 user: mistachkin tags: trunk)
17:28
Enabled the new sqlite3_prepare_v3() and sqlite3_prepare16_v3() interfaces for loadable extensions. (check-in: b9debd626a user: drh tags: trunk)
17:06
Fix a whitespace alignment issue in lsm1. (check-in: a8e651e0e5 user: mistachkin tags: trunk)
16:46
Fix more harmless compiler warnings in lsm1, seen with MSVC 2015. (check-in: 0f1307f1f5 user: mistachkin tags: trunk)
16:36
Fix harmless compiler warnings seen with MSVC for lsm1. (check-in: cf6da4a52f user: mistachkin tags: trunk)
13:59
Add support for tab-completion (using the ext/misc/completion.c virtual table) to the command-line shell. (check-in: 95cd1d9f8b user: drh tags: trunk)
13:34
Change the src/shell.c file so that it is generated from a new script at tool/mkshellc.tcl and the template file src/shell.c.in, and automatically includes the extensions it needs out of ext/misc. (check-in: 17e0bb12d8 user: drh tags: trunk)
02:53
Fix a backup2 test case so that it works on FreeBSD. (check-in: 724819b456 user: drh tags: trunk)
02:05
Add the "phase" output column on the COMPLETION table-valued function, for debugging. Improved comments on the implementation. (check-in: 0e21355527 user: drh tags: trunk)
01:38
The COMPLETION virtual table now looks at the names of databases, tables, and columns in addition to SQL keywords. (check-in: 1cc97711fa user: drh tags: trunk)
00:09
Incomplete implementation of the COMPLETION table-valued function. So far it only works for SQL keywords. (check-in: caefbc723b user: drh tags: trunk)
2017-07-10
21:32
Fix harmless compiler warnings in lsmtest. (check-in: bd8a1fb9b3 user: mistachkin tags: trunk)
20:39
Fix errors in comments in the STMT virtual table. No code changes. (check-in: 9a8f045d62 user: drh tags: trunk)
20:33
Minor cleanup and refactoring of the Win32 VFS for lsm1. (check-in: bf7eda67c8 user: mistachkin tags: trunk)
19:54
Another spelling error in the README.md file. (check-in: 0512937425 user: drh tags: trunk)
19:08
Spelling error in README.md (check-in: 12bc47c502 user: drh tags: trunk)
19:07
Yet another typo in README.md (check-in: 75c9327b55 user: drh tags: trunk)
19:05
Fix another README.md typo. (check-in: 20b1f0eff1 user: drh tags: trunk)
19:03
Fix an obsolete statement about Lemon in the README.md file. (check-in: 4f6ce7a38b user: drh tags: trunk)
18:57
Cleanup header usage in lsmtest for files that require _O_BINARY. (check-in: f3a6a64ec9 user: mistachkin tags: trunk)
18:52
Updates to the repository README.md file. (check-in: 7bfd3ab799 user: drh tags: trunk)
18:33
In LSM, avoid calling the VFS xTestLock method to test for a lock that conflicts with one held by the same process. The results of such a call are considered undefined (since they are different under win32 and posix). (check-in: a82a9bea62 user: dan tags: trunk)
18:04
Add the "--newlines" option to the ".dump" command in the shell to disable the newline escaping mechanism. (check-in: bde431b1e3 user: drh tags: trunk)
17:00
When multiple constraints need to be evaluated for a row, do any constraints that involve correlated subqueries last. Hence, the priority is index-covered constraints first, correlated subquery constraints last, and all others in the middle. This is a follow-on and improvement to the push-down optimization of check-in [d7bb79ed]. (check-in: c4cb90487f user: drh tags: trunk)
16:38
Additional debugging Noop-comment in the constraint generator when wheretrace is enabled. (Closed-Leaf check-in: 0ca7474f05 user: drh tags: defer-where-subqueries)
15:26
Small performance optimization in sqlite3WhereExprUsage(). (check-in: 38edc6770e user: drh tags: defer-where-subqueries)
15:17
Fix another problem on this branch. (check-in: a4fc98113a user: dan tags: defer-where-subqueries)
14:39
Fix a problem causing non-covered WHERE terms to be evaluated before covered WHERE terms. (check-in: 7d3cb39f60 user: dan tags: defer-where-subqueries)
14:33
When testing non-indexed WHERE constraints, test those that involve correlated sub-queries last of all. This increases the chances of not having to run the sub-query at all. (check-in: 1f9c1f359e user: dan tags: defer-where-subqueries)
13:24
For sqlite3TreeView() debugging output, show the Expr.flags field on scalar subqueries. (check-in: dc857a96b0 user: drh tags: trunk)
12:07
Update error message text for standard error codes to better describe the latest usage of those error codes. Modify sqlite3_open_v2() so that it does return a valid sqlite3 object in the event of SQLITE_MISUSE due to bad open flags, so that sqlite3_errmsg() does not report "out of memory" in that case. (check-in: f27b637040 user: drh tags: trunk)
11:17
Remove the error message text from disused error codes such as SQLITE_EMPTY and SQLITE_FORMAT. (check-in: 871752f292 user: drh tags: trunk)
2017-07-09
18:55
Always make "column%d" column-names 1-based, never 0-based. (check-in: 70096c505d user: drh tags: trunk)
00:30
Make sure the columns of a VALUES() clause are named "column%d" even if the VALUES() clause is a subquery in the FROM clause of an outer query. (check-in: acf3b9cc9c user: drh tags: trunk)
2017-07-08
22:30
Add the --icc, --gcc7, and --orm options to the speed-check.sh test script. (check-in: 70dae08a9a user: drh tags: trunk)
18:27
Disable compiler intrinsics when using the Intel C Compiler. (Leaf check-in: dbb59f6156 user: drh tags: icc-fix)
2017-07-07
22:58
Merge in all the latest trunk enhancements. (check-in: 7f48f6ab2a user: drh tags: apple-osx)
22:47
Basic test cases for PRAGMA secure_delete=FAST. (check-in: 0c246017b4 user: drh tags: trunk)
21:20
Fix comment in the Win32 VFS for lsm1. (check-in: 12a421bcac user: mistachkin tags: trunk)
21:15
For lsmtest, use a more portable means of setting open() files to binary. (check-in: aea6e0ffd3 user: mistachkin tags: trunk)
20:35
Adjust copy_file() lsmtest function so it works properly for locked database files on Win32. (check-in: 54a3855583 user: mistachkin tags: trunk)
20:06
Add the "PRAGMA secure_delete=FAST" option, which overwrites most deleted content without increasing the amount of I/O. Deleted content might persist on the free page list, however. And extra CPU cycles are used for zeroing, of course. (check-in: 38978ce65b user: drh tags: trunk)
19:43
Change the error message text for SQLITE_ERROR to omit the part about "missing database" as that meaning is now obsolete (since approx SQLite 2.0). (check-in: 732f90d632 user: drh tags: trunk)