SQLite

Timeline
Login

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

1752 check-ins using file tool/mkautoconfamal.sh version d1a2da0e

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-12-14
20:28
Add a missing OP_ColumnsUsed opcode to code for expressions like "? IN (SELECT ...)" in cases where expression can use an index that may contain NULL values. (Backported fix from version 3.14.0). Leaf check-in: 11368e67 user: drh tags: branch-3.8.9
20:20
Add the OP_ColumnsUsed opcode (when compiled with SQLITE_ENABLE_COLUMN_USED_MASK) as a hint to the b-tree layer as to which columns of a btree cursor will be used. (Backport from 3.8.11) check-in: b29e02f8 user: drh tags: branch-3.8.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-11-14
18:26
Fix the SQLITE_ENABLE_UPDATE_DELETE_LIMIT functionality so that it works with views and WITHOUT ROWID tables. This is a modified cherrypick of [dae4a97a]. check-in: b2679d3b user: dan tags: branch-3.8.9
2017-11-09
04:13
Disallow ORDER BY and LIMIT on UPDATE and DELETE of views and WITHOUT ROWID tables. This is a temporary fix for ticket [d4beea1633f1b88f] until a better solution can be found. check-in: 30aa941f user: drh tags: branch-3.8.9
2017-07-27
22:16
Enhance the like optimization so that it works with an ESCAPE clause. check-in: 2495acf7 user: drh tags: branch-3.8.9
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
04:08
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 is a cherry-pick of [f0f49224] which was in turn inspired by [72de49f2]. Leaf check-in: 5a3022e0 user: drh tags: branch-3.8.10
2017-07-17
19:37
Try to push relevant WHERE clause terms of the outer query down into the subquery in order to help the subquery run faster and/or use less memory. This is a cherry-pick of [6df18e949d36] with bug fixes. check-in: cd6ac078 user: drh tags: branch-3.8.9
19:25
When checking for the WHERE-clause push-down optimization, verify that all terms of the compound inner SELECT are non-aggregate, not just the last term. Fix for ticket [f7f8c97e97597]. Closed-Leaf check-in: adc082c1 user: drh tags: push-down-backport
19:14
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: 52674f94 user: drh tags: push-down-backport
19:07
For FROM-clause subqueries that cannot be flattened, try to push relevant WHERE clause terms of the outer query down into the subquery in order to help the subquery run faster and/or use less memory. Cherry-pick from [6df18e949d36]. Still need to backport bug fixes associated with that check-in. check-in: 043d6ce8 user: drh tags: push-down-backport
2017-07-08
01:01
Fix the covering index OR optimization (check-in [fcbd6abd]) so that it works with SQLITE_MAX_ATTACHED>30. Broken by a bad cherry-pick merge. check-in: d227de8a user: drh tags: branch-3.8.9
2017-07-05
16:20
Make use of covering indexes in the OR optimization. check-in: fcbd6abd user: drh tags: branch-3.8.9
14:54
Add the count-of-view optimization when compiled using SQLITE_COUNTOFVIEW_OPTIMIZATION. check-in: b7ae4b87 user: drh tags: branch-3.8.9
2017-06-06
18:22
Add the SQLITE_DEFAULT_ROWEST compile-time option for changing the estimated number of rows in tables that lack sqlite_stat1 entries. check-in: 802b82f3 user: drh tags: branch-3.8.9
2017-05-24
04:32
Fix a problem in STAT4 equality estimation for multi-column indexes introduced by check-in [3e0590dee0e68cc1599]. check-in: 19dad0a7 user: drh tags: branch-3.8.9
2017-05-22
00:27
When planning a query using sorting, resolve ties in the solver by selecting loop plans with the smaller unsorted cost. check-in: 962531e7 user: drh tags: branch-3.8.9
2017-01-11
14:21
In the STAT4 computations, ensure that the aAvgEq values do not go negative. check-in: 4f83f680 user: drh tags: branch-3.8.9
2016-11-02
16:29
When the block sorting optimization is used in a scalar subquery, be sure to exit the loop as soon as the first valid output row is received. Fix for ticket [cb3aa0641d9a4] backported to the 3.8.9 branch. check-in: 8e4ba115 user: drh tags: branch-3.8.9
2016-09-23
18:06
Fix the ORDER BY LIMIT optimization backport so that it works when the ORDER BY uses the DESC direction. check-in: 0c3cafb7 user: drh tags: branch-3.8.9
2016-09-14
01:43
Backport the ORDER BY LIMIT optimization to version 3.8.9. check-in: db361482 user: drh tags: branch-3.8.9
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-02
18:31
Version 3.9.2 check-in: bda77dda user: drh tags: release, branch-3.9, version-3.9.2
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
2015-10-30
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
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
18:18
Fix the retry mechanism on file locks. check-in: 600df309 user: drh tags: apple-osx
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
17:29
Fix compilation issues with SQLITE_OMIT_COMPOUND_SELECT defined. check-in: 9c39d464 user: mistachkin tags: trunk
2015-07-15
23:15
Enable memory-mapped I/O on FreeBSD and DragonFly. check-in: 2cdd6479 user: drh tags: trunk
21:00
Make the debugging line numbers in the amalgamation more accurate. check-in: 3b34e95c user: mistachkin tags: trunk
19:46
Use a WITHOUT ROWID table to index fts5 btree leaves. This is faster to query and only slightly larger than storing btree nodes within an intkey table. check-in: 862418e3 user: dan tags: fts5-btree-index
18:35
Fix some harmless compiler warnings. check-in: 110cd84f user: drh tags: trunk
18:04
Attempt to fix harmless warnings generated by GCC and Clang runtime analyzers. check-in: b522c95d user: drh tags: trunk
13:56
Fix the fuzz3.test script so that it works with the new bulk pagecache allocation feature. check-in: 829a2dba user: drh tags: trunk
2015-07-14
22:43
Amplify the comment on renderLogMsg() that explains the problems associated with calling sqlite3_log() from deep within the memory allocator. check-in: a73d7128 user: drh tags: trunk
21:56
Further refine FTS5 cleanup in Makefiles. check-in: b53a9506 user: mistachkin tags: trunk
21:56
Skip trying to include 'intrin.h' when compiling for WinCE with MSVC. check-in: 6db90ca2 user: mistachkin tags: trunk
17:18
Fix some harmless compiler warnings. check-in: 3de030c9 user: mistachkin tags: trunk
15:39
Merge trunk changes, including the addition of FTS5 and pcache1 performance enhancements. check-in: db4cbefb user: drh tags: sessions
14:48
Always invoke the profile callback even if the statement does not run to completion. check-in: 202479aa user: drh tags: trunk
00:36
Refine cleaning of FTS5 files by Makefile targets. check-in: e548d77b user: mistachkin tags: trunk
2015-07-13
23:55
Fix the origination date on the loadfts.c utility program. check-in: 5c76c062 user: drh tags: trunk
18:01
Fix the header comment on the loadfts.c utility program. check-in: 955ad4ae user: drh tags: trunk
2015-07-10
17:55
Fix inconsistencies in formatting of fts5 docs. check-in: 5fb4c771 user: dan tags: trunk
2015-07-09
20:46
Improve the performance of docid merges in fts5. check-in: b2de77a0 user: dan tags: trunk
19:02
Reduce the number of calls to malloc() made by fts5. check-in: 898618cc user: dan tags: trunk
2015-07-08
17:59
Fix two problems that could cause fts3 auxiliary functions to occasionally misbehave if used with match expressions that contain both OR and NEAR. check-in: 372c1db2 user: dan tags: trunk
16:22
Enhance the pcache1 page cache so that it tries to allocate a block of SQLITE_DEFAULT_PCACHE_INITSZ pages from malloc() on startup, and uses those preallocated pages when possible rather than going to malloc() for each individual page. About a 5% performance increase for some workloads. check-in: 5348ffc3 user: drh tags: trunk
14:13
Comment fix. No changes to code. Closed-Leaf check-in: c1e2ed0e user: drh tags: pcache-bulk-local
13:40
Do not do the bulk pcache1 allocations if SQLITE_CONFIG_PAGECACHE specifies a global page cache buffer. check-in: 75d98dae user: drh tags: pcache-bulk-local
12:25
Early detection of file corruption in a debugging routine, before the invalid data can cause problems. check-in: b27a47fe user: drh tags: trunk
01:22
Avoid left-shifting bits into the sign of a signed integer, as such behavior is technically undefined. check-in: 9417b402 user: drh tags: pcache-bulk-local
2015-07-07
21:14
Add a compile-time constant for configuring the default pagecache setup. check-in: ad5fdfba user: drh tags: pcache-bulk-local
19:35
Merge the Fts5MultiSegIter and Fts5IndexIter objects. check-in: 6ace7354 user: dan tags: trunk
19:07
Add a test case to verify that "PRAGMA data_version" works as expected when an OTA client writes to the database. check-in: 6441f2dc user: dan tags: trunk
15:14
No need to test sqlite3GlobalConfig.bCoreMutex when SQLITE_THREADSAFE==0. check-in: 26db0fee user: drh tags: pcache-bulk-local
14:06
Simplify the page recycling condition in pcache1. Fix test cases to work with the latest changes. check-in: 5b60df55 user: drh tags: pcache-bulk-local
08:29
Further optimizations for fts5 b-tree seeks. check-in: f3789968 user: dan tags: trunk
2015-07-06
20:57
A unified cache is now only used for SQLITE_ENABLE_MEMORY_MANAGEMENT, or if SQLITE_CONFIG_PAGECACHE defines a shared start-time page cache buffer and the application is single-threaded. check-in: d5ff1d69 user: drh tags: pcache-bulk-local
20:27
Speed up seek operations on fts5 b-tree structures. check-in: 7b7da1eb user: dan tags: trunk
18:54
Enhance separate pcache1 to allocate a block of pages from heap on startup, if possible, for a 5.2% performance improvement. check-in: aa7341c8 user: drh tags: pcache-bulk-local
2015-07-05
22:15
Do not allow recursive CTEs that use aggregate queries in the recursive part. check-in: 6d2999af user: drh tags: trunk
2015-07-04
18:44
Optimize seek operations on fts5 b-trees. check-in: 8cf02090 user: dan tags: trunk
18:15
Preserve the number of requested PAGECACHE pages even if the memory pointer or size is zero. Enhance the pcache1.c header comment to explain the memory layout of a page cache line. check-in: dacb2a61 user: drh tags: trunk
15:35
Fix a problem in the fts5 integrity-check. check-in: 4e473559 user: dan tags: trunk
11:14
Do not preserve the btreeInitPage() results in PRAGMA integrity_check if there were cell sizing errors because PRAGMA cell_size_check was turned off during the btreeInitPage() call. check-in: 743bf1f1 user: drh tags: trunk
00:04
Sync up Makefile clean targets for FTS5. check-in: 43ead44e user: mistachkin tags: trunk
2015-07-03
23:29
Correction to check-in [1025873fdf], tighten up the number of static test mutexes. check-in: 4e515897 user: mistachkin tags: trunk
23:12
Update clean target in MSVC makefile. check-in: e6c03e72 user: mistachkin tags: trunk
23:11
Enhance mutex testing to include APP and VFS static mutexes. check-in: 1025873f user: mistachkin tags: trunk
21:38
Add static mutexes for use by the built-in / third-party VFSs and use the built-in VFS mutex where appropriate. check-in: b202e2a1 user: mistachkin tags: trunk
20:47
Rework the Fts5MultiSegIter structure a bit to make it more efficient. check-in: 0778825d user: dan tags: trunk
19:13
Speed up eof checks on fts5 cursors. check-in: 3df4af5d user: dan tags: trunk
17:54
Enable use of the __builtin_bswap32() only with GCC 4.3 and higher. check-in: 030f60a7 user: mistachkin tags: trunk
17:14
Avoid freeing the array of instance matches each time the fts5 xNext() method is called. check-in: b9b0c1e5 user: dan tags: trunk
14:34
New command-line options for speedtest1: --multithread, --nomemstat, --serialized, and --singlethread check-in: 2b756722 user: drh tags: trunk
2015-07-02
20:12
Copy fts5.h into the build directory as part of building fts5.c. Also remove code to edit fts5parse.c from various Makefiles and add it to mkfts5c.tcl. check-in: 4d8f03dc user: dan tags: trunk
19:47
When doing coverage analysis of a btree page for pragma integrity_check, make the first entry (that covers the header, cell index, and gap) implied, for a performance boost and size reduction. check-in: e53d497c user: drh tags: trunk
18:52
Minor change to mkfts5c.tcl so that fts5.c can be used according to the instructions in loadext.html. check-in: edbcccd3 user: dan tags: trunk
18:47
Merge in the latest enhancements from trunks, especially the use of _byteswap_ulong() and similar intrinsics on MSVC. check-in: 85ca4409 user: drh tags: sessions
18:16
Add fts5_source_id() SQL function, similar to sqlite_source_id(). check-in: ec257348 user: dan tags: trunk
16:52
Fix harmless compiler warnings and one macro VVA_ONLY macro usage issue. check-in: bcc8a755 user: mistachkin tags: trunk
16:50
Simplify FTS5 handling in the MSVC makefile. check-in: f022e043 user: mistachkin tags: trunk
16:29
Fix a (harmless) shadowed local variable definition in the integrity_check logic. check-in: 3a26a919 user: drh tags: trunk
16:17
Smaller and faster PRAGMA integrity_check that also does a better job of detecting errors. Some output text describing discovered file corruption has changed for clarity. check-in: 251a7590 user: drh tags: trunk
15:52
Remove "#ifdef SQLITE_ENABLE_FTS5" from individual fts5 source files. Add a single "#if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_FTS5)" to fts5.c. check-in: 7819002e user: dan tags: trunk
01:38
Add the --shrink-memory option to the speedtest1 test program. check-in: c9ddbd88 user: drh tags: trunk
2015-07-01
19:59
Avoid create a stack from in sqlite3BackupUpdate() in the common case where the first argument is NULL. check-in: 2a897b9e user: drh tags: trunk
17:53
Simplification of PRAGMA integrity_check logic. Make sure that the depth of the right-most subtree is correct. Size reduction and performance increase, with no change in output. check-in: 550705fc user: drh tags: trunk
17:13
Rework the PRAGMA integrity_check logic. Simplify the checkTreePage() routine and clean up the error messages generated. Closed-Leaf check-in: 1c522123 user: drh tags: integrity-check-refactor
04:08
Fix some harmless compiler warnings. check-in: 307195c8 user: drh tags: trunk
01:31
Change integrity_check to analyze the cells of a page in reverse order, as this will tend to insert the cells into the analysis heap in increasing order by address, which is the most efficient way to load a min-heap. check-in: 59ad912c user: drh tags: trunk
2015-06-30
17:28
Make use of the _byteswap_ushort() and _byteswap_ulong() compiler intrinsics for MSVC, when available. check-in: fe144dd7 user: mistachkin tags: trunk
16:29
Merge all the latest enhancements from trunk. This merge include FTS5 and a number of notable performance enhancements. check-in: 39936b33 user: drh tags: sessions
15:10
Make use of built-in bswap32() and bswap16() functions in GCC/Clang for a significant performance improvement there. check-in: 8bfcda3d user: drh tags: trunk
14:01
Only use __builtin_bswap16() with GCC 4.8 and later. Closed-Leaf check-in: ce8177e3 user: drh tags: bswap-functions
13:28
Remove the use of htonl() in the previous check-in due to linkage issues. Add the get2byteAligned() macro and use it for access to the cell offsets on btree pages for about a 1% performance gain. check-in: 79ff36b7 user: drh tags: bswap-functions
12:47
Make use of htonl() and __builtin_bswap32() for faster implementations of sqlite3Get4byte() and sqlite3Put4byte(). check-in: bc27ebd7 user: drh tags: bswap-functions
11:07
Change an unreachable branch into an assert() in sqlite3PagerAcquire() and optimize sqlite3PcacheOpenSavepoint() by factoring out rarely used code into a subroutine. check-in: b406b20e user: drh tags: trunk
03:57
Optimization to the sqlite3PcacheFetch() logic. check-in: d9a0481c user: drh tags: trunk
03:34
Put all variable declarations for sqlite3PagerWrite() at the beginning of the block. Syntax only - no logic changes. check-in: a0fa6b3b user: drh tags: trunk
03:18
Implement sqlite3Strlen30() using strlen() from the C library. check-in: 8001aa52 user: drh tags: trunk
03:13
Change sqlite3ApiExit() so that its first argument is never NULL. check-in: 791b706e user: drh tags: trunk
02:47
Put BtCursor objects on a singly-linked list instead of a doubly-linked list. Add the BTCF_Multiple flag. Only invoke saveAllCursors() when using a cursor that has BTCF_Multiple set. check-in: 429ccef2 user: drh tags: trunk
01:25
Convert several 5-year-old and older NEVER() macros into assert(). check-in: ed54c14e user: drh tags: trunk
2015-06-29
23:01
From sqlite3BtreeInsert(), bypass the btreeMoveto() routine for table inserts and go directly to sqlite3BtreeMovetoUnpacked(). check-in: 53fe685d user: drh tags: trunk
20:53
Add a bypass path in sqlite3PagerWrite() for pages with the PGHDR_WRITEABLE bit set, for about a 1% performance increase. check-in: ba425a6a user: drh tags: trunk
19:08
Combine subjRequiresPage() and subjournalPage() into a single subjournalPageIfRequired() routine. check-in: 3b65eb56 user: drh tags: trunk
18:29
Add the PGHDR_WRITEABLE bit for PgHdr.flags which is used to distinguish between pages that are on the dirty list and pages that are safe to modify. check-in: 7c4ef7b7 user: drh tags: trunk
18:14
Fix over-length source code lines in pager.c. check-in: 14de3d39 user: drh tags: trunk
15:41
Fix minor problems in the ota demo application. check-in: 6aaaec6e user: dan tags: trunk
14:11
Simplifications and performance improvement in pager_write(). check-in: ab7aeeea user: drh tags: trunk
04:21
Add the new PGHDR_CLEAN bit to PgHdr.flags in pcache.c. This bit is always the opposite of PGHDR_DIRTY. Use the extra bit to avoid a comparison for a small performance boost. check-in: 8619fc34 user: drh tags: trunk
03:28
Very small size reduction and performance increase in sqlite3BitvecTest(). check-in: 9b3a7281 user: drh tags: trunk
00:52
Move an assert() and testcase() into their correct position within getAndInitPage(). check-in: 18115164 user: drh tags: trunk
00:21
Use tail recursion in pcache1Unpin() to get a small size reduction and speed improvement. check-in: fde70472 user: drh tags: trunk
2015-06-28
17:33
Comment typo fix and minor cleanup in the pager. No logic changes. check-in: 94ef1701 user: drh tags: trunk
02:58
Avoid unnecessary calls to sqlite3VdbeSerialTypeLen() for integer serial types, for a small size reduction and a speed increase. check-in: 9cd30d33 user: drh tags: trunk
2015-06-27
23:55
Make greater use of BtCursor.curIntKey. check-in: 63998471 user: drh tags: trunk
22:49
Add the BtCursor.curIntKey field and use it for a small size reduction and performance boost. check-in: 4a17df13 user: drh tags: trunk
20:55
Enhancements to the previous check-in to make it a little smaller and faster. check-in: 291d9e0c user: drh tags: trunk
19:45
Performance improvements in moveToChild() by shifting some work over to getAndInitPage(). Net improvement is about 800K cycles at cost of 30 bytes. check-in: 1956a4ce user: drh tags: trunk
15:51
Manually inline the call from getAndInitPage() to btreeGetPage() for a savings of 2.5 million cycles at a cost of less than 100 bytes. check-in: 7f65b96b user: drh tags: trunk
14:59
Add releasePageNotNull() as an alternative to releasePage() when the argument is guaranteed to be non-NULL, and use it for a small performance gain. check-in: 9383a688 user: drh tags: trunk
03:58
Add the Mempage.aDataOfst field and use it in sqlite3BtreeMovetoUnpacked() for about a 2 million cycle gain. check-in: bee94dc3 user: drh tags: trunk
2015-06-26
20:45
Treat compilation of FTS5 for the loadable extension specially with MSVC. check-in: 7c610276 user: mistachkin tags: trunk
20:25
Merge fts5 branch into trunk. check-in: d27d9965 user: dan tags: trunk
20:14
Merge latest trunk with this branch. Closed-Leaf check-in: 8671b9e1 user: dan tags: fts5
20:13
Remove unnecessary lines from fts3.h and main.mk. check-in: c1b268ce user: dan tags: fts5
20:08
Fix a segfault that could follow an OOM error in fts5. check-in: 713239b8 user: dan tags: fts5
19:43
Small size reduction and performance increase on the OP_IdxInsert opcode. check-in: b6bedc2e user: drh tags: trunk
19:33
Merge latest trunk changes with this branch. check-in: 2a1af0f2 user: dan tags: fts5
18:50
Fix some cases in the fts5 code where a corrupt database could cause a buffer overread. check-in: 360c57bb user: dan tags: fts5
18:47
Further optimization of SQL function dispatch. Improvements to opcode documentation. check-in: eaddbf29 user: drh tags: trunk
18:16
Cache the sqlite3_context structure in the P4 operand of VDBE programs for faster SQL function dispatch. check-in: 2abc44eb user: drh tags: trunk
17:10
Merge changes to get FTS5 working with MSVC. check-in: 954231d2 user: mistachkin tags: fts5
16:55
Merge upstream changes. Get the test fixture working with FTS5. Fix compiler warnings. Closed-Leaf check-in: bfcd1608 user: mistachkin tags: fts5Msvc
16:42
Remove fts5 initialization code from core file main.c. check-in: c91a93b3 user: dan tags: fts5
16:17
Add FTS5 DLL target for MSVC. check-in: be85b824 user: mistachkin tags: fts5Msvc
13:31
Cache the most recently sqlite3_context used by OP_Function and reuse it on subsequent calls, if appropriate. This gives a noticable performance boost. Closed-Leaf check-in: 2f31bdd1 user: drh tags: function-ctx-cache
04:34
Initial changes to get FTS5 working with MSVC. check-in: ef2052f8 user: mistachkin tags: fts5Msvc
03:12
Fix harmless compiler warning in assert statement. check-in: 7097716c user: mistachkin tags: trunk
02:41
Simplify the pcache by not keeping continuous track of page 1 but instead just loading page 1 on the rare occasions when it is actually needed. check-in: 015302f1 user: drh tags: trunk
2015-06-25
23:52
Optimization to sqlite3_value_bytes() for the common case that does not require a data transformation. check-in: 8d79f3a1 user: drh tags: trunk
20:36
Fix Makefile.in to account for recent changes. Update fts5 test scripts so that they do not run if SQLITE_ENABLE_FTS5 is not defined. check-in: 31752207 user: dan tags: fts5
20:16
Merge latest trunk changes into this branch. check-in: fcd8f7ce user: dan tags: fts5
20:10
Add a script to combine all fts5 code into a single file - fts5.c - that can be used to build an SQLite loadable extension. check-in: 46e86b06 user: dan tags: fts5
19:53
Simplifications and performance improvements in insertCell(). check-in: 7d02e6c9 user: drh tags: trunk
18:36
More simplifications and performance improvements to cell allocation logic associated with allocateSpace(). check-in: 78da0f69 user: drh tags: trunk
16:01
Reorder the terms of a conditional for a small performance gain. check-in: d67b0ed1 user: drh tags: trunk
15:44
Merge all the latest enhancements from trunk. check-in: 924f4712 user: drh tags: sessions
15:21
Remove a NEVER() that is in fact reachable. check-in: f824e66b user: drh tags: trunk
15:04
Minor optimization to allocateSpace(). check-in: d007bc33 user: drh tags: trunk
13:03
Enhance the Btree object to remember whether or not it is holding an Incrblob cursor. Use this knowledge to improve performance in the common case where it does not. check-in: 476b1156 user: drh tags: trunk
02:26
Remove a line of code that doesn't do any useful work. check-in: 3ee888be user: drh tags: trunk
02:25
Increase the default timeout on fuzzcheck to 120 seconds - sufficient for running under valgrind on a slow workstation. check-in: fad0eacc user: drh tags: trunk
2015-06-24
23:44
Add the --timeout option to fuzzcheck. check-in: a8f4f7fa user: drh tags: trunk
23:17
Fix fuzzcheck so that it works with SQLITE_OMIT_PROGRESS_CALLBACK. check-in: 7a9c4eb3 user: drh tags: trunk
18:22
Add "ON CONFLICT" handling to the spellfix module. check-in: 07937a81 user: drh tags: trunk
17:21
Add "ON CONFLICT" handling to the spellfix module. Closed-Leaf check-in: 1d04def7 user: dan tags: spellfix-constraints
14:45
In the fuzzcheck test program, use the progress handler to limit the number of VDBE cycles to avoid getting stuck if the SQL under test contains an infinite CTE loop. Add the --limit-vdbe command-line option. check-in: fbf9c432 user: drh tags: trunk
14:36
Fix the progress handler so that it does not fire too soon during an sqlite3_step() call other than the first. check-in: b41ef5d6 user: drh tags: trunk
13:32
Fix a harmless compiler warning. check-in: 3b6fa95e user: drh tags: trunk
13:25
Rig the fuzzcheck test program so that it times out after 10 seconds in case of an infinite loop in the test case. check-in: 659cfc9d user: drh tags: trunk
13:05
Update the database fuzz test cases to cover all recent findings. check-in: 47ba7d96 user: drh tags: trunk
12:44
Add the --rebuild object to fuzzcheck. check-in: db87664a user: drh tags: trunk
12:24
Prevent an infinite loop while searching a corrupt freelist. check-in: 4e5424fe user: drh tags: trunk
12:07
Strengthen the new balance_nonroot() code against various corrupt database problems. check-in: 5ba98343 user: drh tags: trunk
10:46
Adjustment to a malloc test so that it accepts a narrow range of values to account for variations in malloc subsystems. check-in: e0195070 user: drh tags: trunk
01:07
Remove an invalid NEVER() and add a test case to cover it. check-in: 14b73d20 user: drh tags: trunk
00:05
Performance optimization on balance_nonroot() and related routines. 2.6% faster overall with a size increase of less than 750 bytes. check-in: 25131e70 user: drh tags: trunk
2015-06-23
23:31
Mark some branches as unreachable after the recent change that recognizes mismatch result set sizes on compound SELECT statements sooner. check-in: c8d1f305 user: drh tags: trunk
21:35
Testability improvement. Closed-Leaf check-in: eed6a331 user: drh tags: btree-opt2
18:47
Improve test coverage of fts5. check-in: df5ccea8 user: dan tags: fts5
18:24
Multiple overflow cells are always adjacent and sequential. Exploit this invariant for a small size reduction and performance increase and add assert()s to prove the invariant. check-in: f77f2f48 user: drh tags: btree-opt2
17:09
Faster loading of cell pointers into the b.apCell array in balance_nonroot. check-in: fda89b05 user: drh tags: btree-opt2
16:00
Avoid unnecessary cachedCellSize() calls in the cell partition adjustment phase of balance_nonroot(). check-in: 6319ee12 user: drh tags: btree-opt2
15:36
Change pageInsertArray() and pageFreeArray() so that they use the CellArray object and compute cell sizes as needed, resulting in smaller and faster code. check-in: f7f41818 user: drh tags: btree-opt2
15:06
Merge latest trunk changes with this branch. Add tests for columnsize=0. check-in: ef44c71a user: dan tags: fts5
14:49
Improvements to the way balance_nonroot() constructs the b.apCell array of pointers to cells. check-in: ee44bb25 user: drh tags: btree-opt2
13:02
Merge the compound SELECT operator fix from trunk. check-in: a7be554f user: drh tags: btree-opt2
12:19
Test that the left and right sides of a compound SELECT operator have the same number of expressions in the expanded expression list before beginning to generate code. check-in: 4df852ce user: dan tags: trunk
02:37
Avoid computing cell sizes in balance_nonroot() until they are really needed. This gives an overall 1.7% performance gain for about 1000 extra bytes of code space. check-in: 43844537 user: drh tags: btree-opt2
2015-06-22
20:02
Change the way that balance_nonroot() partitions cells between the sibling pages such that a scan of the cell size array is not required. check-in: 16872871 user: drh tags: btree-opt2
2015-06-20
18:13
Split out all four cases of cellSizePtr() into different methods, each optimized for the specific page type. This gives a 0.36% performance increase at a cost of about 300 bytes of code. Leaf check-in: 522502ec user: drh tags: btree-opt
14:11
Update the fuzztest data using the latest test vectors discovered by AFL. check-in: b97f9cf7 user: drh tags: trunk
13:18
Make sure that the likelihood() function does not mess up generation of result-set code when it is used (inappropropriately) in a result-set expression. check-in: 7cdbae62 user: drh tags: trunk
2015-06-19
20:31
Performance improvements in btreeParseCell() by inlining the varint decoder. check-in: 172a864d user: drh tags: trunk
20:08
Fix corner cases involving corrupt varint values in record headers. Closed-Leaf check-in: 3189116b user: drh tags: btree-opt
18:24
Performance improvements in btreeParseCell() by inlining the varint decoder. check-in: faab0ed9 user: drh tags: btree-opt
17:19
Add the MemPage.xParseCell method and provide various implementations (variations on the former btreeParseCellPtr()) depending on the page type. check-in: 41d03d88 user: drh tags: trunk
15:07
Make cellSizePtr() a method on the MemPage object, with alternative implementations depending on the page type. This results is a small performance improvement and size reduction. check-in: 02f7e9d7 user: drh tags: trunk
2015-06-18
15:26
Further #ifdef changes in speedtest1.c in order to support SQLite back to version 3.3.9 and perhaps even earlier. check-in: 9246eca5 user: drh tags: trunk
14:32
Pervent the likelihood() function from moving ON clause terms of a LEFT JOIN into the WHERE clause. Fix for ticket [5f60b11fc8e23490e2] check-in: ed96e14a user: drh tags: trunk
14:09
Show the values of Expr.flag in the AST of ".selecttrace" check-in: a84d1004 user: drh tags: trunk
12:37
Add #ifdefs to some features speedtest1.c so that it compiles with older versions of SQLite, going back to version 3.5.1. check-in: f50dd154 user: drh tags: trunk
2015-06-17
23:28
Performance improvement in sqlite3VdbeMemShallowCopy() for the common case where the receiver does not require prior resource deallocation. check-in: d718ea36 user: drh tags: trunk
19:06
Use 'binary' mode for popen with MSVC. Closed-Leaf check-in: 7b84641e user: mistachkin tags: popenMsvc
18:57
Improve spacing and comment style for the shell. No changes to code. check-in: 5b547da0 user: mistachkin tags: trunk
18:24
Improved comments on the fuzzcheck.c test program. No changes to code. check-in: a7e27d19 user: drh tags: trunk
18:18
Merge all recent enhancements and fixes from trunk. check-in: 199bfb67 user: drh tags: sessions
17:08
Fix a uninitialized variable use in the command-line shell when the ".open" command is invoked without any arguments. check-in: fc4f4d1e user: drh tags: trunk
13:20
Performance optimization and comment fixes for the LIKE and GLOB operators. check-in: c89d7726 user: drh tags: trunk
02:11
Make getCellInfo() a real function instead of a macro, for a size reduction and a 0.2% performance gain. check-in: 55c393ea user: drh tags: trunk
01:31
Optimizations to two VDBE accessory routines for a 0.2% performance increase. check-in: 66d033b9 user: drh tags: trunk
2015-06-16
16:39
Ensure that the CREATE TABLE AS statement correctly undoes partial changes to the sqlite_master table if the SELECT on the right-hand side aborts with an error. Fix for ticket [873cae2b6e25b] check-in: 400e025e user: drh tags: trunk
2015-06-15
16:40
Adjust ICU tests to account for recent changes in the official Unicode definition of whitespace. check-in: 08165253 user: drh tags: trunk
16:09
Fix a harmless comment typo. No code changes. check-in: ae687652 user: drh tags: trunk
14:43
Fix harmless compiler warnings. check-in: b0badb99 user: drh tags: trunk
12:58
Improved detection of database corruption in freeSpace(). check-in: 29bcb568 user: drh tags: trunk
10:49
Comment typo fix. No code changes. check-in: 17f185ad user: drh tags: trunk
2015-06-13
19:05
Added test cases based on Bruce Momjian's talk on SQL NULLs. Leaf check-in: 68c168b5 user: drh tags: is-distinct-from
11:48
Add the IS DISTINCT FROM and IS NOT DISTINCT FROM operators. check-in: 0be44782 user: drh tags: is-distinct-from
11:19
Omit mutex calls in pcache1 when the mutex is NULL, for a significant performance improvement. check-in: caf8f574 user: drh tags: trunk
11:10
Avoid unnecessary mutex usage in pcache1, for a significant speedup. Closed-Leaf check-in: dcf4fb8d user: drh tags: faster-pcache1-fetch
2015-06-12
13:49
Add a fast-path implementation of pcache1Fetch() for the common case of separate caches that do not use a mutex. check-in: 760700ed user: drh tags: faster-pcache1-fetch
13:04
Minor performance optimization in pcache1.c. check-in: 2e8ad2ea user: drh tags: trunk
12:54
Add the OP_ColumnsUsed opcode (when compiled with SQLITE_ENABLE_COLUMN_USED_MASK) as a hint to the b-tree layer as to which columns of a btree cursor will be used. check-in: 711a176c user: drh tags: trunk
2015-06-11
18:01
Merge recent trunk enhancements and fixes. check-in: c39cb0e2 user: drh tags: sessions
17:58
Merge trunk fixes. Leaf check-in: 1df8cbbe user: drh tags: view-optimization
17:26
Add the sqlite3changegroup_xxx() APIs to the sessions module. For combining multiple changesets or patchsets. check-in: 0c1a901c user: dan tags: sessions
14:19
Remove stray outputs from the test suite. check-in: afc6db9b user: drh tags: trunk
13:58
When generating code for partial indexes, be sure not to modify the index condition expression in the schema. check-in: e63d01c6 user: drh tags: trunk
2015-06-10
23:02
More test output refinements. Closed-Leaf check-in: e64a5681 user: mistachkin tags: testerOutput
22:51
Remove possibly stray output from various tests. check-in: f38e0be5 user: mistachkin tags: testerOutput
22:03
Fix minor typo in the quicktest MSVC makefile target. check-in: 75b65f9d user: mistachkin tags: trunk
20:00
Merge enhancements from trunk. check-in: 0e23a079 user: drh tags: view-optimization
18:53
"test" targets on all makefiles use --verbose=file --output=test-out.txt. Add the new "quicktest" target to all makefiles - designed to run in under three minutes. The --quick option on releasetest.tcl now uses quicktest. check-in: 6ddef2ad user: drh tags: trunk
17:20
Resolve FROM-clause subqueries after query planning instead of before. Greatly reduce the estimated cost of automatic indexes for VIEWs and ephemeral tables since performance problems there cannot be mitigated via a CREATE INDEX. check-in: a1eaf171 user: drh tags: view-optimization
14:27
Avoid passing constraints that are unusable due to LEFT or CROSS joins to virtual table xBestIndex() methods. check-in: 7b446771 user: dan tags: trunk
10:45
Fix the fts5 xRename() method. check-in: 0f7fd513 user: dan tags: fts5
2015-06-09
20:58
Add the "columnsize=" option to fts5, similar to fts4's "matchinfo=fts3". check-in: aa12f9d9 user: dan tags: fts5
15:58
Add the --output=$file and --verbose=(0|1|file) options to tester.tcl. check-in: f7b2c703 user: dan tags: trunk
10:58
Remove some repeated lines of source code. Probably introduced by careless cut'n'pasting. Closed-Leaf check-in: a34cd71c user: dan tags: vtab-left-join
2015-06-08
22:59
Code refactoring to try to shift FROM-clause subquery manifesting until after the query planner runs. Except this does not currently work because the query planner needs an estimated of the number of rows in the manifested table. Work in progress. check-in: cabf2187 user: drh tags: view-optimization
19:15
Add the valgrindfuzz target to unix makefile. check-in: e62aed01 user: drh tags: trunk
18:48
If a query contains "FROM t1 LEFT JOIN t2, t3, t4", ensure that tables t3 and t4 are not scanned before t2. The trunk already does this. check-in: 0d9edfab user: dan tags: vtab-left-join
18:05
Avoid passing constraints that are unusable due to LEFT or CROSS joins to virtual table xBestIndex() methods. check-in: 80ee56dd user: dan tags: vtab-left-join
17:42
Fix typo in comment. No changes to code. check-in: e49c2917 user: mistachkin tags: trunk
17:40
Split out some source code into new files: wherecode.c, whereexpr.c, and treeview.c. Other minor refactoring changes. check-in: 50f33681 user: drh tags: trunk
15:08
Factor out the TreeView parse tree printing module into a separate file. check-in: c32ce54c user: drh tags: view-optimization
14:23
Split more subfunctions of where.c out into a new whereexpr.c source file, for improved maintainability. check-in: 46ef95c1 user: drh tags: view-optimization
2015-06-06
20:12
Split out the bulk of the actual VDBE code generation logic from where.c into a new file, leaving behind the analysis logic. This makes the original where.c smaller and hopefully easier to edit. check-in: faa0e420 user: drh tags: view-optimization
19:23
Fix a comment in fts5.h. check-in: e964b587 user: dan tags: fts5
18:30
Code simplifications in select.c and where.c. check-in: 4f20ac90 user: drh tags: view-optimization
16:28
Fix handling of fts5 rowid constraints in the absence of a MATCH clause. Add tests to cover recently added branches. check-in: 3a9cb648 user: dan tags: fts5
00:18
Minor cleanup of the sqlite3Select() procedure. check-in: f4c90d06 user: drh tags: view-optimization
2015-06-05
22:33
Split FROM-clause subquery flattening and code generation into separate loops. check-in: be8e3fc7 user: drh tags: view-optimization
20:27
Provide one final Select tree dump prior to WHERE clause analysis when ".selecttrace 0x400" tracing bit is set with SELECTTRACE_ENABLED. Analysis and debug changes only - normal builds are unaffected. check-in: 283bf0b6 user: drh tags: trunk
19:05
Make use of range constraints on the rowid field of an fts5 table in full-text queries. check-in: 32cbc0ed user: dan tags: fts5
15:59
Add a new opcode to the VDBE that gives the b-tree a hint about the set of columns in a table or index that are actually used by the query. Closed-Leaf check-in: f167bba4 user: drh tags: column-usage-hint
2015-06-04
12:08
Change the name of SrcList.a[].zIndex to the more descriptive SrcList.a[0].zIndexedBy. check-in: 6a9cf063 user: drh tags: trunk
2015-06-03
11:23
Fix an fts5 problem in extracting columns from position lists containing large varints. check-in: 4ea015ab user: dan tags: fts5
2015-06-02
19:38
Change the fts5 multi-column syntax to use parenthesis instead of square brackets. check-in: ab85a6fc user: dan tags: fts5
19:36
Always check for cell overflow before returning a slot from the pageFindSlot routine in btree.c. check-in: 9f035c45 user: drh tags: trunk
18:09
For FROM-clause subqueries that cannot be flattened, try to push relevant WHERE clause terms of the outer query down into the subquery in order to help the subquery run faster and/or use less memory. Call this the "WHERE-clause push-down optimization". Do not confuse this with the completely different MySQL push-down optimization. check-in: 6df18e94 user: drh tags: trunk
18:07
Merge latest trunk changes with this branch. check-in: c9ffda4a user: dan tags: fts5
17:57
Reimplement [ec69e09a] so that each call to the xNext() method does not involve two iterations of the match expression tree (only one). check-in: 80fe305b user: dan tags: fts5
17:25
Add test cases for type affinity rules. check-in: 9678646d user: drh tags: trunk
16:19
Rename SQLITE_AFF_NONE to SQLITE_AFF_BLOB to avoid confusion with "no affinity". check-in: 29ad9e91 user: drh tags: trunk
16:09
Add the built-in affinity() SQL function. This turns out to be not as useful as originally envisioned, so abandon it on a branch. Leaf check-in: 80889306 user: drh tags: affinity-func
15:32
Rename SQLITE_AFF_NONE to SQLITE_AFF_BLOB. Closed-Leaf check-in: bce3f041 user: drh tags: blob-affinity-rename
14:02
Fix a faulty assert() in btree.c. Update the database fuzz test file with new test cases. check-in: 4e621af1 user: drh tags: trunk
09:20
Add the "finish_test" command to the end of new test script sessionE.test. check-in: fb391407 user: dan tags: sessions
09:19
Modify the sessions module to ignore all operations on tables with no primary keys as documented. check-in: bdaf9575 user: dan tags: sessions
2015-06-01
20:28
For FROM-clause subqueries that cannot be flattened, try to push WHERE clause terms of the outer query down into the subquery in order to help the subquery run faster and/or use less memory. Closed-Leaf check-in: 297fae75 user: drh tags: subquery-opt
19:17
Improve performance of the fts5 AND operator. check-in: b43e9a5b user: dan tags: fts5
18:13
Corrections to comments in expr.c. No code changes. check-in: f925389e user: drh tags: trunk
17:32
Break out the query flattener into a separate source-code file. Closed-Leaf check-in: e3fa8b93 user: drh tags: flattener-in-new-file
11:10
Typo fixes and additional background information in README.md. check-in: 9b8e5823 user: drh tags: trunk
09:15
Change fts5 expression processing to avoid linear scans of long doclists caused by phrases that match specific columns only. check-in: ec69e09a user: dan tags: fts5
2015-05-30
22:57
Updates to configure.ac to help it find where the TCL libraries hidden on Ubuntu 14.04. check-in: c864ff91 user: drh tags: trunk
22:05
Fix minor typo in comment. No changes to code. check-in: 73fc058b user: mistachkin tags: trunk
11:49
Remove the "#include sqlite3Int.h" from fts5Int.h. check-in: e008c3c8 user: dan tags: fts5
2015-05-29
19:04
Import recent enhancements from trunk. check-in: 54bec164 user: drh tags: sessions
19:00
Add extra tests and fixes for multi-column matches. check-in: ae6794ff user: dan tags: fts5
18:42
Ensure that allocateBtreePage() always clears the MemPage pointer when it fails due to an I/O or memory allocation error. check-in: 09a38bf6 user: drh tags: trunk
17:51
Move two unreachable conditionals inside of NEVER() or assert(). check-in: db4e9728 user: drh tags: trunk
17:13
Remove a corruption test in balance_nonroot that is superceded by a prior better check. check-in: 00693682 user: drh tags: trunk
15:55
Add syntax to fts5 used to specify that a phrase or NEAR group should match a subset of columns. For example "[col1 col2 ...] : <phrase>". check-in: 0fc0ea20 user: dan tags: fts5
15:15
Omit the rowallock.test script (Read-Only WAL lock) from the inmemory_journal permutation. check-in: d21db330 user: drh tags: trunk
14:47
Add support for automatic indexes on FROM-clause subqueries that are implemented via co-routine. check-in: 020b8b10 user: drh tags: trunk
14:36
Add some extra source-code comments and a test case. Closed-Leaf check-in: 6d410442 user: drh tags: coroutine-autoindex
13:55
An attempt to allow automatic index creation on subqueries accessed via co-routine. check-in: 521345ad user: drh tags: coroutine-autoindex
01:35
Using "SELECT ALL" instead of just "SELECT" on a query that uses a single unflattenable subquery or view in its FROM clause will force the subquery to be manifested into a temporary table rather than run incrementally using a co-routine. This is a stop-gap means of controlling the decision to manifest while we try to work out a better to make that decision automatically. check-in: a29e117d user: drh tags: trunk
2015-05-28
19:57
Optimizations for fts5 queries that match against a specific column. check-in: b29ac50a user: dan tags: fts5
15:14
Added comments and testcase() macros to error cases in the btree search. check-in: 7da7dc71 user: drh tags: trunk
14:37
Remove some dead code from fts5. Add auxiliary function api tests to the same. check-in: 0f9df202 user: dan tags: fts5
11:23
Earlier detection of incompatible sibling pages in balance_nonroot. check-in: 60a09f17 user: drh tags: trunk
03:45
Add new test cases to the fuzzdata3.db set of database fuzz tests. check-in: 467b13a4 user: drh tags: trunk
03:28
Add the btreeGetUnusedPage() routine to btree.c, and use it to detect content pages on the freelist and to cause that condition to trigger an SQLITE_CORRUPT. check-in: fe15d1f7 user: drh tags: trunk
00:54
Do not attempt to take any write lock on a read-only database on Windows. check-in: a47ff0cd user: drh tags: trunk
2015-05-27
19:35
The fuzzoomtest makefile target is no longer supported, so update releasetest.tcl accordingly. check-in: 06959d4a user: drh tags: trunk
18:19
Fix a minor and harmless memory leak in fuzzcheck. Adjust the makefiles to run fuzzcheck with --quiet on valgrind tests. check-in: 8bfe8344 user: drh tags: trunk
18:13
All bytes of a page are initialized, even bytes that follow a 2-byte cell on a malformed page. check-in: 7373a004 user: drh tags: trunk
15:42
A different approach to preventing buffer overreads when comparing a vector of values with a corrupt index record that spans at least one overflow page. check-in: 95eaa49f user: drh tags: trunk
15:10
Disallow the use of "rowid" in CTEs - it has never worked correctly and it makes no sense, so we might as well make it an explicit error. Also: add the PRAGMA cell_size_check=ON command. check-in: 19e2cebc user: drh tags: trunk
14:21
A different approach to preventing buffer overreads when comparing a vector of values with a corrupt index record that spans at least one overflow page. Closed-Leaf check-in: 7e9e1b61 user: dan tags: avoid-buffer-overread
13:06
CTEs have never had working rowids. So disallow the use of the "rowid" column within CTEs. Closed-Leaf check-in: 0055df04 user: drh tags: no-rowid-in-cte
03:46
Add the "PRAGMA cell_size_check=ON" command. Closed-Leaf check-in: 2ead43f0 user: drh tags: cell-size-check-pragma
2015-05-26
20:31
Avoid a buffer overread when comparing against a corrupt record that spans at least one overflow page. check-in: 62a5b363 user: dan tags: trunk
20:07
Avoid branching on an uninitalized variable when comparing SQL values with the undefined serial types 10 and 11 (which only appear in corrupt databases). check-in: b4a45d3b user: dan tags: trunk
19:08
The "make fuzztest" target now uses fuzzcheck instead of fuzzershell. Test data is added for database fuzz testing. check-in: 5e3e410b user: drh tags: trunk
19:01
Merge accidental fork. Closed-Leaf check-in: e85628e3 user: dan tags: test-using-fuzzcheck
18:58
Fix a one-byte buffer overread that may follow a syntax error while preparing an SQL statement. check-in: 07500393 user: dan tags: test-using-fuzzcheck
18:58
Fix fuzzcheck so that it responds correctly to the TEST_FAILURE environment variable. check-in: 76770c9e user: drh tags: test-using-fuzzcheck
18:22
Simplifications and minor optimizations to fts5 prefix queries that cannot use a prefix index. check-in: aef89d9f user: dan tags: fts5
18:15
The "make fuzztest" target now uses fuzzcheck instead of fuzzershell. check-in: 4a5f6f1f user: drh tags: test-using-fuzzcheck
17:57
Enhance fuzzcheck with the ability to store descriptions in each source database and to run multiple source databases in a single invocation. check-in: 193364c8 user: drh tags: trunk
17:33
Add a cast to one side of the test added by [97806a78] in order to avoid a signed/unsigned comparison warning. check-in: 5b46d2a7 user: dan tags: trunk
17:29
Avoid using a zero-sized array within a struct in fts3 code. check-in: b05cae36 user: dan tags: trunk
16:12
Fix another bug in the in-memory VFS for fuzzcheck. check-in: 16878a31 user: drh tags: trunk
14:57
Update test cases in corruptI.test so that they work with both SQLITE_ENABLE_OVERSIZE_CELL_CHECK and SQLITE_DEFAULT_AUTOVACUUM builds. check-in: 22a14663 user: dan tags: trunk
12:18
Return SQLITE_CORRUPT to the user if an attempt is made to add database page 1 to the free page list. check-in: 68876003 user: dan tags: trunk
11:53
Fix a problem with ignoring UNIQUE constraints on WITHOUT ROWID tables rendered redundant by the PRIMARY KEY. check-in: 3b936913 user: dan tags: trunk
03:31
Silence harmless compiler warnings when building the command line utilities with MSVC. check-in: d26060c4 user: mistachkin tags: trunk
03:24
Add fuzzcheck to makefile clean targets. Also, for consistency, replace a few tabs with spaces. check-in: eda2a437 user: mistachkin tags: trunk
00:28
Add the --result-trace option to fuzzcheck, and other interface enhancements. check-in: c415bb7b user: drh tags: trunk
2015-05-25
23:14
Fix an important bug in the xRead method of the in-memory VFS for fuzzcheck. check-in: 58cd40e8 user: drh tags: trunk
22:38
Add the fuzzcheck test program. check-in: 341cb6ab user: drh tags: trunk
22:29
Add fuzzcheck to all makefiles and fix compiler warnings. Closed-Leaf check-in: 7b3d2190 user: drh tags: fuzzcheck
22:18
Merge in trunk fixes. check-in: c71c2e1a user: drh tags: fuzzcheck
22:17
Improved tracing capabilities in fuzzcheck. check-in: 864bfdbf user: drh tags: fuzzcheck
21:59
Add the --native-vfs option on fuzzcheck. check-in: 12e95e3f user: drh tags: fuzzcheck
20:04
Fix a case of a corrupt database causing SQLite to read from up to 4 bytes before the start of a memory allocation. check-in: 7d2c4f7b user: dan tags: trunk
19:37
Merge the btree fixes out of trunk. check-in: f3cd8cec user: drh tags: fuzzcheck
19:35
Add the --dbid and --sqlid parameters to fuzzcheck. Other fuzzcheck fixes. check-in: 75ec9299 user: drh tags: fuzzcheck
19:24
Have the b-tree layer return SQLITE_CORRUPT to any attempt to open a cursor with a root page number less than 1. check-in: aa18c8e9 user: dan tags: trunk
18:48
First code for a new utility program to rerun checks on a large number of fuzzer-generated test cases. check-in: c5b4e363 user: drh tags: fuzzcheck
18:47
Fix a couple of btree asserts that would fail when encountering 32-bit rollover in cell payload size fields (cell payloads this large always indicate corruption). check-in: 8fa0937a user: dan tags: trunk
17:07
Fix a case where database corruption may cause SQLite to write past the end of a buffer. check-in: 97806a78 user: dan tags: trunk
15:03
Fix an assert() in btree routine freeSpace() that may be false if the database is corrupt. check-in: 00a473c5 user: dan tags: trunk
11:46
Avoid redundant loads from the %_data table in the fts5 code. check-in: 02069782 user: dan tags: fts5
10:57
Fix an fts4 matchinf() problem triggered by deferred tokens that are part of phrases that are part of AND expressions. check-in: f1e942a1 user: dan tags: trunk
10:29
Fix an obsolete comment - no changes to code. check-in: 4e4228c4 user: drh tags: trunk
09:33
Remove an incorrect and pointless assert(). check-in: 8c3929bd user: drh tags: trunk
2015-05-24
21:46
The assert() changes removed in the previous check-in are needed after all. check-in: 336fccc8 user: drh tags: trunk
21:09
Better detection of corruption in allocateSpace() in btree.c. check-in: bf7bb53e user: drh tags: trunk
10:18
Detect database corruption in the modifyPagePointer() routine and abort. check-in: 4f0bba42 user: drh tags: trunk
2015-05-23
19:53
Instead of early detection of corruption in balance_nonroot, simply ignore the error, as it is harmless and exceedingly uncommon. check-in: 7bbf9b3c user: drh tags: trunk
19:29
Earlier detection of a specific kind of corruption in the balance_nonroot() routine. check-in: ee6dc991 user: drh tags: trunk
15:43
Avoid making redundant copies of position-lists within the fts5 code. check-in: 5165de54 user: dan tags: fts5
02:44
Minor documentation improvements. No changes to code. check-in: e446d9ce user: drh tags: trunk
2015-05-22
23:51
Merge bug fixes from trunk. check-in: 519054bb user: drh tags: sessions
23:50
Improved error messages in fuzzershell when unable to open the database. check-in: c404fcac user: drh tags: trunk
23:45
Fix a bug in fuzzershell caused by an uninitialized local variable. check-in: 745deab8 user: drh tags: trunk
23:39
Fix another bad assert() in btree - one that can be false on a corrupt database file. check-in: 89f0bbfd user: drh tags: trunk
23:26
Merge enhancements from trunk, including the new sqlite3_value_dup() API and the addition of the apSqlParam field in the sqlite3_rtree_query_info object of R-Tree. check-in: cdc0ca6f user: drh tags: sessions
23:17
Fix incorrect validation of the size of the BLOB returned by a geometry function on the RHS of a MATCH operator in RTree. The old code worked for 64-bit systems (by chance) but fails on 32-bit. check-in: 10cc44f5 user: drh tags: trunk
21:12
Add the sqlite3_value_dup() and sqlite3_value_free() interfaces. Use these interfaces to enhance R-Tree to add the sqlite3_rtree_query_info.apSqlParam field. check-in: c1814242 user: drh tags: trunk
21:04
Make sure sqlite3_value_dup() works correctly even for sqlite3_value objects that are marked SQLITE_STATIC. Closed-Leaf check-in: f332ffc3 user: drh tags: value-dup
19:55
Fix minor issues with the sqlite3_value_dup() interface. check-in: 95edcf50 user: drh tags: value-dup
18:40
Update with fixes and enhancements from trunk. check-in: 9605d008 user: drh tags: value-dup
17:29
The SRT_Table type for the SelectDest object is now just an SRT_EphemTab for which the ephemeral table has already been allocated. check-in: b9727e6b user: drh tags: trunk
16:08
Have r-tree prefer to use the constraint "col MATCH ?" over "rowid = ?". check-in: b9fb9519 user: dan tags: trunk
13:09
Fix two faulty assert statements discovered by fuzzing. check-in: 799817bf user: drh tags: trunk
12:37
Fix an assert in btree.c that can be false when using a corrupted database file. check-in: a6eb2a39 user: drh tags: trunk
11:38
Add the --database option to the fuzzershell test program. check-in: c6d5512f user: drh tags: trunk
07:44
Increase test coverage of fts5_vocab.c. check-in: 065ab83a user: dan tags: fts5
06:08
Improve test coverage of fts5_unicode2.c. check-in: fea8a4db user: dan tags: fts5
2015-05-21
20:26
Have r-tree prefer to use the constraint "col MATCH ?" over "rowid = ?". drh added later: All changes on this branch have been cherrypicked to trunk and will be merged into sessions from trunk. So this branch can close. Closed-Leaf check-in: b9e45596 user: dan tags: sessions-value-dup
2015-05-20
22:01
Add the sqlite3_value_dup() and sqlite3_value_free() interfaces and use those to add the sqlite3_rtree_query_info.apSqlParam field to the query callback in R-Tree. check-in: 2007391c user: drh tags: sessions-value-dup
21:28
Add the sqlite3_value_dup() and sqlite3_value_free() interfaces. Use these interfaces to enhance R-Tree to add the sqlite3_rtree_query_info.apSqlParam field. check-in: a7ee40c4 user: drh tags: value-dup
18:17
Version 3.8.10.2 check-in: 2ef4f3a5 user: drh tags: release, version-3.8.10.2, branch-3.8.10
17:36
Fix the initialization logic in CREATE TABLE AS so that the correct affinities are applied to all values being inserted into the new table, even if the RHS is a compound SELECT. Fix for ticket [f2ad7de056ab1dc9200]. check-in: 6a0cf3ce user: drh tags: trunk
17:25
Add a test case to verify that CREATE TABLE AS does not store INT values in TEXT columns. Ticket [f2ad7de056ab1dc92]. Closed-Leaf check-in: 0e45e8f1 user: drh tags: create-table-as-type-fix
17:18
Simplification of the initialization code for CREATE TABLE AS. check-in: 937f659e user: drh tags: create-table-as-type-fix
15:51
A proposed fix for the problem of CREATE TABLE AS generating a table that has INTEGER values in a TEXT column. Ticket [f2ad7de056ab1dc92]. check-in: d5e2c1fc user: drh tags: create-table-as-type-fix
09:27
Improve test coverage of fts5_tokenize.c. check-in: 0e91a6a5 user: dan tags: fts5
00:15
Fix handling of queries with VALUES on the left and UNION ALL SELECT on the right and a LIMIT clause. check-in: c403502c user: drh tags: trunk
2015-05-19
23:56
Enhance the selecttrace display by showing Select.selFlags. check-in: 45d3893c user: drh tags: trunk
23:04
Merge the Makefile.msc fix and the compiler warning fix from trunk. Also fix another compiler warning in sqlite3session_diff(). check-in: 7530e1bf user: drh tags: sessions
22:56
Fix the MSVC makefile so that it works with OTA. Fix a harmless compiler warning in FTS3. check-in: c7b16645 user: drh tags: trunk
22:42
Merge recent trunk changes, include the R-Tree enhancement that allows 8-byte BLOB arguments to geometry functions, and the fix for the TEXT affinity problem that could cause corrupt indexes. check-in: 0a0de8b7 user: drh tags: sessions
22:20
Allow R-Tree geometry functions to take 8-byte BLOB arguments which are passed directly through to the underlying callback, and which can be used to pass pointers into the callback. check-in: b271ed56 user: drh tags: trunk
19:52
Ensure that when the VM applies TEXT affinity to a value it discards any existing REAL or INTEGER value. Fix for [34cd55d6]. Increase the version number to 3.8.10.2. check-in: 40f67265 user: drh tags: branch-3.8.10
19:44
Ensure that when the VM applies TEXT affinity to a value it discards any existing REAL or INTEGER value. Fix for [34cd55d6]. check-in: f5d0ce80 user: dan tags: trunk
19:37
Add tests for fts5 tokenizers. check-in: 4f90ba20 user: dan tags: fts5
17:48
Remove the sqlite3ota_open_v2() API. Add a new parameter to sqlite3ota_open() instead. check-in: c74e0bc4 user: dan tags: trunk
16:50
Merge the ota-update branch with trunk. check-in: 08e2864e user: dan tags: trunk
16:26
Add a comment for SQLITE_FCNTL_OTA to sqlite.h.in. Closed-Leaf check-in: efa20f8e user: dan tags: ota-update
16:22
Allow OTA update state data to be stored in a database separate from the OTA update database. check-in: 5af8db56 user: dan tags: ota-update
14:14
Merge latest trunk changes with this branch. check-in: 6055a672 user: dan tags: ota-update
11:38
Update Makefile.in so that the amalgamation files built by "make sqlite3.c" include fts5. check-in: 2870a805 user: dan tags: fts5
11:32
Fix a memory leak that could follow an OOM condition in fts5. check-in: de9f8ef6 user: dan tags: fts5
2015-05-18
20:34
Improve test coverage of fts5_storage.c. check-in: 4dfe2e58 user: dan tags: fts5
18:24
Fix a bug in test script fts5fault4.test. check-in: a5080593 user: dan tags: fts5
18:03
Add a test for an untested branch in fts5_expr.c. check-in: ce08206b user: dan tags: fts5
17:50
Improve test coverage of fts5_config.c. check-in: 47dbfadb user: dan tags: fts5
12:28
Transitive constraints should only work if operands have compatible affinities and collating sequences. check-in: 5df40564 user: drh tags: trunk
12:18
Use an ALWAY() on conditionals in the transitive constraint logic that are always true as far as we know. Closed-Leaf check-in: 204e567f user: drh tags: transitive-constraints
11:34
Refinements to the determination of when an A==B term is an equivalence. Add test cases. check-in: 6bfaf525 user: drh tags: transitive-constraints
04:24
Make a hard copy of the results of a subquery lest the result of the subquery be referenced after a change to the table that generated the subquery result. check-in: 9c0d8090 user: drh tags: trunk
2015-05-16
20:51
Further restrictions on the use of the transitive property in WHERE clauses. check-in: 8c886c43 user: drh tags: transitive-constraints
20:04
Further test coverage improvements for fts5. check-in: 927d9a64 user: dan tags: fts5
19:17
Fix the transitive constraint processing to only allow transitivity if the operands of the == or IS operator have compatible affinities. check-in: a46a247f user: drh tags: transitive-constraints
18:31
Fix a typo in a comment. No changes to code. check-in: ee4b7425 user: drh tags: trunk
03:41
Improve the clean target in the MSVC makefile. check-in: 2c1039d4 user: mistachkin tags: trunk
2015-05-15
22:20
Update the README.md file at the top of the repository so that the homepage of Git mirrors of SQLite direct users to the official repository. check-in: 08f11980 user: drh tags: trunk
20:14
Minor coding style change, adjust new local variable casing for consistency. check-in: 1a4628c6 user: mistachkin tags: trunk
19:59
Do not assume that "col IS ?" matches at most a single row of a UNIQUE column unless the column is also NOT NULL. check-in: e038ce89 user: dan tags: trunk
18:13
Improve test coverage of fts5_index.c. check-in: 7aea8c6d user: dan tags: fts5
12:18
Add test cases. And some fixes. check-in: adee7885 user: dan tags: fts5
04:13
Simplifications to error message processing. Fix a possible problem in error message formatting when vacuuming a database with a corrupt schema. check-in: 56ef98a0 user: drh tags: trunk
2015-05-14
15:39
Increase the version number to 3.8.11. Upgrade autoconf from 2.62 to 2.69. check-in: be438d04 user: drh tags: trunk
15:17
Merge in the IS-operator enhancements and other recent changes from trunk. check-in: 4f922944 user: drh tags: sessions
14:32
The IS operator can now use indexes the same as the == operator. check-in: 3428043c user: drh tags: trunk
14:03
A few more test cases for the IS operator. Closed-Leaf check-in: f397c862 user: drh tags: index-is-operator
13:41
More test cases. Remove some invalid testcase() macros. Rearrange some code for improved testability. check-in: b3676377 user: drh tags: index-is-operator
13:18
Add testcase() macros. Get transitive WHERE clause constraints on IS operators working again. check-in: d195d4a6 user: drh tags: index-is-operator
09:53
Merge changes from the index-is-operator branch into this one. Drop the partial support added for IS on this branch by [52e73eec]. check-in: 16ab9caf user: dan tags: ota-update
08:58
Merge latest trunk changes with this branch. check-in: 299ed55c user: dan tags: ota-update
01:05
A new implementation of indexing with the IS operator that works correctly when the IS operator is in the WHERE clause and the operands are from opposite sides of a LEFT JOIN. check-in: 4541688b user: drh tags: index-is-operator
2015-05-13
19:33
Simplified implementation of indexing with the IS operator. check-in: 95b1f9bf user: drh tags: index-is-operator
18:12
Merge latest trunk changes with this branch. check-in: b5f0e8c5 user: dan tags: fts5
17:54
Add testcase() macros and comments and a few test-cases. check-in: 24263d08 user: drh tags: index-is-operator
17:15
Change fts5 doclist-index structures to be trees instead of flat lists. This only makes a difference for databases that contain millions of instances of the same token. check-in: aa34bf66 user: dan tags: fts5
15:24
An early attempt to get indexes to work with the IS operator. This code passes tests, but much more testing is needed to verify that it works on all corner cases. check-in: 6f7f1673 user: drh tags: index-is-operator
04:52
Merge updates from trunk. Leaf check-in: 10ee36d0 user: mistachkin tags: get-trace
04:50
Enhancements to the MSVC makefile. check-in: 59e3e9e7 user: mistachkin tags: trunk
2015-05-12
23:33
Use the database mutex where applicable. check-in: 28cfdabc user: mistachkin tags: get-trace
23:31
Fix a couple of typos in comments. check-in: e908365f user: mistachkin tags: get-trace
23:28
Improve API armor integration. Fix harmless compiler warnings. check-in: fbf29b45 user: mistachkin tags: get-trace
23:20
Modify the new functions to make them return a standard return code. check-in: 02f694d5 user: mistachkin tags: get-trace
21:27
Experimental API extension for recovering the current trace and profile callbacks on a database connection. check-in: 9de33768 user: drh tags: get-trace
19:53
Fix typo in Win32 VFS code enabled when the SQLITE_WIN32_USE_UUID compile-time option is used. check-in: b33f1bac user: mistachkin tags: trunk
19:10
Attempt to get DBSTAT to compile without warnings across all build configurations. check-in: c3cbe3b0 user: drh tags: trunk
14:22
Fix a compiler warning when building with tclsqlite3.c and without SQLITE_ENABLE_DBSTAT_VTAB. check-in: aad3ff25 user: drh tags: trunk
13:32
Improvements to documentation of the sqlite3_column_xxxxx() interfaces. No code changes. check-in: f1aa951a user: drh tags: trunk
12:24
Try to get recent sqlite3_analyzer and sqldiff tests working for all tested combinations of compile-time options, especially SQLITE_OMIT_VIRTUALTABLE and SQLITE_OMIT_LOAD_EXTENSION. check-in: 07c7d392 user: drh tags: trunk
00:46
Fix sqldiff.exe so that it always runs in single-thread mode. check-in: c223910e user: drh tags: trunk
2015-05-11
19:01
Add new fts3 matchinfo option 'b'. Also optimize existing option 'y'. check-in: 2e7679a1 user: dan tags: trunk
18:48
Add missing "finish_test" commands to the end of the two new test scripts for sqlite3_analyzer and sqldiff. check-in: 1d5e72b1 user: drh tags: trunk
18:46
Merge latest trunk changes into this branch. Closed-Leaf check-in: 82e5a6e0 user: dan tags: fts3-matchinfo-y
17:46
Test cases for sqlite3_analyzer and sqldiff. Fix a problem with sqlite3_analyzer related to the renaming of the initialization routine. check-in: 85a4a46c user: drh tags: trunk
16:27
Fix minor Makefile typos. Improve consistency of MSVC makefile. Add new targets to clean. check-in: f84fbe98 user: mistachkin tags: trunk
12:15
Build the sqlite3_analyzer.exe and sqldiff.exe programs on "make test" and "make smoketest" and other similar test targets. check-in: 1b83f2e7 user: drh tags: trunk
11:59
Revamp the way the DBSTAT virtual table is registered. check-in: 4e652015 user: drh tags: trunk
06:22
Change autoconf/Makefile.am to avoid building target sqlite3.o as part of both the shared library and shell tool. Doing so causes problems for parallel builds. check-in: 85bfa9a6 user: dan tags: trunk
2015-05-10
02:01
Fix the sqlite3_memory_used() and sqlite3_memory_highwater() interfaces so that they really do provide a 64-bit answer. check-in: 8a0d5d5e user: drh tags: trunk
2015-05-09
18:28
Allow the fts5vocab table to optionally provide data on a per-column basis. check-in: 39222761 user: dan tags: fts5
12:14
Version 3.8.10.1 check-in: 05b4b1f2 user: drh tags: trunk, release, version-3.8.10.1
10:27
Bump the version number to 3.8.10.1 check-in: 9c6bf0c1 user: drh tags: trunk
2015-05-08
20:21
Add the fts5vocab module, for direct access to the fts5 index. check-in: 6bf93e3b user: dan tags: fts5
09:21
Improve the error message returned by FTS5 if it encounters an unknown file format. check-in: f369caec user: dan tags: fts5
01:04
Fix harmless compiler warning with MSVC. check-in: 902d0cb8 user: mistachkin tags: trunk
00:58
Remove a couple stray test breakpoint calls. check-in: 2860cebe user: mistachkin tags: trunk
2015-05-07
20:26
Add an entry to sqlite3_compileoption_used() for SQLITE_ENABLE_DBSTAT_VTAB. check-in: 480b4cb0 user: drh tags: trunk
19:29
Change to storing all keys in a single merge-tree structure instead of one main structure and a separate one for each prefix index. This is a file-format change. Also introduce a mechanism for managing file-format changes. check-in: a684b5e2 user: dan tags: fts5
18:29
Testing improvements and corner-case bug fixes for the dbstat virtual table. check-in: d51ce539 user: drh tags: trunk
14:41
Enhance the dbstat virtual table with the ability to analyze ATTACHed databases. check-in: 25ec0940 user: drh tags: trunk
12:29
Merge in the 3.8.10 release changes. check-in: 0404ef88 user: drh tags: sessions
11:53
Version 3.8.10 check-in: cf975957 user: drh tags: trunk, release, version-3.8.10
00:09
Remove a faulty assert() statement. check-in: 5f2539da user: drh tags: trunk
2015-05-06
18:15
Merge latest trunk changes with this branch. check-in: 8a13e1fd user: dan tags: fts3-matchinfo-y
17:51
Remove some dead code from fts3_snippet.c. check-in: 46b2d3ce user: dan tags: fts3-matchinfo-y
17:41
More optimization for the 'y' and 'b' matchinfo directives. check-in: 8c5b9fed user: dan tags: fts3-matchinfo-y
14:18
Have the autoconf package build the shell tool with SQLite linked in statically. check-in: 31834c3a user: dan tags: trunk
08:43
Further optimizations for the 'y' and 'b' matchinfo operators. check-in: fbd038bb user: dan tags: fts3-matchinfo-y
2015-05-05
20:39
Add the fts3 matchinfo 'b' flag. check-in: b9b77972 user: dan tags: fts3-matchinfo-y
19:37
Optimizations for the matchinfo() function, particularly the 'y' flag. check-in: dddd7e18 user: dan tags: fts3-matchinfo-y
18:52
Remove four lines of superfluous code identified by clang scan-build. check-in: 04afa3fe user: drh tags: trunk
17:12
Merge all trunk enhancements and fixes into the sessions branch. check-in: de7083cf user: drh tags: sessions
16:57
Fix a minor coding inefficiency found during pre-release inspection. check-in: cc50883d user: drh tags: trunk
11:08
Add #ifdef statements to test_blob.c so that it will build with SQLITE_OMIT_INCRBLOB. check-in: b8f090e6 user: drh tags: trunk
10:46
Spell SQLITE_OMIT_VIRTUALTABLE correctly in a #if in dbstat.c. check-in: d2cb1bec user: drh tags: trunk
10:03
Fix a faulty assert() in the btree part of the "PRAGMA page_size = ?" code. check-in: 90b19748 user: dan tags: trunk
01:09
Fix a problem in Makefile.in that only comes up on Windows with MinGW. check-in: 5f3cd68b user: drh tags: trunk
00:48
Fix #ifdef problem in tclsqlite.c. check-in: fe723bb5 user: drh tags: trunk
2015-05-04
20:25
Automatically enable the dbstat virtual table on all new database connections with the SQLITE_ENABLE_DBSTAT_VTAB compile-time option is used. check-in: 1c9c6eaa user: drh tags: trunk
19:13
In the command-line shell, and the ".binary" command and additional C-style backslash escapes. check-in: 850c1186 user: drh tags: trunk
19:06
Add the "dbstat" virtual table as a standard component in the SQLite amalgamation, though turned off unless compiled with SQLITE_ENABLE_DBSTAT_VTAB. check-in: e7529705 user: drh tags: trunk
18:31
Rename the test_stat.c source file to dbstat.c and rework the makefiles to make dbstat.c a first-class source module. Closed-Leaf check-in: a24480a4 user: drh tags: dbstat-in-amalgamation
17:06
Include the "dbstat" virtual table in the amalgamation. check-in: fc6504aa user: drh tags: dbstat-in-amalgamation
16:09
Fix a faulty assert() in the SELECT code generator and add a test case to prevent regression. check-in: 1421c8ff user: drh tags: trunk
15:04
Fix a bug in --changeset output for sqldiff.exe for floating-point values. Also fix harmless compiler warnings in sqldiff.exe. check-in: 9f428530 user: drh tags: trunk
13:25
Add the --lib option to the sqldiff.exe command-line utility. check-in: a117e8f6 user: drh tags: trunk
12:29
Add the 'y' flag to the fts3/4 matchinfo() function. check-in: aef1e8f4 user: dan tags: trunk
2015-05-02
20:35
Reorganize some of the fts5 expression parsing code. Improve test coverage of the same. check-in: c4456dc5 user: dan tags: fts5
19:54
Improvements to fuzzershell: Avoid excess memory allocations when loading many files. Show the total runtime on final output. Show individual filenames as they are processed even if they are single test-case files. check-in: 34a722a2 user: drh tags: trunk
18:25
Add the SQLITE_LIMIT_PRINTF_WIDTH setting for sqlite3_limit() and associated logic for preventing DOS attacks using printf() with oversized widths or precisions. Leaf check-in: f8b15979 user: drh tags: limit-printf-width
17:40
Add the ".limit" command to the command-line shell. check-in: 803cb60e user: drh tags: trunk
12:40
Reorganize some multi-threaded code in vdbesort.c so that full MC/DC test coverage does not depend on the outcome of a race condition. check-in: 78c7ec95 user: dan tags: trunk
11:45
Cleanup of the sqlite3StrAccumInit() function. No functionality changes. check-in: 7952c322 user: drh tags: trunk
09:44
Add the experimental matchinfo 'y' flag to fts3/4. Closed-Leaf check-in: 92941609 user: dan tags: fts3-matchinfo-y
2015-05-01
20:38
Further improvements to test coverage of fts5 code. check-in: d4331943 user: dan tags: fts5
20:34
Enhance the fuzzershell --uniquecases option to output results in order of increasing runtime and to include the runtime in the comment separator of the output. check-in: 04630b98 user: drh tags: trunk
19:21
Enhance fuzzershell to accept multiple input files. Add the test/fuzzdata2.txt fuzz test content. check-in: ab5523aa user: drh tags: trunk
18:00
Fix an assert in RTREE that would fire if the rtree table is misdeclared. check-in: 9a45409c user: drh tags: trunk
16:57
Fix an assert() failure caused by setting "PRAGMA journal_mode=off" on an database in exclusive-mode that has already opened the journal file. check-in: 40db3e40 user: dan tags: trunk
15:25
Remove obselete comment text from the description of the Table object. No changes to code. check-in: 6566b72a user: drh tags: trunk
14:07
Use the sqlite3Fts3ErrMsg() function to set error message text in FTS3, and to ensure that error messages are not overwritten and thus leaked. check-in: 605347e0 user: drh tags: trunk
12:14
Improve test coverage of fts5.c. check-in: add4f468 user: dan tags: fts5
2015-04-30
20:35
Enhance the CLI to initialize the dbstat virtual table if compiled using SQLITE_ENABLE_STAT_VTAB. check-in: 822dfc00 user: drh tags: trunk
20:33
Fix a harmless comment typo. check-in: 012a0c4e user: drh tags: trunk
20:26
Avoid dropping an error code in test function sqlite3_dbstat_register(). check-in: 9a9f633f user: dan tags: trunk
13:06
Modify the mkfuzzdata1.tcl script so that it retains the culled test vectors in the tmp2 subdirectory. check-in: 431a958f user: drh tags: trunk
12:31
Fix signed/unsigned comparison compiler warnings. Add the SQLITE_OMIT_RANDOMNESS compile-time option to cause the PRNG to be seeded identically on every run, for testing purposes. check-in: 93ce2bca user: drh tags: trunk
2015-04-29
20:54
Improve fts5 tests. check-in: c1f07a3a user: dan tags: fts5
16:50
Use sqlite3_malloc64() in place of sqlite3_malloc() internally. check-in: 48f553b0 user: drh tags: trunk
00:35
Improved support for OSTRACE on Windows. check-in: ca43812b user: drh tags: trunk
2015-04-28
23:34
Revise when the sqlite3ErrName() function is defined. Closed-Leaf check-in: 9e593fb3 user: mistachkin tags: winTest
20:24
Fix an fts5 bug in handling writes while there are active cursors. check-in: 07f70955 user: dan tags: fts5
18:35
Improve coverage of fts5 tests. check-in: 8e8136f2 user: dan tags: fts5
14:49
Update the test/fuzzdata1.txt file with the latest cases discovered by AFL. check-in: f2063f53 user: drh tags: trunk
14:07
Fix an assert() failure that could occur if the internal sqlite3_rename_parent() SQL scalar function was invoked directly. check-in: 36e51526 user: dan tags: trunk
14:00
Fix sqlite3VdbeMakeWritable() to always clear the MEM_Ephem flag. Change the OP_Move opcode to always deephemeralize moved content. check-in: fbb06727 user: drh tags: trunk
13:11
Oops - the deephemerialization needs to occur before the move, not after. Was: Rather than try to keep track of the parent of an ephermeral register when the register moves, just deephemeralize all registers touched by the OP_Move opcode. Closed-Leaf check-in: 091cfe8e user: drh tags: mistake
12:44
Shift the Mem.pScopyFrom pointer in the correct direction in OP_Move. Fix for a defective check-in [a2135ad13049] and ticket [d6352363751]. Debugging code only - does not affect normal operation. check-in: add4e043 user: drh tags: trunk
12:27
Add code to the shell to optionally initialize the dbstat virtual table. Closed-Leaf check-in: 7ed86dd3 user: drh tags: stat-vtab-in-shell
01:28
Fix comment typos. No code changes. check-in: 60174cf5 user: drh tags: trunk
00:53
Add a TCL script that can be run to generate the fuzzdata1.txt file. check-in: fdc79fd1 user: drh tags: trunk
2015-04-27
19:53
Add fault-injection tests for the code in test_stat.c. check-in: ea5e0b74 user: dan tags: trunk
16:21
Change the fts5 content= option so that it matches fts5 columns with the underlying table columns by name, not by their position within the CREATE TABLE statement. check-in: e38e2bb6 user: dan tags: fts5
15:08
Update the fuzzer test data after having run it through afl-cmin to remove redundant test cases. check-in: 8134d41b user: drh tags: trunk
11:31
Further tests for fts5. check-in: ffeb3ef3 user: dan tags: fts5
2015-04-25
20:29
Improve coverage of fts5_index.c slightly. check-in: e5aaa013 user: dan tags: fts5
18:56
Add tests for fts5. check-in: e748651c user: dan tags: fts5
18:39
Fix compiler warnings in sqldiff. check-in: 5f48d6f6 user: drh tags: trunk
17:45
Update the AFL fuzzer data with newly discovered paths. check-in: d9821980 user: drh tags: trunk
16:39
Fuzzershell: change the error summary output to work with releasetest.tcl. Reduce the maximum number of OOM interations. check-in: f5e6c4b2 user: drh tags: trunk
13:39
Add the fuzzoomtest target to the makefiles. Invoke fuzzoomtest from releasetest.tcl. check-in: f60657c2 user: drh tags: trunk
12:20
Fix an obscure memory leak that could follow an OOM in where.c. check-in: 08ec9f2f user: dan tags: trunk
11:35
In fuzzershell: (1) comment fixes. (2) Set and clear g.zTestName[] correctly. (3) Use the value in g.zTestName[] in error messages. check-in: b7394755 user: drh tags: trunk
11:19
In the fuzzershell, always invoke the trace and log callbacks even if output is suppressed. Keep track of the current test name in a global variable for simplified debugging. check-in: 3045f454 user: drh tags: trunk
00:32
Do not send the extra ";" and "\000" tokens to the parser if a prior error has occurred. check-in: 9aa70ddf user: drh tags: trunk
00:20
Add fflush() calls to fuzzershell to keep stderr and stdout synchronized. check-in: 2b98a252 user: drh tags: trunk
2015-04-24
23:45
Add the --oom option to fuzzershell. check-in: 14a9e4a3 user: drh tags: trunk
20:18
Merge latest trunk changes with this branch. check-in: 1c78d892 user: dan tags: fts5
19:41
Add the "unindexed" column option to fts5. check-in: 86309961 user: dan tags: fts5
18:31
Fix fuzzershell so that it works with SQLITE_OMIT_TRACE. check-in: dc88fe7e user: drh tags: trunk
17:50
Add the --with-tcl=DIR option to the test/releasetest.tcl script. check-in: 4dda916a user: drh tags: trunk
16:53
Run fuzzershell as part of the valgrindtest makefile target. check-in: 0bb96a03 user: drh tags: trunk
16:16
Add the fuzztest target to the MSVC makefile. check-in: 98edc615 user: drh tags: trunk
16:09
Add AFL-generated test cases in the test/fuzzdata1.txt file. Automatically run fuzzershell against those cases on a "make test". check-in: 627ea83c user: drh tags: trunk
15:56
Add extra tests for corrupt database handling in fts5. check-in: 41449f7a user: dan tags: fts5
14:47
Add the --unique-cases option to fuzzershell. check-in: 7cb71849 user: drh tags: trunk
13:00
Fuzzershell enhancements: (1) Add the --verbose and --quiet flags (2) Show percentage complete and final test count for multi-test inputs (3) Omit trace and result logs unless the --verbose flag is used. check-in: ed202ffa user: drh tags: trunk
06:02
Fix an fts5 build problem in main.mk. check-in: 60045ced user: dan tags: fts5
2015-04-23
19:38
Fix a problem in the "ota" utility program causing it to crash if SQLite failed to open the target database. check-in: a1a2b4a2 user: dan tags: ota-update
19:32
Merge latest trunk changes into this branch. check-in: 1506e99e user: dan tags: ota-update
19:18
Fix a performance problem in calls to sqlite3ota_close() made after the OTA update has been completely applied and checkpointed. check-in: fa62093b user: dan tags: ota-update
18:14
Have OTA maintain a small LRU cache of UPDATE statements. This reduces the amount of time it spends compiling UPDATE if a single data_xxx table contains many different ota_control strings. check-in: baee3556 user: dan tags: ota-update
17:22
Modify the sqlite3session_diff() API so that tables with no PRIMARY KEYs are ignored. This matches the other sessions APIs. Also change sqlite3session_diff() so that it returns SQLITE_SCHEMA, instead of SQLITE_ERROR, if the tables being compared do not have compatible schemas. check-in: aada0ad0 user: dan tags: sessions
15:03
Fix the error message returned by sqlite3session_diff() for tables with no PRIMARY KEY. check-in: 4d34a3d4 user: dan tags: sessions
14:40
Fix a performance problem in sqlite3session_diff(). check-in: ea400eca user: dan tags: sessions
13:49
Merge the latest trunk enhancements and fixes into the sessions branch. check-in: 4e5f17d1 user: drh tags: sessions
13:37
Fix a faulty assert() in the "AS" alias resolution logic of the parser. check-in: b5e43602 user: drh tags: trunk
13:00
Improvement to "ID" formatting on the ".selecttrace 0x1ff" debugging function. check-in: 01c50cee user: drh tags: trunk
11:52
Fix a problem causing the fts3 integrity-check to fail if run inside a transaction. check-in: 3b925189 user: dan tags: trunk
2015-04-22
20:58
Add extra OOM tests for fts5. check-in: 2dd59b57 user: dan tags: fts5
20:14
Fix problems with doclist-indexes involving very large rowids. check-in: 1e599409 user: dan tags: fts5
14:41
Prototype for an sqlite3_db_log() interface. Leaf check-in: 658e20f5 user: drh tags: sqlite3_db_log
13:16
Improved filtering of input for fuzzershell for modes other than generic. check-in: 025e8370 user: drh tags: trunk
11:34
Add comments related to database locking to sqlite3ota.h. check-in: 77242965 user: dan tags: ota-update
11:16
Change the printf, strftime, and glob modes of fuzzershell so that they reject all inputs that do not start with a string literal followed by a comma. This helps the fuzzer focus in on the kinds of behavior those modes are intended to test. check-in: 1cceefa7 user: drh tags: trunk
09:40
Update this branch with latest trunk changes. check-in: 9797482d user: dan tags: fts5
01:33
When compiling for UAP, link against the new minimal MSVC runtime. check-in: 2cb94511 user: mistachkin tags: trunk
2015-04-21
20:13
Fix a problem in fts5fault1.test. check-in: a21d60cb user: dan tags: fts5
19:07
Fix an fts5 problem with large deletes. check-in: e50e8031 user: dan tags: fts5
17:17
Alternative fix for the double-initialization of type and collating sequence problem that leaves the estimated table size intact. check-in: 623ddbdb user: drh tags: trunk
17:07
Make sure the datatype and collating sequence of transients tables are not initialized more than once. Otherwise a memory leak results. check-in: 9e6beda2 user: drh tags: trunk
16:38
Ensure that tables names are dequoted exactly once by the trigger logic. check-in: 9d887b92 user: dan tags: trunk
16:09
Fix a memory leak in the SELECT code generator tracing logic (code that is omitted in non-debugging builds). check-in: b623ebd8 user: drh tags: trunk
15:49
Fix an obscure problem with "INSERT INTO tbl(cols) SELECT" statements where the SELECT is a compound with an ORDER BY and "cols" is a strict subset of tbl's columns. check-in: 718d5d0e user: dan tags: trunk
15:35
Add a comment to sqlite3ota.h. No code changes. check-in: 352fa09e user: dan tags: ota-update
15:16
Change an assert() in the aggregate query code generator into a testcase(). check-in: d1e6bc91 user: drh tags: trunk
12:06
Fix an fts4 problem to do with the handling of phrases that contain zero tokens. check-in: caba5be0 user: dan tags: trunk
03:13
Fix some identifier name de-quoting issues in the foreign key and trigger logic. check-in: 59e92bd9 user: drh tags: trunk
02:17
Test case for the previous check-in. check-in: a526f58b user: drh tags: trunk
02:12
Make sure the whereSplit() routine in the query planner is not confused by the likely() operator. check-in: 588db14f user: drh tags: trunk
00:23
Enable compilation and VSIX package creation with the Visual Studio 2015 CTP. check-in: 03b725a7 user: mistachkin tags: trunk
2015-04-20
23:53
Merge updates from trunk. Closed-Leaf check-in: 583a79a0 user: mistachkin tags: vsix2015
22:36
Add the --mode option to fuzzershell. check-in: b940b0fa user: drh tags: trunk
18:58
Many new configuration options for fuzzershell. check-in: 41c95439 user: drh tags: trunk
18:48
Fix some fts5 problems with very large position lists. check-in: 2ea8f9cb user: dan tags: fts5
15:13
Fix a memory leak caused by duplicate entries in the sqlite_stat1 table. check-in: 2f58c8c9 user: dan tags: trunk
13:59
Fix an obscure memory leak in sqlite3Stat4ProbeFree() check-in: c72abbe2 user: drh tags: trunk
12:50
Enhance fuzzershell to support multiple blocks of SQL, each run in its own private in-memory database. check-in: ab0a96ca user: drh tags: trunk
01:32
Merge all recent trunk enhancements and fixes into the sessions branch. check-in: b8ef1cde user: drh tags: sessions
01:25
Merge all recent trunk enhancements and fixes into the apple-osx branch. check-in: 74b7bf17 user: drh tags: apple-osx
01:13
Add an ALWAYS() around a new branch that was made unreachable by an even newer change. check-in: 592c0104 user: drh tags: trunk
2015-04-19
23:48
Fix another harmless compiler warning. check-in: 5ae853aa user: mistachkin tags: vsix2015
23:40
Merge updates from trunk. check-in: 59d1a3bb user: mistachkin tags: vsix2015
23:39
Modify the 'mkvsix' tool itself to support the Visual Studio 2015 CTP. check-in: e0b7a191 user: mistachkin tags: vsix2015
23:11
Fix an off-by-one assert() in the virtual table argument tokenizer. check-in: c83052e4 user: drh tags: trunk
22:41
Fix a broken assert() and comparison for INSERT INTO ... SELECT when the SELECT uses an unknown collating sequence. check-in: e73ac0cb user: drh tags: trunk
22:31
Silently ignore parser stack overflow when parsing a malformed schema in PRAGMA writable_schema mode. check-in: 2cb37b95 user: drh tags: trunk
21:59
Fix another assert() that is not true if the database schema is corrupt. check-in: bc97cec6 user: drh tags: trunk
21:43
Fix harmless compiler warnings seen with MSVC 2015. check-in: d05becd8 user: mistachkin tags: vsix2015
20:39
Fix a faulty assert in the schema parsing logic. check-in: b1ed9495 user: drh tags: trunk
19:53
Document the NMAKE_ARGS environment variable as well. check-in: 977fd39c user: mistachkin tags: vsix2015
19:21
Fix a potential NULL pointer deference on a corrupt database schema. check-in: dc61b292 user: drh tags: trunk
18:58
Improve documentation and comments in the MSVC batch build tool. check-in: ca64ef07 user: mistachkin tags: vsix2015
18:32
Bring comments on the INSERT code generator up-to-date. Fix the INSERT code generator so that it correctly handles inserts from a SELECT into a virtual table with non-terminal hidden columns. check-in: 4ac81fac user: drh tags: trunk
06:18
Work in progress on making VSIX packages for the Visual Studio 2015 CTP. check-in: 8469d651 user: mistachkin tags: vsix2015
2015-04-18
19:20
The sqlite3_trace() callback does not try to expand parameters in statements that have no parameter. check-in: 917e3c36 user: drh tags: trunk
17:43
Fix an incorrect assert() statement in the CREATE INDEX code generator. check-in: 2eed41fd user: drh tags: trunk
16:25
Ensure that if a "ROLLBACK TO" statement is used to rollback (but not close) theoutermost transaction, the xRollbackTo() method of any virtual tables involved in the transaction is invoked. check-in: e98d481d user: dan tags: trunk
04:45
Disregard leading zeros when converting strings to 32-bit integers. check-in: 691cc201 user: drh tags: trunk
00:22
Fix an incorrect assert() in the sqlite3_trace() logic. check-in: eabde339 user: drh tags: trunk
2015-04-17
20:51
Fix a problem affecting some fts3 UPDATE and DELETE statements on order=DESC tables. check-in: 284c1623 user: dan tags: trunk
19:41
In the expression-tree comparison routine, do not compiler Expr.iColumn and Expr.iTable for TK_STRING expressions. check-in: b67bb16c user: drh tags: trunk
18:52
Always resolve symbols in all ORDER BY clauses of a compound-SELECT, even illegal ORDER BY clauses. check-in: 6c39ef73 user: drh tags: trunk
18:22
Remove unnecessary parser error count increments. Let the sqlite3ErrorMsg() take care of doing that. check-in: 3f3b0f68 user: drh tags: trunk
17:00
Ensure that filenames passed to the VFS xOpen() function are terminated by 2 '\0' bytes. check-in: 66eff473 user: dan tags: ota-update
16:29
Fix a memory leak in sqlite3ota.c that can follow an OOM error. check-in: c3dc15e7 user: dan tags: ota-update
16:12
Remove an ALWAYS() that turns out to be false when there is a semantic error on a compound SELECT. check-in: ad67a67c user: drh tags: trunk
15:58
Ensure that semantic SQL errors are always reported back up to the syntax parser. Also: Improve the defense against invalid PRAGMA synchronous settings. check-in: 7aeade9a user: drh tags: trunk
15:16
Fix a faulty assert() in sqlite3SelectNew(). check-in: 620d19c3 user: drh tags: trunk
14:30
Add the tool/fuzzershell.c utility program. check-in: db8d9af4 user: drh tags: trunk
12:16
Fix the header comment on the sqldiff utility program. No code changes. check-in: b355ca3a user: drh tags: trunk
11:31
Hold the database mutex for the duration of sqlite3session_diff(). check-in: 6f330501 user: dan tags: sessions
08:36
Have OTA always specify SQLITE_CONFIG_URI when opening databases. Fix a test issue causing otacrash.test to fail. check-in: 0d0e5ec0 user: dan tags: ota-update
2015-04-16
23:04
Restrict the scope of a local-use function in the parser. check-in: cd6598f4 user: drh tags: trunk
21:57
Use a heap rather than a bitmap for cell coverage and overlap testing on btree pages in PRAGMA integrity_check. check-in: e94b2ef2 user: drh tags: trunk
20:27
Fix a couple of unreachable branches. check-in: 8f391dff user: drh tags: trunk
20:10
Fix a boundry-value condition in the phrase poslist extractor of FTS3/4. check-in: 55d10baf user: drh tags: trunk
18:49
Be sure to release any xShmLock locks held when closing an OTA handle. check-in: d0fba72a user: dan tags: ota-update
18:11
Make sure all cursors are closed when returning from a VDBE subprogram that implements a foreign-key construct. check-in: d04d354d user: drh tags: trunk
17:31
Fix the VDBE so that it always uses the original opcode for profiling and debugging even after the pOp pointer has been updated due to a jump. check-in: 647495cf user: drh tags: trunk
16:27
Restore SQLITE_FORCE_OS_TRACE to the MSVC makefile, which was removed during a merge. check-in: c37f4d49 user: mistachkin tags: winTest
16:22
Fix a faulty assert() in the compound-SELECT code generator. check-in: 10715b05 user: drh tags: trunk
16:04
Silently ignore requests to change the PRAGMA synchronous setting to an illegal integer value, rather than raising an assertion. check-in: e0a88176 user: drh tags: trunk
15:47
Make sure errors in coding triggers are propagated back up to the parser. check-in: 928f973c user: drh tags: trunk
15:05
Add the --backslash option to the command-line shell for testing purposes. check-in: dd96211e user: drh tags: trunk
14:33
Fix a faulty assert() in the compound select code generator. check-in: 9d336be1 user: drh tags: trunk
14:33
Fix a mismatched printf() argument and format specifier. Add ota files to Makefile.in. check-in: 5db810a8 user: dan tags: ota-update
14:13
Improvements to the way VALUES clauses are parsed. check-in: ec5a493a user: drh tags: trunk
13:52
Fix a stray backslash character in a printf format string in sessionDiffFindModified() check-in: abb192a1 user: drh tags: sessions
12:12
Fix the corruptC.test module due to a change in error message text. check-in: 7c0deed2 user: drh tags: trunk
12:09
Checked in the wrong fix. Closed-Leaf check-in: 4b0f4484 user: drh tags: mistake
11:56
Use a heap instead of a bitmap for cell overlap and coverage testing of btree pages in PRAGMA integrity_check. Closed-Leaf check-in: 5619c959 user: drh tags: integrity-check-heap
10:55
Avoid attempting to rename the *-oal file while it is still open. check-in: 658c3b0c user: dan tags: ota-update
08:54
Fix a problem in test file e_reindex.test. check-in: 5b3de939 user: dan tags: trunk
07:19
Ensure the sqlite3Select() routine always returns non-zero if an error has occurred. check-in: b51028ed user: dan tags: trunk
04:20
Merge updates from trunk. Closed-Leaf check-in: 22827542 user: mistachkin tags: expShell
03:56
Move OSTRACE defines so they are visible to all source files that need them. check-in: 72485c97 user: mistachkin tags: winTest
03:37
Make sure the sqlite3DebugPrintf() function is defined for OSTRACE as well. check-in: ae5af704 user: mistachkin tags: winTest
03:24
Merge updates from trunk. Make OSTRACE changes work on Linux. check-in: cd154266 user: mistachkin tags: winTest
00:26
When parsing the schema, ignore any SQL that does not begin with "CREATE". check-in: d3c00d61 user: drh tags: trunk
2015-04-15
19:25
Fix a potential one-byte buffer overread in the command-line shell. check-in: e018f4bf user: drh tags: trunk
19:13
Add the BtCursor.pPage field which is the current page to which the cursor points, for a very small performance gain. Leaf check-in: a200e1ea user: drh tags: btree-current-page-cache
18:49
Logically store updates as (insert+delete) within the FTS tree. This allows keys to be annihilated more quickly under some circumstances. check-in: 50fae1f0 user: dan tags: fts5
17:26
Prevent the fetchPayload() routine from reporting a cell size that extends off the end of the page on a pathologically corrupted database file. check-in: f71053cf user: drh tags: trunk
16:01
Fix a problem preventing doclist indexes from being loaded. check-in: b29109a0 user: dan tags: fts5
15:29
Enhance the showdb utility program so that it can read the last partial page of a truncated database file. check-in: 61d72e17 user: drh tags: trunk
14:52
Add the --msvc command-line option to the releasetest.tcl script. This is only a partial merge from the winTest branch as the OS_TRACE changes are omitted. check-in: b8768f12 user: drh tags: trunk
14:26
Merge all recent trunk enhancements and fixes into the ota-update branch. check-in: 9bd3e445 user: drh tags: ota-update
14:14
Merge all recent trunk fixes and enhancements into the sessions branch. check-in: e65e65f9 user: drh tags: sessions
13:51
Merge recent trunk fixes and enhancements into the apple-osx branch. check-in: bfc7142a user: drh tags: apple-osx
09:16
Remove an incorrect assert() statement from sqlite3Fts3Dequote(). check-in: bd06eeb8 user: dan tags: trunk
08:37
Remove a branch that became unreachable due to one of the earlier check-ins today. check-in: fa0956ed user: drh tags: trunk
08:20
Fix a problem causing an assert() to fail if a snippet containing 0 tokens was requested from fts3. check-in: eafd0a1e user: dan tags: trunk
07:57
Fix the error message generator for illegal token errors so that it does not leak memory if it immediately follows another erroneous SQL statement. check-in: 3576973f user: drh tags: trunk
07:34
Remove an incorrect ALWAYS() from the automatic index generator. check-in: eeb4bd06 user: drh tags: trunk
07:19
Remove an incorrect ALWAYS() from the table_info pragma. check-in: 0e087c01 user: drh tags: trunk
07:10
Change the multiSelectOrderBy() routine to return non-zero if there has been any prior error. check-in: 14784c31 user: drh tags: trunk
06:45
Fix a faulty assert() statement in the name resolver associated with the optimization that converts compound selects with ORDER BY COLLATE into subqueries. check-in: c72324ef user: drh tags: trunk
05:57
Correctly handle COLLATE operators applied to COLLATE operators in an ORDER BY clause. check-in: 9e1f837b user: drh tags: trunk
05:38
Fix a faulty assert() in the sqlite3StrAccumAppend() routine. check-in: 998cfdb8 user: drh tags: trunk
05:31
Correctly deal with an unknown collating sequence on an indexed DISTINCT query. check-in: a0b6e2fe user: drh tags: trunk
05:20
When adding the implied "LIMIT 1" to the end of a scalar subquery, make sure that subquery is not a VALUES-only query as such queries cannot deal with LIMIT clauses. check-in: 7c27310b user: drh tags: trunk
04:51
When doing the (dubious) conversion of double-quoted identifier into string literal for MySQL compatibility, be sure to also clear the iTable value from the Expr entry to avoid an assert. check-in: d7211b68 user: drh tags: trunk
04:20
Add a test case for what was formerly thought to be an unreachable condition: when the LHS of an OR operator contains an error and the RHS contains an IN operator. check-in: 38727425 user: drh tags: trunk
04:10
An oversize hex literal can cause a parsing error while generating code for constants that are factored out of the main body of the VDBE program. So allow for that case. check-in: a084690b user: drh tags: trunk
2015-04-14
20:15
Begin changing fts5 to use a delete flag so that delete markers may be annihilated more quickly. check-in: 9341c070 user: dan tags: fts5
19:01
Add the --summary option to the sqldiff command-line tool. check-in: 88b22761 user: drh tags: trunk
15:14
Update API documentation to identify many functions as methods on objects. No changes to code. check-in: b549cbce user: drh tags: trunk
2015-04-13
23:11
Merge all recent trunk enhances into the apple-osx branch. check-in: e709d3b4 user: drh tags: apple-osx
23:05
Add #ifdef magic for HAVE_GETHOSTUUID so that the build will hopefully now work on more verions of MacOS with SQLITE_ENABLE_LOCKING_STYLE turned on. check-in: 211411d0 user: drh tags: trunk
22:26
On a DETACH statement, keep all schemas intact except fo the one that is being detached, and thus avoid unnecessary schema reparsing. check-in: 661db19b user: drh tags: trunk
21:39
Omit the "pc" or "program counter" variable from the VDBE loop for 0.6% performance increase. check-in: d2f10c41 user: drh tags: trunk
19:14
Remove the out2-prerelease VDBE opcode property and its associated code, for a 0.5% performance improvement. check-in: e29c7f2c user: drh tags: trunk
17:43
Add a comment to wal.c to explain why a race condition is safe. check-in: bc33af86 user: dan tags: trunk
14:44
Remove a faulty assert() from the btree balancing logic. check-in: d06669d9 user: drh tags: trunk
14:08
Test that if the definition of a collation sequence is changed and VACUUM run, the new database contains records sorted in the (new) correct order. check-in: ce6eaac1 user: dan tags: trunk
14:03
Remove an unreachable branch from the VACUUM logic. check-in: 65ace4b0 user: drh tags: trunk
12:45
Remove an unreachable branch from the vdbeSorterCompareInt() routine. check-in: f666ef06 user: drh tags: trunk
2015-04-12
21:28
Update the version number to 3.8.10 because of the new sort optimizations from check-in [79326d6eec]. check-in: bd2cfa1d user: drh tags: trunk
17:35
Fix a problem with a stale Select.pWith pointer when a CTE is used together with a compound query and an ORDER BY clause. check-in: 9a453f52 user: drh tags: trunk
01:33
Merge all recent trunk enhancements into the sessions branch. check-in: 5f14f34f user: drh tags: sessions
01:22
Avoid problems when a query has a GROUP BY and an ORDER BY but no FROM clause. check-in: e527d96a user: drh tags: trunk
2015-04-11
20:44
Optimizations for VACUUM, CREATE INDEX and some cases of ORDER BY. check-in: 79326d6e user: dan tags: trunk
20:20
Fix a problem with sorting large amounts of partially ordered data. check-in: acca97ef user: dan tags: trunk
18:45
Merge latest trunk changes with this branch. Closed-Leaf check-in: cf7590f6 user: dan tags: sorter-opt
18:25
Have fts5 integrity check verify that prefix indexes contain the same values as returned by prefix queries on the main terms index. check-in: bdb8e82a user: dan tags: fts5
17:09
Merge the sessions-diff branch with this one. check-in: 805baa57 user: dan tags: sessions
16:23
Improve fts5 integrity-check so that it checks that DESC queries return the same as ASC. Change the poslist format slightly to make room for a delete-flag. check-in: 49c1e745 user: dan tags: fts5
13:49
Add the --changeset option to the sqldiff utility program, for generating a sessions changeset file instead of an SQL diff. check-in: f9a3a839 user: drh tags: trunk
13:48
The --changeset option now appears to be working. Closed-Leaf check-in: 1a2e2803 user: drh tags: sqldiff-changeset
12:07
First complete attempt to generate a working changeset. Still contains bugs. check-in: 5611fa9b user: drh tags: sqldiff-changeset
11:53
Update tests in whereD.test to account for the change in the previous commit. check-in: da49700c user: dan tags: trunk
11:44
Do not assume an index contains unique entries unless it is declared UNIQUE and NOT NULL is specified for all columns. Fix for [7b4fee9f6c]. check-in: e3b1f625 user: dan tags: trunk
02:08
Detect and report oversized records constructed from multiple zeroblobs. check-in: 9e139afd user: drh tags: trunk
2015-04-10
21:16
Minor build enhancements for MSVC. check-in: 40c417a7 user: mistachkin tags: trunk
19:41
Work toward adding the --changeset option to the sqldiff utility program. Changes are incomplete. This is an incremental check-in. check-in: 463e38d7 user: drh tags: sqldiff-changeset
16:05
In sqlite3_declare_vtab(), avoid accessing the database structure until after the "api-armour" safety-check has completed and the db mutex has been obtained. check-in: 860e4f8a user: dan tags: trunk
12:04
Fix foreign key CASCADE for cases where the parent key is an INTEGER PRIMARY KEY and the parent table contains other columns named "rowid", "_rowid_", and "oid". check-in: ed3cbaab user: drh tags: trunk
08:28
Update this branch with the latest changes from sorter-opt. Leaf check-in: 08c0b19b user: dan tags: insert-select-opt
08:20
Update this branch with latest trunk changes. check-in: 60be9c1c user: dan tags: sorter-opt
07:55
Do not allow virtual table constructors to be called recursively. check-in: 0a72726d user: dan tags: trunk
2015-04-09
19:39
Fix incorrect column names in UPDATE statements generated by the sqldiff utility. check-in: ee53b460 user: drh tags: trunk
19:19
Updates to comments describing the changeset and patchset formats. check-in: 5342f721 user: dan tags: sessions
18:14
Add the --primarykey option to the sqldiff tool, which causes it to use the schema-defined PRIMARY KEY. check-in: 5063f907 user: drh tags: trunk
16:30
Remove two pointless assert() statements. This should silence harmless compiler warnings reported at https://bugzilla.mozilla.org/show_bug.cgi?id=1152845 check-in: 83b342a4 user: drh tags: trunk
13:40
Fix comment typos in the sqldiff.c utility program. check-in: 32ab2bb9 user: drh tags: trunk
13:34
Add the "sqldiff" utility program. check-in: 88da5bf5 user: drh tags: trunk
11:24
Remove a variable initializion to silence a harmless compiler warning. check-in: 79861adb user: drh tags: trunk
2015-04-08
16:43
Fix problems in the sessions module causing it to produce spurious SQLITE_NOMEM errors when handling SQL text or blob values zero bytes in size. check-in: b9459d59 user: dan tags: sessions
16:01
Add experimental API sqlite3session_diff(). Closed-Leaf check-in: c4340b2e user: dan tags: sessions-diff
14:01
Merge all changes for version 3.8.9 into the ota-update branch. check-in: ec9d907a user: drh tags: ota-update
12:47
Merge in all version 3.8.9 changes from trunk. check-in: 30121870 user: drh tags: apple-osx
12:16
Version 3.8.9 check-in: 8a8ffc86 user: drh tags: trunk, release, version-3.8.9
2015-04-07
23:10
Merge printf() width and precision overflow fixes from trunk. check-in: aeca95ac user: drh tags: sessions
21:18
Merge updates from trunk. check-in: c458db41 user: mistachkin tags: expShell
21:17
Correct typo in new test numbering. check-in: d176c9fa user: mistachkin tags: expShell
21:16
Enhance the shell export to support emitting column names in 'insert' mode when headers are enabled. check-in: 6e504cd0 user: mistachkin tags: expShell
15:39
Avoid signed integer overflow when converting oversized in-line integer widths and precisions in printf(). check-in: 8e4ac2ce user: drh tags: trunk
14:38
Another change to avoid a problem caused by integer overflow in the printf() code. check-in: 95625ef3 user: dan tags: trunk
13:28
Further changes to guard against integer overflow in the width and precision of printf() arguments. check-in: 5ce4e7d7 user: drh tags: trunk
12:41
Guard against excessive width and precision in floating-point conversions in the printf routines. check-in: c494171f user: drh tags: trunk
2015-04-06
12:08
Merge obscure problem fixes from trunk. check-in: 271c110b user: drh tags: sessions
11:04
Fix a problem with fts3 prefix terms within phrase queries on "order=DESC" tables with a mix of negative and positive rowids. check-in: 3ad829e5 user: dan tags: trunk
09:05
Fix a problem with fts3 prefix terms within phrase queries on "order=DESC" tables with a mix of negative and positive rowids. Closed-Leaf check-in: 0cdf5028 user: dan tags: fts3-prefix-query-fix
2015-04-04
16:49
Fix a problem with resolving ORDER BY clauses that feature COLLATE clauses attached to compound SELECT statements. check-in: edc1de2a user: dan tags: trunk
16:43
Fix a problem with resolving ORDER BY clauses that feature COLLATE clauses attached to compound SELECT statements. Closed-Leaf check-in: 427b50fb user: dan tags: compound-order-by-fix
00:02
Enhance the 'releasetest.tcl' tool to support MSVC. check-in: f664bfdc user: mistachkin tags: winTest
2015-04-03
20:33
Disable the SQLITE_FCNTL_WAL_BLOCK feature for now. It needs more work and is not yet ready for release. check-in: 4ae9a3ac user: drh tags: trunk
18:33
Add source code to the "showlocks" utility program in the tool/ subdirectory. check-in: 6868cc66 user: drh tags: trunk
2015-04-02
17:46
Fix build with OSTRACE enabled on Windows when building using separate source files. check-in: 5f6e3580 user: mistachkin tags: winTest
15:24
Disable e_walauto.test on OpenBSD, as it requires a coherent cache. check-in: 90701227 user: dan tags: trunk
09:06
Fix a problem in vdbesort.c to do with caching unpacked records. check-in: 80a00539 user: dan tags: sorter-opt
2015-04-01
18:22
Merge latest trunk changes with this branch. check-in: 4621b2ee user: dan tags: sorter-opt
18:20
When vacuuming an index that uses no collations other than BINARY, assume that the order of index entries will not be changed by the VACUUM. check-in: e403460b user: dan tags: sorter-opt
16:39
Merge recent enhancements from trunk. check-in: aea439bd user: drh tags: sessions
16:18
Reduce the CPU used by CREATE INDEX statements by taking better advantage of the fact that keys are inserted in sorted order. check-in: 592cdc5d user: dan tags: sorter-opt
16:13
Merge all recent trunk fixes and enhancements into the apple-osx branch. check-in: 71b6f507 user: drh tags: apple-osx
13:21
Improved detection and suppression of endless loops in clearDatabasePage(). check-in: 30011ad2 user: drh tags: trunk
01:26
The build is still broken. Multiple definitions of sqlite3OSTrace when compiled using separate source files. check-in: 5c965a71 user: drh tags: winTest
2015-03-31
19:40
On windows, flush the mapping view when syncing content to disk. check-in: a828e73d user: drh tags: trunk
19:17
Set the winShm.id member when it is going to be traced. check-in: fa7916b6 user: mistachkin tags: winTest
19:06
Build fixes for OSTRACE enhancements. check-in: f79c236f user: mistachkin tags: winTest
18:18
Path portability enhancements for mptester.exe. check-in: c8694657 user: drh tags: winTest
18:05
Add the "mptest" target to main.mk. Change TRUNCATE and PERSIST to DELETE for mptest.c on Windows because of problems trying to delete the journal. check-in: ea697e6d user: drh tags: trunk
17:58
Path handling portability enhancements for mptester. check-in: da49634b user: mistachkin tags: winTest
17:45
Testing enhancements on Windows. check-in: 9cc70eee user: mistachkin tags: winTest
17:32
Change the sqlite3_log() message generated on a retry after delay in os_win to be an SQLITE_NOTICE instead of SQLITE_IOERR. check-in: 5d533eee user: drh tags: trunk
17:01
Fix configure.ac and Makefile.in so that they generate pkgIndex.tcl correctly. check-in: 3deff252 user: drh tags: trunk
16:42
Minor tweaks to the MSVC Makefile. check-in: 7244ea59 user: mistachkin tags: trunk
16:33
Handle very large URI pathnames for in-memory shared-cache databases. check-in: 586a94e8 user: drh tags: trunk
15:15
Fix harmless compiler warnings in lemon.c check-in: bbe7dcda user: drh tags: trunk
14:31
Fix the corruptJ.test case so that it works with and without SQLITE_SECURE_DELETE. check-in: 0c0ecfd6 user: drh tags: trunk
14:18
Additional logging information output by mptester. check-in: 0cbbf6e4 user: drh tags: trunk
13:46
Add the "mptest" target to Makefile.msc check-in: 1e814e0b user: drh tags: trunk
11:42
Ensure that comparison operators do not mess up the MEM_Dyn flag on registers when reverting affinity changes. check-in: 02e3c88f user: drh tags: trunk
00:10
Merge all recent trunk enhancements and fixes into the sessions branch. check-in: df94e61f user: drh tags: sessions
2015-03-30
23:52
Merge the latest trunk enhancements, and especially the fix for the infinite loop on a DROP TABLE in a corrupt database, into the apple-osx branch. check-in: 4d42bf5e user: drh tags: apple-osx
23:43
Prevent a possible infinite loop when trying to DROP a table from a corrupt database. check-in: 395bb3e6 user: drh tags: trunk
15:45
Merge sorter optimizations with this branch. check-in: 9bf1cfb4 user: dan tags: insert-select-opt
12:06
Improve performance of multi-field sorts where the first field has a low cardinality. check-in: 601e7b6b user: dan tags: sorter-opt
09:58
Remove some unnecessary code from vdbesort.c. check-in: b58191e9 user: dan tags: sorter-opt
2015-03-28
19:56
Further optimizations for sorting records that begin with integer or text values. check-in: 24fe9f25 user: dan tags: sorter-opt
2015-03-27
18:22
Merge updates from trunk. Closed-Leaf check-in: 45acf6a8 user: mistachkin tags: winViewFlush
18:20
Enhancements to OSTRACE usage in the Win32 VFS. check-in: ab580029 user: mistachkin tags: trunk
02:27
Fix the ".testctrl imposter" command in the command-line shell to be consistent in error reporting and results with the other .testctrl commands. check-in: 0ec08ba8 user: drh tags: trunk
00:21
Using MSVC, get the sqlite3IoTrace variable working with the USE_STDCALL and/or DYNAMIC_SHELL options. check-in: fe976c91 user: mistachkin tags: trunk
00:19
In the MSVC Makefile, make the DYNAMIC_SHELL option work without USE_STDCALL. check-in: 25b46a9c user: mistachkin tags: trunk
2015-03-26
23:36
When syncing a memory mapped file on Windows, flush the mapped view as well. check-in: df204049 user: mistachkin tags: winViewFlush
18:24
Revise Win32 locking test to account for recent log message changes. check-in: 1bc76339 user: mistachkin tags: trunk
17:04
Avoid leaving the malloc subsystem in a partially initialized state if the low-level initialization callback fails. check-in: 3e872011 user: drh tags: trunk
15:27
Provide source code line numbers for errors in the Windows VFS generated by the winLogIoerr() routine. check-in: b5da0d93 user: drh tags: trunk
14:29
Fix a harmless compiler warning in FTS3. check-in: 1688f60c user: drh tags: trunk
12:38
Merge sorter optimization into this branch. check-in: aeb8e9a9 user: dan tags: insert-select-opt
11:55
Optimize cases where all the sorter is sorting a set of records that all begin with integer values, or that all begin with text values to be compared using BINARY. check-in: ce5ad17c user: dan tags: sorter-opt
2015-03-25
18:29
Change an unreachable branch into an assert(). check-in: fb076b28 user: drh tags: trunk
17:35
Fix the saveCursorPosition() routine in btree.c so that it works correctly for a eState=CURSOR_SKIPNEXT cursor. check-in: 37866b4d user: drh tags: trunk
15:23
Extend [52e73eec] so that the IS optimization may be used on primary keys with more than 3 columns. check-in: 4e8796af user: dan tags: ota-update
13:06
Reactivate an older assert() (adding an "|| CORRUPT_DB" term) and add a new assert() in btree.c. check-in: 1e96520a user: drh tags: trunk
12:05
Add two new assert()s to the sqlite3BtreeDataSize() method. check-in: 42d1793d user: drh tags: trunk
00:09
Backport the 'stdcall' related enhancements from trunk. Leaf check-in: cbb93d1a user: mistachkin tags: stdcall-3.8.8
2015-03-24
22:00
Add SQLITE_STDCALL and SQLITE_CDECL macros on public function definitions. check-in: cae3239a user: mistachkin tags: trunk
21:54
Further simplifications to the amalgamation builder. Closed-Leaf check-in: e826cd7d user: drh tags: stdcall
21:52
Update the 'mksqlite3c-noext' tool as well. check-in: a5322566 user: mistachkin tags: stdcall
21:34
Fix a couple comment typos in a tool script. No changes to code. check-in: 83421af6 user: mistachkin tags: trunk
21:27
Add SQLITE_STDCALL and SQLITE_CDECL macros on public function definitions. check-in: 242f09d4 user: mistachkin tags: stdcall
19:43
Update this branch with latest trunk changes. check-in: 3ccd64ef user: dan tags: insert-select-opt
19:02
Merge all recent trunk enhancements into the sessions branch. check-in: 54aaa6f2 user: drh tags: sessions
18:49
Merge the latest trunk enhancements into the apple-osx branch. check-in: a2bd81e5 user: drh tags: apple-osx
18:21
Merge the latest trunk changes into this branch. check-in: 9d9b6c88 user: dan tags: ota-update
18:19
Suppress a compiler warning that was appearing with SQLITE_THREADSAFE=0. check-in: 436314b5 user: drh tags: trunk
18:03
When the OTA module updates or deletes a row, save only those fields that are part of an index or primary key to the ota update database. check-in: 6326fd32 user: dan tags: ota-update
16:43
Prevent a virtual table from being destroyed while it is in use. Also: replace Vdbe.inVtabMethod with sqlite3.nVDestroy. Simplify the EXPLAIN output for P4.pVtab to only show the sqlite3_vtab pointer. check-in: cbeb9a1a user: drh tags: trunk
14:57
Add tests to check that attempting to DROP a virtual table while it is use does not cause problems. Closed-Leaf check-in: 5ee625b1 user: dan tags: nVDestroy
14:57
Simplify the EXPLAIN output of virtual table P4 parameters to only show the pointer to the sqlite3_vtab object and omit the sqlite3_module object. Closed-Leaf check-in: 85610bbb user: drh tags: nVDestroy
14:05
More defenses against virtual table being deleted out from under a running statement. check-in: 116c9982 user: drh tags: nVDestroy
13:32
Prevent a virtual table from being destroyed while it is in use. check-in: fba674c0 user: drh tags: nVDestroy
12:51
Replace the Vdbe.inVtabMethod field with the sqlite3.nVDestroy counter. check-in: 9faefb96 user: drh tags: nVDestroy
2015-03-23
21:32
Disable loadable extensions in the command-line shell on VxWorks user-space. check-in: 0ee2d38d user: drh tags: trunk
19:55
Track total memory usage using a 64-bit integer on 64-bit systems. Add the sqlite3_status64() interface. Make the sqlite3_status() and sqlite3_status64() interfaces atomic using mutexes and verify correct mutex operation using assert() statements. check-in: 6fc4e79a user: drh tags: trunk
19:16
Fix a non-C89 variable declaration that causes problems for MSVC. Closed-Leaf check-in: 3de085ea user: drh tags: status64
19:03
Fix datetype size asserts in btree.c. check-in: ff4812d0 user: drh tags: trunk
18:52
Add the SQLITE_PTRSIZE macro. Use it to help sqlite3_status() run faster on 32-bit systems. check-in: c742bd60 user: drh tags: status64
17:25
Add the sqlite3_status64() interface. Make the new interface and the legacy sqlite3_status() both atomic and threadsafe. Check threadsafety using assert()s. check-in: 1ce8e8fa user: drh tags: status64
17:10
Fix a broken assert() in the ota module. check-in: 858de8a5 user: dan tags: ota-update
14:39
Set the OPFLAG_SEEKRESULT correctly in "INSERT INTO ... SELECT" statements. check-in: 6f7d9995 user: dan tags: insert-select-opt
2015-03-22
10:23
Fix a potential NULL pointer dereference following a syntax error. check-in: 8d27e3e1 user: drh tags: trunk
2015-03-21
23:38
Fix harmless compiler warnings with MSVC when assert() and SQLITE_MEMDEBUG are both enabled. check-in: 9513dbd4 user: mistachkin tags: trunk
22:23
Add more comments to the MSVC batch build tool. check-in: 03522da3 user: mistachkin tags: trunk
22:13
Increase the debugging level for the debug configuration in the MSVC batch build tool. check-in: 041484ff user: mistachkin tags: trunk
20:59
Do not invoke a C preprocessor macro with an empty argument, as (reportedly) some versions of GCC are unable to deal with that. check-in: de9da317 user: drh tags: trunk
20:50
Add a missing "int" on a constant declaration. check-in: 235157de user: drh tags: trunk
19:35
Avoid a segfault if NULL is passed as the first argument to SQL scalar function fts3_tokenizer(). check-in: 6d098969 user: dan tags: trunk
17:00
Merge all recent trunk enhancements and especially the blocking WAL-lock fix into the apple-osx branch. check-in: 9f1f8b33 user: drh tags: apple-osx
16:40
Change walblock.test to block an external process for 10 seconds, not 5. 5 seconds is not long enough to tell the difference between a blocking lock and a series of retries. check-in: 717335fc user: dan tags: trunk
16:36
Fix the blocking WAL lock so that it works and so that it compiles on a Mac. check-in: 67d69d21 user: drh tags: trunk
15:45
Merge trunk changes with this branch. check-in: 14274391 user: dan tags: fts5
15:37
When scanning the full-text index as part of the fts5 integrity-check, also run a point query for every term and verify that these results are consistent with those found by the linear scan. check-in: ce972f6a user: dan tags: fts5
15:26
Do not use sorters for INSERT statements that insert multiple rows using the VALUES clause. check-in: 93e28ea1 user: dan tags: insert-select-opt
15:04
Merge latest trunk changes with this branch. check-in: 9affe7f3 user: dan tags: insert-select-opt
12:25
Remove an unreachable branch from the OP_VCreate opcode (merge accidental fork in trunk). check-in: 2fbfec62 user: dan tags: trunk
12:22
Avoid an integer overflow in fts3 causing gcc 4.7.1 with -O2 to behave counter-intuitively (perhaps because the behaviour is undefined). Add an "ifcapable trace" to a test in shell4.test. check-in: e3e23464 user: dan tags: trunk
12:22
Remove an unreachable branch from the OP_VCreate opcode. check-in: 5fca41a3 user: drh tags: trunk
10:53
Add a missing "ifcapable fts3" to a test case in vtab2.test. check-in: d845b0f6 user: dan tags: trunk
07:16
Merge recent trunk changes with this branch. check-in: 35eef4dd user: dan tags: insert-select-opt
07:03
Disable the sorter optimization used by INSERT INTO SELECT statements if the statement explicitly specifies REPLACE, IGNORE or FAIL conflict handling. check-in: d4215942 user: dan tags: insert-select-opt
03:18
Correctly detect the error of having a "*" wildcard on a SELECT without a FROM clause on the left-hand side of a recursive CTE. check-in: b11d1793 user: drh tags: trunk
02:58
If a column is both UNIQUE and a PRIMARY KEY, make sure the PRIMARY KEY designation takes precedence. check-in: d871a792 user: drh tags: trunk
02:34
Merge updates from trunk. check-in: 441a00e7 user: mistachkin tags: expShell
02:25
Remove superfluous define from the MSVC makefile. check-in: 880d2513 user: mistachkin tags: trunk
02:22
Improvements to the MSVC build. Fix harmless compiler warnings. Enable use of 'stdcall'. check-in: 737630b8 user: mistachkin tags: trunk
2015-03-20
20:30
Where possible insert the set of new keys for each index in sorted order within "INSERT INTO ... SELECT" statements. check-in: 0a7f2051 user: dan tags: insert-select-opt
16:54
Provide the BTREE_SEEK_EQ hint to the b-tree layer. check-in: 3c367004 user: drh tags: trunk
16:34
Fix to get SQLITE_SMALL_STACK working correctly again after the previous change. Closed-Leaf check-in: 78df0ce1 user: drh tags: seek-eq
14:57
Provide the BTREE_SEEK_EQ hint to the b-tree layer. check-in: e750830f user: drh tags: seek-eq
08:43
Fix a problem causing collation sequence names to be dequoted multiple times under some circumstances. check-in: eddc05e7 user: dan tags: trunk
2015-03-19
20:09
If a virtual table is created with a malformed UTF8 name in a UTF16 database, make sure that does not cause problems. check-in: b74cb0a9 user: drh tags: trunk
19:59
Fix a crash that can occur following an OOM condition within a CREATE VIRTUAL TABLE statement on a utf-16 database. Closed-Leaf check-in: 9453e7da user: dan tags: malformed-vtab-name
18:56
Fix a problem with creating virtual table with names specified using malformed utf-8 within utf-16 databases. check-in: 9969cff2 user: dan tags: malformed-vtab-name
16:25
Fix an FTS3/4 problem with handling empty tokenizer declarations (e.g. "CREATE VIRTUAL TABLE t(tokenize=);"). check-in: 26d2def8 user: dan tags: trunk
15:52
Silently ignore any attempt to add a prefix index for prefixes zero bytes in size to an fts3/4 table. Or any prefix index size so large that it overflows a 32-bit signed integer. check-in: ad4b19d2 user: dan tags: trunk
15:04
Add an assert() to check that the database mutex is held in sqlite3BtreeLeave(). check-in: 31f54d7b user: dan tags: trunk
14:48
Fix typo in shell error message. check-in: 775a02d5 user: mistachkin tags: trunk
14:46
Merge updates from trunk. check-in: 3e363f40 user: mistachkin tags: expShell
13:30
Fix a bug in error handling in the ".trace" command of the command-line shell. check-in: 6a48b5d7 user: drh tags: trunk
2015-03-18
20:03
Allow whereShortCut() to use the PRIMARY KEY index of a WITHOUT ROWID table to optimize a vector of "IS" operators in a WHERE clause. check-in: 52e73eec user: dan tags: ota-update
19:04
Clarify that OTA is unable to update or delete rows with NULL values in primary key fields. check-in: 2e7c1e0a user: dan tags: ota-update
16:00
Add another sqlite3FaultSim() to the multi-threaded sorter logic to improve testability. check-in: 49ea2cde user: drh tags: trunk
2015-03-17
20:39
Clarify the documentation on sqlite3_errcode(). No changes to code. check-in: 2c0e0d87 user: drh tags: trunk
18:54
Merge all recent trunk enhancements into the sessions branch. check-in: 1d1c57c3 user: drh tags: sessions
18:35
Merge all recent trunk changes, and in particular the blocking WAL lock change, into the apple-osx branch. check-in: 8abbeadb user: drh tags: apple-osx
17:08
Also merge the WAL blocking lock tests that were somehow missed on the previous check-in. check-in: 7214dab7 user: drh tags: trunk
16:59
Transient locks in WAL mode can now block in order to resolve priority inversions. check-in: ec2f46de user: drh tags: trunk
16:01
Add a test for the change on this branch. Closed-Leaf check-in: e22dde18 user: dan tags: wal-blocking-lock
2015-03-16
20:40
Make SQLite slightly more likely to use an auto-index within a sub-query. check-in: ab832336 user: dan tags: trunk
18:08
Fix typo of test prefix in the new WHERE test file. check-in: 34779c52 user: mistachkin tags: trunk
17:48
When the WHERE clause contains two OR-connected terms with identical operands but different operators, try to combine them into a single term. Example: (X=A OR X>A) becomes (X>=A). check-in: 8bdda827 user: drh tags: trunk
17:07
Modify the fts3query.test script so that it works even when testfixture is built using a version of TCL that is unable to sort the integer -9223372036854775808 check-in: f61fd24b user: drh tags: trunk
16:44
When deleting the master journal to commit a multi-database transaction, do not sync the directory if PRAGMA synchronous=OFF for all participating database files. check-in: 018d7671 user: drh tags: trunk
16:28
When estimating the number of rows visited by a range scan for which the keys consist of more than one field, consider prefixes of stat4 samples as well as the full samples. This generates more accurate estimates. check-in: 3e0590de user: dan tags: trunk
13:48
Use #ifdef to omit code that is only used for STAT3 and STAT4. check-in: f2c9c5b5 user: drh tags: trunk
13:12
Improved comments. No code changes. Closed-Leaf check-in: 23f71a26 user: drh tags: combine-disjuncts
12:13
When a WHERE clause contains disjuncts with the same operands, try to combine them into a single operator. Example: (x=A OR x>A) becomes (x>=A). check-in: 7a309768 user: drh tags: combine-disjuncts
09:21
Another test case for the planner change on this branch. Closed-Leaf check-in: f2207a06 user: dan tags: stat4-change
2015-03-14
18:59
When estimating the number of rows visited by a range scan for which the keys consist of more than one field, consider prefixes of stat4 samples as well as the full samples. check-in: e1caf93c user: dan tags: stat4-change
2015-03-13
15:44
Add tests to ensure "PRAGMA incremental_vacuum" and "PRAGMA auto_vacuum = incremental" handle corrupt databases correctly. check-in: 1c2166cb user: dan tags: trunk
08:31
Extra tests for commit [0f250957]. check-in: 5aa522dc user: dan tags: trunk
00:11
Remove debugging logic accidently included in the previous check-in. check-in: 2887fb38 user: drh tags: trunk
2015-03-12
23:48
Fix the "now" option for date-time functions for cases when STAT4 is disabled. check-in: 3ac1f6a3 user: drh tags: trunk
21:22
When STAT4 is enabled, allow probes of the STAT4 table using the value of constant functions computed at compile-time. check-in: 0f250957 user: drh tags: trunk
21:02
Always disallow functions as the DEFAULT of a column. Add assert()s and Closed-Leaf check-in: a991bb1a user: drh tags: stat4-function
19:12
Disable multiplexing of master-journal files in the test_multiplex.c module. check-in: b8684df3 user: dan tags: trunk
18:38
If an error occurs in the compile-time evaluation of an application-defined function, then propagate back out the exact error code, not just the generic SQLITE_ERROR. check-in: 93f42586 user: drh tags: stat4-function
06:46
The valueFromFunction() routine is better able to handle OOM errors. Omit unreachable branches. check-in: 8fb6bd9b user: drh tags: stat4-function
05:08
Improve the text on one of the opcode documentation comments in vdbe.c. check-in: 08958f57 user: drh tags: trunk
2015-03-11
20:59
Allow the default value for columns added using ALTER TABLE ADD COLUMN to be a function in existing schemas loaded from disk. But prevent this version of SQLite from being used to create such a column. check-in: ff868e22 user: dan tags: stat4-function
20:06
Allow the query planner to evaluate deterministic scalar SQL functions used in WHERE constraints if all arguments are SQL literals in order to compare the results with sqlite_stat4 sample data. check-in: b7f1fc26 user: dan tags: stat4-function
14:51
Add an optimization to the fts5 unicode tokenizer code. check-in: f5db4892 user: dan tags: fts5
14:34
Expand the multi-process test cases to repeat each case 20 times and to repeat tests using different journal modes. check-in: a2715b04 user: drh tags: trunk
2015-03-10
20:22
Arrange for some of the transient locks in WAL mode to block, as a single to the OS to fix priority inversions. check-in: c6e6d5f4 user: drh tags: wal-blocking-lock
19:24
Avoid redundant string comparisons while merging fts5 segment b-trees. check-in: 5c46820d user: dan tags: fts5
15:34
Fix an incrblob2 test case so that it works on 32-bit systems. check-in: 8d0b11c9 user: drh tags: trunk
13:50
Revise test cases in malloc5.test to accommodate varying allocation sizes returned by some system malloc() implementations. check-in: fbae6baf user: drh tags: trunk
2015-03-09
13:24
Merge recent trunk enhancements into the ota-update branch. check-in: 5489cb68 user: drh tags: ota-update
13:18
Merge recent trunk enhancements into the apple-osx branch. check-in: 5e04eec8 user: drh tags: apple-osx
13:07
Merge recent trunk enhancements into the sessions branch. check-in: 68c8937e user: drh tags: sessions
13:01
Fix the LIKE optimization so that it works even if there are additional range contraints on the column that is subject to the LIKE or GLOB. check-in: 984c3fd5 user: drh tags: trunk
12:11
Always use LIKE optimization range constraints in pairs. Closed-Leaf check-in: 0e02dc94 user: drh tags: like-opt-fix
10:40
Increase the version number to 3.8.9 check-in: e5da5e7d user: drh tags: trunk
2015-03-07
20:32
Fix another problem with the LIKE optimization. check-in: 465bfc72 user: drh tags: like-opt-fix
15:46
Fix some compiler warnings caused by signed/unsigned pointer conversions. check-in: cccee7b5 user: dan tags: fts5
13:56
Fix the LIKE optimization so that it finds BLOB entries in addition to text entries. Ticket [05f43be8fdda9f]. check-in: 74cb0b03 user: drh tags: trunk
12:58
New test cases for LIKE and GLOB with BLOB left-hand side values. Closed-Leaf check-in: 50fa3c5f user: drh tags: like-opt-fix
11:50
Fix the bm25() function so that it multiplies scores by -1 before returning them. This means better matches have a lower numerical score, so "ORDER BY rank" (not "ORDER BY rank DESC") does what you want. check-in: 3ee7b5a9 user: dan tags: fts5
03:02
Remove some code that is commented out. check-in: 55ff4291 user: drh tags: like-opt-fix
02:51
Fix problems with reverse order sorting and indexes in the LIKE optimization. check-in: 564b8fe7 user: drh tags: like-opt-fix
00:57
Refactor some jump opcodes in the VDBE. Add JumpZeroIncr and DecrJumpZero. Fix the LIKE optimization to work with DESC sort order. check-in: 26cb5145 user: drh tags: like-opt-fix
2015-03-06
20:49
Test cases added. Comments fixed. Proposed solution for ticket [05f43be8fdda9fbd9]. check-in: 6b993bd5 user: drh tags: like-opt-fix
19:47
Fix the LIKE optimization even when comparing mixed-case BLOBs. check-in: a58aafdb user: drh tags: like-opt-fix
16:45
The LIKE optimization must be applied twice, once for strings and a second time for BLOBs. Ticket [05f43be8fdda9f]. This check-in is a proof-of-concept of how that might be done. check-in: 5757e803 user: drh tags: like-opt-fix
04:37
Clearification of some documentation text. Added requirements marks. check-in: 8c1e85aa user: drh tags: trunk
03:31
Clarification of documentation on sqlite3_backup. check-in: 31d5e9b4 user: drh tags: trunk
2015-03-05
16:21
Fix some problems with OTA and empty target databases, or target databases with the wrong set of tables. Also add SQLITE_FCNTL_VFSNAME support to the OTA VFS. check-in: 46119e8d user: dan tags: ota-update
15:34
New test cases and requirements marks for PRAGMA index_info, index_xinfo, and index_list. check-in: e5b13634 user: drh tags: trunk
14:29
Revert "PRAGMA index_info" to output only three columns, for complete compatibility with prior versions. The new "PRAGMA index_xinfo" can be used to get the extra information in 4th, 5th, and 6th columns. check-in: fc543c2c user: drh tags: trunk
14:07
Add comments to sqlite3ota.h to make it clear that passing NULL in place of a parent VFS name to sqlite3ota_create_vfs() causes the new VFS to use the system default as its parent. check-in: 158c1a48 user: dan tags: ota-update
13:43
Fix a typo in sqlite3ota.h. check-in: 04087dec user: dan tags: ota-update
01:29
New requirements marks on compound SELECT statements. check-in: e7991bc5 user: drh tags: trunk
2015-03-04
23:14
New requirements marks on INSERT and INDEXED BY and on some sqlite3_config() options. check-in: c298ea0b user: drh tags: trunk
20:18
Fix harmless compiler warning. check-in: 580dae46 user: mistachkin tags: trunk
15:35
Refinement to the wording of the documentation on depreciated functions. check-in: 04a59d6f user: drh tags: trunk
15:25
Remove a surplus </dl> mark in the documentation. No changes to code. check-in: 5450e465 user: drh tags: trunk
08:29
Fix a couple of build problems. check-in: a5d5468c user: dan tags: fts5
2015-03-03
20:42
Clean up #ifdef logic dealing with VxWorks in os_unix.c. On VxWorks, automatically use posix advisory locking if it is available or fall back to named semaphore locking if not. check-in: ac8c7ca3 user: drh tags: trunk
19:56
Fix compiler warnings when compiling under VxWorks 7. check-in: 55c21521 user: drh tags: trunk
16:58
Enhance SQLITE_ALLOW_URI_AUTHORITITY to elide //localhost/ and to deal with dodgy URIs that contain too many "/" characters. check-in: 39b566a2 user: drh tags: trunk
14:00
Fix over-length source code lines in the main.c source file. check-in: debba6f1 user: drh tags: trunk
2015-03-02
22:06
Changes so that the amalgamation and the command-line shell build without modifications on VxWorks 7. Still gives a few compiler warnings, and still mostly untested on that platform. check-in: 7d92f1f1 user: drh tags: trunk
17:25
Ensure that automatic indexes are *not* considered when doing the the subqueries of the OR-optimization. check-in: 17890292 user: drh tags: trunk
2015-02-28
14:03
In the command-line shell, the inability to read ~/.sqliterc is no longer a fatal error. A warning is issued, but processing continues. check-in: 6bf62463 user: drh tags: trunk
01:04
More test cases and requirements marks for pragmas. check-in: fc51037c user: drh tags: trunk
2015-02-27
21:53
Remove all references to SQLITE_DEFAULT_TEMP_CACHE_SIZE. Add requirements marks related to cache_size changing. check-in: 766ad650 user: drh tags: trunk
20:28
New requirements marks and a few new test cases to go with them. No changes to code. check-in: 8c2b29d9 user: drh tags: trunk
19:40
Merge updates from trunk. check-in: acf76843 user: mistachkin tags: expShell
09:41
Further minor optimizations to flushing fts5 data to disk. check-in: a07dcca9 user: dan tags: fts5
07:23
Fix suffix and prefix compression of terms in top-level fts5 segments. And a crash that could follow an OOM condition. check-in: bb104b36 user: dan tags: fts5
00:33
Add a couple of requirements marks. check-in: d70b0fd4 user: drh tags: trunk
2015-02-26
21:04
Fix potential memory leaks in the misc 'compress' extension. check-in: 3bc34fd4 user: mistachkin tags: trunk
20:49
Optimize copying data from fts5 in-memory hash tables to top level segments. check-in: 8e3ca632 user: dan tags: fts5
16:40
Update a requirements mark to reflect a change of wording in the documentation. No changes to code. check-in: 3038d016 user: drh tags: trunk
16:32
Fix a real bug (in test code) that was introduced while trying to eliminate harmless compiler warnings from OpenBSD (see check-in [10321910990195878c]). check-in: a62ba58c user: drh tags: trunk
14:54
Fix an fts5 bug in large incremental merges. check-in: 208e3cb6 user: dan tags: fts5
14:27
In the command-line shell, change the units on the ".width" directive from bytes to characters. Leaf check-in: b1a9e291 user: drh tags: cli-char-width
02:33
Simplifications to the description of the nByte parameter to sqlite3_prepare() and friends. check-in: 4bee8295 user: drh tags: trunk
2015-02-25
19:24
Instead of the 4-byte fields, use regular varints for the poslist-size field in fts5_hash.c. check-in: 7eb022d7 user: dan tags: fts5
14:25
Make sure the sqlite3_mutex.id field is initialized in the Win32 mutex implementation, even when SQLITE_DEBUG is turned off. check-in: 6d132e7a user: drh tags: trunk
14:09
Merge the latest trunk fixes and enhancements into the apple-osx branch. check-in: ba8294e2 user: drh tags: apple-osx
14:02
Merge the latest trunk fixes into the sessions branch. check-in: 131a2d31 user: drh tags: sessions
13:48
Add support for the linenoise command-line editing library in shell.c. check-in: 03bbb947 user: drh tags: trunk
13:29
Version 3.8.8.3 Leaf check-in: 9d6c1880 user: drh tags: release, version-3.8.8.3, branch-3.8.8
12:52
Add support for linenoise to shell.c. check-in: ec27ab0e user: dan tags: branch-3.8.8
10:54
Add support for linenoise to shell.c. Closed-Leaf check-in: f7f2598c user: dan tags: linenoise
01:06
When cleaning with MSVC, prevent superfluous output regarding 'missing' files and directories. check-in: 034c16bd user: mistachkin tags: trunk
00:24
Remove an always-false conditional from constructAutomaticIndex(). Put an assert() in its place to prove that the conditional is always false. check-in: 3af300bf user: drh tags: trunk
2015-02-24
20:12
Make sure partial indexes are not qualified incorrectly by a constraint that is inside the ON clause of a LEFT JOIN. Fix for ticket [2326c258d02ead33]. Cherry-pick from [491cfe9b3f87f]. check-in: 9d94ac6a user: drh tags: branch-3.8.8
20:10
Prevent partial indexes on the table on the left hand side of a LEFT JOIN from being incorrectly qualified by a constraint in the ON clause of the join. This relaxes the rule introduced by the previous commit (as the partial indexes on the table on the rhs of the LEFT JOIN may now be qualified by terms within the ON clause). check-in: 1d6fb43a user: dan tags: trunk
20:04
Make sure partial indexes are not qualified incorrectly by a constraint that is inside the ON clause of a LEFT JOIN. Fix for ticket [2326c258d02ead33]. check-in: 491cfe9b user: drh tags: trunk
18:39
More test cases to help ensure that partial indexes do not get used if their qualifing constraint is inside the ON clause of a LEFT JOIN. Closed-Leaf check-in: c6399958 user: drh tags: tkt-2326c258
16:48
This additional fix prevents a partial index from being qualified for use if the constraint that qualifies the partial index is part of the ON clause of a LEFT JOIN. check-in: 1a1516e4 user: drh tags: tkt-2326c258
16:22
Increase the version number to 3.8.8.3 check-in: a92afe7d user: drh tags: branch-3.8.8
16:05
Make sure partial automatic indexes are not based on terms in the ON clause of a LEFT JOIN. Fix for ticket [2326c258d02ead3]. UPDATE: This fix does not work where the partial index is a named index. check-in: c0f4e308 user: drh tags: tkt-2326c258
2015-02-23
20:09
Fix building with ENABLE_OTA and OMIT_LOAD_EXTENSION. check-in: d6d21ff5 user: dan tags: ota-update
16:17
Merge latest trunk changes with this branch. check-in: e5ca79d2 user: dan tags: ota-update
15:41
Change SQLITE_FCNTL_ZIPVFS_PAGER to SQLITE_FCNTL_ZIPVFS. check-in: f7865b94 user: dan tags: ota-update
15:02
Update the sqlite3ota_db() API to account for the fact that each OTA handle now uses two SQLite database handles. check-in: ef08ecce user: dan tags: ota-update
12:22
Improve tests for resuming ota updates following power failures. Fix a problem revealed by the same. check-in: 1cb675e5 user: dan tags: ota-update
2015-02-21
20:08
Fix some problems with resuming ota updates if saving the state is interrupted by a power failure or system crash. check-in: 6d5ed70d user: dan tags: ota-update
15:42
Update document on sqlite3_mprintf() and related functions. Discuss the %w format and point out that obscure ANSI-C formats are not supported. No changes to code. check-in: f8917ba4 user: drh tags: trunk
15:13
Merge all recent trunk changes into the sessions branch. check-in: f36bb5fa user: drh tags: sessions
01:03
Merge trunk changes into the apple-osx branch. check-in: 3896e233 user: drh tags: apple-osx
00:56
Fix a compiler warning associated with USE_PREAD64. check-in: c299e55a user: drh tags: trunk
00:49
Fix over-length source code lines in os_unix.c. check-in: 7560a9fa user: drh tags: trunk
00:19
Keep track of the optimal number of reserved bytes (by looking at reserve byte requests in calls to sqlite3BtreeSetPageSize()) and then change the reserve byte count to the optimal when doing a VACUUM or when using the backup API. check-in: 28c2b726 user: drh tags: trunk
2015-02-20
14:36
Add some missing comments and fix other minor code issues in sqlite3ota.c. check-in: 718fd8b6 user: dan tags: ota-update
2015-02-19
19:59
Ensure the mutex used to protect the linked list of all main database files opened by a single ota vfs is allocated. check-in: 9c8682d6 user: dan tags: ota-update
18:06
Update various documentation comments in sqlite3ota.c and sqlite3ota.h. check-in: 60e0a46b user: dan tags: ota-update
17:16
Fix errors in the EBCDIC upper-case to lower-case translation table. check-in: 905009f6 user: drh tags: trunk
16:12
Remove a redundant call to statfs() in the xOpen() method of the unix VFS. Also fix an unused local variable warning. check-in: 8215727d user: drh tags: trunk
15:56
Incremental merge to prevent a huge pileup of merge conflicts resulting from editing the same code in two different branches. check-in: 82c4c4e2 user: drh tags: apple-osx
14:41
Merge latest trunk changes with this branch. check-in: 6f5888a5 user: dan tags: ota-update
13:36
Add tests for a couple of previously untested branches in the ota code. check-in: a3c1bc5d user: dan tags: ota-update
02:43
Move the os_unix.c file closer to trunk. check-in: 57d70240 user: drh tags: apple-osx
02:43
Move the os_unix.c file closer to apple-osx. check-in: 81f242e3 user: drh tags: trunk
00:29
First small steps toward brining trunk and apple-osx closer together. check-in: 28284ccc user: drh tags: trunk
2015-02-18
20:17
Add new file ota12.test, containing tests for applying ota updates to live databases with other active reader/writer clients. check-in: 0864d127 user: dan tags: ota-update
20:16
Add ota tests to increase code coverage. Fix some minor issues in error handling within the ota code. check-in: 2b10c5d2 user: dan tags: ota-update
17:40
Fix a problem with OTA updates in the presence of database readers. check-in: 144bb29f user: dan tags: ota-update
2015-02-17
20:49
Improve test coverage of ota code a bit. check-in: a438fa6c user: dan tags: ota-update
2015-02-16
21:13
Add extra tests and fixes for ota. check-in: e0b71519 user: dan tags: ota-update
11:48
Add further tests and fixes for ota. check-in: 62dc1fff user: dan tags: ota-update
06:27
Move tcl test code from sqlite3ota.c to new file ext/ota/test_ota.c. check-in: f20779a6 user: dan tags: ota-update
2015-02-14
18:58
Change the way the "incremental checkpoint" function of OTA works in order to reduce the effect on the SQLite core code. check-in: b64a11a7 user: dan tags: ota-update
2015-02-13
16:42
Enhancements to SQLITE_ENABLE_API_ARMOR merged from trunk. check-in: 5147b94a user: drh tags: apple-osx
16:36
Improvements to SQLITE_ENABLE_API_ARMOR. check-in: 823ad40c user: drh tags: trunk
12:13
Merge all recent trunk fixes and enhancements into the apple-osx branch. check-in: b2449d67 user: drh tags: apple-osx
12:05
Make sure the prepared statement auto-resets on extended error codes of SQLITE_BUSY and SQLITE_LOCKED even when compiled using SQLITE_OMIT_AUTORESET. check-in: 3c6ca414 user: drh tags: trunk
2015-02-12
22:45
For the shell '.import' command, make sure the last column value present is considered before NULL filling any missing ones. check-in: 9c5bcad1 user: mistachkin tags: trunk
17:15
Improve the performance of fts3/4 queries that use the OR operator and at least one auxiliary fts function. Cherrypick of [245e8730451f]. check-in: b2082462 user: dan tags: branch-3.8.8
2015-02-11
17:05
Merge the ota-update-no-pager_ota_mode branch into this one. check-in: 71887cd9 user: dan tags: ota-update
16:54
Merge latest trunk changes with this branch. Closed-Leaf check-in: 0b63e8dc user: dan tags: ota-update-no-pager_ota_mode
16:25
Ensure that an error is reported if an attempt is made to update a wal mode database via ota. check-in: 6fc5d4d2 user: dan tags: ota-update-no-pager_ota_mode
2015-02-10
20:00
Further tweaks to work with zipvfs. check-in: 0f152416 user: dan tags: ota-update-no-pager_ota_mode
17:08
Add documentation and test cases for sqlite3ota_create_vfs(). Also code to detect errors in zipvfs/ota setup. check-in: e7296681 user: dan tags: ota-update-no-pager_ota_mode
2015-02-09
20:07
Add the sqlite3ota_create_vfs() and sqlite3ota_destroy_vfs() functions. check-in: 96443ecb user: dan tags: ota-update-no-pager_ota_mode
18:28
Propagate COLLATE operators upward through function calls and CASE operations. And do not flatten an aggregate subquery into a query that uses other subqueries. Fixes for tickets [ca0d20b6cdddec5] and [2f7170d73bf9], respectively. check-in: 24e78b8d user: drh tags: trunk
17:46
Fix WITHOUT ROWID table handing in sqlite3_analyzer. check-in: 937e0fe7 user: dan tags: trunk
16:34
Add test cases for the query flattener fix for ticket [2f7170d73bf9abf8]. Closed-Leaf check-in: dd8f7f75 user: drh tags: tkt-2f7170d7
16:09
Propagate the COLLATE operator upward through function calls. Initial fix for ticket [ca0d20b6cdddec5e8]. check-in: c053448a user: drh tags: tkt-2f7170d7
15:21
Disable the query flattener for aggregate subqueries if the parent query uses other subqueries in its result set or WHERE clause or ORDER BY clause. Preliminary fix for ticket [2f7170d73bf9abf8]. However it still contains a defect similar to the COLLATE problem of [ca0d20b6cddd]. check-in: 0b7d65e3 user: drh tags: tkt-2f7170d7
14:07
Rename the internal "EP_Constant" bitmask to a less misleading "EP_ConstFunc". check-in: 4ef7cece user: drh tags: trunk
13:42
In selecttrace 0x100 mode, show the parse tree after name resolution instead of before flattening, so that it is always seen even if flattening does not occur. Also: add the hex pointer value to the top of each SELECT tree. check-in: aa093fef user: drh tags: trunk
11:54
In selecttrace mode 0x100, show a complete parse-tree both before and after query flattening. This is a change to debugging code only. check-in: b3c6b8a3 user: drh tags: trunk
10:20
Fix over-length source code lines in resolver.c. No logic changes. check-in: c12edb85 user: drh tags: trunk
2015-02-07
20:20
Add comments to explain the role of the ota vfs. check-in: 7bb63363 user: dan tags: ota-update-no-pager_ota_mode
19:17
Remove "PRAGMA pager_ota_mode". check-in: 8ac58e46 user: dan tags: ota-update-no-pager_ota_mode
15:30
Merge increment blob I/O fixes from trunk. check-in: 292cf68b user: drh tags: apple-osx
15:16
Fix potential 32-bit integer overflow problems on the offset and length parameters to sqlite3_blob_read() and sqlite3_blob_write(). For sqlite3_blob_open(), make sure the *ppBlob return parameter is zeroed if the interface fails with SQLITE_MISUSE. check-in: 5df02f50 user: drh tags: trunk
2015-02-06
16:03
Merge all recent trunk enhancements into the apple-osx branch. check-in: 44711921 user: drh tags: apple-osx
15:40
Merge all the latest enhancements from trunk. check-in: ae7eef11 user: drh tags: sessions
15:03
Merge the command-line shell enhancements from trunk. check-in: c3931db5 user: drh tags: ota-update
14:51
Change the name of ".info" to ".dbinfo" and add an optional second argument which is the ATTACH-ed DB about which information is provided. Provide ".indexes" as an alternative name to the legacy ".indices" command. check-in: 0f65a7e2 user: drh tags: trunk
14:19
Add the ".info" command to the shell. check-in: 0a3100a7 user: drh tags: trunk
01:07
Add the index_xinfo pragma which gives information about the fields that reference the table PRIMARY KEY in addition to the index key fields. Add extra columns "desc", "coll", and "key" to the index_info and index_xinfo pragmas. Add the "origin" and "partial" columns to the index_list pragma. check-in: 2743846c user: drh tags: trunk
00:31
Revise the way that the index structure for a WITHOUT ROWID table is discovered. check-in: 7f10a0ea user: drh tags: ota-update
2015-02-05
17:46
Change a comment in sqlite3ota.h to make it clear that it is not possible to insert a NULL value into an INTEGER PRIMARY KEY column using ota. check-in: a5e86bea user: dan tags: ota-update
17:36
Prevent ota updates from violating NOT NULL constraints. Add a comment to the "limitations" section of sqlite3ota.h saying that CHECK constraints are not enforced. check-in: 74e073dd user: dan tags: ota-update
01:49
Figure out the primary-key type of a table using queries of sqlite_master and the table_info and index_list pragmas, obviating the need for SQLITE_TESTCTRL_TBLTYPE. check-in: 50ecdfc4 user: drh tags: ota-update
2015-02-04
23:51
Merge all changes from index_xinfo, including the move of the pragma table into the separate pragma.h file. check-in: 21e95d28 user: drh tags: ota-update
23:13
Merge all recent trunk changes, including the movement of the pragma table into the separate pragma.h header file. Closed-Leaf check-in: 3af19f84 user: drh tags: index_xinfo
20:56
Fix a missing mutex in SQLITE_TESTCTRL_IMPOSTER. check-in: 71691c4b user: drh tags: trunk
19:20
Fix the error messages returned by ota if an update violates a unique constraint. check-in: c4845a3b user: dan tags: ota-update
16:32
Avoid a linear scan of the entire table when ota updates or deletes a row from a table with an external primary key index. check-in: 1db198cc user: dan tags: ota-update
11:08
Fix a memory leak that could follow an OOM error in ota. check-in: 0d5415f2 user: dan tags: ota-update
2015-02-03
19:20
Fix a typo in the --help output for speedtest1. Fix a dependency error in the Makefile.in for speedtest1. check-in: f30a057a user: drh tags: trunk
18:43
Fix some problems surrounding WITHOUT ROWID tables with DESC primary key indexes . check-in: a21fefb7 user: dan tags: ota-update
15:56
Remove "PRAGMA ota_mode". check-in: 1c111447 user: dan tags: ota-update
2015-02-02
22:19
Add an experimental pragma "PRAGMA preload;" that preloads the pcache with the entire database file. Leaf check-in: 6dca23e6 user: drh tags: preload-pragma
21:34
Break out the (script-generated) pragma parsing tables into a separate file, pragma.h, to make editing easier. check-in: 32c0325b user: drh tags: trunk
11:58
Ensure generated header file fts5parse.h is included in sqlite3.c. check-in: bc7be2fc user: dan tags: fts5
11:32
Fix some problems with building fts5 and fts3 together using the amalgamation. check-in: fb10bbb9 user: dan tags: fts5
09:40
Merge latest trunk changes with this branch. check-in: 76212f2c user: dan tags: fts5
2015-01-31
20:42
Have ota use imposter tables to write to indexes instead of the sqlite3_index_writer() interface. The error handling in this version is broken in a few small ways. check-in: cdaeab46 user: dan tags: ota-update
15:23
Minor optimizations to fts5 writes. check-in: 1fffe51f user: dan tags: fts5
02:34
Merge in support for the index_xinfo pragma. check-in: f9b6dc77 user: drh tags: ota-update
02:00
Add the "index_xinfo" pragma. Add new columns to the "index_info" and "index_list" pragmas. check-in: 30f51d7b user: drh tags: index_xinfo
2015-01-30
21:00
Merge the SQLITE_TESTCTRL_IMPOSTER changes from trunk. check-in: 3ed6eb2f user: drh tags: ota-update
20:59
Change SQLITE_TESTCTRL_INITMODE to SQLITE_TESTCTRL_IMPOSTER. Revise the order of parameters. Give it the ability to reset the schema parse table so that imposter tables can be erased. check-in: 42d56017 user: drh tags: trunk
16:36
Merge all recent trunk changes, and especially the SQLITE_TESTCTRL_INITMODE enhancement. check-in: 36436dde user: drh tags: ota-update
15:52
Added SQLITE_TESTCTRL_INITMODE for improved testability. check-in: 98e02913 user: drh tags: trunk
15:40
Add a few simple test cases for SQLITE_TESTCTRL_INITMODE - cases which also test PRAGMA integrity_check. Closed-Leaf check-in: 3a6e2afe user: drh tags: initmode-testctrl
14:30
Version 3.8.8.2 check-in: 7757fc72 user: drh tags: release, version-3.8.8.2, branch-3.8.8
2015-01-29
20:59
Fix some problems with transactions that both read and write an fts5 table. check-in: 0e225b15 user: dan tags: fts5
20:01
Bump the version number to 3.8.8.2 check-in: 65bfbbb4 user: drh tags: branch-3.8.8
19:59
Ensure that "PRAGMA wal_checkpoint = TRUNCATE|FULL|RESTART" block on other connections and truncate the wal file as required even if the entire wal file has already been checkpointed. Cherry-pick from trunk. check-in: 18610617 user: drh tags: branch-3.8.8
19:27
Fix some duplicated test names. check-in: 1797158d user: mistachkin tags: trunk
19:12
Ensure that "PRAGMA wal_checkpoint = TRUNCATE|FULL|RESTART" block on other connections and truncate the wal file as required even if the entire wal file has already been checkpointed. check-in: 53429689 user: dan tags: trunk
18:38
Split up the SRC variable in Makefile.msc to avoid over-long cmd.exe commands when TOP is set to a long pathname. check-in: 7d70ac65 user: drh tags: trunk
17:54
Add the INITMODE test-control. check-in: 5940af8e user: drh tags: initmode-testctrl
15:53
Improvements to the DELETE code generator for the one-pass case. Avoid some OP_Goto instructions. Read content from the index cursor if the index cursor is valid and was used to locate the row that is to be deleted. Closed-Leaf check-in: 58cc257a user: drh tags: one-writable-btree
14:48
Avoid overlength command lines in Makefile.msc when using TOP= with a large directory name. check-in: 0cdd59bf user: drh tags: one-writable-btree
11:52
Optimize range constraints on the rowid column of fts3/4 tables even if there is no MATCH clause in the query. check-in: 85dc1262 user: dan tags: trunk
02:26
Experimental sqlite_db_config() setting to disable writing to all btrees except for one btree with a particular root page. check-in: 23054110 user: drh tags: one-writable-btree
2015-01-28
20:37
Add missing VdbeCoverage() macros to the sqlite3_index_writer() implementation. check-in: 6f8cda26 user: drh tags: ota-update
15:30
When a "full", "restart" or "truncate" checkpoint is attempted, return SQLITE_BUSY if a reader prevents the checkpointer from copying any frames at all into the database file. check-in: f2700040 user: dan tags: ota-update
12:27
Correctly detect errors returned by walCheckpointStart() due to OOM. check-in: 8e878c20 user: drh tags: ota-update
12:00
Merge in all changes from trunk. check-in: 17c69be8 user: drh tags: ota-update
2015-01-27
21:24
Fix harmless compiler warnings. check-in: e7d2ec04 user: mistachkin tags: trunk
20:41
Fix a problem with fts5 doclist-indexes that occured if the first rowid of the first non-term page of a doclist is zero. check-in: f704bc05 user: dan tags: fts5
19:01
Fix a bug in the fts3 snippet() function causing it to omit leading separator characters from snippets that begin with the first token in a column. check-in: adc9283d user: dan tags: trunk
18:43
Improve the performance of fts3/4 queries that use the OR operator and at least one auxiliary fts function. check-in: 245e8730 user: dan tags: trunk
13:17
Fix a (almost always harmless) read past the end of a memory allocation that comes about because the Expr.pTab field is checked on an EXPR_REDUCEDSIZE Expr object before checking the Expr.op field to know that the Expr.pTab field is meaningless. check-in: e098de69 user: drh tags: trunk
2015-01-25
20:19
The va_list argument cannot take on a NULL value and cannot be compared with NULL on some platforms (ex: ARM). So do not attempt to do so. check-in: 1964e656 user: drh tags: trunk
2015-01-24
19:57
Have fts5 store rowids in ascending order. Query speed is virtually the same regardless of rowid order, and ascending order makes some insert optimizations easier. check-in: 5206ca60 user: dan tags: fts5
12:12
In the command-line shell, make sure stderr is unbuffered so that it automatically flushes. This has always been the case already for unix and on Windows when the output is a console, but apparently was not the case on Windows when the output was a pipe. check-in: 2a9ea9b4 user: drh tags: trunk
2015-01-23
17:43
Fix compression of keys stored on internal segment b-tree nodes by fts5. check-in: 51444f67 user: dan tags: fts5
06:50
Remove some redundant code from fts5. check-in: 939b7a5d user: dan tags: fts5
2015-01-22
19:13
Add further tests and fixes for fts5. check-in: 5b295897 user: dan tags: fts5
12:00
Make sure errors in the FROM clause of a SELECT cause analysis to abort and unwind the stack before those errors have a chance to mischief in the "*" column-name wildcard expander. Fix for ticket [32b63d542433ca67]. check-in: 9e6eae66 user: drh tags: trunk
11:29
Change the undocumented ".selecttrace" command in the shell to accept an integer bitmask rather than a boolean. check-in: bd63bf88 user: drh tags: trunk
2015-01-21
20:30
Further tests and fixes for fts5. check-in: c020a291 user: dan tags: fts5
18:23
Fix an fts5 issue with loading doclist-indexes for a term that is the last thing on its leaf page. check-in: e0d61442 user: dan tags: fts5
17:20
Merge trunk changes with this branch. check-in: f8699a1a user: dan tags: fts5
17:00
Fix an assert() that may fail following an OOM error. check-in: 5f592359 user: dan tags: trunk
16:10
Add further tests for fts5 backend. check-in: 09dabb3b user: dan tags: fts5
06:36
Merge latest trunk changes with this branch. check-in: b3348b1e user: dan tags: fts5
00:51
Fix harmless compiler warning seen with MSVC. check-in: 78c2e62b user: mistachkin tags: trunk
00:48
Enhancements to entropy generation for the Win32 VFS. check-in: 26190b3c user: mistachkin tags: trunk
2015-01-20
16:51
Version 3.8.8.1 check-in: f73337e3 user: drh tags: release, version-3.8.8.1, branch-3.8.8
03:04
Fix another instance of an incorrect value for KeyInfo.nXField on a sorting index. Ticket [f97c4637102a3ae72b79]. check-in: 0077f645 user: drh tags: trunk
02:51
Change the version number to 3.8.8.1 check-in: c75555a3 user: drh tags: branch-3.8.8
02:50
Fix another instance of an incorrect value for KeyInfo.nXField on a sorting index. More changes for ticket [f97c4637102a3ae72b79]. check-in: dc711db4 user: drh tags: branch-3.8.8
2015-01-19
21:38
Ensure that the KeyInfo.nXField value for ephemeral tables used to implement ORDER BY or GROUP BY clauses is set correctly, so that the sqlite3VdbeFindCompare() routine can choose the correct comparison function. Add assert() statements to the high-speed comparison functions to detect cases where they are inappropriately chosen. Fix for ticket [f97c4637102a3ae72b7911]. check-in: 59e592f6 user: drh tags: branch-3.8.8
21:36
Ensure that the KeyInfo.nXField value for ephemeral tables used to implement ORDER BY or GROUP BY clauses is set correctly, so that the sqlite3VdbeFindCompare() routine can choose the correct comparison function. Add assert() statements to the high-speed comparison functions to detect cases where they are inappropriately chosen. Fix for ticket [f97c4637102a3ae72b7911]. check-in: f7201bb0 user: drh tags: trunk
21:27
Improve precision of the new test case by removing a superfluous carriage-return from the shell command input. check-in: 913c41b2 user: mistachkin tags: expShell
21:11
Add comments and improve the new test case. check-in: 4ec2aead user: mistachkin tags: expShell
21:10
There are asserts in place now that will prevent a recurrence of ticket [f97c4637102a3ae7]. Nevertheless, it is good to add some test cases as well. Closed-Leaf check-in: e02959b9 user: drh tags: tkt-f97c4637
20:59
Make sure that the KeyInfo.nXField value of ephermeral tables used for ORDER BY and GROUP BY is set correctly, so that the correct comparison function can be choosen by sqlite3VdbeFindCompare(). check-in: c16bae5e user: drh tags: tkt-f97c4637
20:57
Fix the assert() of the previous check-in so that it works even when compiled without SQLITE_DEBUG. check-in: 38868f84 user: drh tags: tkt-f97c4637
20:22
Remove a shell function that is now superfluous. check-in: d8564f70 user: mistachkin tags: expShell
20:19
Merge updates from trunk. check-in: d9f4035b user: mistachkin tags: expShell
20:05
Fix compilation on Cygwin when SQLITE_MAX_WORKER_THREADS is greater than zero. check-in: 2037442c user: mistachkin tags: trunk
19:48
An alternative way of implementing the assert() that verifies the relative values of KeyInfo.nField+KeyInfo.nXField and the number of columns in a record. This version of the assert() only fires when the high-speed comparison routines are used - which is to say it only fires when the constraint actually matters. check-in: bf744b49 user: drh tags: tkt-f97c4637
19:21
An alternative way of fixing the key comparison bug of ticket [f97c4637102a3ae72b]. Closed-Leaf check-in: e41376cf user: drh tags: alt1-tkt-f97c4637
18:18
Strengthen the KeyInfo number-of-columns assert() added by the previous check-in. Closed-Leaf check-in: d0971b79 user: drh tags: tkt-f97c4637
17:28
Add an assert() to verify that the nField+nXField values of a KeyInfo object are never less then the number of columns in a row for a non-corrupt database. This assert() currently fails, which is the root of the problem with ticket [f97c4637102a3ae72b]. check-in: 083f523d user: drh tags: tkt-f97c4637
15:05
Enhance the command-line shell with the ability to set the SQLITE_TESTCTRL_NEVER_CORRUPT flag using: ".testctrl never_corrupt 1". check-in: 824328f9 user: drh tags: trunk
07:42
Merge updates from trunk. check-in: c7167f88 user: mistachkin tags: expShell
00:35
Eliminate all use of sprintf(), strcpy() and strcat() from test logic because OpenBSD hates those functions. check-in: 10321910 user: drh tags: trunk
2015-01-18
20:30
Set binary mode for output on Windows when writing a quoted string that might contain newline characters. check-in: 7096e6c0 user: drh tags: trunk
09:02
Modify the new shell test case to work on non-Windows platforms as well. check-in: f362c5d9 user: mistachkin tags: expShell
05:35
Some experimental command line shell input/output enhancements. check-in: 25e99f3f user: mistachkin tags: expShell
01:50
Set the command-line shell stdin to binary mode on windows. check-in: 80541e8b user: drh tags: trunk
2015-01-17
15:26
Fix a harmless compiler warning the VFS for Windows. check-in: ceac571f user: drh tags: trunk
2015-01-16
19:35
Fix harmless compiler warning. Closed-Leaf check-in: cab46fb7 user: mistachkin tags: msvcWarn
12:44
Merge all 3.8.8 changes into the sessions branch. check-in: bebd131a user: drh tags: sessions
12:24
Merge the 3.8.8 release changes from trunk. check-in: 518621f8 user: drh tags: apple-osx
12:08
Version 3.8.8 check-in: 7d68a42f user: drh tags: trunk, release, version-3.8.8
2015-01-15
17:38
Fix the spelling of "malloc_usable_size" in configure and configure.ac. check-in: 8f45217c user: drh tags: trunk
15:47
Makefile enhancements: (1) Rename autoconf/tea/configure.in to autoconf/tea/configure.ac so that it works with the latest versions of autoconf. (2) Add the "amalgamation-tarball" targets to Makefile.in and main.mk (renamed from "dist" in the latter case). (3) Update the README.first file in autoconf/ (4) The TOP macro in Makefile.in is now an absolute rather than a relative path. check-in: 3bafeec9 user: drh tags: trunk