SQLite

Timeline
Login

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

200 most recent check-ins using file test/intarray.test version 066b7d7a

2022-09-27
17:00
Fix a potential division by zero error in this version of RBU that might occur if an external client checkpoints a wal file created by a suspended RBU process. (Leaf check-in: 73edd93a user: dan tags: branch-3.14)
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)
03:23
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 [f0f492245e95], which is in turn inspired by check-in [72de49f2]. (Leaf check-in: a66a5b39 user: drh tags: branch-3.8.6)
03:09
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 inspired by check-in [72de49f2] but is new implementation, not a cherry-pick. (Leaf check-in: f0f49224 user: drh tags: branch-3.7.11)
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-06-01
16:13
Add test code for LSM to the ext/lsm1/lsm-test directory. (check-in: bb7436e8 user: dan tags: lsm-vtab)
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-03-31
08:00
Update shell6.test to account for the fact that tests are now run in a separate directory. (check-in: 1e3622de user: dan tags: schemalint)
2017-02-17
21:23
Increase the estimated cost of sorting when sorting wide results sets, to account for the extra storage space and I/O required for the external sort. (Leaf check-in: 38298ef9 user: drh tags: apple-increased-sorting-cost)
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-12-15
21:33
Fix the cost estimation in the BestIndex method of the eponymous pragma virtual table implementation. (check-in: 7126807a user: drh tags: pragma-as-vtab)
21:11
The pragma as eponymous virtual table mechanism now appears to work. (check-in: 2c274a1a user: drh tags: pragma-as-vtab)
20:59
Code to automatically create eponymous virtual tables for read-only pragmas. Compiles, but does not yet work. (check-in: 988a61e8 user: drh tags: pragma-as-vtab)
18:59
Do exponential rather than linear expansion of the SrcList.a array when appending new elements, to reduce the number of malloc() calls. (check-in: 4e374912 user: drh tags: trunk)
16:01
Do more pragma processing from tables rather than in-line code. (Closed-Leaf check-in: a88ca352 user: drh tags: table-driven-pragma)
06:01
Add the -groupbyparent option to the ".fkey_missing_indexes" command. (check-in: 976c51b4 user: dan tags: fkey-missing-indexes)
2016-12-14
19:28
Add the experimental ".fkey_missing_indexes" command to the shell tool. To identify indexes that should be created on child keys if FK processing is to be enabled. (check-in: 7df23aca user: dan tags: fkey-missing-indexes)
14:07
Refactor the Table.nRef field as Table.nTabRef for easier grepping. (check-in: 9cae4c2e user: drh tags: trunk)
13:54
Increase the size of the reference count on Table objects to 32 bits. (check-in: d08b72c3 user: drh tags: trunk)
11:39
Fix the configure makefile to align it with the manual makefile. Unsaved changes from the previous check-in. (check-in: 00a184b6 user: drh tags: trunk)
11:23
Adjust the unix makefiles so that "make test" runs fuzzcheck prior to even attempting to build the other test programs. (check-in: bb48f7a5 user: drh tags: trunk)
11:14
Three times faster sqlite3SrcListAppend() in the common case by avoiding the call to sqlite3SrcListEnlarge() for the first allocation. (check-in: 0ea2762f user: drh tags: trunk)
10:30
Fix the optimization that prevents writing freelist pages to the journal. (check-in: 6aa9b265 user: drh tags: trunk)
2016-12-13
23:22
In the command-line shell, in the output of the ".dump", ".schema", and ".fullschema" commands, convert CREATE TABLE statements that appear to come from shadow tables into CREATE TABLE IF NOT EXISTS statements. (check-in: c7021960 user: drh tags: trunk)
20:30
Fix harmless compiler warnings. (check-in: ed2c9f37 user: drh tags: trunk)
18:47
Convert sqlite3PagerGet() into a pointer-dispatched virtual method. This makes it about 25% faster. (check-in: 7f88bb44 user: drh tags: trunk)
18:34
In the pager, avoid checking for the illegal page number 0 except when creating a new page. (Closed-Leaf check-in: dee20ba9 user: drh tags: pager-get-method)
16:57
Fix a problem causing SQLite to return false "foreign key violation" errors when there is a partial (i.e. WHERE constrained) UNIQUE index on the parent key columns. This bug did not cause SQLite to allow illegal data to be inserted into the database, only to reject legal operations. (check-in: 850877d1 user: dan tags: trunk)
15:53
Further refinements to the virtual method implementation of sqlite3PagerGet(). (check-in: 67df4446 user: drh tags: pager-get-method)
14:32
Make the sqlite3PagerGet() interface into a virtual method, with different implementations based on the current state of the pager. This gives a small performance increase by avoiding unnecessary branches inside the various methods. (check-in: df5bb90d user: drh tags: pager-get-method)
2016-12-12
23:24
Add the --mmap option to the speedtest1 program and to the speed-check.sh script that is frequently used to run speedtest1. (check-in: 1a636d5e user: drh tags: trunk)
18:12
Remove unnecessary MemPage initialization resets in the autovacuum ptrmap processing. (check-in: 1b36fbb9 user: drh tags: trunk)
16:15
Merge all the latest performance enhancements from trunk. (check-in: a24f805b user: drh tags: apple-osx)
16:08
Faster operation for large in-memory databases. (check-in: 9675518b user: drh tags: trunk)
12:58
Merge recent enhancements from trunk. (check-in: dc006e08 user: drh tags: est_count_pragma)
11:05
Performance optimization in sqlite3PagerWrite(). (check-in: d4dff10a user: drh tags: trunk)
01:53
Updates to the tokenizer for EBCDIC. No changes for standard builds. (check-in: 4fc6580f user: drh tags: trunk)
01:30
Size and performance optimization in btreeInitPage() in the freeblock validation step. (check-in: 57deb1b4 user: drh tags: trunk)
00:58
Change the order of comparison for divider cell overflow in balance non-root to avoid a (harmless) reference to an uninitialized variable. (check-in: f9f2e23b user: drh tags: trunk)
2016-12-10
13:12
Avoid an unnecessary memset() in the sqlite3BtreeInsert() routine. (check-in: 35ecd4eb user: drh tags: trunk)
12:58
Reorder the fields in the VdbeCursor object so that those that need to be bulk zeroed on allocation are grouped at the beginning, and the memset() only runs over those fields that really need it. (check-in: 8165f88b user: drh tags: trunk)
04:06
Avoid signed integer overflow when dealing with a LIMIT and OFFSET whose sum exceeds the maximum integer value. (check-in: c9bdf7ad user: drh tags: trunk)
00:14
In balance_nonroot, try to combine dropCell/insertCell combinations for the dividers into a cell overwrites. This results in a very small (0.05%) performance gain which is probably not worth the added complexity. (Closed-Leaf check-in: 478627c9 user: drh tags: failed-dropCell-opt)
2016-12-09
19:42
When doing the sqlite3BtreeInsert() overwrite optimization, make sure the memcpy() does not extend off the end of the page. (check-in: 684ef458 user: drh tags: trunk)
18:09
Additional comments and an assert on the sqlite3BtreeInsert() overwrite optimization. (check-in: c1f0ae9d user: drh tags: trunk)
17:32
In sqlite3BtreeInsert() when replacing a re-existing row, try to overwrite the cell directly rather than deallocate and reallocate the cell. (check-in: 0b86fbca user: drh tags: trunk)
16:12
Fix an fts5 bug that could cause a crash following an OOM error or sqlite3_interrupt() interrupt. (check-in: 0ea3ece9 user: dan tags: trunk)
16:02
Avoid unnecessary zeroing of fields in the MemPage object that are going to be reinitialized before use anyhow. A smaller and faster binary results. (check-in: 01ada3d1 user: drh tags: trunk)
00:15
Fix an obscure problem in range estimation with STAT4. (check-in: 1f16c9a7 user: drh tags: trunk)
2016-12-08
23:52
Fix the showstat4 utility program so that is displays strings using standard SQL notation (single quotes) rather than C-style notation. (check-in: 92998e4a user: drh tags: trunk)
19:04
Fix a minor error in the cg_anno.tcl script causing the cycles-per-file counts to be miscomputed. (check-in: b26df26e user: drh tags: trunk)
18:36
Update the tool/cg_anno.tcl script to give a summary of cycle counts by canonical source file name. (check-in: 254a83bf user: drh tags: trunk)
01:38
More changes to take advantage of the sqlite3VdbeAppendP4() method. (check-in: 83bc5e40 user: drh tags: trunk)
2016-12-07
21:35
Add the sqlite3VdbeAppendP4() method for adding P4 content to the most recently coded instruction. (check-in: 28883e8f user: drh tags: trunk)
20:22
The use P4_DYNAMIC in place of the P4_MPRINTF operand type. (check-in: 3954f837 user: drh tags: trunk)
20:09
Performance optimization for sqlite3VdbeAddOp4(). (check-in: 04716c90 user: drh tags: trunk)
17:06
Put the SQLITE_UNTESTABLE compile-time option in the correct order for PRAGMA compile_options. (check-in: 24574a15 user: drh tags: trunk)
15:49
Rename the SQLITE_OMIT_BUILTIN_TEST compile-time option to SQLITE_UNTESTABLE. (check-in: f3608187 user: drh tags: trunk)
15:38
Prevent the flattening or where-term push-down optimizations from obscuring misuses of SQL row values that can lead to crashes or assert() failures. (check-in: 433d16ff user: dan tags: trunk)
13:49
Always honor the sqlite3.dbOptFlags bitmask, regardless of compile-time options. Continuing fix for ticket [da78413751863]. (check-in: afab1663 user: drh tags: trunk)
07:46
Merge latest trunk changes into this branch. (Leaf check-in: 391344d8 user: dan tags: changebatch)
2016-12-06
22:47
Performance improvement and size reduction in the Expr node allocator function sqlite3PExpr(). (check-in: 2a81763e user: drh tags: trunk)
19:33
Add missing nul-terminator to a Tcl_AppendResult() call in tclsqlite.c. (check-in: 0820f8b3 user: dan tags: trunk)
17:59
In the LEMON parser-generator, fix the stack overflow processing so that it correct invokes the destructor on the top-level of the parse stack. (check-in: e8247065 user: drh tags: trunk)
2016-12-05
20:16
Fix a harmless redundant local variable declaration in the date/time function logic. (check-in: b4bc40d1 user: drh tags: trunk)
20:06
Work around a bug in the definition of "ino_t" on some versions of Android. (check-in: 8df492c1 user: drh tags: trunk)
2016-12-02
19:07
Simplify the date/time function logic for improved rebustness and also to decrease the size of the binary. (check-in: 6e144735 user: drh tags: trunk)
17:08
Extend the valid range of 'unixepoch' dates from JulianDay 0 through 9999-12-31. (check-in: 768c9859 user: drh tags: trunk)
14:15
Fix a potential integer overflow during out-of-bound date computations. (Closed-Leaf check-in: 3c58b173 user: drh tags: date-overflow-fix)
02:19
Test cases for the improved LIKE/GLOB matcher. (check-in: 0bdb7ae1 user: drh tags: trunk)
2016-12-01
19:58
Avoid clearing the EP_FromJoin flag from terms in ON clauses when flattening sub-selects. Possible fix for [2df0107b]. (check-in: a427c405 user: dan tags: trunk)
19:38
Avoid clearing the EP_FromJoin flag from terms in ON clauses when flattening sub-selects. Possible fix for [2df0107b]. (Closed-Leaf check-in: 8bed4cd5 user: dan tags: left-join-fix)
18:57
Performance improvement for GLOB and LIKE matching for patterns with two or more multi-character wildcards ("*" or "%"). (check-in: 2df0ebf9 user: drh tags: trunk)
18:49
Faster version of patternCompare() that uses new return values rather than an extra parameter to communicate wildcard information back up to parent searches. (Closed-Leaf check-in: a1e2b6ce user: drh tags: pattern-compare-optimization)
17:34
Modify the patternCompare() function (used for GLOB, LIKE) to better handle patterns containing multiple wildcard characters ("*", "%"). (check-in: c5e5614d user: dan tags: pattern-compare-optimization)
2016-11-30
16:54
Add the remember(V,PTR) extension function which copies an SQL value into an application variable. (check-in: d2d30914 user: drh tags: trunk)
16:39
Merge all the latest changes from trunk. (check-in: 7ca58a07 user: drh tags: est_count_pragma)
14:47
Fix then handling of the (oversized) integer literal -0x8000000000000000. (check-in: 3816bb41 user: drh tags: trunk)
05:08
Change the OP_DecrJumpZero opcode back to its old behavior of always decrementing, except top the decrementing when it reaches the largest negative number. (check-in: 9d0d8c2e user: drh tags: trunk)
04:07
More improvements to boundary cases in the date/time functions, flowing out of branch coverage testing. (check-in: 1218005a user: drh tags: trunk)
01:05
Prevent a warning about integer overflow when using a very large negative LIMIT. (check-in: 96106d56 user: drh tags: trunk)
00:48
Further changes to the date/time functions to suppress harmless signed integer overflow warnings that could have occurred when doing out-of-range date calculations which, according to the docs, give undefined results. (check-in: dc453b34 user: drh tags: trunk)
2016-11-29
20:39
The documentation says that the built-in date-time functions give undefined results for dates before 0000-01-01 and after 9999-12-31. Change the actually implementation so that the answer given is really NULL. This also avoids unnecessary hand-wringing over an signed integer overflow that might otherwise occur when processing out-of-bound dates. (check-in: d410a839 user: drh tags: trunk)
2016-11-28
21:22
Fix broken hyperlinks to the sqlite3_snapshot objection definition in the documentation. No changes to code. (check-in: 9021f687 user: drh tags: trunk)
19:13
Version 3.15.2 (Leaf check-in: bbd85d23 user: drh tags: release, version-3.15.2, branch-3.15)
14:52
Simplify some code in fts5_expr.c. Add some extra test cases for the same. (check-in: 7cc2d60d user: dan tags: trunk)
2016-11-26
20:44
Merge all recent trunk changes, and especially the new sqlite3_snapshot_recover() interface. (check-in: 41a3af54 user: drh tags: apple-osx)
20:12
Update test case for opening SHM files read/write on a read-only connection so that they are only attempted on Darwin with SQLITE_ENABLE_PRESIST_WAL. (check-in: d6a7bf80 user: drh tags: apple-osx)
19:44
Add the sqlite3_snapshot_recover() interface and related functionality. (check-in: b70c85ce user: drh tags: trunk)
2016-11-25
20:20
Clarification of the behavior of sqlite3_stmt_readonly() on BEGIN IMMEDIATE statements. The is comment changes only - no changes to code. (check-in: a4205a83 user: drh tags: trunk)
19:32
Remove the OP_RowKey opcode. Use OP_RowData in its place. (check-in: 6ac7b07a user: drh tags: trunk)
19:18
Refactor the sqlite3BtreeKey() and sqlite3BtreeData() internal interfaces into sqlite3BtreePayload() and sqlite3BtreePayloadChecked(), respectively. This is a continuation of the optimization started by check-in [2d831074cf]. The result is a slightly smaller and faster binary. (check-in: 49ebc219 user: drh tags: trunk)
17:03
Small performance increase and size reduction in the OP_Column opcode. (check-in: a9498407 user: drh tags: trunk)
15:47
Performance enhancement to sqlite3_snprintf(). (check-in: c53dca7f user: drh tags: trunk)
15:11
Performance improvement in sqlite3StrAccumFinish() for the common case where no memory allocation is required. (check-in: b6acf5d4 user: drh tags: trunk)
14:30
Add a comment to help clarify the EP_FromJoin hack in exprCodeBetween(). (check-in: 6df7c574 user: drh tags: trunk)
2016-11-24
13:42
Fix a test case in vacuum5.test so that it works with the in-memory journal permutation. Cherrypick of [81c86401]. (check-in: e31d646a user: dan tags: branch-3.15)
2016-11-23
23:18
Fix the error message for invalid ".mode" arguments in the command-line shell, so that it mentions the new "quote" mode. (check-in: 9a603a18 user: drh tags: trunk)
21:33
Updates makefiles and build scripts on windows to used Tcl 8.6. (check-in: f693850a user: drh tags: branch-3.15)
21:14
Update the version number to 3.15.2. (check-in: 86dc74cb user: drh tags: branch-3.15)
21:13
Code constant vector components outside of any loops in CASE and BETWEEN expressions. Fix for [1a684656]. (check-in: 4c6efe60 user: drh tags: branch-3.15)
21:08
Prevent a possible use-after-free bug in the query optimizer. (check-in: 661b4506 user: drh tags: branch-3.15)
21:01
Disable the query flattener optimization for SELECT statements that are on the RHS of vector IN operators. This is a hack that fixes the bug described in ticket [da7841375186386c]. A better solution that does not disable the query flattener is needed, but this will server for the time being. (check-in: 27438fb4 user: drh tags: branch-3.15)
20:44
Fix a potential use-after-free error during parsing of malformed CREATE TABLE statement. (check-in: 0f956597 user: drh tags: branch-3.15)
20:37
Fix an fts5 problem causing a crash in phrase queries where the first token of the phrase matches one or more rows but some other token within the phrase matches zero. (check-in: 4efd331e user: drh tags: branch-3.15)
20:31
Fix OOM error reporting in the json1_group_object() SQL function. Remove an unreachable branch from the JSON1 logic. (check-in: 6492e57e user: drh tags: branch-3.15)
20:24
Fix the JSON1 extension so that the JSON validator correctly rejects malformed backslash escapes within string literals. (check-in: 7c466283 user: drh tags: branch-3.15)
20:19
Avoid a crash that can occur after an obscure OOM in the built-in INSTR() function. (check-in: 8a55b8e1 user: drh tags: branch-3.15)
20:12
Mark the ICU extension functions as deterministic. (check-in: 8fd2fcce user: drh tags: branch-3.15)
19:43
Handle some obscure "row value misused" cases that could cause segfaults or assertion failures. (check-in: 794763fd user: drh tags: branch-3.15)
19:40
Take care not to try to generate code for the ATTACH and DETACH commands if there were syntax errors during parsing. Fix for ticket [2f1b168ab4d4844] (check-in: f8cf7ff1 user: drh tags: branch-3.15)
19:31
Code constant vector components outside of any loops in CASE and BETWEEN expressions. Fix for [1a684656]. (check-in: c08aff13 user: dan tags: trunk)
14:19
Correctly display the names of SQL functions in the VDBE_PROFILE output. (check-in: 161192f1 user: drh tags: trunk)
2016-11-22
22:23
Merge bug fixes and enhancements from trunk. (Closed-Leaf check-in: e2c4bdf5 user: drh tags: serializable-snapshot)
21:11
Enclose the sqlite3WalSnapshotRecover() routine within (check-in: e7be3183 user: drh tags: serializable-snapshot)
20:29
Add a new requirement mark for CAST expressions. (check-in: bee2859b user: drh tags: trunk)
19:15
Update requirement marks to reflect changes in wording in the documentation. No changes to code. (check-in: f5ac98ef user: drh tags: trunk)
01:26
Remove unnecessary OP_Close opcodes for a size reduction and performance increase. (check-in: 32be7aae user: drh tags: trunk)
2016-11-21
21:33
Remove unnecessary OP_Close opcodes at the end of INSERT operations, resulting in smaller and faster code. (check-in: abeddb6d user: drh tags: trunk)
18:15
Enhance speedtest1.c so that is works on older versions of SQLite, before the introduction of the group_concat() aggregate function. (check-in: 9979ba80 user: drh tags: trunk)
2016-11-20
17:59
Fix harmless compiler warnings. (check-in: b3b7b42d user: drh tags: trunk)
12:00
Prevent a possible use-after-free bug in the query optimizer. (check-in: 0a98c8d7 user: drh tags: trunk)
2016-11-19
18:31
Remove the requirement to open the wal file before sqlite3_snapshot_recover() is called. Also add some comments to new functions. (check-in: 28393c41 user: dan tags: serializable-snapshot)
17:30
Test some extra error conditions in sqlite3_recover_snapshot(). (check-in: db314213 user: dan tags: serializable-snapshot)
17:20
Add another fault-injection test for sqlite3_snapshot_recover(). (check-in: 7e040406 user: dan tags: serializable-snapshot)
16:35
Fix a problem causing sqlite3_snapshot_recover() to return SQLITE_IOERR_SHORT_READ. (check-in: 525f75fa user: dan tags: serializable-snapshot)
14:53
Fix a bug in sqlite3_snapshot_recover() that could cause subsequent read transactions to use out-of-data cache entries. (check-in: 9abeb798 user: dan tags: serializable-snapshot)
2016-11-18
20:49
Add experimental sqlite3_snapshot_recover() API. (check-in: 174a6076 user: dan tags: serializable-snapshot)
18:43
Require that the database handle be in autocommit mode for sqlite3_snapshot_get() to succeed. This is because it may open a read transaction on the database file. (check-in: 83b658da user: dan tags: serializable-snapshot)
18:22
Add tests for snapshot interfaces. (check-in: 1f7ee7af user: dan tags: serializable-snapshot)
14:38
Enhance existing snapshot tests to serialize/deserialize snapshots. No new tests. (check-in: 16b9bf92 user: dan tags: serializable-snapshot)
2016-11-17
21:52
Experimental changes for faster in-memory DB operation for large databases. (Closed-Leaf check-in: 4fe94b0f user: drh tags: memdb-opt)
20:05
Fix a problem in rtreeD.test causing it to fail in OMIT_BUILTIN_TEST builds. (check-in: d6b3779e user: dan tags: trunk)
14:02
When opening the *-shm file for a readonly database, try to open it in read-write mode before falling back to readonly. This is in case some other read/write connection within the same process uses the same file descriptor. (check-in: a07c581e user: dan tags: apple-osx)
13:54
Change the --enable-debug option on configure so that it enables the ".selecttrace" and ".wheretrace" commands in the command-line shell. (check-in: 2331192b user: drh tags: trunk)
13:13
Disable the query flattener optimization for SELECT statements that are on the RHS of vector IN operators. This is a hack that fixes the bug described in ticket [da7841375186386c]. A better solution that does not disable the query flattener is needed, but this will server for the time being. (check-in: 005d5b87 user: drh tags: trunk)
2016-11-15
21:17
Add a needed #include to speedtest1.c. (check-in: 77aeb705 user: drh tags: trunk)
17:37
Experimental changes toward making snapshots serializable. (check-in: b6a81fa1 user: drh tags: serializable-snapshot)
04:00
Change the OP_Last opcode so that it is a no-op if the cursor is already pointing at the end of the b-tree. (check-in: 66347385 user: drh tags: trunk)
02:46
Make the VACUUM command about 9% faster by avoiding unnecessary calls to sqlite3BtreeMovetoUnpacked() while copying rowid tables. (check-in: 5ed0bd38 user: drh tags: trunk)
2016-11-14
20:47
Add 8794 new test cases received from the OSS-FUZZ project. (check-in: 03f75a67 user: drh tags: trunk)
20:08
Fix a potential use-after-free error during parsing of malformed CREATE TABLE statement. (check-in: c5dbc599 user: drh tags: trunk)
18:27
Enhance fuzzcheck.c to accept database-specific configuration parameters in the option CONFIG table. Add the fuzzdata5.db fuzz database containing test cases from OSS-FUZZ. (check-in: a71fad45 user: drh tags: trunk)
17:25
Fix the ossfuzz.c test module so that it does not segfault after a "PRAGMA empty_result_callbacks=1;". Add the ossshell.c program for simple command-line testing of ossfuzz.c. (check-in: 6f2d43ec user: drh tags: trunk)
15:28
Avoid unnecessary calls to sqlite3ExprCacheAffinityChange() when generating OP_MakeRecord opcodes that do not change any register affinities. (check-in: e211c579 user: drh tags: trunk)
08:19
Fix an fts5 problem causing a crash in phrase queries where the first token of the phrase matches one or more rows but some other token within the phrase matches zero. (check-in: e78f6f3b user: dan tags: trunk)
2016-11-11
20:37
Fix harmless compiler warnings in test code for MSVC. (check-in: 7b76be41 user: drh tags: trunk)
19:08
Avoid storing redundant fields in sorter records when the sort-key and data have fields in common. (check-in: b835cf3e user: drh tags: trunk)
19:01
Enhance the OP_IdxInsert opcode so that it can used unpacked key values if they are available. Update the code generator to take advantage of this new capability. The speedtest1.c test is about 2.6% faster as a result. Later: This also introduced bug [30027b613b]. Bummer. (check-in: 925840cf user: drh tags: trunk)
18:45
Merge trunk with this branch. (Closed-Leaf check-in: dd62d2de user: dan tags: sorter-opt)
18:19
Remove obselete and unused logic in the update code generator. Fix the sqlite3BtreeMovetoUnpacked() routine so that it remembers the rowid of the row that it landed on. (Closed-Leaf check-in: 1a587d72 user: drh tags: unpacked-IdxInsert)
18:08
Reenable the SQLITE_EXPR_REF optimization for "SELECT DISTINCT ... ORDER BY" queries. (check-in: 6e2e9d38 user: dan tags: sorter-opt)
17:52
Merge enhancements and bug-fixes from trunk. (check-in: 5515b827 user: drh tags: unpacked-IdxInsert)
17:08
Fix a problem with switching from wal to rollback mode when SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE is configured. (check-in: 46e00162 user: dan tags: trunk)
16:33
Add the test/ossfuzz.c interface adaptor for OSS-FUZZ. Make previsions for testing the adaptor using fuzzcheck.c. (check-in: 119d6ef8 user: drh tags: trunk)
15:49
Handle some obscure "row value misused" cases that could cause segfaults or assertion failures. (check-in: fba5fddb user: dan tags: trunk)
14:54
Back out the "--raw" option on ".read" in the command-line shell. Instead, fix the command-line shell so that if EOF is reached without seeing a final semicolon, it goes ahead and passes the accumulated SQL text to SQLite. (check-in: f98c8ac8 user: drh tags: trunk)
09:51
Add extra tests for the xBestIndex() virtual table method. (check-in: 642a8fba user: dan tags: trunk)
05:19
In the command line shell, avoid using utf8_printf() in a couple places where it is superfluous. (check-in: 6311a8bd user: mistachkin tags: trunk)
04:37
Add the --raw option to the ".read" dot-command of the command-line shell, to cause the named file to be read and sent directly into sqlite3_exec() without any interpretation. (check-in: 09233770 user: drh tags: trunk)
03:37
Take care not to try to generate code for the ATTACH and DETACH commands if there were syntax errors during parsing. Fix for ticket [2f1b168ab4d4844] (check-in: b0ff183b user: drh tags: trunk)
2016-11-10
21:19
Break up the sqlite3BtreeMovetoUnpacked() routine into an eponymous routine and sqlite3BtreeMovetoIntkey(). Each routine specializes in a single kind of btree. (Leaf check-in: 9a64a4f2 user: drh tags: split-moveto)
20:42
Avoid a few unnecessary calls to sqlite3BtreeMovetoUnpacked(). (check-in: eac0e827 user: drh tags: unpacked-IdxInsert)
20:14
Avoid storing redundant fields in sorter records when the sort-key and data have fields in common (as in "SELECT a FROM t1 ORDER BY 1"). (check-in: 0af62fdb user: dan tags: sorter-opt)
17:01
When doing a REPLACE on a WITHOUT ROWID table with no secondary indexes, bypass the OP_NoConflict/OP_Delete sequence and directly overwrite any preexisting row, for a performance increase. (check-in: f7041cbb user: drh tags: unpacked-IdxInsert)
16:07
Remove C++ style comments. No code changes. (check-in: 42f8aa62 user: drh tags: unpacked-IdxInsert)
14:24
Add the unpacked key fields to OP_IdxInsert for INSERT and UPDATE statements. (check-in: 67602e40 user: drh tags: unpacked-IdxInsert)
2016-11-09
20:14
Comment changes that attempt to better explain the behavior of the "seekResult" field on VdbeCursor objects and the seekResult parameter to sqlite3BtreeInsert() and the OPFLAG_USESEEKRESULT flag on insert opcodes. No changes to code. (check-in: 345b46be user: drh tags: unpacked-IdxInsert)
16:03
Fix a simple comment typo. No changes to code. (check-in: 51d0aed8 user: drh tags: unpacked-IdxInsert)
01:46
Fix typo in the CSV extension. (check-in: b4889588 user: mistachkin tags: trunk)
01:38
Make use of the unpacked key on the OP_IdxInsert on sorters with a LIMIT. (check-in: 42db7cd2 user: drh tags: unpacked-IdxInsert)
01:19
Fix a typo on the OP_IdxInsert documentation. No code changes. (check-in: e4acd982 user: drh tags: unpacked-IdxInsert)
01:07
Add a DISTINCT query to speedtest1.c. Also change INSERT OR REPLACE into just REPLACE. (check-in: 754ee844 user: drh tags: trunk)
00:57
Remove the "experimental" marking from the sqlite3_preupdate interfaces. But be sure all the interface definitions are within documentation. (check-in: d6dd2ad3 user: drh tags: trunk)
00:10
Enhance the OP_IdxInsert opcode to optionally accept unpacked key material. (check-in: 89d958ab user: drh tags: unpacked-IdxInsert)
2016-11-08
19:22
Avoid superfluous cursor seeks in "INSERT OR REPLACE" statements. (check-in: bec5b6d4 user: dan tags: trunk)
17:19
Avoid generating OP_TableLock unnecessary instructions on btrees that are not sharable. (check-in: 8cb8516d user: drh tags: trunk)
16:27
Fix the speedtest1.c test program so that it gives closing "%" wildcards on LIKE searches. (check-in: c2f84f63 user: drh tags: trunk)
00:30
Tweaks to speedtest1.c to better reflect mobile usage based on findings in the "Pocket Data" paper by Kennedy, Ajay, Challen, and Ziarek. (check-in: b5733cae user: drh tags: trunk)
2016-11-07
18:18
Fix OOM error reporting in the json1_group_object() SQL function. Remove an unreachable branch from the JSON1 logic. (check-in: b5409849 user: drh tags: trunk)
15:15
Replace some unreachable branches from the JSON1 extension with assert(). (check-in: 145cd13e user: drh tags: trunk)