SQLite

Timeline
Login

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

200 descendants and 200 ancestors of edbcccd349090eff

2015-08-20
23:28
Fix a couple C99-isms that cause compile errors on MSVC. (check-in: bc577fe6cb user: drh tags: trunk)
23:21
Fix corner-case memory management issues in table-valued functions. Change virtual table handling so that if xDestroy is missing the table is eponymous only even if xCreate is present. (check-in: 774e6a14b1 user: drh tags: trunk)
21:14
Skip calling the virtual table xDestroy method when it is null. (check-in: b73ad305a6 user: mistachkin tags: trunk)
21:09
Fix compiler warnings in the sqldiff tool seen with MSVC. (Closed-Leaf check-in: 072279d458 user: mistachkin tags: msvcWarn)
20:25
Fix a problem causing corruption when an UNLOCKED transaction is rolled back. (check-in: 7c36147846 user: dan tags: begin-concurrent)
20:21
Fix stray variable declaration for C89. (check-in: 17eb7f18cb user: mistachkin tags: trunk)
20:13
Correctly handle empty function argument lists on table-valued functions. (check-in: a7acc7878b user: drh tags: trunk)
19:55
Add support for table-valued functions in the FROM clause implemented as virtual tables. (check-in: 9b718b06b1 user: drh tags: trunk)
18:28
Prevent the series.c extension from loading on older versions of SQLite that do not support xCreate==NULL. (Closed-Leaf check-in: 3efc79427e user: drh tags: table-valued-functions)
17:18
Make SQLITE_BUSY_SNAPSHOT and SQLITE_BUSY_RECOVERY retryable, just as a plain SQLITE_BUSY is. (check-in: fd13dd950d user: drh tags: trunk)
16:16
Fix a typo in series.c. (check-in: 23db7f50f1 user: dan tags: table-valued-functions)
2015-08-19
23:02
Fix the path lookup for objects so that it can handle quoted identifier names and non-alphanumerics in the identifier. (check-in: 87f5873004 user: drh tags: json)
22:47
Add the json_each(JSON,PATH) table-valued-function. (check-in: 3335ac17bb user: drh tags: json)
20:27
When committing an unlocked transaction, relocate newly allocated database pages within the file to avoid conflicting with committed transactions. There are lots of things still to fix in this code. (check-in: 3bbc31d515 user: dan tags: begin-concurrent)
19:26
Merge the table-valued-function rowid fix. (check-in: a06a6392bd user: drh tags: json)
19:01
Fix eponymous virtual tables so that they do not automatically make the first column the rowid. Enhance the generate_series virtual table to support rowid. (check-in: a325a08599 user: drh tags: table-valued-functions)
18:31
Merge support for table-valued functions. (check-in: 96a5d44d9f user: drh tags: json)
18:19
Improved comments on the generate_series virtual table. Test cases for ORDER BY rowid DESC with generate_series. (check-in: fef44c37f3 user: drh tags: table-valued-functions)
17:11
A list of arguments following a table name translates into equality constraints against hidden columns in that table. (check-in: 40e12cfe4c user: drh tags: table-valued-functions)
15:20
Minor refactor of the SrcList object so that it is able to hold the argument list to a table-valued-function in the FROM clause. (check-in: b919376147 user: drh tags: table-valued-functions)
13:54
Virtual table modules with a null xCreate method act as eponymous-only modules - they cannot be used in a CREATE VIRTUAL TABLE statement. Add the series.c extension that implements a postgres-like generate_series virtual table to demonstrate this capability. (check-in: c58426dbd5 user: drh tags: table-valued-functions)
12:52
Merge changes from trunk. (check-in: dddd792ded user: drh tags: table-valued-functions)
12:45
Simplification to error handling in addModuleArgument() in the virtual table processing. (check-in: c573b0a1aa user: drh tags: trunk)
08:34
When updating a zipvfs database with RBU, set journal_mode=off to prevent the upper-level pager from creating a large temporary file. (check-in: dec14a3980 user: dan tags: trunk)
02:32
Initial implementation of eponymous virtual table instances. (check-in: c1f43a7799 user: drh tags: table-valued-functions)
2015-08-18
19:09
Add test file spellfix2.test, which should have been checked in some time ago. (check-in: 8599402092 user: dan tags: trunk)
16:32
Fix harmless compiler warning in FTS5. (check-in: 02448a9fcc user: mistachkin tags: trunk)
15:58
Provide hints for all terms in a range constraint if there are any equality terms anywhere in the constraint. Range constraint terms are only omitted for a pure range constraint with no equality prefix. (check-in: b5897bc0f0 user: drh tags: cursor-hints)
12:59
Comment clarification. No changes to code. (check-in: 71a966952c user: drh tags: json)
02:28
Initial implementation of json_set() and json_insert(). (check-in: 4aa49656d9 user: drh tags: json)
2015-08-17
21:22
Initial implementation of json_replace(). (check-in: 3c4bee65d9 user: drh tags: json)
20:14
Add an initial implementation for json_remove(). (check-in: 2a8267209d user: drh tags: json)
17:19
Avoid generating hints using constraints that are also used to initialize the cursor, since presumably the cursor already knows about those constraints. (check-in: 142b048ac7 user: drh tags: cursor-hints)
15:17
Initial implementation for json_array_length(), json_extract(), and json_type(). (check-in: 3998320451 user: drh tags: json)
11:28
Abandon the JSONB format for now. (We may return to it in the future.) Add a function to render a JSON parse. (check-in: 9703c0aa18 user: drh tags: json)
2015-08-15
21:29
Fix off-by-one error when parsing primitive JSON types "true", "false", and "null". (check-in: 42c15c1e36 user: drh tags: json)
21:25
Add a prototype JSON parser. (check-in: 789ba48700 user: drh tags: json)
18:16
Handle writes to auto-vacuum databases within UNLOCKED transactions in the same way as for non-UNLOCKED transactions. (check-in: de1ea450db user: dan tags: begin-concurrent)
16:32
Minor fix to the display of oversized KeyInfo structures in the P4 operand of Open opcodes in EXPLAIN output. (check-in: f65a9b4ab2 user: drh tags: trunk)
00:51
Change the display of the P4 operand of CursorHint in EXPLAIN output to function notation. (check-in: bee73d429c user: drh tags: cursor-hints)
2015-08-14
23:57
Always provide the BTREE_BULKLOAD hint, even when SQLITE_ENABLE_CURSOR_HINTS is not defined, as that hint gives a 4% performance increase. (check-in: 83a844357e user: drh tags: cursor-hints)
20:08
Updated testing of cursor-hints. Remove the test_cursorhint.c file and associated logic in the core and do tests based purely on the newly enhanced EXPLAIN output. (check-in: bf383e665a user: drh tags: cursor-hints)
18:50
Fix the cursor hint mechanism so that it does the right thing for indexed lookups. (check-in: 581e3d4988 user: drh tags: cursor-hints)
15:05
Refactor the sqlite3BtreeCursorHint() interface for improved maintainability. (check-in: fc3fb5cd0d user: drh tags: cursor-hints)
12:53
Duplicate the output of releasetest.tcl into releasetest-out.txt (check-in: 5e06a9c186 user: drh tags: trunk)
01:03
Fix the CursorHint so that it includes the scan boundary constraints. On the expression text for the CursorHint opcode, show rowid correctly. (check-in: f0d428d13a user: drh tags: cursor-hints)
2015-08-13
21:38
Fix a harmless compiler warning. (check-in: 608ab4ac19 user: drh tags: cursor-hints)
21:32
Convert the hint expression of the CursorHint opcode into a string for display by EXPLAIN. (check-in: 2068847187 user: drh tags: cursor-hints)
20:34
Fix a bug in sqlite3ExprContainsSubquery(). (check-in: be254715b5 user: drh tags: cursor-hints)
20:23
When searching the wal file for a frame, do not search that part that was already checkpointed when the snapshot being read was at the head of the wal file. (check-in: 90760e7232 user: dan tags: wal-read-change)
20:07
Merge in all the trunk changes from the previous year. This breaks the cursor-hint mechanism, but provides a baseline for trouble-shooting. (check-in: 82a7a61bc0 user: drh tags: cursor-hints)
18:26
Add the sqlite3rbu_savestate() function to the rbu extension. To force rbu to save its state to disk without closing the sqlite3rbu* handle. (check-in: 851a875ad6 user: dan tags: trunk)
13:54
Experimental code (untested) for a JSONB datatype. (check-in: e3596ac7b1 user: drh tags: json)
11:46
Avoid invoking system call unlink() directly from RBU code. Use the xDelete method of the default VFS instead. (check-in: ee966af8ff user: dan tags: trunk)
2015-08-12
19:42
Avoid reading frames that have already been checkpointed from the wal file. (check-in: 5669ac4a40 user: dan tags: wal-read-change)
17:23
Add the json_object() function. (check-in: 414a95f3b7 user: drh tags: json)
16:49
Begin adding an extension that provides JSON SQL functions. (check-in: dde8afdd8d user: drh tags: json)
15:36
Minor optimization for fts5 API xInst(). (check-in: efb7c9c5d0 user: dan tags: trunk)
12:11
Add the xPhraseFirst() and xPhraseNext() fts5 APIs, for faster iteration through a single phrases position list. Also optimize xInst() and xInstCount() a bit. (check-in: f768243527 user: dan tags: trunk)
2015-08-11
14:25
Merge fixes from the fts5NoWarn branch. (check-in: 61cb2fc6c1 user: dan tags: trunk)
13:41
Add some extra timestamps to the experimental log output. (Leaf check-in: b09e3ea7b8 user: dan tags: experimentalIoLog)
10:59
Add a tcl interface for the experimental logging functionality. (check-in: e844304de7 user: dan tags: experimentalIoLog)
01:45
Two more places where logging of freelist trunk pages is needed. (check-in: 56ff336e0a user: drh tags: experimentalIoLog)
2015-08-10
20:53
Record when an allocated page is taken from the freelist trunk. (check-in: bb5d7782bd user: drh tags: experimentalIoLog)
20:22
Add the sqlite3_experimental_log_open() interface. This is for diagnostic use only and is not intended to ever go on trunk. (check-in: ac5d2e9d76 user: drh tags: experimentalIoLog)
2015-08-08
23:30
Fix compiler warnings and remove unreachable code. (check-in: fd5608fb20 user: drh tags: trunk)
23:23
Fix an assert() that was in the wrong spot. (Closed-Leaf check-in: 962b6cd6bb user: drh tags: warnings)
22:47
Fix compiler warnings and remove unreachable code. (check-in: be190fe782 user: drh tags: warnings)
15:13
Update RBU to avoid repreparing a statement immediately after it is prepared. (check-in: 1d75a41bb2 user: dan tags: trunk)
2015-08-07
20:57
Enhance the query planner so that it is able to use partial indexes that use AND-connected terms in the WHERE clause. (check-in: 065765902d user: drh tags: trunk)
20:06
Add a specially formatted comment to shell.c to make it easier for scripts to edit. No code changes. (check-in: 6d47b35ad1 user: dan tags: trunk)
09:42
Within a write-transaction on a wal database in mmap mode, check the page-cache for an entry before the wal file. This can be faster if the wal file is very large. (Leaf check-in: 3a82c8e6cb user: dan tags: mmap-wal-bigtrans)
2015-08-06
12:54
increase the version number to 3.8.12 (check-in: e596a6b63f user: drh tags: trunk)
03:19
Fix harmless compiler warnings in FTS5 code. (Closed-Leaf check-in: 0ddb2532b2 user: mistachkin tags: fts5NoWarn)
03:09
Fix duplicate test numbering in the FTS5 matchinfo tests. (check-in: 483ebe8989 user: mistachkin tags: trunk)
2015-08-05
19:35
Add tests for the matchinfo-like test function. Fix problems found in test and fts5 code by doing so. (check-in: 9e3aafe44a user: dan tags: trunk)
15:29
Update the spellfix virtual table extension so that an explicit "top = ?" constraint works even if there is also a "distance < ?" or "distance <= ?" constraint. (check-in: 0888838371 user: dan tags: trunk)
08:01
Fix some problems in test code detected by cppcheck. (check-in: c9ff4ca4a0 user: dan tags: trunk)
07:43
Remove all references to "docid" within fts5 source code and comments. Replace with "rowid". (check-in: dffd358f6c user: dan tags: trunk)
2015-08-04
20:29
Add new test file fts5_test_mi.c, containing an implementation of a function similar to FTS4 matchinfo() for FTS5. (check-in: 4f9520a9dc user: dan tags: trunk)
19:06
Improve the usage comment on sqlite3_analyzer: show the available switches. (check-in: 783f78e397 user: drh tags: trunk)
15:29
Update the [showdb] program so that the database file is read directly (bypassing the SQLite VFS) only if the --raw option is specified. Otherwise, it is read using the default VFS. Also, the URI syntax may be used on the command line to specify the name of the database file to examine, so an alternative VFS may be requested using a URI parameter. (check-in: e3c6d4b6e7 user: dan tags: trunk)
15:23
Update the [showdb] program so that the database file is read directly (bypassing the SQLite VFS) only if the --raw option is specified. Otherwise, it is read using the default VFS. An alternative VFS may be specified by specifying the database file to open using the URI syntax. (Closed-Leaf check-in: 9699e9bd9a user: dan tags: showdb-uri-option)
14:18
In the sqlite3_analyzer.exe utility, show the depth of each btree and report the average fanout of indexes and WITHOUT ROWID tables. (check-in: cd99777001 user: drh tags: trunk)
2015-08-03
17:03
Add the "--uri" option to utility program "showdb". This option causes showdb to use sqlite with the SQLITE_OPEN_URI option to open the database file, instead of opening it directly using the OS open() function. (check-in: 90e34d5119 user: dan tags: showdb-uri-option)
13:44
Allow a VIEW to reference undefined tables and functions when initially created. The error report is deferred until the VIEW is used. This allows views to be created before subviews and tables that the view references. (check-in: 70b57dafb3 user: drh tags: trunk)
2015-08-01
18:18
Add extra tests for RBU and FTS3/4. (check-in: 3419044967 user: dan tags: trunk)
2015-07-31
19:52
Add support for "fossil deltas" to RBU and "sqldiff --rbu". (check-in: e26ef165fe user: dan tags: trunk)
18:59
Fix the sqlite3_stmt_busy() interface so that it always returns FALSE after the statement has returned SQLITE_DONE, even for ROLLBACK statements. Clarify the documentation. (check-in: 047d3475e9 user: drh tags: trunk)
17:48
Remove a duplicate "typedef struct Fts5Global Fts5Global;" from fts5_main.c (duplicate is in fts5Int.h). (check-in: 54a771fe2c user: dan tags: trunk)
15:14
When building the VSIX package for UAP, omit the AppLocal suffix for the MSVC runtime library because it is no longer needed. (check-in: fee7ad73c1 user: mistachkin tags: trunk)
15:13
Fix a problem causing [sqldiff --rbu] to fail on tables for which all columns are part of the PRIMARY KEY. (check-in: 93449e7046 user: dan tags: trunk)
14:43
Fix a bug in the fts5 porter tokenizer preventing it from passing xCreate() arguments through to its parent tokenizer. (check-in: c3c672af97 user: dan tags: trunk)
2015-07-30
20:26
Add the --rbu switch to the "sqldiff" utility. (check-in: 098bea26da user: dan tags: trunk)
11:38
Allow RBU tables to be named "data[0-9]*_<target>" instead of strictly "data_<target>". Also update RBU so that it always processes data tables in order sorted by name. (check-in: 287aa30601 user: dan tags: trunk)
11:26
Return an error message (instead of segfaulting) if test function fts5_expr() is invoked with no arguments. (check-in: 8e818b8985 user: dan tags: trunk)
2015-07-29
22:38
Support building VSIX packages for UAP using Visual Studio 2015 and the Windows 10 SDK. (check-in: 96559adbf1 user: mistachkin tags: trunk)
22:37
Update Windows 10 SDK version for RTM. (Closed-Leaf check-in: 80ab338cc6 user: mistachkin tags: msvc2015)
21:47
Add SQLITE_DISABLE_INTRINSIC define to disable use of intrinsic functions (e.g. for certain older compilers and/or platforms). (check-in: f0075d735a user: mistachkin tags: trunk)
20:24
Fix the releasetest.tcl script so that it ignore cast overflow errors that recent versions of clang generate but which are unavoidable given the test input. (check-in: a0020c5785 user: drh tags: trunk)
20:00
Version 3.8.11.1 (check-in: cf538e2783 user: drh tags: trunk, release, version-3.8.11.1)
15:22
Restore an undocumented side-effect of PRAGMA cache_size: it forces the database schema to be parsed. Also increase the version number to 3.8.11.1. (check-in: e4628de3ce user: drh tags: trunk)
14:58
Update comments in fts5.h describing the xColumnCount() API function. (check-in: a623eb55d1 user: dan tags: trunk)
14:46
Increase the version number to 3.8.11.1 (Closed-Leaf check-in: 326d746dee user: drh tags: branch-3.8.11)
14:10
The "PRAGMA cache_size" reads the database schema, as it has done in all prior versions of SQLite. This side-effect of cache_size is undocumented, but apparently it does get used and its absence from 3.8.11 was causing problems. (check-in: 4489722a6b user: drh tags: branch-3.8.11)
12:14
Only allow UNLOCKED transactions to commit if none of the pages read by the transaction have been modified since it was opened. (check-in: 0b9718426e user: dan tags: begin-concurrent)
2015-07-28
19:35
Update batch build tool library paths for MSVC 2015. (check-in: d431d4e11a user: mistachkin tags: msvc2015)
18:53
Fix the xfer optimization for WITHOUT ROWID tables so that it correctly updates the change count returned by sqlite3_changes(). (check-in: eff43715d1 user: drh tags: trunk)
16:46
Add some test cases and fix some small problems with BEGIN UNLOCKED transactions. (check-in: 6da0e962ad user: dan tags: begin-concurrent)
2015-07-27
19:57
Clarification to the documentation for sqlite3_result_zeroblob64(). No changes to code. (check-in: c98175e900 user: drh tags: trunk)
19:31
Add an experimental "BEGIN UNLOCKED" command. (check-in: 8079421604 user: dan tags: begin-concurrent)
13:49
Version 3.8.11 (check-in: b8e92227a4 user: drh tags: trunk, release, version-3.8.11)
12:19
Merge the fts5-btree-index branch with this one. FTS5 changes only. (check-in: 9f1dcdc3e1 user: dan tags: trunk)
11:49
Bump the "version" field in the fts5 config table. (Closed-Leaf check-in: 92c9178933 user: dan tags: fts5-btree-index)
11:43
Minor tweak to the SQL schema used by fts5. (check-in: 427bf09ba4 user: dan tags: fts5-btree-index)
11:01
Remove a potentially undefined behaviour involving signed integers and bitshift operations from fts5_hash.c. (check-in: ad6286ab1f user: dan tags: fts5-btree-index)
10:46
Merge latest trunk changes with this branch. (check-in: 5ec933c257 user: dan tags: fts5-btree-index)
2015-07-25
19:26
Remove a duplicated "if" condition from fts3.c. (check-in: ee348b1275 user: dan tags: trunk)
14:26
Fix the rowallock.test script so that it works with builds that do not support mmap mode. (check-in: 7efed5786b user: dan tags: trunk)
14:12
Fix the wal3.test module so that it works with the memsubsys1 permutation. (check-in: af85b01d93 user: drh tags: trunk)
12:03
Fix a test script problem in memsubsys2.test. (check-in: 70885729b7 user: dan tags: trunk)
03:10
Disable the page cache bulk allocation for the shrink.test and wal.test modules. (check-in: 3418f1f165 user: drh tags: trunk)
2015-07-24
23:28
Fix the zeroblob.test script so that it works even on builds where the SQLITE_MAX_LENGTH has been raised to 2147483645. (check-in: db12914981 user: drh tags: trunk)
22:21
Merge test improvements and minor fixes from trunk. (check-in: 0298a9a780 user: drh tags: sessions)
21:19
Enable the RBU extension to compile cleanly on Windows using MSVC. (check-in: cca79fdc3d user: mistachkin tags: trunk)
20:43
For Windows CE, a different header is required for the byteswap intrinsics. (check-in: 2d572b8cdc user: mistachkin tags: trunk)
20:34
Fix warnings in fts5 code. (check-in: bd4f156d07 user: dan tags: trunk)
19:56
Fix the pragma2.test module so that it works with SQLITE_ENABLE_MEMORY_MANAGEMENT. (check-in: de281a4fac user: drh tags: trunk)
18:58
Allow the RBU module to read data from appropriately named SQL views created within the RBU database. (check-in: 45c6a760ca user: dan tags: trunk)
18:22
Fix a test script bug introduced by [562687d9]. (check-in: a343745d99 user: dan tags: trunk)
17:36
Add the sqlite3_bind_zeroblob64() API. (check-in: 1997ee548b user: dan tags: trunk)
17:26
New makefile target "fastfuzztest" runs the same tests as "fuzztest" but with a 100M memory size limit. This more than doubles the speed. The original unlimited "fuzztest" is still run on a "fulltest". (check-in: cfeb1b1c29 user: drh tags: trunk)
17:14
Fix compiler warnings. Get the new sqlite3_result_zeroblob64() working on loadable extensions. (check-in: f8991e6f72 user: drh tags: trunk)
16:24
Add the sqlite3_result_zeroblob64() API. Use it in the SQL zeroblob() function. (check-in: c6445b9fb4 user: dan tags: trunk)
15:49
More robust handling of zeroblob() with oversized arguments. Fix fuzzcheck so that it can be run with limited heap memory. (check-in: 4e3e516a42 user: drh tags: trunk)
14:17
Modify a few test scripts to avoid leaving the sqlite3Config structure in a non-default state. (check-in: 562687d9f5 user: dan tags: trunk)
00:02
Update RBU description comment in the header file. No changes to code. (check-in: 119883a21b user: mistachkin tags: trunk)
2015-07-23
21:59
Merge all changes in the latest 3.8.11 beta into the sessions branch. Changes include the rename of OTA to RBU, the WITHOUT-ROWID-OR-Skipscan fix, and improvements to pcache1. (check-in: 7f0ee77062 user: drh tags: sessions)
20:44
Change the name of the OTA extension to RBU: Resumable Bulk Update. (check-in: 017c5019e1 user: drh tags: trunk)
17:16
When SQLITE_OMIT_LOOKASIDE is set, do not allocate any lookaside memory since it will never be used. (check-in: 0ffd499f23 user: drh tags: trunk)
16:39
The sqlite3ExprCodeGetColumn() is not guaranteed to put the result in the register requested. Fix the skip-scan code generator for WITHOUT ROWID tables so that it always checks the register and copies the result if it lands in the wrong register. Fix for ticket [8fd39115d8f46ece70e7d4b3]. (check-in: 793e206f90 user: drh tags: trunk)
2015-07-21
19:22
Fix harmless compiler warning in MSVC 2015. (check-in: 01c8b9ccfa user: mistachkin tags: trunk)
2015-07-19
19:53
Cleanup the 'config.h' file in the appropriate distclean targets. (check-in: e0a9978077 user: mistachkin tags: trunk)
2015-07-17
12:42
More adjustments to the malloc5.test module so that it works correctly with the new pcache1 bulk allocation. (check-in: 2a7b3a440f user: drh tags: trunk)
01:16
Avoid a harmless compiler warning. (check-in: 2288842b8f user: drh tags: trunk)
2015-07-16
20:24
Merge trunk changes, including fixes for compiler warnings in fts5 code, with this branch. (check-in: 7190d79ba4 user: dan tags: fts5-btree-index)
20:17
Fix compiler warnings in fts5 code. (check-in: e9bf275cd9 user: dan tags: trunk)
18:37
Fix harmless compiler warnings. (check-in: 9a592cf91c user: drh tags: trunk)
18:18
Defer the bulk pcache1 memory allocation until the first page allocation request. Limit the size of the pcache1 bulk allocation to the cache_size setting. Deallocate the bulk allocation on a sqlite3_db_release_memory() request, if the bulk allocation is completely unused. (check-in: b79a4affe4 user: drh tags: trunk)
17:29
Fix compilation issues with SQLITE_OMIT_COMPOUND_SELECT defined. (check-in: 9c39d46445 user: mistachkin tags: trunk)
2015-07-15
23:15
Enable memory-mapped I/O on FreeBSD and DragonFly. (check-in: 2cdd647951 user: drh tags: trunk)
21:00
Make the debugging line numbers in the amalgamation more accurate. (check-in: 3b34e95ca8 user: mistachkin tags: trunk)
19:46
Use a WITHOUT ROWID table to index fts5 btree leaves. This is faster to query and only slightly larger than storing btree nodes within an intkey table. (check-in: 862418e350 user: dan tags: fts5-btree-index)
18:35
Fix some harmless compiler warnings. (check-in: 110cd84f5e user: drh tags: trunk)
18:04
Attempt to fix harmless warnings generated by GCC and Clang runtime analyzers. (check-in: b522c95ddc user: drh tags: trunk)
13:56
Fix the fuzz3.test script so that it works with the new bulk pagecache allocation feature. (check-in: 829a2dbaf1 user: drh tags: trunk)
2015-07-14
22:43
Amplify the comment on renderLogMsg() that explains the problems associated with calling sqlite3_log() from deep within the memory allocator. (check-in: a73d7128fb user: drh tags: trunk)
21:56
Further refine FTS5 cleanup in Makefiles. (check-in: b53a95063c user: mistachkin tags: trunk)
21:56
Skip trying to include 'intrin.h' when compiling for WinCE with MSVC. (check-in: 6db90ca2b4 user: mistachkin tags: trunk)
17:18
Fix some harmless compiler warnings. (check-in: 3de030c904 user: mistachkin tags: trunk)
15:39
Merge trunk changes, including the addition of FTS5 and pcache1 performance enhancements. (check-in: db4cbefb86 user: drh tags: sessions)
14:48
Always invoke the profile callback even if the statement does not run to completion. (check-in: 202479aa0a user: drh tags: trunk)
00:36
Refine cleaning of FTS5 files by Makefile targets. (check-in: e548d77b3c user: mistachkin tags: trunk)
2015-07-13
23:55
Fix the origination date on the loadfts.c utility program. (check-in: 5c76c062c0 user: drh tags: trunk)
18:01
Fix the header comment on the loadfts.c utility program. (check-in: 955ad4ae19 user: drh tags: trunk)
2015-07-10
17:55
Fix inconsistencies in formatting of fts5 docs. (check-in: 5fb4c77163 user: dan tags: trunk)
2015-07-09
20:46
Improve the performance of docid merges in fts5. (check-in: b2de77a01c user: dan tags: trunk)
19:02
Reduce the number of calls to malloc() made by fts5. (check-in: 898618ccf6 user: dan tags: trunk)
2015-07-08
17:59
Fix two problems that could cause fts3 auxiliary functions to occasionally misbehave if used with match expressions that contain both OR and NEAR. (check-in: 372c1db247 user: dan tags: trunk)
16:22
Enhance the pcache1 page cache so that it tries to allocate a block of SQLITE_DEFAULT_PCACHE_INITSZ pages from malloc() on startup, and uses those preallocated pages when possible rather than going to malloc() for each individual page. About a 5% performance increase for some workloads. (check-in: 5348ffc3fd user: drh tags: trunk)
14:13
Comment fix. No changes to code. (Closed-Leaf check-in: c1e2ed0ef4 user: drh tags: pcache-bulk-local)
13:40
Do not do the bulk pcache1 allocations if SQLITE_CONFIG_PAGECACHE specifies a global page cache buffer. (check-in: 75d98dae67 user: drh tags: pcache-bulk-local)
12:25
Early detection of file corruption in a debugging routine, before the invalid data can cause problems. (check-in: b27a47fef9 user: drh tags: trunk)
01:22
Avoid left-shifting bits into the sign of a signed integer, as such behavior is technically undefined. (check-in: 9417b4021b user: drh tags: pcache-bulk-local)
2015-07-07
21:14
Add a compile-time constant for configuring the default pagecache setup. (check-in: ad5fdfbac8 user: drh tags: pcache-bulk-local)
19:35
Merge the Fts5MultiSegIter and Fts5IndexIter objects. (check-in: 6ace73541a user: dan tags: trunk)
19:07
Add a test case to verify that "PRAGMA data_version" works as expected when an OTA client writes to the database. (check-in: 6441f2dc9e user: dan tags: trunk)
15:14
No need to test sqlite3GlobalConfig.bCoreMutex when SQLITE_THREADSAFE==0. (check-in: 26db0fee06 user: drh tags: pcache-bulk-local)
14:06
Simplify the page recycling condition in pcache1. Fix test cases to work with the latest changes. (check-in: 5b60df5503 user: drh tags: pcache-bulk-local)
08:29
Further optimizations for fts5 b-tree seeks. (check-in: f37899686c user: dan tags: trunk)
2015-07-06
20:57
A unified cache is now only used for SQLITE_ENABLE_MEMORY_MANAGEMENT, or if SQLITE_CONFIG_PAGECACHE defines a shared start-time page cache buffer and the application is single-threaded. (check-in: d5ff1d6905 user: drh tags: pcache-bulk-local)
20:27
Speed up seek operations on fts5 b-tree structures. (check-in: 7b7da1eb43 user: dan tags: trunk)
18:54
Enhance separate pcache1 to allocate a block of pages from heap on startup, if possible, for a 5.2% performance improvement. (check-in: aa7341c873 user: drh tags: pcache-bulk-local)
2015-07-05
22:15
Do not allow recursive CTEs that use aggregate queries in the recursive part. (check-in: 6d2999afbc user: drh tags: trunk)
2015-07-04
18:44
Optimize seek operations on fts5 b-trees. (check-in: 8cf02090ce user: dan tags: trunk)
18:15
Preserve the number of requested PAGECACHE pages even if the memory pointer or size is zero. Enhance the pcache1.c header comment to explain the memory layout of a page cache line. (check-in: dacb2a615c user: drh tags: trunk)
15:35
Fix a problem in the fts5 integrity-check. (check-in: 4e473559c9 user: dan tags: trunk)
11:14
Do not preserve the btreeInitPage() results in PRAGMA integrity_check if there were cell sizing errors because PRAGMA cell_size_check was turned off during the btreeInitPage() call. (check-in: 743bf1f184 user: drh tags: trunk)
00:04
Sync up Makefile clean targets for FTS5. (check-in: 43ead44ef6 user: mistachkin tags: trunk)
2015-07-03
23:29
Correction to check-in [1025873fdf], tighten up the number of static test mutexes. (check-in: 4e515897af user: mistachkin tags: trunk)
23:12
Update clean target in MSVC makefile. (check-in: e6c03e7201 user: mistachkin tags: trunk)
23:11
Enhance mutex testing to include APP and VFS static mutexes. (check-in: 1025873fdf user: mistachkin tags: trunk)
21:38
Add static mutexes for use by the built-in / third-party VFSs and use the built-in VFS mutex where appropriate. (check-in: b202e2a1d7 user: mistachkin tags: trunk)
20:47
Rework the Fts5MultiSegIter structure a bit to make it more efficient. (check-in: 0778825d0e user: dan tags: trunk)
19:13
Speed up eof checks on fts5 cursors. (check-in: 3df4af5d8c user: dan tags: trunk)
17:54
Enable use of the __builtin_bswap32() only with GCC 4.3 and higher. (check-in: 030f60a7ba user: mistachkin tags: trunk)
17:14
Avoid freeing the array of instance matches each time the fts5 xNext() method is called. (check-in: b9b0c1e50d user: dan tags: trunk)
14:34
New command-line options for speedtest1: --multithread, --nomemstat, --serialized, and --singlethread (check-in: 2b7567229e user: drh tags: trunk)
2015-07-02
20:12
Copy fts5.h into the build directory as part of building fts5.c. Also remove code to edit fts5parse.c from various Makefiles and add it to mkfts5c.tcl. (check-in: 4d8f03dc7b user: dan tags: trunk)
19:47
When doing coverage analysis of a btree page for pragma integrity_check, make the first entry (that covers the header, cell index, and gap) implied, for a performance boost and size reduction. (check-in: e53d497c2d user: drh tags: trunk)
18:52
Minor change to mkfts5c.tcl so that fts5.c can be used according to the instructions in loadext.html. (check-in: edbcccd349 user: dan tags: trunk)
18:16
Add fts5_source_id() SQL function, similar to sqlite_source_id(). (check-in: ec2573487c user: dan tags: trunk)
16:52
Fix harmless compiler warnings and one macro VVA_ONLY macro usage issue. (check-in: bcc8a75509 user: mistachkin tags: trunk)
16:50
Simplify FTS5 handling in the MSVC makefile. (check-in: f022e04343 user: mistachkin tags: trunk)
16:29
Fix a (harmless) shadowed local variable definition in the integrity_check logic. (check-in: 3a26a919fd user: drh tags: trunk)
16:17
Smaller and faster PRAGMA integrity_check that also does a better job of detecting errors. Some output text describing discovered file corruption has changed for clarity. (check-in: 251a7590ff user: drh tags: trunk)
15:52
Remove "#ifdef SQLITE_ENABLE_FTS5" from individual fts5 source files. Add a single "#if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_FTS5)" to fts5.c. (check-in: 7819002ed8 user: dan tags: trunk)
01:38
Add the --shrink-memory option to the speedtest1 test program. (check-in: c9ddbd8899 user: drh tags: trunk)
2015-07-01
19:59
Avoid create a stack from in sqlite3BackupUpdate() in the common case where the first argument is NULL. (check-in: 2a897b9e94 user: drh tags: trunk)
17:53
Simplification of PRAGMA integrity_check logic. Make sure that the depth of the right-most subtree is correct. Size reduction and performance increase, with no change in output. (check-in: 550705fcb6 user: drh tags: trunk)
04:08
Fix some harmless compiler warnings. (check-in: 307195c870 user: drh tags: trunk)
01:31
Change integrity_check to analyze the cells of a page in reverse order, as this will tend to insert the cells into the analysis heap in increasing order by address, which is the most efficient way to load a min-heap. (check-in: 59ad912c4c user: drh tags: trunk)
2015-06-30
17:28
Make use of the _byteswap_ushort() and _byteswap_ulong() compiler intrinsics for MSVC, when available. (check-in: fe144dd73f user: mistachkin tags: trunk)
15:10
Make use of built-in bswap32() and bswap16() functions in GCC/Clang for a significant performance improvement there. (check-in: 8bfcda3d10 user: drh tags: trunk)
14:01
Only use __builtin_bswap16() with GCC 4.8 and later. (Closed-Leaf check-in: ce8177e3e6 user: drh tags: bswap-functions)
13:28
Remove the use of htonl() in the previous check-in due to linkage issues. Add the get2byteAligned() macro and use it for access to the cell offsets on btree pages for about a 1% performance gain. (check-in: 79ff36b717 user: drh tags: bswap-functions)
12:47
Make use of htonl() and __builtin_bswap32() for faster implementations of sqlite3Get4byte() and sqlite3Put4byte(). (check-in: bc27ebd7f7 user: drh tags: bswap-functions)
11:07
Change an unreachable branch into an assert() in sqlite3PagerAcquire() and optimize sqlite3PcacheOpenSavepoint() by factoring out rarely used code into a subroutine. (check-in: b406b20ecd user: drh tags: trunk)
03:57
Optimization to the sqlite3PcacheFetch() logic. (check-in: d9a0481ce0 user: drh tags: trunk)
03:34
Put all variable declarations for sqlite3PagerWrite() at the beginning of the block. Syntax only - no logic changes. (check-in: a0fa6b3ba5 user: drh tags: trunk)
03:18
Implement sqlite3Strlen30() using strlen() from the C library. (check-in: 8001aa52bd user: drh tags: trunk)
03:13
Change sqlite3ApiExit() so that its first argument is never NULL. (check-in: 791b706ec6 user: drh tags: trunk)
02:47
Put BtCursor objects on a singly-linked list instead of a doubly-linked list. Add the BTCF_Multiple flag. Only invoke saveAllCursors() when using a cursor that has BTCF_Multiple set. (check-in: 429ccef2b3 user: drh tags: trunk)
01:25
Convert several 5-year-old and older NEVER() macros into assert(). (check-in: ed54c14ea8 user: drh tags: trunk)
2015-06-29
23:01
From sqlite3BtreeInsert(), bypass the btreeMoveto() routine for table inserts and go directly to sqlite3BtreeMovetoUnpacked(). (check-in: 53fe685d56 user: drh tags: trunk)
20:53
Add a bypass path in sqlite3PagerWrite() for pages with the PGHDR_WRITEABLE bit set, for about a 1% performance increase. (check-in: ba425a6abb user: drh tags: trunk)
19:08
Combine subjRequiresPage() and subjournalPage() into a single subjournalPageIfRequired() routine. (check-in: 3b65eb56c4 user: drh tags: trunk)
18:29
Add the PGHDR_WRITEABLE bit for PgHdr.flags which is used to distinguish between pages that are on the dirty list and pages that are safe to modify. (check-in: 7c4ef7b7c8 user: drh tags: trunk)
18:14
Fix over-length source code lines in pager.c. (check-in: 14de3d3926 user: drh tags: trunk)
15:41
Fix minor problems in the ota demo application. (check-in: 6aaaec6e63 user: dan tags: trunk)
14:11
Simplifications and performance improvement in pager_write(). (check-in: ab7aeeead3 user: drh tags: trunk)
04:21
Add the new PGHDR_CLEAN bit to PgHdr.flags in pcache.c. This bit is always the opposite of PGHDR_DIRTY. Use the extra bit to avoid a comparison for a small performance boost. (check-in: 8619fc346d user: drh tags: trunk)
03:28
Very small size reduction and performance increase in sqlite3BitvecTest(). (check-in: 9b3a7281bd user: drh tags: trunk)
00:52
Move an assert() and testcase() into their correct position within getAndInitPage(). (check-in: 18115164e1 user: drh tags: trunk)
00:21
Use tail recursion in pcache1Unpin() to get a small size reduction and speed improvement. (check-in: fde70472ae user: drh tags: trunk)
2015-06-28
17:33
Comment typo fix and minor cleanup in the pager. No logic changes. (check-in: 94ef170128 user: drh tags: trunk)
02:58
Avoid unnecessary calls to sqlite3VdbeSerialTypeLen() for integer serial types, for a small size reduction and a speed increase. (check-in: 9cd30d33b1 user: drh tags: trunk)
2015-06-27
23:55
Make greater use of BtCursor.curIntKey. (check-in: 63998471d0 user: drh tags: trunk)
22:49
Add the BtCursor.curIntKey field and use it for a small size reduction and performance boost. (check-in: 4a17df139a user: drh tags: trunk)
20:55
Enhancements to the previous check-in to make it a little smaller and faster. (check-in: 291d9e0c32 user: drh tags: trunk)
19:45
Performance improvements in moveToChild() by shifting some work over to getAndInitPage(). Net improvement is about 800K cycles at cost of 30 bytes. (check-in: 1956a4ce8e user: drh tags: trunk)
15:51
Manually inline the call from getAndInitPage() to btreeGetPage() for a savings of 2.5 million cycles at a cost of less than 100 bytes. (check-in: 7f65b96b40 user: drh tags: trunk)
14:59
Add releasePageNotNull() as an alternative to releasePage() when the argument is guaranteed to be non-NULL, and use it for a small performance gain. (check-in: 9383a68870 user: drh tags: trunk)
03:58
Add the Mempage.aDataOfst field and use it in sqlite3BtreeMovetoUnpacked() for about a 2 million cycle gain. (check-in: bee94dc351 user: drh tags: trunk)
2015-06-26
20:45
Treat compilation of FTS5 for the loadable extension specially with MSVC. (check-in: 7c610276bb user: mistachkin tags: trunk)
20:25
Merge fts5 branch into trunk. (check-in: d27d9965b5 user: dan tags: trunk)
20:14
Merge latest trunk with this branch. (Closed-Leaf check-in: 8671b9e137 user: dan tags: fts5)
20:13
Remove unnecessary lines from fts3.h and main.mk. (check-in: c1b268ced3 user: dan tags: fts5)
20:08
Fix a segfault that could follow an OOM error in fts5. (check-in: 713239b8cf user: dan tags: fts5)
19:43
Small size reduction and performance increase on the OP_IdxInsert opcode. (check-in: b6bedc2e9c user: drh tags: trunk)
19:33
Merge latest trunk changes with this branch. (check-in: 2a1af0f29e user: dan tags: fts5)
18:50
Fix some cases in the fts5 code where a corrupt database could cause a buffer overread. (check-in: 360c57bbb8 user: dan tags: fts5)
18:47
Further optimization of SQL function dispatch. Improvements to opcode documentation. (check-in: eaddbf296a user: drh tags: trunk)
18:16
Cache the sqlite3_context structure in the P4 operand of VDBE programs for faster SQL function dispatch. (check-in: 2abc44eb3b user: drh tags: trunk)
17:10
Merge changes to get FTS5 working with MSVC. (check-in: 954231d29d user: mistachkin tags: fts5)
16:55
Merge upstream changes. Get the test fixture working with FTS5. Fix compiler warnings. (Closed-Leaf check-in: bfcd16089c user: mistachkin tags: fts5Msvc)
16:42
Remove fts5 initialization code from core file main.c. (check-in: c91a93b343 user: dan tags: fts5)
16:17
Add FTS5 DLL target for MSVC. (check-in: be85b82499 user: mistachkin tags: fts5Msvc)
04:34
Initial changes to get FTS5 working with MSVC. (check-in: ef2052f81e user: mistachkin tags: fts5Msvc)
03:12
Fix harmless compiler warning in assert statement. (check-in: 7097716cae user: mistachkin tags: trunk)
02:41
Simplify the pcache by not keeping continuous track of page 1 but instead just loading page 1 on the rare occasions when it is actually needed. (check-in: 015302f15e user: drh tags: trunk)
2015-06-25
23:52
Optimization to sqlite3_value_bytes() for the common case that does not require a data transformation. (check-in: 8d79f3a144 user: drh tags: trunk)
20:36
Fix Makefile.in to account for recent changes. Update fts5 test scripts so that they do not run if SQLITE_ENABLE_FTS5 is not defined. (check-in: 3175220747 user: dan tags: fts5)
20:16
Merge latest trunk changes into this branch. (check-in: fcd8f7ce60 user: dan tags: fts5)
20:10
Add a script to combine all fts5 code into a single file - fts5.c - that can be used to build an SQLite loadable extension. (check-in: 46e86b0637 user: dan tags: fts5)
19:53
Simplifications and performance improvements in insertCell(). (check-in: 7d02e6c992 user: drh tags: trunk)
18:36
More simplifications and performance improvements to cell allocation logic associated with allocateSpace(). (check-in: 78da0f69cb user: drh tags: trunk)
16:01
Reorder the terms of a conditional for a small performance gain. (check-in: d67b0ed105 user: drh tags: trunk)
15:21
Remove a NEVER() that is in fact reachable. (check-in: f824e66b0d user: drh tags: trunk)
15:04
Minor optimization to allocateSpace(). (check-in: d007bc339b user: drh tags: trunk)
13:03
Enhance the Btree object to remember whether or not it is holding an Incrblob cursor. Use this knowledge to improve performance in the common case where it does not. (check-in: 476b11563c user: drh tags: trunk)
02:26
Remove a line of code that doesn't do any useful work. (check-in: 3ee888beb9 user: drh tags: trunk)
02:25
Increase the default timeout on fuzzcheck to 120 seconds - sufficient for running under valgrind on a slow workstation. (check-in: fad0eacc64 user: drh tags: trunk)
2015-06-24
23:44
Add the --timeout option to fuzzcheck. (check-in: a8f4f7fa99 user: drh tags: trunk)
23:17
Fix fuzzcheck so that it works with SQLITE_OMIT_PROGRESS_CALLBACK. (check-in: 7a9c4eb30e user: drh tags: trunk)
18:22
Add "ON CONFLICT" handling to the spellfix module. (check-in: 07937a81c6 user: drh tags: trunk)
17:21
Add "ON CONFLICT" handling to the spellfix module. (Closed-Leaf check-in: 1d04def785 user: dan tags: spellfix-constraints)
14:45
In the fuzzcheck test program, use the progress handler to limit the number of VDBE cycles to avoid getting stuck if the SQL under test contains an infinite CTE loop. Add the --limit-vdbe command-line option. (check-in: fbf9c4325e user: drh tags: trunk)
14:36
Fix the progress handler so that it does not fire too soon during an sqlite3_step() call other than the first. (check-in: b41ef5d6db user: drh tags: trunk)
13:32
Fix a harmless compiler warning. (check-in: 3b6fa95eeb user: drh tags: trunk)
13:25
Rig the fuzzcheck test program so that it times out after 10 seconds in case of an infinite loop in the test case. (check-in: 659cfc9d1e user: drh tags: trunk)
13:05
Update the database fuzz test cases to cover all recent findings. (check-in: 47ba7d96b1 user: drh tags: trunk)
12:44
Add the --rebuild object to fuzzcheck. (check-in: db87664a22 user: drh tags: trunk)
12:24
Prevent an infinite loop while searching a corrupt freelist. (check-in: 4e5424fe89 user: drh tags: trunk)
12:07
Strengthen the new balance_nonroot() code against various corrupt database problems. (check-in: 5ba9834320 user: drh tags: trunk)
10:46
Adjustment to a malloc test so that it accepts a narrow range of values to account for variations in malloc subsystems. (check-in: e0195070f8 user: drh tags: trunk)
01:07
Remove an invalid NEVER() and add a test case to cover it. (check-in: 14b73d2015 user: drh tags: trunk)
00:05
Performance optimization on balance_nonroot() and related routines. 2.6% faster overall with a size increase of less than 750 bytes. (check-in: 25131e7062 user: drh tags: trunk)
2015-06-23
23:31
Mark some branches as unreachable after the recent change that recognizes mismatch result set sizes on compound SELECT statements sooner. (check-in: c8d1f305b6 user: drh tags: trunk)
21:35
Testability improvement. (Closed-Leaf check-in: eed6a33145 user: drh tags: btree-opt2)
18:47
Improve test coverage of fts5. (check-in: df5ccea80e user: dan tags: fts5)
18:24
Multiple overflow cells are always adjacent and sequential. Exploit this invariant for a small size reduction and performance increase and add assert()s to prove the invariant. (check-in: f77f2f48f4 user: drh tags: btree-opt2)
17:09
Faster loading of cell pointers into the b.apCell array in balance_nonroot. (check-in: fda89b0512 user: drh tags: btree-opt2)
16:00
Avoid unnecessary cachedCellSize() calls in the cell partition adjustment phase of balance_nonroot(). (check-in: 6319ee1256 user: drh tags: btree-opt2)
15:36
Change pageInsertArray() and pageFreeArray() so that they use the CellArray object and compute cell sizes as needed, resulting in smaller and faster code. (check-in: f7f4181811 user: drh tags: btree-opt2)
15:06
Merge latest trunk changes with this branch. Add tests for columnsize=0. (check-in: ef44c71a22 user: dan tags: fts5)
14:49
Improvements to the way balance_nonroot() constructs the b.apCell array of pointers to cells. (check-in: ee44bb25b2 user: drh tags: btree-opt2)
13:02
Merge the compound SELECT operator fix from trunk. (check-in: a7be554f4b user: drh tags: btree-opt2)
12:19
Test that the left and right sides of a compound SELECT operator have the same number of expressions in the expanded expression list before beginning to generate code. (check-in: 4df852ce26 user: dan tags: trunk)
02:37
Avoid computing cell sizes in balance_nonroot() until they are really needed. This gives an overall 1.7% performance gain for about 1000 extra bytes of code space. (check-in: 43844537e8 user: drh tags: btree-opt2)
2015-06-22
20:02
Change the way that balance_nonroot() partitions cells between the sibling pages such that a scan of the cell size array is not required. (check-in: 1687287151 user: drh tags: btree-opt2)
2015-06-20
14:11
Update the fuzztest data using the latest test vectors discovered by AFL. (check-in: b97f9cf73e user: drh tags: trunk)
13:18
Make sure that the likelihood() function does not mess up generation of result-set code when it is used (inappropropriately) in a result-set expression. (check-in: 7cdbae625e user: drh tags: trunk)
2015-06-19
20:31
Performance improvements in btreeParseCell() by inlining the varint decoder. (check-in: 172a864d14 user: drh tags: trunk)
20:08
Fix corner cases involving corrupt varint values in record headers. (Closed-Leaf check-in: 3189116b42 user: drh tags: btree-opt)
18:24
Performance improvements in btreeParseCell() by inlining the varint decoder. (check-in: faab0ed928 user: drh tags: btree-opt)
17:19
Add the MemPage.xParseCell method and provide various implementations (variations on the former btreeParseCellPtr()) depending on the page type. (check-in: 41d03d883c user: drh tags: trunk)
15:07
Make cellSizePtr() a method on the MemPage object, with alternative implementations depending on the page type. This results is a small performance improvement and size reduction. (check-in: 02f7e9d7d7 user: drh tags: trunk)
2015-06-18
15:26
Further #ifdef changes in speedtest1.c in order to support SQLite back to version 3.3.9 and perhaps even earlier. (check-in: 9246eca54a user: drh tags: trunk)
14:32
Pervent the likelihood() function from moving ON clause terms of a LEFT JOIN into the WHERE clause. Fix for ticket [5f60b11fc8e23490e2] (check-in: ed96e14adc user: drh tags: trunk)
14:09
Show the values of Expr.flag in the AST of ".selecttrace" (check-in: a84d1004cb user: drh tags: trunk)
12:37
Add #ifdefs to some features speedtest1.c so that it compiles with older versions of SQLite, going back to version 3.5.1. (check-in: f50dd154d3 user: drh tags: trunk)
2015-06-17
23:28
Performance improvement in sqlite3VdbeMemShallowCopy() for the common case where the receiver does not require prior resource deallocation. (check-in: d718ea36dc user: drh tags: trunk)
18:57
Improve spacing and comment style for the shell. No changes to code. (check-in: 5b547da00d user: mistachkin tags: trunk)
18:24
Improved comments on the fuzzcheck.c test program. No changes to code. (check-in: a7e27d1928 user: drh tags: trunk)
17:08
Fix a uninitialized variable use in the command-line shell when the ".open" command is invoked without any arguments. (check-in: fc4f4d1ecc user: drh tags: trunk)
13:20
Performance optimization and comment fixes for the LIKE and GLOB operators. (check-in: c89d772628 user: drh tags: trunk)
02:11
Make getCellInfo() a real function instead of a macro, for a size reduction and a 0.2% performance gain. (check-in: 55c393ea14 user: drh tags: trunk)
01:31
Optimizations to two VDBE accessory routines for a 0.2% performance increase. (check-in: 66d033b9c9 user: drh tags: trunk)
2015-06-16
16:39
Ensure that the CREATE TABLE AS statement correctly undoes partial changes to the sqlite_master table if the SELECT on the right-hand side aborts with an error. Fix for ticket [873cae2b6e25b] (check-in: 400e025e7c user: drh tags: trunk)
2015-06-15
16:40
Adjust ICU tests to account for recent changes in the official Unicode definition of whitespace. (check-in: 0816525386 user: drh tags: trunk)
16:09
Fix a harmless comment typo. No code changes. (check-in: ae68765218 user: drh tags: trunk)
14:43
Fix harmless compiler warnings. (check-in: b0badb9902 user: drh tags: trunk)
12:58
Improved detection of database corruption in freeSpace(). (check-in: 29bcb56887 user: drh tags: trunk)
10:49
Comment typo fix. No code changes. (check-in: 17f185adb9 user: drh tags: trunk)
2015-06-13
11:19
Omit mutex calls in pcache1 when the mutex is NULL, for a significant performance improvement. (check-in: caf8f574e5 user: drh tags: trunk)
11:10
Avoid unnecessary mutex usage in pcache1, for a significant speedup. (Closed-Leaf check-in: dcf4fb8d76 user: drh tags: faster-pcache1-fetch)
2015-06-12
13:49
Add a fast-path implementation of pcache1Fetch() for the common case of separate caches that do not use a mutex. (check-in: 760700edb3 user: drh tags: faster-pcache1-fetch)
13:04
Minor performance optimization in pcache1.c. (check-in: 2e8ad2ead9 user: drh tags: trunk)
12:54
Add the OP_ColumnsUsed opcode (when compiled with SQLITE_ENABLE_COLUMN_USED_MASK) as a hint to the b-tree layer as to which columns of a btree cursor will be used. (check-in: 711a176cbf user: drh tags: trunk)
2015-06-11
14:19
Remove stray outputs from the test suite. (check-in: afc6db9b10 user: drh tags: trunk)
13:58
When generating code for partial indexes, be sure not to modify the index condition expression in the schema. (check-in: e63d01c69c user: drh tags: trunk)
2015-06-10
23:02
More test output refinements. (Closed-Leaf check-in: e64a568179 user: mistachkin tags: testerOutput)
22:51
Remove possibly stray output from various tests. (check-in: f38e0be56f user: mistachkin tags: testerOutput)
22:03
Fix minor typo in the quicktest MSVC makefile target. (check-in: 75b65f9d49 user: mistachkin tags: trunk)
18:53
"test" targets on all makefiles use --verbose=file --output=test-out.txt. Add the new "quicktest" target to all makefiles - designed to run in under three minutes. The --quick option on releasetest.tcl now uses quicktest. (check-in: 6ddef2ad35 user: drh tags: trunk)
14:27
Avoid passing constraints that are unusable due to LEFT or CROSS joins to virtual table xBestIndex() methods. (check-in: 7b446771ca user: dan tags: trunk)
10:45
Fix the fts5 xRename() method. (check-in: 0f7fd51325 user: dan tags: fts5)
2015-06-09
20:58
Add the "columnsize=" option to fts5, similar to fts4's "matchinfo=fts3". (check-in: aa12f9d9b7 user: dan tags: fts5)
15:58
Add the --output=$file and --verbose=(0|1|file) options to tester.tcl. (check-in: f7b2c70362 user: dan tags: trunk)
10:58
Remove some repeated lines of source code. Probably introduced by careless cut'n'pasting. (Closed-Leaf check-in: a34cd71c8a user: dan tags: vtab-left-join)
2015-06-08
19:15
Add the valgrindfuzz target to unix makefile. (check-in: e62aed01f1 user: drh tags: trunk)
18:48
If a query contains "FROM t1 LEFT JOIN t2, t3, t4", ensure that tables t3 and t4 are not scanned before t2. The trunk already does this. (check-in: 0d9edfab9f user: dan tags: vtab-left-join)
18:05
Avoid passing constraints that are unusable due to LEFT or CROSS joins to virtual table xBestIndex() methods. (check-in: 80ee56dda7 user: dan tags: vtab-left-join)
17:42
Fix typo in comment. No changes to code. (check-in: e49c291735 user: mistachkin tags: trunk)
17:40
Split out some source code into new files: wherecode.c, whereexpr.c, and treeview.c. Other minor refactoring changes. (check-in: 50f336818c user: drh tags: trunk)
15:08
Factor out the TreeView parse tree printing module into a separate file. (check-in: c32ce54ca4 user: drh tags: view-optimization)
14:23
Split more subfunctions of where.c out into a new whereexpr.c source file, for improved maintainability. (check-in: 46ef95c108 user: drh tags: view-optimization)
2015-06-06
20:12
Split out the bulk of the actual VDBE code generation logic from where.c into a new file, leaving behind the analysis logic. This makes the original where.c smaller and hopefully easier to edit. (check-in: faa0e420e9 user: drh tags: view-optimization)
19:23
Fix a comment in fts5.h. (check-in: e964b58774 user: dan tags: fts5)
18:30
Code simplifications in select.c and where.c. (check-in: 4f20ac90bc user: drh tags: view-optimization)
16:28
Fix handling of fts5 rowid constraints in the absence of a MATCH clause. Add tests to cover recently added branches. (check-in: 3a9cb64813 user: dan tags: fts5)
00:18
Minor cleanup of the sqlite3Select() procedure. (check-in: f4c90d06bb user: drh tags: view-optimization)
2015-06-05
22:33
Split FROM-clause subquery flattening and code generation into separate loops. (check-in: be8e3fc70e user: drh tags: view-optimization)
20:27
Provide one final Select tree dump prior to WHERE clause analysis when ".selecttrace 0x400" tracing bit is set with SELECTTRACE_ENABLED. Analysis and debug changes only - normal builds are unaffected. (check-in: 283bf0b64d user: drh tags: trunk)
19:05
Make use of range constraints on the rowid field of an fts5 table in full-text queries. (check-in: 32cbc0ed36 user: dan tags: fts5)
15:59
Add a new opcode to the VDBE that gives the b-tree a hint about the set of columns in a table or index that are actually used by the query. (Closed-Leaf check-in: f167bba446 user: drh tags: column-usage-hint)
2015-06-04
12:08
Change the name of SrcList.a[].zIndex to the more descriptive SrcList.a[0].zIndexedBy. (check-in: 6a9cf06337 user: drh tags: trunk)
2015-06-03
11:23
Fix an fts5 problem in extracting columns from position lists containing large varints. (check-in: 4ea015ab98 user: dan tags: fts5)
2015-06-02
19:38
Change the fts5 multi-column syntax to use parenthesis instead of square brackets. (check-in: ab85a6fc4f user: dan tags: fts5)
19:36
Always check for cell overflow before returning a slot from the pageFindSlot routine in btree.c. (check-in: 9f035c45a4 user: drh tags: trunk)
18:09
For FROM-clause subqueries that cannot be flattened, try to push relevant WHERE clause terms of the outer query down into the subquery in order to help the subquery run faster and/or use less memory. Call this the "WHERE-clause push-down optimization". Do not confuse this with the completely different MySQL push-down optimization. (check-in: 6df18e949d user: drh tags: trunk)
18:07
Merge latest trunk changes with this branch. (check-in: c9ffda4abb user: dan tags: fts5)
17:57
Reimplement [ec69e09a] so that each call to the xNext() method does not involve two iterations of the match expression tree (only one). (check-in: 80fe305b3e user: dan tags: fts5)
17:25
Add test cases for type affinity rules. (check-in: 9678646d9a user: drh tags: trunk)
16:19
Rename SQLITE_AFF_NONE to SQLITE_AFF_BLOB to avoid confusion with "no affinity". (check-in: 29ad9e9173 user: drh tags: trunk)
15:32
Rename SQLITE_AFF_NONE to SQLITE_AFF_BLOB. (Closed-Leaf check-in: bce3f04186 user: drh tags: blob-affinity-rename)
14:02
Fix a faulty assert() in btree.c. Update the database fuzz test file with new test cases. (check-in: 4e621af134 user: drh tags: trunk)
2015-06-01
20:28
For FROM-clause subqueries that cannot be flattened, try to push WHERE clause terms of the outer query down into the subquery in order to help the subquery run faster and/or use less memory. (Closed-Leaf check-in: 297fae7551 user: drh tags: subquery-opt)
19:17
Improve performance of the fts5 AND operator. (check-in: b43e9a5b7a user: dan tags: fts5)
18:13
Corrections to comments in expr.c. No code changes. (check-in: f925389eaf user: drh tags: trunk)
11:10
Typo fixes and additional background information in README.md. (check-in: 9b8e5823bc user: drh tags: trunk)
09:15
Change fts5 expression processing to avoid linear scans of long doclists caused by phrases that match specific columns only. (check-in: ec69e09a55 user: dan tags: fts5)
2015-05-30
22:57
Updates to configure.ac to help it find where the TCL libraries hidden on Ubuntu 14.04. (check-in: c864ff912d user: drh tags: trunk)
22:05
Fix minor typo in comment. No changes to code. (check-in: 73fc058b3a user: mistachkin tags: trunk)
11:49
Remove the "#include sqlite3Int.h" from fts5Int.h. (check-in: e008c3c8e2 user: dan tags: fts5)
2015-05-29
19:00
Add extra tests and fixes for multi-column matches. (check-in: ae6794ffa2 user: dan tags: fts5)
18:42
Ensure that allocateBtreePage() always clears the MemPage pointer when it fails due to an I/O or memory allocation error. (check-in: 09a38bf665 user: drh tags: trunk)
17:51
Move two unreachable conditionals inside of NEVER() or assert(). (check-in: db4e9728fa user: drh tags: trunk)
17:13
Remove a corruption test in balance_nonroot that is superceded by a prior better check. (check-in: 00693682d8 user: drh tags: trunk)
15:55
Add syntax to fts5 used to specify that a phrase or NEAR group should match a subset of columns. For example "[col1 col2 ...] : <phrase>". (check-in: 0fc0ea2092 user: dan tags: fts5)
15:15
Omit the rowallock.test script (Read-Only WAL lock) from the inmemory_journal permutation. (check-in: d21db33089 user: drh tags: trunk)
14:47
Add support for automatic indexes on FROM-clause subqueries that are implemented via co-routine. (check-in: 020b8b106f user: drh tags: trunk)
14:36
Add some extra source-code comments and a test case. (Closed-Leaf check-in: 6d410442fb user: drh tags: coroutine-autoindex)
13:55
An attempt to allow automatic index creation on subqueries accessed via co-routine. (check-in: 521345add6 user: drh tags: coroutine-autoindex)
01:35
Using "SELECT ALL" instead of just "SELECT" on a query that uses a single unflattenable subquery or view in its FROM clause will force the subquery to be manifested into a temporary table rather than run incrementally using a co-routine. This is a stop-gap means of controlling the decision to manifest while we try to work out a better to make that decision automatically. (check-in: a29e117d7e user: drh tags: trunk)
2015-05-28
19:57
Optimizations for fts5 queries that match against a specific column. (check-in: b29ac50af0 user: dan tags: fts5)
15:14
Added comments and testcase() macros to error cases in the btree search. (check-in: 7da7dc714b user: drh tags: trunk)
14:37
Remove some dead code from fts5. Add auxiliary function api tests to the same. (check-in: 0f9df202cc user: dan tags: fts5)
11:23
Earlier detection of incompatible sibling pages in balance_nonroot. (check-in: 60a09f17d8 user: drh tags: trunk)
03:45
Add new test cases to the fuzzdata3.db set of database fuzz tests. (check-in: 467b13a401 user: drh tags: trunk)
03:28
Add the btreeGetUnusedPage() routine to btree.c, and use it to detect content pages on the freelist and to cause that condition to trigger an SQLITE_CORRUPT. (check-in: fe15d1f703 user: drh tags: trunk)
00:54
Do not attempt to take any write lock on a read-only database on Windows. (check-in: a47ff0cdab user: drh tags: trunk)
2015-05-27
19:35
The fuzzoomtest makefile target is no longer supported, so update releasetest.tcl accordingly. (check-in: 06959d4ada user: drh tags: trunk)
18:19
Fix a minor and harmless memory leak in fuzzcheck. Adjust the makefiles to run fuzzcheck with --quiet on valgrind tests. (check-in: 8bfe834432 user: drh tags: trunk)
18:13
All bytes of a page are initialized, even bytes that follow a 2-byte cell on a malformed page. (check-in: 7373a004ed user: drh tags: trunk)
15:42
A different approach to preventing buffer overreads when comparing a vector of values with a corrupt index record that spans at least one overflow page. (check-in: 95eaa49f4e user: drh tags: trunk)
15:10
Disallow the use of "rowid" in CTEs - it has never worked correctly and it makes no sense, so we might as well make it an explicit error. Also: add the PRAGMA cell_size_check=ON command. (check-in: 19e2cebc12 user: drh tags: trunk)
14:21
A different approach to preventing buffer overreads when comparing a vector of values with a corrupt index record that spans at least one overflow page. (Closed-Leaf check-in: 7e9e1b6123 user: dan tags: avoid-buffer-overread)
13:06
CTEs have never had working rowids. So disallow the use of the "rowid" column within CTEs. (Closed-Leaf check-in: 0055df0445 user: drh tags: no-rowid-in-cte)
03:46
Add the "PRAGMA cell_size_check=ON" command. (Closed-Leaf check-in: 2ead43f074 user: drh tags: cell-size-check-pragma)