SQLite

Timeline
Login

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

444 check-ins using file VERSION version ccfc4d1576

2015-10-12
03:56
Remove AWK requirement from the MSVC batch build tool. (Closed-Leaf check-in: 6d9cdb931c 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: 7c5d583bac user: mistachkin tags: omit-awk)
2015-10-10
23:39
Enhance TclKit batch tool (and MSVC makefile) to support targets that require the Tcl stub library. (check-in: bc6223b1d6 user: mistachkin tags: omit-awk)
02:06
Remove a couple superfluous double quotes in the MSVC makefile. (check-in: 0f9e205b28 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: f8c2193b64 user: mistachkin tags: omit-awk)
00:53
More fine-tuning to the new TclKit tools. (check-in: 43addd8aa0 user: mistachkin tags: omit-awk)
2015-10-09
18:48
Tweak batch tool added in the previous check-in to permit the base URI to be overridden. (check-in: 1d2f82df67 user: mistachkin tags: omit-awk)
17:36
Add tool capable of downloading a TclKit (and its associated SDK) on Windows. (check-in: 50673ddaf8 user: mistachkin tags: omit-awk)
13:39
Add the JSON1 and FTS5 extensions to the amalgamation. Add new options to ./configure: --enable-json1 and --enable-fts5. (check-in: 1eb7699331 user: drh tags: trunk)
13:29
Fix a typo in the MSVC Makefile (Closed-Leaf check-in: c8a1208238 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: a0c44f1d46 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: 6ebac32d83 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: 206174f9b1 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: 2928f8e87d user: drh tags: amalg-json1-fts5)
21:02
Remove calls to "load_static_extension" from fts5 test scripts. (check-in: 53dd7c4c65 user: dan tags: amalg-json1-fts5)
21:00
Further tweaks to main.mk so that fts5 builds as part of testfixture. (check-in: 97e11b79a5 user: dan tags: amalg-json1-fts5)
20:40
Fix further fts5 compilation issues. (check-in: 0d7f301fb0 user: dan tags: amalg-json1-fts5)
20:28
Fix two more warnings in fts5 code. (check-in: 5343e601fb 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: e9e76e1281 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: d820a1bd1b user: drh tags: amalg-json1-fts5)
17:35
In the RBU extension, use MoveFile() instead of rename() on Windows CE. (check-in: df9ef61f1b user: mistachkin tags: trunk)
14:55
Merge the 3.8.12 beta changes from trunk. (check-in: 35b1b8d4b9 user: drh tags: sessions)
02:44
Remove two unused lines of code - discovered by scan-build. (check-in: 77b707b774 user: drh tags: trunk)
2015-10-07
19:06
Further optimizations for fts5 prefix queries without a prefix index. (check-in: 83dc1ff7fa user: dan tags: trunk)
17:06
Fix harmless compiler warning in FTS5. (check-in: 13adcd038f user: mistachkin tags: trunk)
17:01
Allow the subsitute character (codepoint 26 - 0x1A) to appear in fts5 barewords. (check-in: baec1b96cb user: dan tags: trunk)
16:14
Adjustments to spellfix2.test so that it works reliably on mac. (check-in: d591e860d3 user: drh tags: trunk)
13:24
Add tests for fts5 phrase queries with column filters. (check-in: f20f9f813f 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: 5b67752153 user: drh tags: omit-awk)
12:21
Change the addopcodes.awk script into tool/addopcodes.tcl. (check-in: 8bbf37142e user: drh tags: omit-awk)
12:11
Convert the mkopcodec.awk script into tool/mkopcodec.tcl. (check-in: 1506cb33fc user: drh tags: omit-awk)
09:02
Add further tests for fts5 prefix queries. (check-in: accdc98b12 user: dan tags: trunk)
04:20
Fix a typo in the previous check-in. (check-in: 80027709c3 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: 8a0a2aa5a6 user: mistachkin tags: trunk)
02:52
Change mkopcodeh.awk into tool/mkopcodeh.tcl. (check-in: ed0ebc460b user: drh tags: omit-awk)
00:35
Remove three obsolete and unused files from tool/ (check-in: 0abd65294e user: drh tags: trunk)
2015-10-06
21:49
Fix typo in comments. No changes to code. (check-in: a05f903c64 user: mistachkin tags: trunk)
21:07
Simplifications to the VDBE bytecode that handles LIMIT and OFFSET. (check-in: 041df7c2f1 user: drh tags: trunk)
20:53
Optimizations for fts5 expressions that filter on column. More still to come. (check-in: bf1607ac15 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: 4b63136435 user: drh tags: trunk)
01:44
Adjustments to sqlite3MemoryBarrier() when compiling with MSVC and/or WinCE. (check-in: 3168326ebf user: mistachkin tags: trunk)
2015-10-05
19:41
Improve performance of prefix queries without a prefix index on fts5 tables. (check-in: f2f0184e9e 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: d6b66cd7b8 user: dan tags: trunk)
11:57
Add fts5txt2db.tcl, a tool for creating sample fts4/5 databases from text files. (check-in: 44f1ce30d1 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: 41d17d9e24 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: f653fce908 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: 5c83b9db46 user: dan tags: trunk)
2015-10-01
18:31
Fix an fts3 bug causing NEAR queries on uncommitted data to malfunction. (check-in: 6f90839e91 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: 7695890230 user: dan tags: sessions)
2015-09-30
14:50
Merge recent enhancements from trunk, and especially the fix for ticket [1b266395d6bc10]. (check-in: b2face9aa9 user: drh tags: sessions)
14:30
Add a corrupt database to test/fuzzdata3.db to validate the previous check-in. (check-in: e796c0efb6 user: drh tags: trunk)
14:19
Fix an assert() in btree.c that is only true for non-corrupt databases. (check-in: 29f7227ff1 user: drh tags: trunk)
12:59
Clear the BTCF_ValidNKey flag when putting a cursor into REQUIRESEEK state. Fix for [1b266395]. (check-in: a6d5e4e869 user: dan tags: trunk)
11:19
Improve error handling in shell command ".tables". (check-in: 31a91ee7d3 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: 3e15dea55c 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: 7d272aa62c 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: a1d08fd3d0 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: 77948b5ece 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: 0e317dda5d 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: 59662cd2b6 user: drh tags: vtab-onepass)
12:32
Fix compiler warnings. (check-in: d1a0783854 user: drh tags: vtab-onepass)
12:19
Fix an off-by-one error in test function fts5_decode(). (check-in: 3a9f076250 user: dan tags: trunk)
11:59
Merge latest trunk change into this branch. (check-in: b519c0d67a 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: f61203bc0f 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: 820c804468 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: 70ec88b299 user: drh tags: delete-without-rowid-opt)
20:03
Also allow UPDATE on virtual tables to use the onepass strategy. (check-in: 1aa27d706d 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: c5566bb39c user: drh tags: trunk)
15:23
Update fts3 to use the onepass strategy for delete operations. (check-in: fffab4f70f 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: e73f919fae user: dan tags: vtab-onepass)
15:08
Add test cases to the ONEPASS optimization corruption problem fixed by the previous check-in. (check-in: 5c14d44705 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: 9d057f5221 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: 33404b2029 user: drh tags: trunk)
11:15
Fix a memory leak that can occur following a syntax error in CREATE VIEW. (check-in: f4704035a6 user: drh tags: trunk)
03:31
Fix the title of the documentation on sqlite3_value_subtype(). This is a comment change only. (check-in: b790235424 user: drh tags: trunk)
03:23
Expand the header comment to clarify the purpose for the sqlite3MemoryBarrier() function. (check-in: b89495ae09 user: drh tags: trunk)
01:28
Remove an assert in the windows worker-thread logic that can fail in a race condition. (check-in: d7bfb96092 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: 2d867c054d user: drh tags: trunk)
20:49
Fix PRAGMA integrity_check so that it works with a UNIQUE index over expressions. (check-in: 113181cec4 user: drh tags: trunk)
20:18
Fix a faulty assert() on the benign-malloc controller callback in test_malloc.c. (Leaf check-in: 64f2cb8dd2 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: 2c57b2f386 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: 6e4ac0be2d 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: 1350dd42d0 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: 668fc1ebaf user: drh tags: trunk)
17:38
Fix over-length source code lines in where.c. No logic changes. (check-in: 1c8c5380a8 user: drh tags: trunk)
15:17
Merge all recent trunk enhancements and fixes into the begin-concurrent branch. (check-in: c63c1e15f8 user: drh tags: begin-concurrent)
15:06
Merge trunk changes into the cursor-hints branch. (check-in: fbe637620f user: drh tags: cursor-hints)
14:43
Merge recent trunk enhancements into the apple-osx branch. (check-in: 4dd06d8ba1 user: drh tags: apple-osx)
14:26
Merge all the latest trunk enhancements into the sessions branch. (check-in: c91065f8ed 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: c6ab807b72 user: drh tags: trunk)
12:19
Make sure joins work correctly when both sides of the join are connected using indexed expressions. (check-in: c2fcb03299 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: d9b716a6bd user: drh tags: trunk)
11:06
Fix a JSON1 test case so that it works on builds that omit virtual tables. (check-in: a4444c0f66 user: drh tags: trunk)
01:40
Another (smaller) performance optimization for the JSON parser. (check-in: c43daa8c78 user: drh tags: trunk)
01:06
Performance optimizations on the JSON parser. (check-in: 7dd4b07a42 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: 5b61b72f54 user: drh tags: trunk)
16:35
Merge updates from trunk. (check-in: 0a75ebd23e user: mistachkin tags: mutexInitIsInitReCheck)
16:33
Correct superfluous whitespace difference. No functional changes. (check-in: 8d69983dc2 user: mistachkin tags: mutexInitSimpleCmpSwap)
16:24
Simplify thread-safety of mutex initialization. (check-in: da0587c522 user: mistachkin tags: mutexInitSimpleCmpSwap)
15:54
Merge updates from trunk. (Closed-Leaf check-in: 6b85f8cd4d user: mistachkin tags: mutexInitCmpSwap)
11:59
Capture AFL-generated fuzz tests for json1.c into the test/fuzzdata4.db file. (check-in: 10a214fdb3 user: drh tags: trunk)
01:10
Do not allow a comma at the end of a JSON array or object. (check-in: 7c7a3f3e9b user: drh tags: trunk)
2015-09-22
18:51
Add the --export-sql and --export-db options to the fuzzcheck utility program. (check-in: 760af44551 user: drh tags: trunk)
17:46
Fix a typo in the --help screen of the fuzzcheck utility. (check-in: b6ae61fe3b 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: fcb1e327a6 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: 0f16041647 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: 737ac3faf4 user: mistachkin tags: trunk)
23:49
Fix compilation under older versions of MSVC. (check-in: 17150ada14 user: mistachkin tags: trunk)
22:53
Simplifications to the json1.c logic. (check-in: 1646a2bd85 user: drh tags: trunk)
2015-09-20
22:57
Fix an overly-strict assert() in the btree logic. (check-in: 825ce3201d user: drh tags: trunk)
2015-09-19
20:27
Do not allow table-valued function syntax to be used on a view. (check-in: 97cfe346e1 user: drh tags: trunk)
19:36
Add the --disable-lookaside option to the fuzzershell utility program. (check-in: 0b04374449 user: drh tags: trunk)
18:54
Fix a memory leak in json1.c that could occur after misuse of json_object(). (check-in: 394b81b11f user: drh tags: trunk)
18:11
Add an assert() statement to delete.c. (check-in: 40fce67ecf user: dan tags: trunk)
18:08
Fix compiler warnings. (check-in: 5c31ee62a1 user: drh tags: trunk)
16:51
Add json1.c to the fuzzer test shells. (check-in: 809d67b611 user: drh tags: trunk)
16:45
Adjust Makefiles to use SQLITE_CORE when statically linking json1.c into test shells. (Closed-Leaf check-in: 91682ac39e user: drh tags: json-fuzz)
14:57
Adjust fuzzershell so that it adds the json1 extension separately for each no connection. (check-in: ca2d1e9036 user: drh tags: json-fuzz)
14:32
Include json1.c in fuzzcheck and fuzzershell. (check-in: c4b68eff7f user: drh tags: json-fuzz)
12:04
Fix a documentation typo in sqlite3_bind_parameter_index(). No code changes. (check-in: 650605a820 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: d2a027372a 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: b1278301e3 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: 25f34cb9b5 user: drh tags: trunk)
15:38
Adjustments to the spellfix2.test module so that it works reliably on windows. (check-in: 09a313fb7f user: drh tags: trunk)
15:35
Adjust two test cases so that they conform to the current code. (check-in: 228e3d7c8f 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: acf5d87f94 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: 26f64986d1 user: dan tags: trunk)
14:42
Fix the orderby9.test case so that it works with 32-bit versions of TCL (check-in: 4b6af77430 user: drh tags: trunk)
14:22
Remove a test made obsolete by the ONEPASS DELETE optimization. (check-in: c88b62c28c 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: 6713e35b8a user: dan tags: trunk)
09:48
Fix a crash in FTS5 caused by specifying NULL as the rhs of a MATCH operator. (check-in: e8ed62f82e 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: 0f3de2d337 user: drh tags: trunk)
12:31
Fix typo in fts5.h. (check-in: 07721c6c24 user: dan tags: trunk)
2015-09-15
19:16
Merge enhancements from trunk. (check-in: fc4d1de8ae user: drh tags: begin-concurrent)
17:31
Merge enhancements from trunk. (check-in: 66fe068326 user: drh tags: cursor-hints)
17:20
Merge trunk enhancements into the apple-osx branch. (check-in: f12b8a0f79 user: drh tags: apple-osx)
15:55
Merge the latest trunk enhancements with this branch. (check-in: b7469c44be user: dan tags: sessions)
14:39
Add test cases to cover fts5 integrity-check code. (check-in: 1d018c35b9 user: dan tags: trunk)
13:42
Reformat some code to make it easier to merge with sessions. No logic changes. (check-in: eade355faf user: drh tags: trunk)
11:58
Fix a problem with fts5 "ORDER BY rowid DESC" queries and large terms. (check-in: b26d8f79c6 user: dan tags: trunk)
2015-09-14
22:54
Remove a comment that is no longer accurate. (check-in: cf114c1895 user: mistachkin tags: mutexInitIsInitReCheck)
22:53
Merge updates from trunk. (check-in: 25c157714d user: mistachkin tags: mutexInitIsInitReCheck)
22:52
Re-check sqlite3GlobalConfig.isInit after the mutex subsystem has been initialized. (check-in: fea8c0b281 user: mistachkin tags: mutexInitIsInitReCheck)
19:51
Improve test coverage of fts5_index.c. (check-in: c1f76686ce user: dan tags: trunk)
19:26
Testability improvements for the ONEPASS_MULTI enhancement. (check-in: d2df93f26f user: drh tags: trunk)
14:49
Fix a typo in an SQLITE_USER_AUTHENTICATION macro. (check-in: 379455af9f 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: 16e56bdade user: drh tags: trunk)
14:08
Fix a compiler warning and providing missing VdbeCoverage() calls. (check-in: 2edd2e5edd 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: 8b93cc5937 user: dan tags: trunk)
10:47
Merge the latest trunk enhancements. (check-in: 22ce9218fb 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: 166d5af891 user: dan tags: onepass-delete)
2015-09-13
20:15
Add static VFS mutexes to the primary header file comments. (check-in: 9a867d9fbe user: mistachkin tags: trunk)
18:45
Experimental changes to avoid recusrively calling xMutexInit. (check-in: c9400ff167 user: mistachkin tags: mutexInitCmpSwap)
18:43
Merge updates from trunk. (check-in: b42c2e2076 user: mistachkin tags: mutexInitCmpSwap)
2015-09-12
19:50
Fix compiler warnings in delete.c. (check-in: 0a4d285e18 user: dan tags: onepass-delete)
19:27
Fix API documentation typos. Emphasize that the sqlite3_config() routine is not threadsafe. (check-in: 786333e05a 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: eaeb2b80f6 user: dan tags: onepass-delete)
18:58
Merge updates from trunk. (check-in: d8051f611a user: mistachkin tags: mutexInitCmpSwap)
18:57
Import common changes from the mutex initialization branch. (check-in: 334720c017 user: mistachkin tags: trunk)
16:59
Merge updates from trunk. (check-in: 4859778900 user: mistachkin tags: mutexInitCmpSwap)
04:22
Fix comments. (check-in: de3fa51e93 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: 1a97bc81cc user: mistachkin tags: mutexInitCmpSwap)
03:40
Clarify the new mutex implementation reset logic in sqlite3_shutdown(). (check-in: f9a034834e user: mistachkin tags: mutexInitCmpSwap)
03:35
Add more asserts to the mutex subsystem. (check-in: 7562f1fbed user: mistachkin tags: mutexInitCmpSwap)
01:17
Fix typo in the Win32 implementation of sqlite3CompareAndSwap. (check-in: 31a26a1dd7 user: mistachkin tags: mutexInitCmpSwap)
2015-09-11
23:24
Make sure that the mutex implementation can be altered after calling sqlite3_shutdown(). (check-in: dc2cf89743 user: mistachkin tags: mutexInitCmpSwap)
20:54
Update evidence marks due to wording changes in requirements text. No changes to code. (check-in: 86781093bd user: drh tags: trunk)
18:05
Fix harmless compiler warnings. (check-in: bfc7b84b76 user: mistachkin tags: trunk)
15:32
More test cases in test/json102.test corresponding to new examples in the json1 documentation. (check-in: f599a42e19 user: drh tags: trunk)
14:15
Fix some compiler warnings in fts5 code. (check-in: 0dc436116e 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: f6a8f57795 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: d6cadbe9fe 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: db4152aef2 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: 8a80d6459e 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: c6fca0be11 user: drh tags: subtypes)
20:34
Experimental implementation of sqlite3_result_subtype() and sqlite3_value_subtype() interfaces. (check-in: 7b5be299c6 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: f5580f0853 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: 0c0c4ae971 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: 127cce3eb9 user: drh tags: trunk)
16:39
Increment the fts5 version value to indicate that the on-disk format has changed. (Closed-Leaf check-in: 99de5e3613 user: dan tags: fts5-incompatible)
16:19
Fix a segfault in fts5 that could occur if the database contents were corrupt. (check-in: 4931e37da4 user: dan tags: fts5-incompatible)
15:52
Merge latest changes from trunk. Including fts5_expr.c fixes. (check-in: 716e7e7477 user: dan tags: fts5-incompatible)
15:49
Update description of on-disk format in fts5_index.c. (check-in: 85aac7b8b6 user: dan tags: fts5-incompatible)
15:24
Make the sqlite3ext.h header file responsive to -DSQLITE_OMIT_LOAD_EXTENSION. (check-in: 47a46a9fa4 user: drh tags: trunk)
15:22
Disable tests for json_each() and json_tree() on builds where virtual tables are not supported (check-in: bb8ee3b140 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: 9ecf684dfe user: drh tags: trunk)
10:40
Revert an accidentally committed makefile change. (check-in: 402704b13f 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: ffe2796ac9 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: fab245bea4 user: dan tags: fts5-incompatible)
04:17
Attempt to declare sqlite3MemoryBarrier() correctly for all possible build configurations. (check-in: da8a288f8e 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: 6adc7de76a 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: 8250e2a487 user: drh tags: trunk)
2015-09-09
23:54
Fix harmless compiler warning in FTS5. (check-in: 86146a731d user: mistachkin tags: trunk)
19:44
Fix an assert() enabled by SQLITE_ENABLE_EXPENSIVE_ASSERT in wal.c. (check-in: 8d2ed150a7 user: dan tags: trunk)
19:27
Fix a possible NULL pointer deref when using SQLITE_ENABLE_MEMORY_MANAGEMENT. (check-in: 89bfdbfe94 user: drh tags: trunk)
17:23
Fix harmless compiler warning. (check-in: 280fd3a482 user: mistachkin tags: trunk)
17:17
Fix harmless compiler warnings in FTS5. (check-in: 2cdb18778f 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: 4a18d8bd4c user: drh tags: trunk)
08:15
Fix a bug in preprocessor macros within fts5_main.c. (check-in: 0eb2b9521f user: dan tags: fts5-incompatible)
2015-09-08
21:16
Remove an unused local variable from Lemon. (check-in: fe9ffe5eed 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: 6beb512c7a user: drh tags: trunk)
20:26
Eponymous virtual tables exist in the "main" schema only. Enforce this rule. (check-in: 06f90bb274 user: drh tags: trunk)
19:55
Remove the 0x00 terminators from the end of fts5 doclists stored on disk. (check-in: 00d990061d user: dan tags: fts5-incompatible)
17:31
Fix the help message that sqlite3_analyzer.exe generates for invalid arguments. (check-in: 33a14e7be1 user: drh tags: trunk)
2015-09-07
23:40
Minor tweaks to Lemon. (check-in: 986677224a user: drh tags: trunk)
20:22
Merge parser enhancements and other improvements and bug fixes from trunk. (check-in: 9cf3e51bcc 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: 99b992fa84 user: drh tags: trunk)
20:02
Fix an unreachable branch in the new parse automaton. (Closed-Leaf check-in: e9d604b430 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: 2c17a13583 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: 531c3974b3 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: b6ffb7e471 user: drh tags: trunk)
08:14
Use macros to make the code in fts5_index.c easier to read. (check-in: 67ff5ae813 user: dan tags: fts5-incompatible)
02:23
Improved "Parser Statistics" output (the -s option) for the Lemon parser generator. (check-in: 809503e4ef user: drh tags: trunk)
2015-09-06
10:31
Improved memory barrier that should work with MinGW on older versions of Windows. (check-in: 47dc24bd1e 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: 11a9a786ec 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: 7ab0b258ea user: drh tags: trunk)
19:52
Experiment with a different fts5 leaf page format that allows faster seeks. (check-in: a1f4c3b543 user: dan tags: fts5-incompatible)
19:21
Fix an unreachable conditional in the WHERE clause analysis logic. (check-in: 24924a5819 user: drh tags: trunk)
19:07
Get STAT4 range scan estimates work again when the bounds are determined by date/time functions. (check-in: d2761357a0 user: drh tags: trunk)
2015-09-04
18:03
Fix over-length source code lines in Lemon. (check-in: 1efece95ff user: drh tags: trunk)
17:32
Add support for CREATE INDEX statements that use deterministic expressions rather than only column names. (check-in: 2131a5ca53 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: a9b84885aa 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: c0bf92eca4 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: 5ff8552938 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: 3d3df79bfa user: drh tags: trunk)
11:13
Enhance showfts5.tcl so that it can optionally display the number of terms in each segment. (check-in: d648ddd93d 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: 0b7e4ab8ab user: dan tags: trunk)
10:24
Merge latest trunk changes. (Closed-Leaf check-in: 443a5eb8e1 user: dan tags: fts5-incompatible)
04:31
Simplification of the LRU list handling in pcache1. (check-in: 05a3a2cd14 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: c490bfb150 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: f00a9e1e99 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: 801882817f user: dan tags: fts5-incompatible)
18:57
Merge enhancements from trunk. (check-in: 4b49fe9969 user: dan tags: fts5-incompatible)
18:20
A simple optimization and size reduction in sqlite3PagerAcquire(). (check-in: 618d8dd4ff user: drh tags: trunk)
18:05
Add documentation for fts5 synonym support. (check-in: 58aa1f4359 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: b79096be7c user: drh tags: trunk)
15:37
Add tests to improve coverage of fts5_varint.c. (check-in: 89f24f31a8 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: f8ae9bfd05 user: drh tags: begin-concurrent)
14:48
Merge recent trunk enhancements. (check-in: 6a513c0585 user: drh tags: sessions)
14:39
Merge enhancements from trunk. (check-in: 25ee3000e9 user: drh tags: cursor-hints)
14:31
Merge enhancements from trunk. (check-in: d01658adf8 user: drh tags: apple-osx)
14:22
Remove some more code from fts5_index.c by consolidating similar functions. (check-in: 59ae30b97b user: dan tags: fts5-incompatible)
14:18
Merge enhancements from trunk. (check-in: 1ab10cbf27 user: drh tags: index-expr)
14:04
Merge trunk optimizations. (check-in: 71e7299e8d 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: 847387ec8e user: drh tags: trunk)
11:17
Remove dead code from fts5_index.c. (check-in: 8a0a9b01e7 user: dan tags: fts5-incompatible)
11:00
Fix the fts5 integrity-check so that it works with columnsize=0 tables. (check-in: 11b887b15e user: dan tags: fts5-incompatible)
10:27
Fix a memory leak in fts5_expr.c. (check-in: 399932a181 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: d7f4bdf594 user: drh tags: trunk)
03:29
For PRAGMAs, factor out the code that sets the result set column names into a subroutine. (check-in: 0ea6e5c9fc user: drh tags: trunk)
2015-09-02
21:00
Optimizations to the printf formatter. (check-in: a3b35ddeca 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: bdedd838bb user: dan tags: fts5-incompatible)
18:56
Fix an issue with fts5 synonyms and NEAR(...) queries. (check-in: f2e590700d user: dan tags: fts5-incompatible)
18:40
Add and use the sqlite3VdbeChangeOpcode() routine. Simplify the implementation of the other sqlite3VdbeChange*() routines. (check-in: 0a5b00e493 user: drh tags: trunk)
18:19
Add the sqlite3VdbeAddGoto(v,i) routine as a shorthand for sqlite3VdbeAddOp2(v,OP_Goto,0,i). (check-in: be78f413df 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: 2f5472cfda 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: a4c35fa2c9 user: dan tags: fts5-incompatible)
16:51
Small simplification to the EXPLAIN QUERY PLAN logic. (check-in: d1592d201a user: drh tags: trunk)
15:37
Use sqlite3XPrintf() instead of sqlite3StrAccumAppend() in a few places for better performance and a smaller footprint. (check-in: 82355e4108 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: 5d3f5df4da user: drh tags: trunk)
14:17
Fix a problem handling OOM conditions within fts5 queries that feature synonyms. (check-in: 11fa980897 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: 6e0298cdcb user: drh tags: mistake)
08:22
Fix a problem with fts5 synonyms and the xQueryPhrase() auxiliary function API. (check-in: cf3e45e76d user: dan tags: fts5-incompatible)
2015-09-01
23:51
Very minor optimizations in the unix VFS. (check-in: 6db3ff45bc user: drh tags: trunk)
22:29
Performance improvement in sqlite3VarintLen(). (check-in: adf9fefb00 user: drh tags: trunk)
20:09
Small size reduction and performance increase in sqlite3DbMallocSize(). (check-in: 8a80967f84 user: drh tags: trunk)
19:51
Reduce the number of calls to sqlite3BeginBenignMalloc(). (check-in: 0bee658366 user: drh tags: trunk)
18:52
Merge recent enhancements from trunk. (check-in: cb77236673 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: cd359550bd user: dan tags: fts5-incompatible)
18:40
Merge the latest trunk enhancements. (check-in: 4af79477fd user: drh tags: apple-osx)
18:31
Merge enhancements from trunk. (check-in: 29570a6048 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: dbcb73802b user: dan tags: fts5-incompatible)
18:01
Merge the latest trunk enhancements. (check-in: 3dea047465 user: drh tags: begin-concurrent)
17:48
Fixes so that it builds without warnings both with and without SQLITE_ENABLE_CONCURRENT. (check-in: 5ed2a445a1 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: ff5137a6dd user: drh tags: index-expr)
00:42
Remove unreachable branches. (check-in: fd4da2318c 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: 5a2c0e90a1 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: 4871313039 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: ad7feaed4c 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: cc60321a67 user: drh tags: index-expr)
18:13
Case should not be significant when comparing function names. (check-in: e2f1caf117 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: c77554b5c4 user: drh tags: index-expr)
15:58
Improved analysis and usage of indexed expressions in the query planner. (check-in: f889369638 user: drh tags: index-expr)
14:27
Merge the latest enhancements from trunk. (check-in: 7bde6d4d8c 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: 1da60c3dda user: drh tags: trunk)
19:03
Link the json1 extension into the command-line shell by default. (check-in: 2e8e239cec 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: 98d07d16ca user: dan tags: fts5-incompatible)
18:30
New test cases for the json1 extension. (check-in: daff4832af user: drh tags: trunk)
17:22
Fix the build with -DSQLITE_OMIT_VIRTUALTABLE. (check-in: 752918def7 user: drh tags: trunk)
16:02
Do not consider an empty string to be valid JSON. Add some additional JSON test cases. (check-in: fd19ff029f user: drh tags: trunk)
15:44
Another change to the fts5 tokenizer API. (check-in: fc71868496 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: 3aa0855fd4 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: dc9ce7b18c 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: 90b85b42f2 user: dan tags: fts5-incompatible)
16:41
Fix compiler warnings in rbu code. (check-in: 0fdc36fe35 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: a84cf4f5d3 user: dan tags: trunk)
15:50
Merge latest trunk into this branch. (Closed-Leaf check-in: ab93024da7 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: 650111f667 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: bd911496cb user: drh tags: apple-osx)
09:27
Merge latest trunk changes with this branch. (check-in: 57bc0194f4 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: 64abb65d4d 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: 44f103d886 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: da8646582a 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: cf452028d1 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: 66f92a1686 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: 73d361ce9e user: drh tags: index-expr)
19:57
Add header comments for new methods in pager.c. (check-in: 437c7e219d user: dan tags: begin-concurrent)
19:56
Fix problems in the indexed-expression handling in the optimizer. (check-in: 0337501769 user: drh tags: index-expr)
19:22
Add test cases for concurrent transactions and long-lived SELECT statements. (check-in: fd4798cb7a 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: 42f93f582e 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: fc17f73170 user: dan tags: begin-concurrent)
16:07
Merge changes from trunk. (check-in: c80e9e8e8c user: drh tags: index-expr)
15:58
Adjustments to the WHERE term scanning, to better handle scanning terms of an index. (check-in: 5611130a59 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: cbc3c9a8bf user: drh tags: trunk)
18:54
Fix an assert() in pager.c that could fail in a concurrent transaction. (check-in: 69394ddaa2 user: dan tags: begin-concurrent)
18:04
Merge enhancements from trunk. (check-in: ec6ddb3d48 user: drh tags: index-expr)
18:02
Fix a problem allowing some conflicting transactions to be committed. (check-in: a0566382d5 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: c2f3bbad77 user: drh tags: trunk)
11:40
Refactor With.a.zErr into With.a.zCteErr. No logic changes. (check-in: 58ba73630e 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: 65a8918776 user: drh tags: trunk)
2015-08-25
19:42
Move sqlite3IndexColumnAffinity() inside of SQLITE_ENABLE_STAT3_OR_STAT4. (check-in: b3732a4e1b user: drh tags: trunk)
19:24
Merge trunk enhancements. (check-in: e8b02902c4 user: drh tags: index-expr)
19:20
Use the sqlite3IndexColumnAffinity() routine to quickly and correctly find the affinity of an index column. (check-in: 1ee089a72d user: drh tags: trunk)
19:10
Add miscellaneous test cases for concurrent transactions. (check-in: 779b1d0e17 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: f32b57b493 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: efaabdb716 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: c746e0bd20 user: dan tags: begin-concurrent)
14:37
Fix a segfault that could occur following an OOM condition in the concurrent transaction code. (check-in: 231b588022 user: dan tags: begin-concurrent)
11:16
Merge latest trunk changes with this branch. (check-in: 3e7d6dd62d user: dan tags: begin-concurrent)
00:34
Fix a memory leak that might occur when compiling with SQLITE_OMIT_CHECK. (check-in: 8f1d9f1f30 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: 0ad0f8d77d user: drh tags: index-expr)
2015-08-24
22:06
Remove duplicated line of code. (check-in: 47280f2a2b 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: bdaf66465b 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: bed42116ad user: drh tags: trunk)
19:56
Change "BEGIN UNLOCKED" to "BEGIN CONCURRENT". (check-in: ba1ab858e2 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: 5b9f272113 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: d794b34da6 user: drh tags: trunk)
17:18
Enhancements to the batch build tool for MSVC. (check-in: a1ae20cd97 user: mistachkin tags: trunk)
16:00
Fix compilation without SQLITE_ENABLE_UNLOCKED. Also other code organization issues. (check-in: 0411355754 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: 83cbc4d876 user: drh tags: trunk)
12:42
Improvements to JSON string dequoting. (check-in: 196d66d34d user: drh tags: trunk)
10:05
Consolidate two blocks of similar code in btreeFixUnlocked(). (check-in: 701302b4bd user: dan tags: begin-concurrent)
06:44
Merge trunk changes with this branch. (check-in: 876810c28b user: dan tags: begin-concurrent)
06:43
Fix another problem involving unlocked transactions and wal-file restarts. (check-in: 4460764ea8 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: f0aba0e120 user: drh tags: trunk)
2015-08-23
20:48
Fix a comment typo on sqlite3ExprAlloc(). No code changes. (check-in: 518d6220a1 user: drh tags: trunk)
20:44
Fix minor glitches in the json1.c extension, mostly having to do with OOM behavior. (check-in: cc5204149c user: drh tags: trunk)
02:42
Fixes to json_each() and json_tree(). Improved json_parse() debugging output. (check-in: fc1b24f316 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: e3968b2562 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: 380a97345b user: drh tags: trunk)
17:28
Add further tests for deferred page allocation. And fixes for the same. (check-in: ed0a31be72 user: dan tags: begin-concurrent)
07:56
Merge further trunk changes. (check-in: c2327a3b8e user: dan tags: begin-concurrent)
07:55
Merge trunk changes into this branch. (check-in: 9021f7369f user: dan tags: begin-concurrent)
03:05
Fix a couple instances of OOM handling in the json extension. (check-in: 213a6c5ccb 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: 351bc22fa9 user: drh tags: trunk)
2015-08-21
20:43
Add extension functions for processing JSON. (check-in: 178f9a352c 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: 9ff6ccde5f 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: d0d4bec9e3 user: drh tags: json)
20:11
Fix many minor issues in the unlocked transaction code. (check-in: 53aaeea6c9 user: dan tags: begin-concurrent)
20:02
Add the fullkey column to both json_each() and json_tree(). (check-in: 15dd99431e user: drh tags: json)
19:56
Merge header file fixes from trunk. (check-in: 7c2713e98f user: drh tags: json)
19:53
Add a missing #define for sqlite3_vsnprintf to sqlite3ext.h. (check-in: da3c9df09c 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: 069679162d user: dan tags: begin-concurrent)
17:57
Fix a problem with UNLOCKED transactions that free pages allocated within the same transaction. (check-in: 227bb8a181 user: dan tags: begin-concurrent)
17:39
Reserve the SQLITE_IOERR_VNODE error code name. (check-in: 53b593fcae user: drh tags: trunk)
17:33
Add the json_tree() virtual table. (check-in: 08c36e45f0 user: drh tags: json)
17:16
Merge in trunk fixes for table-valued functions. (check-in: 67375f32d9 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: 552bc9cb88 user: drh tags: trunk)
16:22
Merge trunk changes with this branch. (check-in: deaf3b1856 user: dan tags: begin-concurrent)
12:37
Fix typo in comment. No changes to code. (check-in: 7b8d17dd84 user: drh tags: trunk)
2015-08-20
23:54
Merge recent trunk enhancements, include table-valued functions. (check-in: e9196d5666 user: drh tags: sessions)
23:45
Merge recent enhancements from trunk, including table-valued expressions. (check-in: b9927c876c user: drh tags: cursor-hints)
23:39
Merge the latest changes from trunk, including the table-valued function implementation. (check-in: 10c444322f user: drh tags: json)
23:33
Compiler-warning fixes in the sqldiff.exe utility. (check-in: 64d13339d4 user: drh tags: trunk)
23:28
Fix a couple C99-isms that cause compile errors on MSVC. (check-in: bc577fe6cb user: drh tags: trunk)
23:21
Fix corner-case memory management issues in table-valued functions. Change virtual table handling so that if xDestroy is missing the table is eponymous only even if xCreate is present. (check-in: 774e6a14b1 user: drh tags: trunk)
21:14
Skip calling the virtual table xDestroy method when it is null. (check-in: b73ad305a6 user: mistachkin tags: trunk)
21:09
Fix compiler warnings in the sqldiff tool seen with MSVC. (Closed-Leaf check-in: 072279d458 user: mistachkin tags: msvcWarn)
20:21
Fix stray variable declaration for C89. (check-in: 17eb7f18cb user: mistachkin tags: trunk)
20:13
Correctly handle empty function argument lists on table-valued functions. (check-in: a7acc7878b user: drh tags: trunk)
19:55
Add support for table-valued functions in the FROM clause implemented as virtual tables. (check-in: 9b718b06b1 user: drh tags: trunk)
18:28
Prevent the series.c extension from loading on older versions of SQLite that do not support xCreate==NULL. (Closed-Leaf check-in: 3efc79427e user: drh tags: table-valued-functions)
17:18
Make SQLITE_BUSY_SNAPSHOT and SQLITE_BUSY_RECOVERY retryable, just as a plain SQLITE_BUSY is. (check-in: fd13dd950d user: drh tags: trunk)
16:16
Fix a typo in series.c. (check-in: 23db7f50f1 user: dan tags: table-valued-functions)
2015-08-19
23:02
Fix the path lookup for objects so that it can handle quoted identifier names and non-alphanumerics in the identifier. (check-in: 87f5873004 user: drh tags: json)
22:47
Add the json_each(JSON,PATH) table-valued-function. (check-in: 3335ac17bb user: drh tags: json)
19:26
Merge the table-valued-function rowid fix. (check-in: a06a6392bd user: drh tags: json)
19:01
Fix eponymous virtual tables so that they do not automatically make the first column the rowid. Enhance the generate_series virtual table to support rowid. (check-in: a325a08599 user: drh tags: table-valued-functions)
18:31
Merge support for table-valued functions. (check-in: 96a5d44d9f user: drh tags: json)
18:19
Improved comments on the generate_series virtual table. Test cases for ORDER BY rowid DESC with generate_series. (check-in: fef44c37f3 user: drh tags: table-valued-functions)
17:11
A list of arguments following a table name translates into equality constraints against hidden columns in that table. (check-in: 40e12cfe4c user: drh tags: table-valued-functions)
15:20
Minor refactor of the SrcList object so that it is able to hold the argument list to a table-valued-function in the FROM clause. (check-in: b919376147 user: drh tags: table-valued-functions)
13:54
Virtual table modules with a null xCreate method act as eponymous-only modules - they cannot be used in a CREATE VIRTUAL TABLE statement. Add the series.c extension that implements a postgres-like generate_series virtual table to demonstrate this capability. (check-in: c58426dbd5 user: drh tags: table-valued-functions)
12:52
Merge changes from trunk. (check-in: dddd792ded user: drh tags: table-valued-functions)
12:45
Simplification to error handling in addModuleArgument() in the virtual table processing. (check-in: c573b0a1aa user: drh tags: trunk)
08:34
When updating a zipvfs database with RBU, set journal_mode=off to prevent the upper-level pager from creating a large temporary file. (check-in: dec14a3980 user: dan tags: trunk)
02:32
Initial implementation of eponymous virtual table instances. (check-in: c1f43a7799 user: drh tags: table-valued-functions)
2015-08-18
19:09
Add test file spellfix2.test, which should have been checked in some time ago. (check-in: 8599402092 user: dan tags: trunk)
16:32
Fix harmless compiler warning in FTS5. (check-in: 02448a9fcc user: mistachkin tags: trunk)
15:58
Provide hints for all terms in a range constraint if there are any equality terms anywhere in the constraint. Range constraint terms are only omitted for a pure range constraint with no equality prefix. (check-in: b5897bc0f0 user: drh tags: cursor-hints)
12:59
Comment clarification. No changes to code. (check-in: 71a966952c user: drh tags: json)
02:28
Initial implementation of json_set() and json_insert(). (check-in: 4aa49656d9 user: drh tags: json)
2015-08-17
21:22
Initial implementation of json_replace(). (check-in: 3c4bee65d9 user: drh tags: json)
20:14
Add an initial implementation for json_remove(). (check-in: 2a8267209d user: drh tags: json)
17:19
Avoid generating hints using constraints that are also used to initialize the cursor, since presumably the cursor already knows about those constraints. (check-in: 142b048ac7 user: drh tags: cursor-hints)
15:17
Initial implementation for json_array_length(), json_extract(), and json_type(). (check-in: 3998320451 user: drh tags: json)
11:28
Abandon the JSONB format for now. (We may return to it in the future.) Add a function to render a JSON parse. (check-in: 9703c0aa18 user: drh tags: json)
2015-08-15
21:29
Fix off-by-one error when parsing primitive JSON types "true", "false", and "null". (check-in: 42c15c1e36 user: drh tags: json)
21:25
Add a prototype JSON parser. (check-in: 789ba48700 user: drh tags: json)
16:32
Minor fix to the display of oversized KeyInfo structures in the P4 operand of Open opcodes in EXPLAIN output. (check-in: f65a9b4ab2 user: drh tags: trunk)
00:51
Change the display of the P4 operand of CursorHint in EXPLAIN output to function notation. (check-in: bee73d429c user: drh tags: cursor-hints)
2015-08-14
23:57
Always provide the BTREE_BULKLOAD hint, even when SQLITE_ENABLE_CURSOR_HINTS is not defined, as that hint gives a 4% performance increase. (check-in: 83a844357e user: drh tags: cursor-hints)
20:08
Updated testing of cursor-hints. Remove the test_cursorhint.c file and associated logic in the core and do tests based purely on the newly enhanced EXPLAIN output. (check-in: bf383e665a user: drh tags: cursor-hints)
18:50
Fix the cursor hint mechanism so that it does the right thing for indexed lookups. (check-in: 581e3d4988 user: drh tags: cursor-hints)
15:05
Refactor the sqlite3BtreeCursorHint() interface for improved maintainability. (check-in: fc3fb5cd0d user: drh tags: cursor-hints)
12:53
Duplicate the output of releasetest.tcl into releasetest-out.txt (check-in: 5e06a9c186 user: drh tags: trunk)
01:03
Fix the CursorHint so that it includes the scan boundary constraints. On the expression text for the CursorHint opcode, show rowid correctly. (check-in: f0d428d13a user: drh tags: cursor-hints)
2015-08-13
21:38
Fix a harmless compiler warning. (check-in: 608ab4ac19 user: drh tags: cursor-hints)
21:32
Convert the hint expression of the CursorHint opcode into a string for display by EXPLAIN. (check-in: 2068847187 user: drh tags: cursor-hints)
20:34
Fix a bug in sqlite3ExprContainsSubquery(). (check-in: be254715b5 user: drh tags: cursor-hints)
20:23
When searching the wal file for a frame, do not search that part that was already checkpointed when the snapshot being read was at the head of the wal file. (check-in: 90760e7232 user: dan tags: wal-read-change)
20:07
Merge in all the trunk changes from the previous year. This breaks the cursor-hint mechanism, but provides a baseline for trouble-shooting. (check-in: 82a7a61bc0 user: drh tags: cursor-hints)
18:26
Add the sqlite3rbu_savestate() function to the rbu extension. To force rbu to save its state to disk without closing the sqlite3rbu* handle. (check-in: 851a875ad6 user: dan tags: trunk)
13:54
Experimental code (untested) for a JSONB datatype. (check-in: e3596ac7b1 user: drh tags: json)
11:46
Avoid invoking system call unlink() directly from RBU code. Use the xDelete method of the default VFS instead. (check-in: ee966af8ff user: dan tags: trunk)
2015-08-12
19:42
Avoid reading frames that have already been checkpointed from the wal file. (check-in: 5669ac4a40 user: dan tags: wal-read-change)
17:23
Add the json_object() function. (check-in: 414a95f3b7 user: drh tags: json)
16:49
Begin adding an extension that provides JSON SQL functions. (check-in: dde8afdd8d user: drh tags: json)
15:36
Minor optimization for fts5 API xInst(). (check-in: efb7c9c5d0 user: dan tags: trunk)
12:11
Add the xPhraseFirst() and xPhraseNext() fts5 APIs, for faster iteration through a single phrases position list. Also optimize xInst() and xInstCount() a bit. (check-in: f768243527 user: dan tags: trunk)
2015-08-11
14:25
Merge fixes from the fts5NoWarn branch. (check-in: 61cb2fc6c1 user: dan tags: trunk)
13:41
Add some extra timestamps to the experimental log output. (Leaf check-in: b09e3ea7b8 user: dan tags: experimentalIoLog)
10:59
Add a tcl interface for the experimental logging functionality. (check-in: e844304de7 user: dan tags: experimentalIoLog)
01:45
Two more places where logging of freelist trunk pages is needed. (check-in: 56ff336e0a user: drh tags: experimentalIoLog)
2015-08-10
20:53
Record when an allocated page is taken from the freelist trunk. (check-in: bb5d7782bd user: drh tags: experimentalIoLog)
20:22
Add the sqlite3_experimental_log_open() interface. This is for diagnostic use only and is not intended to ever go on trunk. (check-in: ac5d2e9d76 user: drh tags: experimentalIoLog)
2015-08-08
23:30
Fix compiler warnings and remove unreachable code. (check-in: fd5608fb20 user: drh tags: trunk)
23:23
Fix an assert() that was in the wrong spot. (Closed-Leaf check-in: 962b6cd6bb user: drh tags: warnings)
22:47
Fix compiler warnings and remove unreachable code. (check-in: be190fe782 user: drh tags: warnings)
15:13
Update RBU to avoid repreparing a statement immediately after it is prepared. (check-in: 1d75a41bb2 user: dan tags: trunk)
2015-08-07
20:57
Enhance the query planner so that it is able to use partial indexes that use AND-connected terms in the WHERE clause. (check-in: 065765902d user: drh tags: trunk)
20:06
Add a specially formatted comment to shell.c to make it easier for scripts to edit. No code changes. (check-in: 6d47b35ad1 user: dan tags: trunk)
09:42
Within a write-transaction on a wal database in mmap mode, check the page-cache for an entry before the wal file. This can be faster if the wal file is very large. (Leaf check-in: 3a82c8e6cb user: dan tags: mmap-wal-bigtrans)
2015-08-06
12:54
increase the version number to 3.8.12 (check-in: e596a6b63f user: drh tags: trunk)