SQLite

Timeline
Login

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

728 check-ins using file tool/mkpragmatab.tcl version 84af2b18

2019-09-03
19:29
Fix a buffer overread that could occur when running fts5 prefix queries inside a transaction. (Leaf check-in: b584fd36 user: dan tags: branch-3.9)
17:39
Disable the undocumented rtreenode() SQL function that is only used for testing, except when doing a build that is specifically intended for testing. (check-in: 7b4583f9 user: drh tags: branch-3.9)
2018-12-19
16:03
Add 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. Cherrypick from commit [8201f4e1] on branch-3.18. (check-in: 4cb67252 user: dan tags: branch-3.9)
01:57
Add extra defenses against strategically corrupt databases to fts3/4. (check-in: 882ef4e3 user: drh tags: branch-3.9)
2018-02-02
16:46
Enable the ".wheretrace" and ".selecttrace" options in the shell when configure is run using --enable-debug. This mirrors a similar change that has already occurred on trunk. (Leaf check-in: c4f798b2 user: drh tags: branch-3.9.2)
2017-07-21
07:45
Add new interfaces sqlite3_result_pointer(), and sqlite3_value_pointer() and use them to transfer the eponymous FTS3 column pointer to the snippet() and offsets() routines. This changes is a cherry-pick of [f0f49224] with version-specific edits. That check-in was inspired by check-in [72de49f2]. (check-in: 69906880 user: drh tags: branch-3.9.2)
2016-03-31
21:36
Version 3.9.3 (check-in: dfbfd34b user: drh tags: release, branch-3.9, version-3.9.3)
21:16
Enhance the query planner so that IS and IS NULL operators are able to drive an index on a LEFT OUTER JOIN. (check-in: f1e6bb95 user: drh tags: branch-3.9)
2015-11-23
17:10
Fix ORDER BY handling in the schemalint.tcl script. Add internal self-tests to the same script. (check-in: b8f277c9 user: dan tags: schemalint)
2015-11-20
20:55
Add support for ORDER BY clauses to schemalint.tcl. (check-in: 93bdf70e user: dan tags: schemalint)
2015-11-12
15:04
Fix a #define in parse.y that disabled unused code in the generated parser. (check-in: f84e3085 user: drh tags: trunk)
2015-11-11
18:43
Fix missing word in a documentation comment. No changes to code. (check-in: ed24d302 user: mistachkin tags: trunk)
18:08
Add a hack to debug out a description of the WHERE clause of a SELECT (or other) statement. Use this in script tool/schemalint.tcl to automatically recommend indexes that might speed up specific queries. (check-in: c6fa01c2 user: dan tags: schemalint)
15:28
Improvements to the SQLITE_CONFIG_PAGECACHE documentation. Enhance the command-line shell to be able to take advantage of the full range of SQLITE_CONFIG_PAGECACHE capabilities, such as setting pMem==NULL and N<0. (check-in: 2518d5c9 user: drh tags: trunk)
2015-11-10
14:51
Improved output formatting for "PRAGMA parser_trace=ON;". (check-in: e43e1171 user: drh tags: trunk)
14:27
Make the output of "PRAGMA parser_trace" go to stdout instead of stderr. (check-in: 1e484991 user: drh tags: trunk)
13:45
Save a few bytes in the parser by using "int" instead of "u8" or "u16" for all small integer types. (check-in: 5dcd212b user: drh tags: trunk)
12:41
Change all parsers to use the standard "lempar.c" template in the tool/ folder and remove the customized lempar.c from src/, plus other compiler performance and space enhancements. (check-in: 0e7fb24a user: drh tags: trunk)
12:31
Fix harmless compiler warnings in FTS5. (Closed-Leaf check-in: 09752e51 user: drh tags: parser-enhancements)
03:30
Performance enhancement to the tokenizer. (check-in: 6ea2df86 user: drh tags: parser-enhancements)
00:02
Remove an unused non-terminal from the grammar. (check-in: 3c37c522 user: drh tags: parser-enhancements)
2015-11-09
19:35
Fix a comment typo in the lempar.c template that was missed by the prior check-in. (check-in: c4a7e93f user: drh tags: parser-enhancements)
19:33
Change the parser to use the standard "lempar.c" template over in the tool/ folder rather than the customized "lempar.c" found in src/. (check-in: 0a72991f user: drh tags: parser-enhancements)
15:06
Avoid recursion in the yy_find_shift_action() routine of the Lemon-generated parser, so that routine can be inlined, for a size reduction and performance increase. (check-in: 0557a179 user: drh tags: trunk)
14:11
Size reduction and performance improvement in the stack-popping logic of the Lemon-generated parser. (check-in: 9748c48a user: drh tags: trunk)
12:47
Fix incorrect WHERE clause in sqldiff, as reported on the mailing list by Youcef Hilem. (check-in: e0ed4c3e user: drh tags: trunk)
12:44
Check in the cg_anno.tcl and run-speed-test.sh scripts, as an historical record. (check-in: 836418d3 user: drh tags: trunk)
12:33
Avoid unnecessary function prologues in the sqlite3VdbeAddOp3() routine. (check-in: 7c6a19ba user: drh tags: trunk)
02:08
Small size reduction and performance increase in the parser. (check-in: d62cd757 user: drh tags: trunk)
2015-11-07
18:32
Enhance the sqldiff utility to deal gracefully with ALTER TABLE ADD COLUMN. (check-in: 7ea036ac user: drh tags: trunk)
18:07
Fix a bug in CTE handling discovered by LibFuzzer that can cause an infinite loop in the query planner. (check-in: 088009ef user: dan tags: trunk)
17:51
Add test cases for WITH clauses. (Closed-Leaf check-in: e7e65c75 user: dan tags: infinite-with-loop-bug)
17:48
Proposed fix for an infinite loop bug in the WITH clause semantic analysis logic. (check-in: 028475cb user: drh tags: infinite-with-loop-bug)
15:19
Enhance TreeView to show WITH clauses. Add an assert to detect the infinite loop behavior when certain kinds of errors occur on a nested WITH clause. (check-in: 2040d88e user: drh tags: infinite-with-loop-bug)
01:57
Merge recent enhancements and fixes from trunk. (check-in: 5429f99b user: drh tags: apple-osx)
01:33
Merge recent enhancements and bug fixes from trunk. (check-in: 78bc42e6 user: drh tags: sessions)
01:19
The OPFLAG_SEEKEQ optimization is only applicable to equality comparisons against an index, not against a rowid table. (check-in: 0f5b147d user: drh tags: trunk)
00:51
Fix a harmless sanitizer warning in the ieee754 extension. (check-in: dd9a26ec user: drh tags: trunk)
2015-11-06
20:22
Avoid an unnecessary key comparison when doing an indexed lookup against an equality constraint. (check-in: d741e1cc user: drh tags: trunk)
20:13
Work around a sign-extension bug in the optimizer on the HP C compiler that comes with HP/UX. (check-in: 46c36b15 user: drh tags: trunk)
20:04
Test changes: Omit numindex1.test from valgrind, since valgrind uses a none-standard floating-point processor which gives inconsistent answers. Run one releasetest.tcl module using LONGDOUBLE_TYPE=double. (check-in: d421efbf user: drh tags: trunk)
19:53
Enforce consistent comparison results between integer and floating point values. Fix for ticket [38a97a87a6e4e83]. (check-in: 849e686d user: drh tags: trunk)
17:59
Merge the fixes and tests for the ieee754 extension. (Closed-Leaf check-in: 7a9988d3 user: drh tags: int-float-precision)
17:28
A proposed patch for working around a bug in the optimizer for the HP compiler found on HP/UX Itanium. (Closed-Leaf check-in: 8a171548 user: drh tags: hp-optimizer-fix)
17:01
Test cases for the ieee754 extension. (check-in: 840cbda8 user: drh tags: trunk)
14:59
A different approach to handling integer/float comparisons. This seems to work better on systems where "long double" and "double" are the same type, but still needs refinement and testing. (check-in: a3f7614b user: drh tags: int-float-precision)
12:50
Have fts5 load its configuration from the xConnect() method is invoked. This ensures that the very first query run uses the correct value of the 'rank' option. (check-in: 33e6606f user: dan tags: trunk)
04:14
More test cases for indexes on large numeric values. (check-in: c220741a user: drh tags: int-float-precision)
03:37
Some simple test cases from the mailing list. (check-in: 1d642b73 user: drh tags: int-float-precision)
01:04
Increase the precision of integer vs. floating-point comparisons. Candidate fix for ticket [38a97a87a6e4e8]. (check-in: cfcaa0ff user: drh tags: int-float-precision)
2015-11-05
22:30
Improvements and simplifications to the equality seek logic. Tests are adjusted so that they all pass now. (Closed-Leaf check-in: 997ce6c9 user: drh tags: seekeq-experiment)
21:49
Fix typo in help information for an FTS5 script. (check-in: 777ae800 user: mistachkin tags: trunk)
20:25
The top of an index equality loop normally starts with OP_SeekGE and OP_IdxGT. This check-in adds a flag to OP_SeekGE such that it fails immediately if the key is not equal, then jumps over the OP_IdxGT, saving a call to the key comparison functions. Consider this check-in a proof-of-concept. It needs improvement before going on trunk. Some tests fail, but only because they new use fewer key comparisons than expected (which is a good thing!). (check-in: 32e31b9b user: drh tags: seekeq-experiment)
18:09
Add the 'hashsize' configuration option to fts5, for configuring the amount of memory allocated to the in-memory hash table while writing. (check-in: 44548009 user: dan tags: trunk)
11:47
Remove a #pragma used to work around an issues with MSVC 2012 that has been overcome but subsequent changes. (check-in: 8303e4cf user: drh tags: trunk)
03:26
Remove #pragma that was used to work around an obsolete issue with MSVC 2012. (Closed-Leaf check-in: b9b22fae user: mistachkin tags: reoptimizeArm)
2015-11-04
22:31
Performance improvements in the getAndInitPage() routine of btree.c. (check-in: 2aa50f6f user: drh tags: trunk)
20:22
Rename the sqlite3PagerAcquire() function to sqlite3PagerGet(). The former macro called sqlite3PagerGet() has been removed. (check-in: 708253be user: drh tags: trunk)
16:34
In releasetest.tcl, run larger test first if --jobs is greater than 1. Run smaller tests cases first if --jobs is 1. (check-in: 3fece5d0 user: drh tags: trunk)
13:03
Exclude cffault.test and symlink.test from the (incompatible) inmemory_journal permutation. (check-in: 4f16e968 user: drh tags: trunk)
2015-11-03
23:39
Increase the fuzzcheck timeout when running valgrind. (check-in: a5816877 user: drh tags: trunk)
19:13
In 'e_uri.test', make sure all created test database files get deleted. (check-in: 40c4f4a6 user: mistachkin tags: trunk)
15:39
In the releasetest.tcl script, add the --progress option to cause the start of each subprocess to be shown. Otherwise, revert to the old-style display. Improvements to the handling of the --buildonly option. (check-in: d969792f user: drh tags: trunk)
15:16
In the releasetest.tcl script, show the --jobs object on the command-line summary. Report the time of each "starting:" event. Do not show errors on a --dryrun. (check-in: b7510777 user: drh tags: trunk)
14:49
Update the releasetest.tcl script so that it can run multiple tests in parallel in separate processes. (check-in: e3de8291 user: drh tags: trunk)
06:23
Further enhancement and a bit of cleanup. (Closed-Leaf check-in: 0d8b5978 user: mistachkin tags: mp-releasetest)
02:47
Use the native name for the MSVC makefile as well. (check-in: e457c615 user: mistachkin tags: mp-releasetest)
2015-11-02
23:29
Attempt to centralize and simplify the MSVC handling. (check-in: 4ae96d6d user: mistachkin tags: mp-releasetest)
23:21
Fix the backcompat.test module so that it does not try to compare against itself on windows. (check-in: f625bce8 user: drh tags: mp-releasetest)
21:05
Get things working better on Windows with MSVC. (check-in: 22cc3e6c user: mistachkin tags: mp-releasetest)
20:52
Fix the --dryrun option on the releasetest.tcl script. (check-in: e565e026 user: dan tags: mp-releasetest)
20:28
Fix releasetest.tcl so that it does not choke if a test fails so badly that there is no log file. Add the --jobs switch to the usage message. (check-in: 20e96f52 user: dan tags: mp-releasetest)
20:24
Fix releasetest.tcl so that output lines are less than 80 characters wide. (check-in: aef177fe user: dan tags: mp-releasetest)
18:57
Merge all recent enhancements and fixes from trunk. (check-in: 0546d1cd user: drh tags: sessions)
18:32
Add the "--jobs N" option to the releasetest.tcl script to allow tests to be run in parallel by N processes. N defaults to 1. (check-in: 3d29f912 user: dan tags: mp-releasetest)
18:31
Version 3.9.2 (check-in: bda77dda user: drh tags: release, branch-3.9, version-3.9.2)
15:10
Merge latest trunk changes, including the follow-symlinks functionality and 3.9.2 bugfixes, into this branch. (check-in: 447521d7 user: dan tags: apple-osx)
15:08
On unix, if a file is opened via a symlink, create, read and write journal and wal files based on the name of the actual db file, not the symlink. (check-in: 6d5ce3ed user: dan tags: trunk)
11:19
When creating an automatic-index on a sub-query, add a unique integer to the end of each index key to ensure the entire key is unique. Fix for [8a2adec1]. (check-in: c0c4b6b3 user: drh tags: branch-3.9)
11:10
Aborted releaset of 3.9.2. (check-in: c33a275b user: drh tags: branch-3.9)
2015-11-01
21:42
Increase the version number to 3.9.2. (check-in: 14bd4fbf user: drh tags: branch-3.9)
21:35
If a table-constraint PRIMARY KEY lists a single column in single-quotes and that column has type INTEGER, then make that column an integer primary key, for historical compatibility. Fix for ticket [ac661962a2aeab3c331]. (check-in: dab0e607 user: drh tags: branch-3.9)
21:19
If a table-constraint PRIMARY KEY lists a single column in single-quotes and that column has type INTEGER, then make that column an integer primary key, for historical compatibility. Fix for ticket [ac661962a2aeab3c331]. (check-in: db319a03 user: drh tags: trunk)
2015-10-31
17:58
On unix, if a file is opened via a symlink, create, read and write journal and wal files based on the name of the actual db file, not the symlink. (Closed-Leaf check-in: c7c81050 user: dan tags: follow-symlinks)
2015-10-30
20:54
Add mutex operations to test code in test3.c to avoid triggering assert() failures in certain configurations. (check-in: 9f19420b user: dan tags: trunk)
17:17
Merge the sqlite3_db_cacheflush() enhancements and other changes from trunk. (check-in: f2cde4cf user: drh tags: begin-concurrent)
16:50
Merge all the latest enhancements from trunk. (check-in: 395a153f user: drh tags: sessions)
16:37
Merge the 3.10.0 version number update from trunk. (check-in: 980d6207 user: drh tags: apple-osx)
16:36
Increase the version number to 3.10.0, due to the addition of the sqlite3_db_cacheflush() interface. (check-in: 7565b046 user: drh tags: trunk)
16:23
Merge latest trunk changes, including sqlite3_db_cacheflush(), with this branch. (check-in: 6e4306ef user: dan tags: apple-osx)
16:14
Add new API function sqlite3_db_cacheflush(). (check-in: ad80d307 user: dan tags: trunk)
14:28
Return immediately if sqlite3PagerWrite() is called when the pager is in PAGER_ERROR state. (Closed-Leaf check-in: a6695b00 user: dan tags: cacheflush)
14:25
Add the --enable-editline option to various autoconf scripts. (check-in: 866f0277 user: drh tags: trunk)
09:13
Test that calling sqlite3_db_cacheflush() does not interfere with savepoints. (check-in: 0e09e4a2 user: dan tags: cacheflush)
2015-10-29
21:11
Do not attempt to flush the pages of an in-memory database to disk if sqlite3_db_cacheflush() is called. (check-in: 9b79a390 user: dan tags: cacheflush)
20:57
Add a test case that calls sqlite3_db_cacheflush() on an in-memory database. (check-in: f0cdfb54 user: dan tags: cacheflush)
18:16
Avoid automatically rolling back the transaction if an SQLITE_IOERR or SQLITE_FULL error occurs within sqlite3_db_cacheflush(). (check-in: 370b5d52 user: dan tags: cacheflush)
14:29
The optimization on this branch is logically incorrect. It changes the return value of "SELECT 0 OR 'xyzzy'" FROM 0 to 'xyzzy'. (Closed-Leaf check-in: a0c08d26 user: drh tags: simplify-or-clause)
13:48
Fix uses of ctype functions (ex: isspace()) on signed characters in test programs and in some obscure extensions. No changes to the core. (check-in: 34eb6911 user: drh tags: trunk)
12:27
Apply optimizations to simplify OR clauses that contain constant terms. (check-in: d533e23f user: drh tags: simplify-or-clause)
01:11
Enhance comments in the MSVC batch build tool. (check-in: 2964ce25 user: mistachkin tags: trunk)
2015-10-28
20:01
Make the internal sqlite3PExpr() interface responsive to the TKFLG_DONTFOLD flag on the operator parameter. (check-in: b10ab59f user: drh tags: trunk)
19:46
Add experimental API sqlite3_db_cacheflush(). (check-in: 65b86dc1 user: dan tags: cacheflush)
16:05
Factor out adding NOT expression nodes in the parser into a subroutine. (check-in: 00185418 user: drh tags: trunk)
2015-10-27
20:04
Have contentless and external content fts5 tables ignore "OR REPLACE" conflict handling. (check-in: a85c2a47 user: dan tags: trunk)
17:48
Fix problems with prefix queries in fts5. (check-in: 3b5758c6 user: dan tags: trunk)
13:35
Provide hints to the storage engine using the sqlite3BtreeCursorHint() interface when compiling with SQLITE_ENABLE_CURSOR_HINTS. (check-in: 45d3539e user: drh tags: trunk)
13:24
Split out sqlite3BtreeCursorHintFlags() from sqlite3BtreeCursorHint() the interface for improved performance. (Closed-Leaf check-in: b3ec9a0d user: drh tags: cursor-hints)
2015-10-26
20:50
Merge latest trunk changes, including the SQLITE_IOERR_AUTH error code, with this branch. (check-in: bc195e1c user: dan tags: apple-osx)
20:39
Add new extended error code SQLITE_IOERR_AUTH. (check-in: b4e70dd0 user: dan tags: trunk)
20:11
Merge the BTREE_FORDELETE enhancement with this branch. (check-in: 20da0849 user: dan tags: cursor-hints)
18:51
Merge in all trunk changes prior to the BTREE_FORDELETE enhancement. (check-in: 53d5a4ad user: drh tags: cursor-hints)
18:01
Capture BTREE_FORDELETE test cases that were mistakenly omitted from the previous merge. (check-in: de697251 user: drh tags: trunk)
17:50
Provide the BTREE_FORDELETE flag to sqlite3BtreeCursor() if the cursor will be used only for deletions and seeking. (check-in: 871b1c78 user: drh tags: trunk)
16:34
Fix an uninitialized variable problem in the test code added by the previous commit. (Closed-Leaf check-in: 7849662e user: dan tags: btree-fordelete-flag)
16:31
Test that the binary record "0x01 0x00" is interpreted by OP_Column as a vector of NULL (or default) values. (check-in: 5bdc3c82 user: dan tags: btree-fordelete-flag)
14:54
Fix a C99-ism and a harmless compiler warning. (check-in: 138783b5 user: drh tags: trunk)
14:41
When compiling with SQLITE_HAS_CODEC, honor the hexkey= query parameter on URI pathnames in sqlite3_open_v2(). (check-in: e0ce3fc0 user: drh tags: trunk)
12:55
Remove an unreachable branch in malloc.c. (check-in: a36b7fe9 user: drh tags: trunk)
2015-10-24
20:31
When creating an automatic-index on a sub-query, add a unique integer to the end of each index key to ensure the entire key is unique. Fix for [8a2adec1]. (check-in: bfea226d user: dan tags: trunk)
2015-10-23
11:50
Remove an unused #define from whereInt.h. Add comments describing the new sqlite3BtreeCursor() flags. (check-in: 4c0ba8be user: dan tags: btree-fordelete-flag)
2015-10-22
20:54
Modifications to pass a flag to internal routine sqlite3BtreeCursor() when a cursor that is used solely for deleting b-tree entries, or for obtaining the components of keys to delete from other b-trees, is opened. (check-in: cdc92919 user: dan tags: btree-fordelete-flag)
18:06
Alternate compiler warning fix for sqlite3StatusHighwater. (check-in: 4315d202 user: mistachkin tags: trunk)
2015-10-21
22:08
Fix harmless compiler warnings in FTS5. (check-in: aa4e01ea user: mistachkin tags: trunk)
22:07
Fix compilation of 'testfixture' with MSVC when the FTS5 and JSON1 extensions are enabled. (check-in: e31aa97a user: mistachkin tags: trunk)
20:56
Remove some branches made unreachable by recent changes from fts5. (check-in: ae350bfb user: dan tags: trunk)
20:07
Minor optimization for fts5 queries. (check-in: 363b36d5 user: dan tags: trunk)
08:26
Add extra debugging function to test_rbu.c. Enhance the documentation for sqlite3rbu_db() to define the validity of the returned database handles. (check-in: b9c4aa52 user: dan tags: trunk)
2015-10-20
23:40
Fix compiler warnings. (Closed-Leaf check-in: 12e869bb user: mistachkin tags: noWarn)
23:27
Fix harmless compiler warnings in FTS5. (check-in: 0a903ec2 user: mistachkin tags: trunk)
21:05
More optimizations for fts5 prefix queries. (check-in: b8fb263e user: dan tags: trunk)
19:55
Fix #line directives added to generated file fts5.c. (check-in: 1f5f5804 user: dan tags: trunk)
15:49
Initialize variables in the fts5 integrity-check code to avoid compiler warnings. (check-in: e979e2cc user: dan tags: trunk)
2015-10-19
20:49
Another optimization for fts5 prefix (and other) queries. (check-in: 60a8bde0 user: dan tags: trunk)
17:43
Another tweak to improve performance of fts5 prefix queries. (check-in: 69be427c user: dan tags: trunk)
15:59
Fix a problem in the fts5txt2db.tcl script causing it to fail when creating tables with more than 8 columns. (check-in: 68ee426a user: dan tags: trunk)
2015-10-17
20:34
Add tests to cover new branches added to the fts5 code by the previous commit. (check-in: cf618334 user: dan tags: trunk)
19:49
Handle equality and range constraints on the "term" column of fts5vocab tables. Also have the same module report columns using names instead of indexes. (check-in: 6020d96a user: dan tags: trunk)
01:00
Change the code generator for UPDATE to generate code in an order that might run more efficiently in many cases. (Leaf check-in: c6239bf9 user: drh tags: improved-update)
2015-10-16
23:55
Fix a comment in expr.c and add a CORRUPT_DB to an assert() in btree.c. (check-in: 0df371d1 user: drh tags: trunk)
20:55
Merge the 3.9.1 updates from trunk. (check-in: bf866e6c user: drh tags: begin-concurrent)
20:53
Merge recent enhancements from trunk. Version now 3.9.1. (check-in: 26fa091d user: drh tags: cursor-hints)
20:52
Merge the 3.9.1 changes. (check-in: dd07688d user: drh tags: apple-osx)
20:20
Merge the version 3.9.1 updates. (check-in: 2bbb9595 user: drh tags: sessions)
20:13
Enhancements to the MSVC makefile. (check-in: 39e8a5d9 user: mistachkin tags: trunk)
20:12
Merge the 3.9.1 changes into trunk. (This only updates the version number and configure script since all the other changes in 3.9.1 were cherrypicked from trunk.) (check-in: eb231742 user: drh tags: trunk)
17:31
Version 3.9.1 (check-in: 767c1727 user: drh tags: release, branch-3.9, version-3.9.1)
15:56
Cherrypick the json form-feed fix, and other #ifdef and build script changes to address minor issues that came to light after the 3.9.0 release. Update the version number to 3.9.1. No logic changes except for the form-feed bug-fix in json1 (ticket [57eec374ae1d0a1d4a]). (check-in: 746fcd2f user: drh tags: branch-3.9)
15:42
Fix the fuzzershell utility program so that it compiles with the amalgamation that includes JSON1 support. (check-in: d6fc616e user: drh tags: trunk)
15:35
Fix the JSON1 extension so that it does not depend on isdigit() and strtod() from the standard library when compiled into SQLite as part of the amalgamation. (check-in: bc9a9a60 user: drh tags: trunk)
15:16
Form-feed is not valid whitespace for json. Fix for ticket [57eec374ae1d0a1d] (check-in: 28957d63 user: drh tags: trunk)
14:54
Have the sqlite3VdbeSerialType() function go ahead and compute the serial length as well, since it is always needed. This avoids unnecessary calls to sqlite3VdbeSerialTypeLen(). (check-in: 2ad72be1 user: drh tags: trunk)
14:23
Use a lookup table to compute the content length for serial types less than 128, for a 1.2% performance improvement. (check-in: 33957248 user: drh tags: trunk)
13:50
Simplify the OP_Column logic slightly. One very small performance improvement added. (check-in: 0114b45d user: drh tags: trunk)
12:53
OP_Column optimization: Do not check for an oversize row header unless the row header size is larger than the content available on the local page. (check-in: 8125b74c user: drh tags: trunk)
12:39
Improved header comment on the tool/vdbe_profile.tcl script. No changes to code. (check-in: b17ad8fc user: drh tags: trunk)
03:34
Whenever two or more OP_Column opcodes on the same cursor occur in succession, try to reordering them so that the one that extracts the right-most column is first, so that it will warm up the row cache for all those that follow. This gives a small performance boost. (Leaf check-in: 08e8f04d user: drh tags: reorder-column-opcodes)
2015-10-15
21:30
Performance optimization for the OP_Column opcode. (check-in: 076be547 user: drh tags: trunk)
21:13
Merge updates from trunk. (Leaf check-in: 40493680 user: mistachkin tags: mutexInitIsInitReCheck)
21:12
Merge updates from trunk. (Leaf check-in: a447cf90 user: mistachkin tags: mutexInitSimpleCmpSwap)
20:17
Experiments with an OP_Unpack opcode that extracts multiple columns from a record without caching. (Leaf check-in: 39ae92f5 user: drh tags: unpack-opcode)
19:21
Enhance the use of the column cache for UPDATE statements, making them more efficient for the case where a column is modified to be an expression of other unmodified columns. (check-in: 871e091d user: drh tags: trunk)
18:04
Add the OP_IntCopy opcode - an optimized version of OP_SCopy that only works for integer values. (check-in: 3a2f73a4 user: drh tags: trunk)
17:31
Optimization to the out2Prerelease() helper routine in the VDBE engine. (check-in: 79298fe8 user: drh tags: trunk)
17:21
Remove a superfluous conditional from the memory allocation initialization. (check-in: 9ccf8f8d user: drh tags: trunk)
16:20
Performance optimizations to the sqlite3MallocSize() by requiring the argument to always be non-NULL. (check-in: cb65989b user: drh tags: trunk)
15:28
Change sqlite3StatusSet() into sqlite3StatusHighwater() so that only the highwater mark is recorded. This gives a small size reduction and performance improvement. (check-in: 6422d223 user: drh tags: trunk)
12:06
Make sure sqlite.h is not #included by itself. (check-in: a61880c2 user: drh tags: trunk)
07:44
Merge in the 3.9.0 changes from trunk. (check-in: 5c3a2a6e user: drh tags: begin-concurrent)
2015-10-14
23:04
In the MSVC makefile, add LIBTCLPATH variable to make it easier to run tests when the Tcl library is not already present in the PATH. (check-in: 54127602 user: mistachkin tags: trunk)
22:46
In the MSVC makefile, make sure LDFLAGS is used for the tool executables as well. (check-in: 0a17ee49 user: mistachkin tags: trunk)
21:08
Tests and minor fixes to improve coverage of FTS5 code. (check-in: f4de6d45 user: dan tags: trunk)
20:34
Fix harmless compiler warnings. (check-in: 1c46c194 user: mistachkin tags: trunk)
20:09
Merge in all the 3.9.0 updates from trunk. (check-in: 29444149 user: drh tags: cursor-hints)
20:03
Update makefiles to remove all uses of "awk" - to make building SQLite easier on Windows systems. The only requirements now are tclsh, a C compiler, and common file utilities. (check-in: 4bd0d43d user: drh tags: trunk)
20:01
Enable cross-compiling the various tool EXEs with MSVC. (check-in: 7d772333 user: mistachkin tags: trunk)
19:52
Fixes to the JSON1 extension and its use by fuzzcheck to avoid problems when building DLLs. (check-in: 01d3ee7b user: drh tags: trunk)
19:44
Fix fuzzcheck.c so that it assumes that JSON1 is already compiled in and does not need to be initialized further. (Closed-Leaf check-in: ec003958 user: drh tags: dll-build-fix)
18:45
Avoid exporting sqlite3_json_init() from amalgamation builds. (check-in: 8463f7e7 user: dan tags: dll-build-fix)
12:29
Version 3.9.0 (check-in: a721fc0d user: drh tags: trunk, release, version-3.9.0)
10:56
Add the missing 'extern "C" {...}' blocks to fts5.h and sqlite3rbu.h. (check-in: 47a2ce97 user: dan tags: trunk)
2015-10-13
20:42
Merge in the final few changes before the 3.9.0 release. (check-in: e1afdbb5 user: drh tags: sessions)
17:49
Merge 3.9.0 prerelease changes into the apple-osx branch. (check-in: 1900ce01 user: drh tags: apple-osx)
2015-10-12
22:31
Remove the unused fts5ExprColsetTest() routine. (check-in: 9ecafc0c user: drh tags: trunk)
22:20
Fix a couple harmless compiler warnings. (check-in: 7f896a97 user: mistachkin tags: trunk)
19:12
Further tweaks to improve fts5 prefix query performance. (check-in: 1c20c1c2 user: dan tags: trunk)
04:56
Change all references to 3.8.12 into 3.9.0. Comment changes only - no changes to code. (check-in: 6f2858f6 user: drh tags: trunk)
03:56
Remove AWK requirement from the MSVC batch build tool. (Closed-Leaf check-in: 6d9cdb93 user: mistachkin tags: omit-awk)
03:44
The TclKit batch tool should not download the TclKit SDK when the TCLKIT_NOSDK environment variable is set. (check-in: 7c5d583b user: mistachkin tags: omit-awk)
2015-10-11
20:39
Detect and report circularly defined views even if the views have the columns defined in the CREATE VIEW statement. (check-in: 9ab9c8c6 user: drh tags: trunk)
20:08
Remove an unreachable branch in the query flattener substitution logic. (check-in: 46ee3453 user: drh tags: trunk)
19:46
Improved substitution logic in the query flattener. Saves code space, and (more importantly) works correctly with table-valued functions. (check-in: 3d0bd95e user: drh tags: trunk)
2015-10-10
23:39
Enhance TclKit batch tool (and MSVC makefile) to support targets that require the Tcl stub library. (check-in: bc6223b1 user: mistachkin tags: omit-awk)
20:35
Pull in the latest 3.9.0 tweaks from trunk. (check-in: ed174ccf user: drh tags: sessions)
16:41
Work around a "security feature" bug in memcpy() on OpenBSD. (check-in: fab6f090 user: drh tags: trunk)
15:57
Remove another instance of strcpy() from FTS5, to mollify OpenBSD. (check-in: 35e6248a user: drh tags: trunk)
15:11
Omit the use of strcpy() in FTS5 since OpenBSD hates strcpy(). (check-in: bc24a5bb user: drh tags: trunk)
14:41
Compiler warning fixes: Rename some local variables from "j1" to avoid a name collision with the j1() bessel function in the math library. Omit a dummy initializer that gcc 4.6.3 does not like. (check-in: 9ddef84d user: drh tags: trunk)
14:00
Add some #ifdef-ery to json1.c to avoid a duplicate typedef when used in the amalgamation, since some compilers become upset over duplicate typedefs. (check-in: de28acd4 user: drh tags: trunk)
02:06
Remove a couple superfluous double quotes in the MSVC makefile. (check-in: 0f9e205b user: mistachkin tags: omit-awk)
01:55
Fix typo in the MSVC makefile. Replace remaining uses of AWK in the MSVC makefile with a Tcl script. (check-in: f8c2193b user: mistachkin tags: omit-awk)
00:53
More fine-tuning to the new TclKit tools. (check-in: 43addd8a user: mistachkin tags: omit-awk)
2015-10-09
20:40
The previous fix to JSON1 was not complete. A few more tweaks are needed for correct handling of all oversized integers. (check-in: 4a47f017 user: drh tags: trunk)
18:48
Tweak batch tool added in the previous check-in to permit the base URI to be overridden. (check-in: 1d2f82df user: mistachkin tags: omit-awk)
18:21
Fix the JSON1 extension so that it renders integers outside the range of -9223372036854775808 to +9223372036854775807 as floating-point numbers. (check-in: ae736e35 user: drh tags: trunk)
17:54
Remove fts5 sources from TESTSRC2 in main.mk as there is no SQLITE_TEST code in said files. (check-in: c1840639 user: dan tags: trunk)
17:36
Add tool capable of downloading a TclKit (and its associated SDK) on Windows. (check-in: 50673dda user: mistachkin tags: omit-awk)
17:28
Merge all changes through the first 3.9.0 beta from trunk. (check-in: 1ccae39b user: drh tags: apple-osx)
15:29
Merge the version 3.9.0 changes and the incorporation of JSON1 and FTS5 into the amalgamation from trunk. (check-in: c1d96fb6 user: drh tags: sessions)
14:37
Add --enable-fts5 and --enable-json1 options to the amalgamation autoconf package. (check-in: 8a4e1988 user: dan tags: trunk)
14:23
In the MSVC makefile, adjust the names of two nmake variables for consistency. (check-in: 92aa4b6b user: mistachkin tags: trunk)
13:42
Change the version number of the next release to 3.9.0. (check-in: aa8fdadf user: drh tags: trunk)
13:39
Add the JSON1 and FTS5 extensions to the amalgamation. Add new options to ./configure: --enable-json1 and --enable-fts5. (check-in: 1eb76993 user: drh tags: trunk)
13:29
Fix a typo in the MSVC Makefile (Closed-Leaf check-in: c8a12082 user: drh tags: amalg-json1-fts5)
12:48
Add configure script options --enable-fts5 and --enable-json1. Automatically search for -lm when using --enable-fts5. (check-in: a0c44f1d user: drh tags: amalg-json1-fts5)
11:09
Makefile and fts5 changes so that fts5 works with main.mk. Still does not work with Makefile.in. (check-in: 6ebac32d user: dan tags: amalg-json1-fts5)
01:42
Trying to get FTS5 tests to build and run using main.mk. Not yet working. (check-in: 206174f9 user: drh tags: amalg-json1-fts5)
2015-10-08
23:37
Json1 tests are working. Builds without FTS5 enabled. Still some problems building with FTS5. (check-in: 2928f8e8 user: drh tags: amalg-json1-fts5)
21:02
Remove calls to "load_static_extension" from fts5 test scripts. (check-in: 53dd7c4c user: dan tags: amalg-json1-fts5)
21:00
Further tweaks to main.mk so that fts5 builds as part of testfixture. (check-in: 97e11b79 user: dan tags: amalg-json1-fts5)
20:40
Fix further fts5 compilation issues. (check-in: 0d7f301f user: dan tags: amalg-json1-fts5)
20:28
Fix two more warnings in fts5 code. (check-in: 5343e601 user: dan tags: amalg-json1-fts5)
20:11
Fix a couple of errors in fts5 compilation. This branch still does not build with -Wall -Werror. (check-in: e9e76e12 user: dan tags: amalg-json1-fts5)
19:29
First attempt to add json1 and fts5 to the amalgamation. This check-in does not compile. (check-in: d820a1bd user: drh tags: amalg-json1-fts5)
17:35
In the RBU extension, use MoveFile() instead of rename() on Windows CE. (check-in: df9ef61f user: mistachkin tags: trunk)
14:55
Merge the 3.8.12 beta changes from trunk. (check-in: 35b1b8d4 user: drh tags: sessions)
02:44
Remove two unused lines of code - discovered by scan-build. (check-in: 77b707b7 user: drh tags: trunk)
2015-10-07
19:06
Further optimizations for fts5 prefix queries without a prefix index. (check-in: 83dc1ff7 user: dan tags: trunk)
17:06
Fix harmless compiler warning in FTS5. (check-in: 13adcd03 user: mistachkin tags: trunk)
17:01
Allow the subsitute character (codepoint 26 - 0x1A) to appear in fts5 barewords. (check-in: baec1b96 user: dan tags: trunk)
16:14
Adjustments to spellfix2.test so that it works reliably on mac. (check-in: d591e860 user: drh tags: trunk)
13:24
Add tests for fts5 phrase queries with column filters. (check-in: f20f9f81 user: dan tags: trunk)
12:36
Convert the tool/tostr.awk script into tool/tostr.tcl. Remove two obsolete Makefiles. Purge NAWK from the configure script and from unix makefiles. There are still two uses of NAWK in Makefile.msc. (check-in: 5b677521 user: drh tags: omit-awk)
12:21
Change the addopcodes.awk script into tool/addopcodes.tcl. (check-in: 8bbf3714 user: drh tags: omit-awk)
12:11
Convert the mkopcodec.awk script into tool/mkopcodec.tcl. (check-in: 1506cb33 user: drh tags: omit-awk)
09:02
Add further tests for fts5 prefix queries. (check-in: accdc98b user: dan tags: trunk)
04:20
Fix a typo in the previous check-in. (check-in: 80027709 user: mistachkin tags: trunk)
03:07
When running tests on Tcl 8.6 under Windows, skip tests 'uri-1.12.*' due to a change in Tcl behavior related to NTFS ADS (alternate data streams). (check-in: 8a0a2aa5 user: mistachkin tags: trunk)
02:52
Change mkopcodeh.awk into tool/mkopcodeh.tcl. (check-in: ed0ebc46 user: drh tags: omit-awk)
00:35
Remove three obsolete and unused files from tool/ (check-in: 0abd6529 user: drh tags: trunk)
2015-10-06
21:49
Fix typo in comments. No changes to code. (check-in: a05f903c user: mistachkin tags: trunk)
21:07
Simplifications to the VDBE bytecode that handles LIMIT and OFFSET. (check-in: 041df7c2 user: drh tags: trunk)
20:53
Optimizations for fts5 expressions that filter on column. More still to come. (check-in: bf1607ac user: dan tags: trunk)
17:27
Fix the LIMIT and OFFSET handling for UNION ALL queries that contain a subquery with ORDER BY on the right-hand side. Fix for ticket [b65cb2c8d91f668584]. (check-in: 4b631364 user: drh tags: trunk)
01:44
Adjustments to sqlite3MemoryBarrier() when compiling with MSVC and/or WinCE. (check-in: 3168326e user: mistachkin tags: trunk)
2015-10-05
19:41
Improve performance of prefix queries without a prefix index on fts5 tables. (check-in: f2f0184e user: dan tags: trunk)
15:39
Update fts3 so that expressions to the left and right of a NOT operator are balanced. This prevents relatively small expressions (a dozen terms or so) that are children of NOT operators from triggering the "expression tree is too large" error. (check-in: d6b66cd7 user: dan tags: trunk)
11:57
Add fts5txt2db.tcl, a tool for creating sample fts4/5 databases from text files. (check-in: 44f1ce30 user: dan tags: trunk)
2015-10-03
15:38
Update fts5 to support the table function syntax. "... FROM fts5_tbl WHERE fts5_tbl MATCH ?1 AND rank MATCH ?1" can now be written "FROM fts5_tbl(?1, ?2)". (check-in: 41d17d9e user: dan tags: trunk)
12:23
Add tests for the rtree module to verify that attempts to insert non-integer primary key values or non-numeric dimensions into an rtree table are handled correctly. (check-in: f653fce9 user: dan tags: trunk)
2015-10-02
20:04
Update fts5 to avoid using a statement journal for UPDATE and DELETE operations that affect at most a single row. (check-in: 5c83b9db user: dan tags: trunk)
2015-10-01
18:31
Fix an fts3 bug causing NEAR queries on uncommitted data to malfunction. (check-in: 6f90839e user: dan tags: trunk)
16:35
Changes to the sesssions module ensure that tables appear within changesets and patchsets in the same order that they were attached to the sessions object. (check-in: 76958902 user: dan tags: sessions)
2015-09-30
14:50
Merge recent enhancements from trunk, and especially the fix for ticket [1b266395d6bc10]. (check-in: b2face9a user: drh tags: sessions)
14:30
Add a corrupt database to test/fuzzdata3.db to validate the previous check-in. (check-in: e796c0ef user: drh tags: trunk)
14:19
Fix an assert() in btree.c that is only true for non-corrupt databases. (check-in: 29f7227f user: drh tags: trunk)
12:59
Clear the BTCF_ValidNKey flag when putting a cursor into REQUIRESEEK state. Fix for [1b266395]. (check-in: a6d5e4e8 user: dan tags: trunk)
11:19
Improve error handling in shell command ".tables". (check-in: 31a91ee7 user: dan tags: trunk)
2015-09-29
17:51
This condition was not always true after all.....

Change an always-true condition in the virtual table transaction interface into an assert(). (Closed-Leaf check-in: 3e15dea5 user: drh tags: mistake)

17:20
Use symbolic names XN_ROWID and XN_EXPR in place of the (-1) and (-2) magic numbers in Index.aiColumn[]. Add asserts to help verify that Index.aiColumn[] is always used correctly. Fix one place in FK processing where Index.aiColumn[] was not being used correctly. (check-in: 7d272aa6 user: drh tags: trunk)
16:47
Add the sqlite3_index_info.idxFlags field, allowing xBestIndex() implementations to specify to SQLite that a strategy may visit at most one row. Add support for this to fts3/4. Omit the statement journal from virtual table UPDATE and DELETE operations that are guaranteed not to affect more than one row. (check-in: a1d08fd3 user: dan tags: trunk)
16:41
Ensure that the xSavepoint() virtual table method is correctly invoked if there are already open savepoints (or statement transactions) the first time a virtual table is written within a transaction. (check-in: 77948b5e user: dan tags: trunk)
15:50
Remove dead code, replacing with assert() statements that make sure the code really was dead. (Closed-Leaf check-in: 0e317dda user: drh tags: vtab-onepass)
13:25
Create the sqlite3IsToplevel(Parse*) interface to check to see if a top-level VDBE is being coded (versus a trigger) and use that interface. (check-in: 59662cd2 user: drh tags: vtab-onepass)
12:32
Fix compiler warnings. (check-in: d1a07838 user: drh tags: vtab-onepass)
12:19
Fix an off-by-one error in test function fts5_decode(). (check-in: 3a9f0762 user: dan tags: trunk)
11:59
Merge latest trunk change into this branch. (check-in: b519c0d6 user: dan tags: vtab-onepass)
11:57
Change the name of the new sqlite3_index_info.flags field to "idxFlags". Add documentation for the same to sqlite.h.in. (check-in: f61203bc user: dan tags: vtab-onepass)
10:11
Add tests for fts3 and onepass update/delete operations. Also fix a problem with onepass updates that do not affect any rows. (check-in: 820c8044 user: dan tags: vtab-onepass)
2015-09-28
23:45
Avoid unnecessary cursors and seeking when running a DELETE against a WITHOUT ROWID table. (Leaf check-in: 70ec88b2 user: drh tags: delete-without-rowid-opt)
20:03
Also allow UPDATE on virtual tables to use the onepass strategy. (check-in: 1aa27d70 user: dan tags: vtab-onepass)
17:05
Extra information provided by .wheretrace on input flags to the query planner and on the result of sqlite3WhereOkOnePass(). (check-in: c5566bb3 user: drh tags: trunk)
15:23
Update fts3 to use the onepass strategy for delete operations. (check-in: fffab4f7 user: dan tags: vtab-onepass)
15:20
Changes to allow DELETE operations on virtual tables to use the onepass strategy under some circumstances. (check-in: e73f919f user: dan tags: vtab-onepass)
15:08
Add test cases to the ONEPASS optimization corruption problem fixed by the previous check-in. (check-in: 5c14d447 user: drh tags: trunk)
14:40
Fix a database corruption bug caused by the ONEPASS optimization added in check-in [8b93cc5937000535]. Bug detected (prior to release) by sqllogictest. Test cases to follow. (check-in: 9d057f52 user: drh tags: trunk)
2015-09-26
17:44
Enable adding JSON1 by appending the json1.c source file to the amalgamation and compiling with -DSQLITE_ENABLE_JSON1 (check-in: 33404b20 user: drh tags: trunk)
11:15
Fix a memory leak that can occur following a syntax error in CREATE VIEW. (check-in: f4704035 user: drh tags: trunk)
03:31
Fix the title of the documentation on sqlite3_value_subtype(). This is a comment change only. (check-in: b7902354 user: drh tags: trunk)
03:23
Expand the header comment to clarify the purpose for the sqlite3MemoryBarrier() function. (check-in: b89495ae user: drh tags: trunk)
01:28
Remove an assert in the windows worker-thread logic that can fail in a race condition. (check-in: d7bfb960 user: drh tags: trunk)
2015-09-25
23:40
Fix threads.c so that setting sqlite3FaultSim(200) using the SQLITE_TESTCTRL_FAULT_INSTALL callback causes both unix and windows worker threads to be sequential and deterministic, so that they can be tested reliably. (check-in: 2d867c05 user: drh tags: trunk)
20:49
Fix PRAGMA integrity_check so that it works with a UNIQUE index over expressions. (check-in: 113181ce user: drh tags: trunk)
20:18
Fix a faulty assert() on the benign-malloc controller callback in test_malloc.c. (Leaf check-in: 64f2cb8d user: drh tags: malloc-testing)
16:29
Disable the SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS mechanism and replace it with SQLITE_TESTCTRL_BENIGN_MALLOC_CTRL, which gives better control. (check-in: 2c57b2f3 user: drh tags: malloc-testing)
13:42
Report an error if the number of named columns in a VIEW is different from the number of result columns in the SELECT statement that implements the VIEW. (check-in: 6e4ac0be user: drh tags: trunk)
01:09
Fix a problem computing affinities for indexes during skip-scan code generation when SQLITE_ENABLE_STAT4 is on. Bug introduced by check-in [1ee089a72d789002]. (check-in: 1350dd42 user: drh tags: trunk)
2015-09-24
18:47
Enhance the query planner so that it is able to use indexed expressions to help fulfill an ORDER BY clause. (check-in: 668fc1eb user: drh tags: trunk)
17:38
Fix over-length source code lines in where.c. No logic changes. (check-in: 1c8c5380 user: drh tags: trunk)
15:17
Merge all recent trunk enhancements and fixes into the begin-concurrent branch. (check-in: c63c1e15 user: drh tags: begin-concurrent)
15:06
Merge trunk changes into the cursor-hints branch. (check-in: fbe63762 user: drh tags: cursor-hints)
14:43
Merge recent trunk enhancements into the apple-osx branch. (check-in: 4dd06d8b user: drh tags: apple-osx)
14:26
Merge all the latest trunk enhancements into the sessions branch. (check-in: c91065f8 user: drh tags: sessions)
12:40
Strengthen the implementations of xShmMemoryBarrier on both the unix and windows VFSes, so that they likely work even if SQLITE_THREADSAFE=0 is used. (check-in: c6ab807b user: drh tags: trunk)
12:19
Make sure joins work correctly when both sides of the join are connected using indexed expressions. (check-in: c2fcb032 user: drh tags: trunk)
11:26
Correctly handle the case of a WHERE-clause term with indexed expressions on both sides of the == sign. (check-in: d9b716a6 user: drh tags: trunk)
11:06
Fix a JSON1 test case so that it works on builds that omit virtual tables. (check-in: a4444c0f user: drh tags: trunk)
01:40
Another (smaller) performance optimization for the JSON parser. (check-in: c43daa8c user: drh tags: trunk)
01:06
Performance optimizations on the JSON parser. (check-in: 7dd4b07a user: drh tags: trunk)
2015-09-23
19:17
Take care that the number of reserved bits per page is consistent between the source and destination databases when doing the back-copy on a VACUUM. (check-in: 5b61b72f user: drh tags: trunk)
16:35
Merge updates from trunk. (check-in: 0a75ebd2 user: mistachkin tags: mutexInitIsInitReCheck)
16:33
Correct superfluous whitespace difference. No functional changes. (check-in: 8d69983d user: mistachkin tags: mutexInitSimpleCmpSwap)
16:24
Simplify thread-safety of mutex initialization. (check-in: da0587c5 user: mistachkin tags: mutexInitSimpleCmpSwap)
15:54
Merge updates from trunk. (Closed-Leaf check-in: 6b85f8cd user: mistachkin tags: mutexInitCmpSwap)
11:59
Capture AFL-generated fuzz tests for json1.c into the test/fuzzdata4.db file. (check-in: 10a214fd user: drh tags: trunk)
01:10
Do not allow a comma at the end of a JSON array or object. (check-in: 7c7a3f3e user: drh tags: trunk)
2015-09-22
18:51
Add the --export-sql and --export-db options to the fuzzcheck utility program. (check-in: 760af445 user: drh tags: trunk)
17:46
Fix a typo in the --help screen of the fuzzcheck utility. (check-in: b6ae61fe user: drh tags: trunk)
01:15
Futher simplifications to json1.c. Also an obscure bug-fix in the initial output of json_tree() when using a path to an object contained within an array. (check-in: fcb1e327 user: drh tags: trunk)
00:21
Fix json_set() so that it can overwrite a value that was previously overwritten during the same call. (check-in: 0f160416 user: drh tags: trunk)
2015-09-21
23:53
For MSVC, have the 'sqlite3.c' target depend on 'sqlite3ext.h' as well as other targets may depend on this behavior (e.g. extensions). (check-in: 737ac3fa user: mistachkin tags: trunk)
23:49
Fix compilation under older versions of MSVC. (check-in: 17150ada user: mistachkin tags: trunk)
22:53
Simplifications to the json1.c logic. (check-in: 1646a2bd user: drh tags: trunk)
2015-09-20
22:57
Fix an overly-strict assert() in the btree logic. (check-in: 825ce320 user: drh tags: trunk)
2015-09-19
20:27
Do not allow table-valued function syntax to be used on a view. (check-in: 97cfe346 user: drh tags: trunk)
19:36
Add the --disable-lookaside option to the fuzzershell utility program. (check-in: 0b043744 user: drh tags: trunk)
18:54
Fix a memory leak in json1.c that could occur after misuse of json_object(). (check-in: 394b81b1 user: drh tags: trunk)
18:11
Add an assert() statement to delete.c. (check-in: 40fce67e user: dan tags: trunk)
18:08
Fix compiler warnings. (check-in: 5c31ee62 user: drh tags: trunk)
16:51
Add json1.c to the fuzzer test shells. (check-in: 809d67b6 user: drh tags: trunk)
16:45
Adjust Makefiles to use SQLITE_CORE when statically linking json1.c into test shells. (Closed-Leaf check-in: 91682ac3 user: drh tags: json-fuzz)
14:57
Adjust fuzzershell so that it adds the json1 extension separately for each no connection. (check-in: ca2d1e90 user: drh tags: json-fuzz)
14:32
Include json1.c in fuzzcheck and fuzzershell. (check-in: c4b68eff user: drh tags: json-fuzz)
12:04
Fix a documentation typo in sqlite3_bind_parameter_index(). No code changes. (check-in: 650605a8 user: drh tags: trunk)
11:57
Fix an off-by-one error (really off-by-2 in this case) in the buffer resize logic of json1. (check-in: d2a02737 user: drh tags: trunk)
03:07
Do not allow rowid in a UNIQUE or PRIMARY KEY constraint. (This restores the same behavior exhibited by all prior releases.) (check-in: b1278301 user: drh tags: trunk)
2015-09-18
18:09
Fix a crash that can occur with a skip-scan on an index with expressions when SQLITE_ENABLE_EXPLAIN_COMMENTS is defined. (check-in: 25f34cb9 user: drh tags: trunk)
15:38
Adjustments to the spellfix2.test module so that it works reliably on windows. (check-in: 09a313fb user: drh tags: trunk)
15:35
Adjust two test cases so that they conform to the current code. (check-in: 228e3d7c user: drh tags: trunk)
15:13
Fix sqlilimits.test module so that it knows that the SELECT in a CREATE VIEW is not checked until the view is actually used. (check-in: acf5d87f user: drh tags: trunk)
14:45
Ensure that "PRAGMA integrity_check" reports an error if the free-list count header field contains a value smaller than the actual number of pages on the database free-list. (check-in: 26f64986 user: dan tags: trunk)
14:42
Fix the orderby9.test case so that it works with 32-bit versions of TCL (check-in: 4b6af774 user: drh tags: trunk)
14:22
Remove a test made obsolete by the ONEPASS DELETE optimization. (check-in: c88b62c2 user: drh tags: trunk)
2015-09-17
17:21
Avoid passing (signed char) values directly to isspace(), isalnum() or isdigit() in json1.c. Cast the value to (unsigned char) first. (check-in: 6713e35b user: dan tags: trunk)
09:48
Fix a crash in FTS5 caused by specifying NULL as the rhs of a MATCH operator. (check-in: e8ed62f8 user: dan tags: trunk)
2015-09-16
17:46
Add a "flush" to force incremental output to releasetest-out.txt while running the test/releasetest.tcl. script. (check-in: 0f3de2d3 user: drh tags: trunk)
12:31
Fix typo in fts5.h. (check-in: 07721c6c user: dan tags: trunk)
2015-09-15
19:16
Merge enhancements from trunk. (check-in: fc4d1de8 user: drh tags: begin-concurrent)
17:31
Merge enhancements from trunk. (check-in: 66fe0683 user: drh tags: cursor-hints)
17:20
Merge trunk enhancements into the apple-osx branch. (check-in: f12b8a0f user: drh tags: apple-osx)
15:55
Merge the latest trunk enhancements with this branch. (check-in: b7469c44 user: dan tags: sessions)
14:39
Add test cases to cover fts5 integrity-check code. (check-in: 1d018c35 user: dan tags: trunk)
13:42
Reformat some code to make it easier to merge with sessions. No logic changes. (check-in: eade355f user: drh tags: trunk)
11:58
Fix a problem with fts5 "ORDER BY rowid DESC" queries and large terms. (check-in: b26d8f79 user: dan tags: trunk)
2015-09-14
22:54
Remove a comment that is no longer accurate. (check-in: cf114c18 user: mistachkin tags: mutexInitIsInitReCheck)
22:53
Merge updates from trunk. (check-in: 25c15771 user: mistachkin tags: mutexInitIsInitReCheck)
22:52
Re-check sqlite3GlobalConfig.isInit after the mutex subsystem has been initialized. (check-in: fea8c0b2 user: mistachkin tags: mutexInitIsInitReCheck)
19:51
Improve test coverage of fts5_index.c. (check-in: c1f76686 user: dan tags: trunk)
19:26
Testability improvements for the ONEPASS_MULTI enhancement. (check-in: d2df93f2 user: drh tags: trunk)
14:49
Fix a typo in an SQLITE_USER_AUTHENTICATION macro. (check-in: 379455af user: drh tags: trunk)
14:45
Use symbolic names ONEPASS_OFF, ONEPASS_SINGLE, and ONEPASS_MULTI for the various modes of the one-pass optimization. (check-in: 16e56bda user: drh tags: trunk)
14:08
Fix a compiler warning and providing missing VdbeCoverage() calls. (check-in: 2edd2e5e user: drh tags: trunk)
11:09
Use a single-pass approach for DELETE statements on non-virtual tables that do not require trigger or foreign key processing. (check-in: 8b93cc59 user: dan tags: trunk)
10:47
Merge the latest trunk enhancements. (check-in: 22ce9218 user: drh tags: sessions)
09:23
Avoid calling sqlite3VdbeCursorMoveto() from more than one point in vdbe.c. Doing so prevents it from being inlined as part of OP_Column. (Closed-Leaf check-in: 166d5af8 user: dan tags: onepass-delete)
2015-09-13
20:15
Add static VFS mutexes to the primary header file comments. (check-in: 9a867d9f user: mistachkin tags: trunk)
18:45
Experimental changes to avoid recusrively calling xMutexInit. (check-in: c9400ff1 user: mistachkin tags: mutexInitCmpSwap)
18:43
Merge updates from trunk. (check-in: b42c2e20 user: mistachkin tags: mutexInitCmpSwap)
2015-09-12
19:50
Fix compiler warnings in delete.c. (check-in: 0a4d285e user: dan tags: onepass-delete)
19:27
Fix API documentation typos. Emphasize that the sqlite3_config() routine is not threadsafe. (check-in: 786333e0 user: drh tags: trunk)
19:26
Experimental change to use a single-pass approach for DELETE statements on non-virtual tables that do not fire triggers or require foriegn-key processing. (check-in: eaeb2b80 user: dan tags: onepass-delete)
18:58
Merge updates from trunk. (check-in: d8051f61 user: mistachkin tags: mutexInitCmpSwap)
18:57
Import common changes from the mutex initialization branch. (check-in: 334720c0 user: mistachkin tags: trunk)
16:59
Merge updates from trunk. (check-in: 48597789 user: mistachkin tags: mutexInitCmpSwap)
04:22
Fix comments. (check-in: de3fa51e user: mistachkin tags: mutexInitCmpSwap)
04:19
Specifying an invalid mutex implementation (via SQLITE_CONFIG_MUTEX) should cause the default one to be used instead. (check-in: 1a97bc81 user: mistachkin tags: mutexInitCmpSwap)
03:40
Clarify the new mutex implementation reset logic in sqlite3_shutdown(). (check-in: f9a03483 user: mistachkin tags: mutexInitCmpSwap)
03:35
Add more asserts to the mutex subsystem. (check-in: 7562f1fb user: mistachkin tags: mutexInitCmpSwap)
01:17
Fix typo in the Win32 implementation of sqlite3CompareAndSwap. (check-in: 31a26a1d user: mistachkin tags: mutexInitCmpSwap)
2015-09-11
23:24
Make sure that the mutex implementation can be altered after calling sqlite3_shutdown(). (check-in: dc2cf897 user: mistachkin tags: mutexInitCmpSwap)
20:54
Update evidence marks due to wording changes in requirements text. No changes to code. (check-in: 86781093 user: drh tags: trunk)
18:05
Fix harmless compiler warnings. (check-in: bfc7b84b user: mistachkin tags: trunk)
15:32
More test cases in test/json102.test corresponding to new examples in the json1 documentation. (check-in: f599a42e user: drh tags: trunk)
14:15
Fix some compiler warnings in fts5 code. (check-in: 0dc43611 user: dan tags: trunk)
05:06
Enhance mutex initialization to prevent possible race conditions between sqlite3_initialize() and sqlite3_config(). Also, re-check sqlite3GlobalConfig.isInit after the mutex subsystem has been initialized. (check-in: f6a8f577 user: mistachkin tags: mutexInitCmpSwap)
01:22
Updates to the sqlite3_value_subtype() and sqlite3_result_subtype() documentation and to test cases for json1 dealing with those interfaces. (check-in: d6cadbe9 user: drh tags: trunk)
00:26
Add new interfaces sqlite3_value_subtype() and sqlite3_result_subtype(). Update the json1.c extension to take advantages of those interfaces to avoid the goofy '$$' path syntax and to allow nested calls to json_array() and json_object() that work as expected. (check-in: db4152ae user: drh tags: trunk)
00:06
Take out the goofy '$$' path syntax. Instead, use subtypes to communicate when a string is JSON. Add the json() function that validates and minifies the JSON and sets the appropriate subtype. (Closed-Leaf check-in: 8a80d645 user: drh tags: subtypes)
2015-09-10
20:40
Make the sqlite3_value_subtype() and sqlite3_result_subtype() interfaces available to loadable extensions. (check-in: c6fca0be user: drh tags: subtypes)
20:34
Experimental implementation of sqlite3_result_subtype() and sqlite3_value_subtype() interfaces. (check-in: 7b5be299 user: drh tags: subtypes)
19:22
Fix a potential NULL pointer deref in the testing logic of pcache1. NB: The -DSQLITE_TEST compile-time option is needed to hit the problem. (check-in: f5580f08 user: drh tags: trunk)
17:23
Modify the fts5 leaf page format to permit faster seek operations. This is a file-format change. Any existing databases can be upgraded by running the fts5 'rebuild' command. (check-in: 0c0c4ae9 user: dan tags: trunk)
17:20
Create separate "path" and "root" columns in the json_each() and json_tree() virtual tables. "Root" is the 2nd parameter and is fixed. "Path" varies as json_tree() walks the hierarchy. (check-in: 127cce3e user: drh tags: trunk)
16:39
Increment the fts5 version value to indicate that the on-disk format has changed. (Closed-Leaf check-in: 99de5e36 user: dan tags: fts5-incompatible)
16:19
Fix a segfault in fts5 that could occur if the database contents were corrupt. (check-in: 4931e37d user: dan tags: fts5-incompatible)
15:52
Merge latest changes from trunk. Including fts5_expr.c fixes. (check-in: 716e7e74 user: dan tags: fts5-incompatible)
15:49
Update description of on-disk format in fts5_index.c. (check-in: 85aac7b8 user: dan tags: fts5-incompatible)
15:24
Make the sqlite3ext.h header file responsive to -DSQLITE_OMIT_LOAD_EXTENSION. (check-in: 47a46a9f user: drh tags: trunk)
15:22
Disable tests for json_each() and json_tree() on builds where virtual tables are not supported (check-in: bb8ee3b1 user: drh tags: trunk)
15:20
Fix the --help option on test/releasetest.tcl. Also fix the final error count so that it includes a count of subtest crashes. (check-in: 9ecf684d user: drh tags: trunk)
10:40
Revert an accidentally committed makefile change. (check-in: 402704b1 user: dan tags: fts5-incompatible)
10:01
Fix an fts5 problem that could occur if a term and the first associated rowid are on different leaf pages. (check-in: ffe2796a user: dan tags: fts5-incompatible)
05:40
Change the array of 16-bit offsets at the end of each page to an array of varints. (check-in: fab245be user: dan tags: fts5-incompatible)
04:17
Attempt to declare sqlite3MemoryBarrier() correctly for all possible build configurations. (check-in: da8a288f user: drh tags: trunk)
03:29
Fix the json_tree() scan for the case when a path is supplied. Add new json1 test cases. (check-in: 6adc7de7 user: drh tags: trunk)
01:22
No-op the sqlite3_memory_alarm() interface in a different way, that does not break legacy memory behavior. This is a re-do of check-in [5d3f5df4da9f40d5]. (check-in: 8250e2a4 user: drh tags: trunk)
2015-09-09
23:54
Fix harmless compiler warning in FTS5. (check-in: 86146a73 user: mistachkin tags: trunk)
19:44
Fix an assert() enabled by SQLITE_ENABLE_EXPENSIVE_ASSERT in wal.c. (check-in: 8d2ed150 user: dan tags: trunk)
19:27
Fix a possible NULL pointer deref when using SQLITE_ENABLE_MEMORY_MANAGEMENT. (check-in: 89bfdbfe user: drh tags: trunk)
17:23
Fix harmless compiler warning. (check-in: 280fd3a4 user: mistachkin tags: trunk)
17:17
Fix harmless compiler warnings in FTS5. (check-in: 2cdb1877 user: mistachkin tags: trunk)
13:28
When running a CREATE TABLE AS, make the initial temporary sqlite_master entry for the new table a real record rather than a NULL, in case the query after the AS actually tries to read the sqlite_master table. Fix for ticket [acd12990885d9276]. (check-in: 4a18d8bd user: drh tags: trunk)
08:15
Fix a bug in preprocessor macros within fts5_main.c. (check-in: 0eb2b952 user: dan tags: fts5-incompatible)
2015-09-08
21:16
Remove an unused local variable from Lemon. (check-in: fe9ffe5e user: drh tags: trunk)
21:12
Enhance the DBSTAT virtual table with a new hidden table "schema" that if set will cause the table to report on the specified schema rather than on "main". Also: Fix a faulty assert in sqlite3_context_db_handle(). (check-in: 6beb512c user: drh tags: trunk)
20:26
Eponymous virtual tables exist in the "main" schema only. Enforce this rule. (check-in: 06f90bb2 user: drh tags: trunk)
19:55
Remove the 0x00 terminators from the end of fts5 doclists stored on disk. (check-in: 00d99006 user: dan tags: fts5-incompatible)
17:31
Fix the help message that sqlite3_analyzer.exe generates for invalid arguments. (check-in: 33a14e7b user: drh tags: trunk)
2015-09-07
23:40
Minor tweaks to Lemon. (check-in: 98667722 user: drh tags: trunk)
20:22
Merge parser enhancements and other improvements and bug fixes from trunk. (check-in: 9cf3e51b user: drh tags: begin-concurrent)
20:11
Enhance the Lemon parser generator to add SHIFTREDUCE states that reduce the sizes of some of the parser tables. (check-in: 99b992fa user: drh tags: trunk)
20:02
Fix an unreachable branch in the new parse automaton. (Closed-Leaf check-in: e9d604b4 user: drh tags: lemon-update)
19:52
Change the parser engine so that it (once again) waits for a lookahead token before reducing, even in a SHIFTREDUCE action. (check-in: 2c17a135 user: drh tags: lemon-update)
18:23
For the Lemon-generated parser, add a new action type SHIFTREDUCE and use it to further compress the parser tables and improve parser performance. (check-in: 531c3974 user: drh tags: lemon-update)
14:22
In the "parse.out" output file from Lemon, show addition the complete text of rules on reduce actions. (check-in: b6ffb7e4 user: drh tags: trunk)
08:14
Use macros to make the code in fts5_index.c easier to read. (check-in: 67ff5ae8 user: dan tags: fts5-incompatible)
02:23
Improved "Parser Statistics" output (the -s option) for the Lemon parser generator. (check-in: 809503e4 user: drh tags: trunk)
2015-09-06
10:31
Improved memory barrier that should work with MinGW on older versions of Windows. (check-in: 47dc24bd user: drh tags: trunk)
02:51
Add a memory barrier to the mutex initialization logic, try to work around an issue reported by WebKit. (check-in: 11a9a786 user: drh tags: trunk)
2015-09-05
22:36
Omit all use of Expr nodes for TK_AS, as those nodes no longer served a useful purpose and in fact interferred with the query planner. (check-in: 7ab0b258 user: drh tags: trunk)
19:52
Experiment with a different fts5 leaf page format that allows faster seeks. (check-in: a1f4c3b5 user: dan tags: fts5-incompatible)
19:21
Fix an unreachable conditional in the WHERE clause analysis logic. (check-in: 24924a58 user: drh tags: trunk)
19:07
Get STAT4 range scan estimates work again when the bounds are determined by date/time functions. (check-in: d2761357 user: drh tags: trunk)
2015-09-04
18:03
Fix over-length source code lines in Lemon. (check-in: 1efece95 user: drh tags: trunk)
17:32
Add support for CREATE INDEX statements that use deterministic expressions rather than only column names. (check-in: 2131a5ca user: drh tags: trunk)
17:22
Merge the latest trunk changes, and especially the fix for allowing strings as identifiers in CREATE INDEX statements. (check-in: a9b84885 user: drh tags: begin-concurrent)
16:39
Remove the EXCLUSIVE and CONCURRENT tokens from the tokenizer. Let the BEGIN statement be followed by an ID, but throw a syntax error if the ID is anything other than EXCLUSIVE or CONCURRENT. (check-in: c0bf92ec user: drh tags: begin-concurrent)
13:02
Merge trunk enhancements, and espeically the fix for allowing strings as column identifers in CREATE INDEX statements. (Closed-Leaf check-in: 5ff85529 user: drh tags: index-expr)
12:54
Continue to support the (broken) legacy syntax of allowing strings for column names in CREATE INDEX statements and in UNIQUE and PRIMARY KEY constraints. (check-in: 3d3df79b user: drh tags: trunk)
11:13
Enhance showfts5.tcl so that it can optionally display the number of terms in each segment. (check-in: d648ddd9 user: dan tags: trunk)
10:31
Modify the fts5 custom tokenizer interface to permit synonym support. The fts5_api.iVersion value is now set to 2. Existing fts5 custom tokenizers (if there are such things) will need to be updated to use the new api version. (check-in: 0b7e4ab8 user: dan tags: trunk)
10:24
Merge latest trunk changes. (Closed-Leaf check-in: 443a5eb8 user: dan tags: fts5-incompatible)
04:31
Simplification of the LRU list handling in pcache1. (check-in: 05a3a2cd user: drh tags: trunk)
2015-09-03
20:52
Merge performance enhancements from trunk. This branch now runs (slightly) faster than the 3.8.11.1 release, though still slightly slower than trunk. (check-in: c490bfb1 user: drh tags: begin-concurrent)
20:43
Change the pcache module to keep track of the total number of references to all pages rather than the number of pages references, for a performance improvement and size reduction. (check-in: f00a9e1e user: drh tags: trunk)
19:48
Rearrange code in fts5_expr.c so that synonym support does not slow down the common case. (check-in: 80188281 user: dan tags: fts5-incompatible)
18:57
Merge enhancements from trunk. (check-in: 4b49fe99 user: dan tags: fts5-incompatible)
18:20
A simple optimization and size reduction in sqlite3PagerAcquire(). (check-in: 618d8dd4 user: drh tags: trunk)
18:05
Add documentation for fts5 synonym support. (check-in: 58aa1f43 user: dan tags: fts5-incompatible)
17:54
Change the Pager.hasBeenUsed flag into Pager.hasHeldSharedLock in order to take it off the critical path in sqlite3PagerAcquire(). (check-in: b79096be user: drh tags: trunk)
15:37
Add tests to improve coverage of fts5_varint.c. (check-in: 89f24f31 user: dan tags: fts5-incompatible)
15:17
Changes from ENABLE_CONCURRENT (default off) to OMIT_CONCURRENT (default on). This is not a clear-cut decision and might be changed back. (check-in: f8ae9bfd user: drh tags: begin-concurrent)
14:48
Merge recent trunk enhancements. (check-in: 6a513c05 user: drh tags: sessions)
14:39
Merge enhancements from trunk. (check-in: 25ee3000 user: drh tags: cursor-hints)
14:31
Merge enhancements from trunk. (check-in: d01658ad user: drh tags: apple-osx)
14:22
Remove some more code from fts5_index.c by consolidating similar functions. (check-in: 59ae30b9 user: dan tags: fts5-incompatible)
14:18
Merge enhancements from trunk. (check-in: 1ab10cbf user: drh tags: index-expr)
14:04
Merge trunk optimizations. (check-in: 71e7299e user: drh tags: begin-concurrent)
13:46
Add the sqlite3VdbeLoadString() and sqlite3VdbeMultiLoad() routines to help with code generation, especially on PRAGMAs. Rename sqlite3VdbeAddGoto() to just sqlite3VdbeGoto(). (check-in: 847387ec user: drh tags: trunk)
11:17
Remove dead code from fts5_index.c. (check-in: 8a0a9b01 user: dan tags: fts5-incompatible)
11:00
Fix the fts5 integrity-check so that it works with columnsize=0 tables. (check-in: 11b887b1 user: dan tags: fts5-incompatible)
10:27
Fix a memory leak in fts5_expr.c. (check-in: 399932a1 user: dan tags: fts5-incompatible)
04:28
Factor out and simplify code in pragma.c for pragmas that return a single row with a single column that is an integer or text value. (check-in: d7f4bdf5 user: drh tags: trunk)
03:29
For PRAGMAs, factor out the code that sets the result set column names into a subroutine. (check-in: 0ea6e5c9 user: drh tags: trunk)
2015-09-02
21:00
Optimizations to the printf formatter. (check-in: a3b35dde user: drh tags: trunk)
19:48
Further tests to raise coverage of fts5 synonym code to 100%. Fix a dropped error code in the same. (check-in: bdedd838 user: dan tags: fts5-incompatible)
18:56
Fix an issue with fts5 synonyms and NEAR(...) queries. (check-in: f2e59070 user: dan tags: fts5-incompatible)
18:40
Add and use the sqlite3VdbeChangeOpcode() routine. Simplify the implementation of the other sqlite3VdbeChange*() routines. (check-in: 0a5b00e4 user: drh tags: trunk)
18:19
Add the sqlite3VdbeAddGoto(v,i) routine as a shorthand for sqlite3VdbeAddOp2(v,OP_Goto,0,i). (check-in: be78f413 user: drh tags: trunk)
17:55
Change sqlite3_sql() so that it always returns the SQL text of the prepared statement, if the text is available, even if the the prepared statement was generated using sqlite3_prepare() instead of sqlite3_prepare_v2(). Also include some minor comment fixes and code simplifications. (check-in: 2f5472cf user: drh tags: trunk)
17:34
Fix a problem with fts5 synonyms and phrase queries. Also fix an OOM handling bug in fts5. (check-in: a4c35fa2 user: dan tags: fts5-incompatible)
16:51
Small simplification to the EXPLAIN QUERY PLAN logic. (check-in: d1592d20 user: drh tags: trunk)
15:37
Use sqlite3XPrintf() instead of sqlite3StrAccumAppend() in a few places for better performance and a smaller footprint. (check-in: 82355e41 user: drh tags: trunk)
14:56
The sqlite3_memory_alarm() interface has been deprecated and undocumented for almost 8 years (since version 3.5.3). Change it into a no-op. (check-in: 5d3f5df4 user: drh tags: trunk)
14:17
Fix a problem handling OOM conditions within fts5 queries that feature synonyms. (check-in: 11fa9808 user: dan tags: fts5-incompatible)
12:52
This change is not correct for the boundary case of nCellKey==0. Was: Small performance gain and size reduction in sqlite3VdbeIdxKeyCompare(). (Closed-Leaf check-in: 6e0298cd user: drh tags: mistake)
08:22
Fix a problem with fts5 synonyms and the xQueryPhrase() auxiliary function API. (check-in: cf3e45e7 user: dan tags: fts5-incompatible)
2015-09-01
23:51
Very minor optimizations in the unix VFS. (check-in: 6db3ff45 user: drh tags: trunk)
22:29
Performance improvement in sqlite3VarintLen(). (check-in: adf9fefb user: drh tags: trunk)
20:09
Small size reduction and performance increase in sqlite3DbMallocSize(). (check-in: 8a80967f user: drh tags: trunk)
19:51
Reduce the number of calls to sqlite3BeginBenignMalloc(). (check-in: 0bee6583 user: drh tags: trunk)
18:52
Merge recent enhancements from trunk. (check-in: cb772366 user: drh tags: sessions)
18:44
Fix a problem that occurs when more than 4 synonyms for a term appear within a single row. (check-in: cd359550 user: dan tags: fts5-incompatible)
18:40
Merge the latest trunk enhancements. (check-in: 4af79477 user: drh tags: apple-osx)
18:31
Merge enhancements from trunk. (check-in: 29570a60 user: drh tags: cursor-hints)
18:08
Add tests for fts5 synonyms implemented by adding extra terms to queries. And fixes for the same. (check-in: dbcb7380 user: dan tags: fts5-incompatible)
18:01
Merge the latest trunk enhancements. (check-in: 3dea0474 user: drh tags: begin-concurrent)
17:48
Fixes so that it builds without warnings both with and without SQLITE_ENABLE_CONCURRENT. (check-in: 5ed2a445 user: drh tags: begin-concurrent)
13:17
Rename SQLITE_FUNC_VARYING to SQLITE_FUNC_SLOCHNG - a more descriptive name for what that bit means. (check-in: ff5137a6 user: drh tags: index-expr)
00:42
Remove unreachable branches. (check-in: fd4da231 user: drh tags: index-expr)
2015-08-31
23:09
Fix a bug in error reporting when a UNIQUE index on expressions fails its uniqueness test. (check-in: 5a2c0e90 user: drh tags: index-expr)
21:16
Not only date/time functions, but also functions like sqlite_version() and changes() need to be prohibited from use inside of indexes. (check-in: 48713130 user: drh tags: index-expr)
20:06
Begin changes to allow synonym support by adding multiple terms to a query (an alternative to adding multiple terms to the FTS index). (check-in: ad7feaed user: dan tags: fts5-incompatible)
19:38
Always assume that indexed expressions can generate a NULL. Get indexed expressions working for the case of two or more expressions in the same index. (check-in: cc60321a user: drh tags: index-expr)
18:13
Case should not be significant when comparing function names. (check-in: e2f1caf1 user: drh tags: index-expr)
17:34
Make the distinction between truly deterministic functions and date/time functions which only return the same answer for a single query. Only truly deterministic functions are allowed in indexes. Add new expression index test cases. (check-in: c77554b5 user: drh tags: index-expr)
15:58
Improved analysis and usage of indexed expressions in the query planner. (check-in: f8893696 user: drh tags: index-expr)
14:27
Merge the latest enhancements from trunk. (check-in: 7bde6d4d user: drh tags: index-expr)
2015-08-29
19:41
Enhance the json_extract() function so that if given multiple PATH arguments it will return a JSON array with all of the answers. Also update comments within the json1 extension to reflect stricter interpretation of JSON and PATH arguments. (check-in: 1da60c3d user: drh tags: trunk)
19:03
Link the json1 extension into the command-line shell by default. (check-in: 2e8e239c user: drh tags: trunk)
18:46
Add a test for an fts5 tokenizer that supports synonyms by adding multiple entries to the fts index. (check-in: 98d07d16 user: dan tags: fts5-incompatible)
18:30
New test cases for the json1 extension. (check-in: daff4832 user: drh tags: trunk)
17:22
Fix the build with -DSQLITE_OMIT_VIRTUALTABLE. (check-in: 752918de user: drh tags: trunk)
16:02
Do not consider an empty string to be valid JSON. Add some additional JSON test cases. (check-in: fd19ff02 user: drh tags: trunk)
15:44
Another change to the fts5 tokenizer API. (check-in: fc718684 user: dan tags: fts5-incompatible)
00:54
Change the json1.c module so that it throws an error if any of the JSON selector paths are malformed. (check-in: 3aa0855f user: drh tags: trunk)
2015-08-28
20:07
Back out the json_check() routine. Instead, throw an error if the input to a json function (other than json_valid()) is not valid JSON. (check-in: dc9ce7b1 user: drh tags: trunk)
19:56
Change the fts5 tokenizer API to allow more than one token to occupy a single position within a document. (check-in: 90b85b42 user: dan tags: fts5-incompatible)
16:41
Fix compiler warnings in rbu code. (check-in: 0fdc36fe user: dan tags: trunk)
16:18
When searching the wal file for a frame, do not search that part that was already checkpointed when the transaction was opened. (check-in: a84cf4f5 user: dan tags: trunk)
15:50
Merge latest trunk into this branch. (Closed-Leaf check-in: ab93024d user: dan tags: wal-read-change)
15:35
Fix a potential segfault in the VFS logic that checks for fail renames out from under SQLite. (check-in: 650111f6 user: drh tags: apple-osx)
13:27
Disable the read-only WAL-mode database tests on the apple-osx branch because read-only WAL-mode databases are specifically disallowed by Apple-specific changes. (check-in: bd911496 user: drh tags: apple-osx)
09:27
Merge latest trunk changes with this branch. (check-in: 57bc0194 user: dan tags: begin-concurrent)
03:48
Add the json_check() function, which returns its argument if the argument is well-formed JSON or which throws an error otherwise. (check-in: 64abb65d user: drh tags: trunk)
03:33
Enhance the json_insert(), json_replace(), and json_set() functions with the ability to add JSON instead of text if the argument is text and if the PATH begins with '$$' instead of just '$'. (check-in: 44f103d8 user: drh tags: trunk)
02:12
Merge trunk enhancements into the apple-osx branch. Most tests works, but there are yet a few issues to be resolved. (check-in: da864658 user: drh tags: apple-osx)
2015-08-27
23:42
Fix the OR-optimization so that it always ignores subplans that do not use an index. (check-in: cf452028 user: drh tags: index-expr)
23:18
Fix the OR-optimization so that it always ignores subplans that do not use an index. (check-in: 66f92a16 user: drh tags: trunk)
20:33
Fix EXPLAIN QUERY PLAN output for indexed-expressions. Fix another obscure fault in the WHERE term scanner. (check-in: 73d361ce user: drh tags: index-expr)
19:57
Add header comments for new methods in pager.c. (check-in: 437c7e21 user: dan tags: begin-concurrent)
19:56
Fix problems in the indexed-expression handling in the optimizer. (check-in: 03375017 user: drh tags: index-expr)
19:22
Add test cases for concurrent transactions and long-lived SELECT statements. (check-in: fd4798cb user: dan tags: begin-concurrent)
18:24
Activate the ability to use expressions in indexes in a query. There are some test failures, but mostly this seems to work. (check-in: 42f93f58 user: drh tags: index-expr)
17:42
Fix a problem whereby concurrent transactions would not consider pages read by the transaction before the first write statement. (check-in: fc17f731 user: dan tags: begin-concurrent)
16:07
Merge changes from trunk. (check-in: c80e9e8e user: drh tags: index-expr)
15:58
Adjustments to the WHERE term scanning, to better handle scanning terms of an index. (check-in: 5611130a user: drh tags: index-expr)
2015-08-26
21:08
Reduce the size of the WhereScan object by 24 bytes while also clarifying its operation. (check-in: cbc3c9a8 user: drh tags: trunk)
18:54
Fix an assert() in pager.c that could fail in a concurrent transaction. (check-in: 69394dda user: dan tags: begin-concurrent)
18:04
Merge enhancements from trunk. (check-in: ec6ddb3d user: drh tags: index-expr)
18:02
Fix a problem allowing some conflicting transactions to be committed. (check-in: a0566382 user: dan tags: begin-concurrent)
14:01
Evaluate expressions only once when the same expression is used in both the result set and in the ORDER BY clause. (check-in: c2f3bbad user: drh tags: trunk)
11:40
Refactor With.a.zErr into With.a.zCteErr. No logic changes. (check-in: 58ba7363 user: drh tags: trunk)
11:34
Update the TreeView output for compound SELECT statements so that all entries are shown vertically aligned rather than each successive entry being indented. (check-in: 65a89187 user: drh tags: trunk)
2015-08-25
19:42
Move sqlite3IndexColumnAffinity() inside of SQLITE_ENABLE_STAT3_OR_STAT4. (check-in: b3732a4e user: drh tags: trunk)
19:24
Merge trunk enhancements. (check-in: e8b02902 user: drh tags: index-expr)
19:20
Use the sqlite3IndexColumnAffinity() routine to quickly and correctly find the affinity of an index column. (check-in: 1ee089a7 user: drh tags: trunk)
19:10
Add miscellaneous test cases for concurrent transactions. (check-in: 779b1d0e user: dan tags: begin-concurrent)
17:16
If "PRAGMA integrity_check" is run while the database is being written by a CONCURRENT transaction, do not consider unreferenced pages to be an error. They may be part of the free-page list, which is not visible at the b-tree layer when running a CONCURRENT transaction. (check-in: f32b57b4 user: dan tags: begin-concurrent)
16:57
Add code to maintain indexes with expression arguments across DELETE, INSERT, and UPDATE statements. Legacy tests pass, but the new code paths are still largely untested. The query planner currently makes no effort to use expression indexes. (check-in: efaabdb7 user: drh tags: index-expr)
16:01
Test that if a corrupt wal-index header is encountered when attempting to commit a concurrent transaction, SQLITE_BUSY_SNAPSHOT is returned to the caller. (check-in: c746e0bd user: dan tags: begin-concurrent)
14:37
Fix a segfault that could occur following an OOM condition in the concurrent transaction code. (check-in: 231b5880 user: dan tags: begin-concurrent)
11:16
Merge latest trunk changes with this branch. (check-in: 3e7d6dd6 user: dan tags: begin-concurrent)
00:34
Fix a memory leak that might occur when compiling with SQLITE_OMIT_CHECK. (check-in: 8f1d9f1f user: drh tags: trunk)
00:27
Changes toward being able to process indexes on expressions. Not there yet - this check-in is just movement in that direction. Some tests are failing. (check-in: 0ad0f8d7 user: drh tags: index-expr)
2015-08-24
22:06
Remove duplicated line of code. (check-in: 47280f2a user: mistachkin tags: begin-concurrent)
20:54
Remove some redundant code: Call sqlite3ResolveExprListNames() rather than calling sqlite3ResolveExprNames() in a loop - in two places. (check-in: bdaf6646 user: drh tags: trunk)
20:21
Enhances the parser so that it accepts arbitrary expressions for the arguments of an index, though the code generator still rejects everything other than simple column names. The sqlite3RestrictColumnListSyntax() routine is removed since that feature is now handled by the parser. (check-in: bed42116 user: drh tags: trunk)
19:56
Change "BEGIN UNLOCKED" to "BEGIN CONCURRENT". (check-in: ba1ab858 user: dan tags: begin-concurrent)
19:08
Fix handling of attempts to modify the database schema, application_id or user_version within an UNLOCKED transaction. (check-in: 5b9f2721 user: dan tags: begin-concurrent)
17:42
Enhance the CREATE VIEW syntax so that the names of columns of the view can be specified after the view name. (check-in: d794b34d user: drh tags: trunk)
17:18
Enhancements to the batch build tool for MSVC. (check-in: a1ae20cd user: mistachkin tags: trunk)
16:00
Fix compilation without SQLITE_ENABLE_UNLOCKED. Also other code organization issues. (check-in: 04113557 user: dan tags: begin-concurrent)
15:39
Disallow the use of COLLATE clauses and the ASC and DESC keywords within foreign key constraints and in the argument list to common table expressions. (check-in: 83cbc4d8 user: drh tags: trunk)
12:42
Improvements to JSON string dequoting. (check-in: 196d66d3 user: drh tags: trunk)
10:05
Consolidate two blocks of similar code in btreeFixUnlocked(). (check-in: 701302b4 user: dan tags: begin-concurrent)
06:44
Merge trunk changes with this branch. (check-in: 876810c2 user: dan tags: begin-concurrent)
06:43
Fix another problem involving unlocked transactions and wal-file restarts. (check-in: 4460764e user: dan tags: begin-concurrent)
02:32
Fix corner-case problems in the type and atom columns of json_each() and json_tree(). (check-in: f0aba0e1 user: drh tags: trunk)
2015-08-23
20:48
Fix a comment typo on sqlite3ExprAlloc(). No code changes. (check-in: 518d6220 user: drh tags: trunk)
20:44
Fix minor glitches in the json1.c extension, mostly having to do with OOM behavior. (check-in: cc520414 user: drh tags: trunk)
02:42
Fixes to json_each() and json_tree(). Improved json_parse() debugging output. (check-in: fc1b24f3 user: drh tags: trunk)
2015-08-22
20:32
Fix a problem to do with detecting unlocked transaction conflicts if another client restarts the wal while the transaction is running. (check-in: e3968b25 user: dan tags: begin-concurrent)
19:39
Add the json_valid() function to the json1.c extension. Fix various minor problems in the json1.c extension. (check-in: 380a9734 user: drh tags: trunk)
17:28
Add further tests for deferred page allocation. And fixes for the same. (check-in: ed0a31be user: dan tags: begin-concurrent)
07:56
Merge further trunk changes. (check-in: c2327a3b user: dan tags: begin-concurrent)
07:55
Merge trunk changes into this branch. (check-in: 9021f736 user: dan tags: begin-concurrent)
03:05
Fix a couple instances of OOM handling in the json extension. (check-in: 213a6c5c user: drh tags: trunk)
01:32
Do not apply the WHERE-clause pushdown optimization to terms that originate in the ON or USING clause of a LEFT JOIN. Fix for ticket [c2a19d81652f40568c]. (check-in: 351bc22f user: drh tags: trunk)
2015-08-21
20:43
Add extension functions for processing JSON. (check-in: 178f9a35 user: drh tags: trunk)
20:37
Fixes for compiler warnings and errors in the makefiles. Rename the one test script to json101.test. (Closed-Leaf check-in: 9ff6ccde user: drh tags: json)
20:12
Change the name of the json loadable extension to "json1.c", in anticipation of having future major changes to the interface. (check-in: d0d4bec9 user: drh tags: json)
20:11
Fix many minor issues in the unlocked transaction code. (check-in: 53aaeea6 user: dan tags: begin-concurrent)
20:02
Add the fullkey column to both json_each() and json_tree(). (check-in: 15dd9943 user: drh tags: json)
19:56
Merge header file fixes from trunk. (check-in: 7c2713e9 user: drh tags: json)
19:53
Add a missing #define for sqlite3_vsnprintf to sqlite3ext.h. (check-in: da3c9df0 user: drh tags: trunk)
18:55
When committing an UNLOCKED transaction, try to move pages allocated at the end of the file to free slots within the file (like an incremental-vacuum operation does). (check-in: 06967916 user: dan tags: begin-concurrent)
17:57
Fix a problem with UNLOCKED transactions that free pages allocated within the same transaction. (check-in: 227bb8a1 user: dan tags: begin-concurrent)
17:39
Reserve the SQLITE_IOERR_VNODE error code name. (check-in: 53b593fc user: drh tags: trunk)
17:33
Add the json_tree() virtual table. (check-in: 08c36e45 user: drh tags: json)
17:16
Merge in trunk fixes for table-valued functions. (check-in: 67375f32 user: drh tags: json)
17:14
Fix a corner-case bug in table-valued functions. Update the generate_series() virtual table to increase the performance estimate penalty for being underspecified. (check-in: 552bc9cb user: drh tags: trunk)
16:22
Merge trunk changes with this branch. (check-in: deaf3b18 user: dan tags: begin-concurrent)
14:21
Add extra tests and a fix for rollbacks of UNLOCKED transactions. (check-in: 82cd837e user: dan tags: begin-concurrent)
12:37
Fix typo in comment. No changes to code. (check-in: 7b8d17dd user: drh tags: trunk)
2015-08-20
23:54
Merge recent trunk enhancements, include table-valued functions. (check-in: e9196d56 user: drh tags: sessions)
23:45
Merge recent enhancements from trunk, including table-valued expressions. (check-in: b9927c87 user: drh tags: cursor-hints)
23:39
Merge the latest changes from trunk, including the table-valued function implementation. (check-in: 10c44432 user: drh tags: json)
23:33
Compiler-warning fixes in the sqldiff.exe utility. (check-in: 64d13339 user: drh tags: trunk)
23:28
Fix a couple C99-isms that cause compile errors on MSVC. (check-in: bc577fe6 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: 774e6a14 user: drh tags: trunk)
21:14
Skip calling the virtual table xDestroy method when it is null. (check-in: b73ad305 user: mistachkin tags: trunk)
21:09
Fix compiler warnings in the sqldiff tool seen with MSVC. (Closed-Leaf check-in: 072279d4 user: mistachkin tags: msvcWarn)
20:25
Fix a problem causing corruption when an UNLOCKED transaction is rolled back. (check-in: 7c361478 user: dan tags: begin-concurrent)
20:21
Fix stray variable declaration for C89. (check-in: 17eb7f18 user: mistachkin tags: trunk)
20:13
Correctly handle empty function argument lists on table-valued functions. (check-in: a7acc787 user: drh tags: trunk)
19:55
Add support for table-valued functions in the FROM clause implemented as virtual tables. (check-in: 9b718b06 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: 3efc7942 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: fd13dd95 user: drh tags: trunk)
16:16
Fix a typo in series.c. (check-in: 23db7f50 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: 87f58730 user: drh tags: json)
22:47
Add the json_each(JSON,PATH) table-valued-function. (check-in: 3335ac17 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: 3bbc31d5 user: dan tags: begin-concurrent)
19:26
Merge the table-valued-function rowid fix. (check-in: a06a6392 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: a325a085 user: drh tags: table-valued-functions)
18:31
Merge support for table-valued functions. (check-in: 96a5d44d 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: fef44c37 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: 40e12cfe 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: b9193761 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: c58426db user: drh tags: table-valued-functions)
12:52
Merge changes from trunk. (check-in: dddd792d user: drh tags: table-valued-functions)
12:45
Simplification to error handling in addModuleArgument() in the virtual table processing. (check-in: c573b0a1 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: dec14a39 user: dan tags: trunk)
02:32
Initial implementation of eponymous virtual table instances. (check-in: c1f43a77 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: 85994020 user: dan tags: trunk)
16:32
Fix harmless compiler warning in FTS5. (check-in: 02448a9f 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: b5897bc0 user: drh tags: cursor-hints)
12:59
Comment clarification. No changes to code. (check-in: 71a96695 user: drh tags: json)
02:28
Initial implementation of json_set() and json_insert(). (check-in: 4aa49656 user: drh tags: json)
2015-08-17
21:22
Initial implementation of json_replace(). (check-in: 3c4bee65 user: drh tags: json)
20:14
Add an initial implementation for json_remove(). (check-in: 2a826720 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: 142b048a user: drh tags: cursor-hints)
15:17
Initial implementation for json_array_length(), json_extract(), and json_type(). (check-in: 39983204 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: 9703c0aa 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: 42c15c1e user: drh tags: json)
21:25
Add a prototype JSON parser. (check-in: 789ba487 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: de1ea450 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: f65a9b4a user: drh tags: trunk)
00:51
Change the display of the P4 operand of CursorHint in EXPLAIN output to function notation. (check-in: bee73d42 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: 83a84435 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: bf383e66 user: drh tags: cursor-hints)
18:50
Fix the cursor hint mechanism so that it does the right thing for indexed lookups. (check-in: 581e3d49 user: drh tags: cursor-hints)
15:05
Refactor the sqlite3BtreeCursorHint() interface for improved maintainability. (check-in: fc3fb5cd user: drh tags: cursor-hints)
12:53
Duplicate the output of releasetest.tcl into releasetest-out.txt (check-in: 5e06a9c1 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: f0d428d1 user: drh tags: cursor-hints)
2015-08-13
21:38
Fix a harmless compiler warning. (check-in: 608ab4ac user: drh tags: cursor-hints)
21:32
Convert the hint expression of the CursorHint opcode into a string for display by EXPLAIN. (check-in: 20688471 user: drh tags: cursor-hints)
20:34
Fix a bug in sqlite3ExprContainsSubquery(). (check-in: be254715 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: 90760e72 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: 82a7a61b 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: 851a875a user: dan tags: trunk)
13:54
Experimental code (untested) for a JSONB datatype. (check-in: e3596ac7 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: ee966af8 user: dan tags: trunk)
2015-08-12
19:42
Avoid reading frames that have already been checkpointed from the wal file. (check-in: 5669ac4a user: dan tags: wal-read-change)
17:23
Add the json_object() function. (check-in: 414a95f3 user: drh tags: json)
16:49
Begin adding an extension that provides JSON SQL functions. (check-in: dde8afdd user: drh tags: json)
15:36
Minor optimization for fts5 API xInst(). (check-in: efb7c9c5 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: f7682435 user: dan tags: trunk)
2015-08-11
14:25
Merge fixes from the fts5NoWarn branch. (check-in: 61cb2fc6 user: dan tags: trunk)
13:41
Add some extra timestamps to the experimental log output. (Leaf check-in: b09e3ea7 user: dan tags: experimentalIoLog)
10:59
Add a tcl interface for the experimental logging functionality. (check-in: e844304d user: dan tags: experimentalIoLog)
01:45
Two more places where logging of freelist trunk pages is needed. (check-in: 56ff336e user: drh tags: experimentalIoLog)
2015-08-10
20:53
Record when an allocated page is taken from the freelist trunk. (check-in: bb5d7782 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: ac5d2e9d user: drh tags: experimentalIoLog)
2015-08-08
23:30
Fix compiler warnings and remove unreachable code. (check-in: fd5608fb user: drh tags: trunk)
23:23
Fix an assert() that was in the wrong spot. (Closed-Leaf check-in: 962b6cd6 user: drh tags: warnings)
22:47
Fix compiler warnings and remove unreachable code. (check-in: be190fe7 user: drh tags: warnings)
15:13
Update RBU to avoid repreparing a statement immediately after it is prepared. (check-in: 1d75a41b 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: 06576590 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: 6d47b35a 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: 3a82c8e6 user: dan tags: mmap-wal-bigtrans)
2015-08-06
12:54
increase the version number to 3.8.12 (check-in: e596a6b6 user: drh tags: trunk)
03:19
Fix harmless compiler warnings in FTS5 code. (Closed-Leaf check-in: 0ddb2532 user: mistachkin tags: fts5NoWarn)
03:09
Fix duplicate test numbering in the FTS5 matchinfo tests. (check-in: 483ebe89 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: 9e3aafe4 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: 08888383 user: dan tags: trunk)
08:01
Fix some problems in test code detected by cppcheck. (check-in: c9ff4ca4 user: dan tags: trunk)
07:43
Remove all references to "docid" within fts5 source code and comments. Replace with "rowid". (check-in: dffd358f 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: 4f9520a9 user: dan tags: trunk)
19:06
Improve the usage comment on sqlite3_analyzer: show the available switches. (check-in: 783f78e3 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: e3c6d4b6 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: 9699e9bd 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: cd997770 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: 90e34d51 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: 70b57daf user: drh tags: trunk)
2015-08-01
18:18
Add extra tests for RBU and FTS3/4. (check-in: 34190449 user: dan tags: trunk)
2015-07-31
19:52
Add support for "fossil deltas" to RBU and "sqldiff --rbu". (check-in: e26ef165 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: 047d3475 user: drh tags: trunk)
17:48
Remove a duplicate "typedef struct Fts5Global Fts5Global;" from fts5_main.c (duplicate is in fts5Int.h). (check-in: 54a771fe 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: fee7ad73 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: 93449e70 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: c3c672af user: dan tags: trunk)
2015-07-30
20:26
Add the --rbu switch to the "sqldiff" utility. (check-in: 098bea26 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: 287aa306 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: 8e818b89 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: 96559adb user: mistachkin tags: trunk)
22:37
Update Windows 10 SDK version for RTM. (Closed-Leaf check-in: 80ab338c 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: f0075d73 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: a0020c57 user: drh tags: trunk)
20:00
Version 3.8.11.1 (check-in: cf538e27 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: e4628de3 user: drh tags: trunk)
14:58
Update comments in fts5.h describing the xColumnCount() API function. (check-in: a623eb55 user: dan tags: trunk)
14:46
Increase the version number to 3.8.11.1 (Closed-Leaf check-in: 326d746d 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: 4489722a 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: 0b971842 user: dan tags: begin-concurrent)
2015-07-28
19:35
Update batch build tool library paths for MSVC 2015. (check-in: d431d4e1 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: eff43715 user: drh tags: trunk)
16:46
Add some test cases and fix some small problems with BEGIN UNLOCKED transactions. (check-in: 6da0e962 user: dan tags: begin-concurrent)
2015-07-27
19:57
Clarification to the documentation for sqlite3_result_zeroblob64(). No changes to code. (check-in: c98175e9 user: drh tags: trunk)
19:31
Add an experimental "BEGIN UNLOCKED" command. (check-in: 80794216 user: dan tags: begin-concurrent)
13:49
Version 3.8.11 (check-in: b8e92227 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: 9f1dcdc3 user: dan tags: trunk)
11:49
Bump the "version" field in the fts5 config table. (Closed-Leaf check-in: 92c91789 user: dan tags: fts5-btree-index)
11:43
Minor tweak to the SQL schema used by fts5. (check-in: 427bf09b 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: ad6286ab user: dan tags: fts5-btree-index)
10:46
Merge latest trunk changes with this branch. (check-in: 5ec933c2 user: dan tags: fts5-btree-index)
2015-07-25
19:26
Remove a duplicated "if" condition from fts3.c. (check-in: ee348b12 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: 7efed578 user: dan tags: trunk)
14:12
Fix the wal3.test module so that it works with the memsubsys1 permutation. (check-in: af85b01d user: drh tags: trunk)
12:03
Fix a test script problem in memsubsys2.test. (check-in: 70885729 user: dan tags: trunk)
03:10
Disable the page cache bulk allocation for the shrink.test and wal.test modules. (check-in: 3418f1f1 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: db129149 user: drh tags: trunk)
22:21
Merge test improvements and minor fixes from trunk. (check-in: 0298a9a7 user: drh tags: sessions)
21:19
Enable the RBU extension to compile cleanly on Windows using MSVC. (check-in: cca79fdc user: mistachkin tags: trunk)
20:43
For Windows CE, a different header is required for the byteswap intrinsics. (check-in: 2d572b8c user: mistachkin tags: trunk)
20:34
Fix warnings in fts5 code. (check-in: bd4f156d user: dan tags: trunk)
19:56
Fix the pragma2.test module so that it works with SQLITE_ENABLE_MEMORY_MANAGEMENT. (check-in: de281a4f 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: 45c6a760 user: dan tags: trunk)
18:22
Fix a test script bug introduced by [562687d9]. (check-in: a343745d user: dan tags: trunk)
17:36
Add the sqlite3_bind_zeroblob64() API. (check-in: 1997ee54 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: cfeb1b1c user: drh tags: trunk)
17:14
Fix compiler warnings. Get the new sqlite3_result_zeroblob64() working on loadable extensions. (check-in: f8991e6f user: drh tags: trunk)
16:24
Add the sqlite3_result_zeroblob64() API. Use it in the SQL zeroblob() function. (check-in: c6445b9f 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: 4e3e516a user: drh tags: trunk)
14:17
Modify a few test scripts to avoid leaving the sqlite3Config structure in a non-default state. (check-in: 562687d9 user: dan tags: trunk)
00:02
Update RBU description comment in the header file. No changes to code. (check-in: 119883a2 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: 7f0ee770 user: drh tags: sessions)
20:44
Change the name of the OTA extension to RBU: Resumable Bulk Update. (check-in: 017c5019 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: 0ffd499f 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: 793e206f user: drh tags: trunk)
2015-07-21
19:22
Fix harmless compiler warning in MSVC 2015. (check-in: 01c8b9cc user: mistachkin tags: trunk)
2015-07-19
19:53
Cleanup the 'config.h' file in the appropriate distclean targets. (check-in: e0a99780 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: 2a7b3a44 user: drh tags: trunk)
01:16
Avoid a harmless compiler warning. (check-in: 2288842b 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: 7190d79b user: dan tags: fts5-btree-index)
20:17
Fix compiler warnings in fts5 code. (check-in: e9bf275c user: dan tags: trunk)
18:37
Fix harmless compiler warnings. (check-in: 9a592cf9 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: b79a4aff user: drh tags: trunk)