SQLite

Timeline
Login

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

321 check-ins using file test/e_expr.test version 1ffa8866d3

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: 38298ef923 user: drh tags: apple-increased-sorting-cost)
2016-11-28
19:13
Version 3.15.2 (Leaf check-in: bbd85d235f user: drh tags: release, version-3.15.2, branch-3.15)
2016-11-26
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: d6a7bf80cf user: drh tags: apple-osx)
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: e31d646a31 user: dan tags: branch-3.15)
2016-11-23
21:33
Updates makefiles and build scripts on windows to used Tcl 8.6. (check-in: f693850aff user: drh tags: branch-3.15)
21:14
Update the version number to 3.15.2. (check-in: 86dc74cb10 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: 4c6efe600d user: drh tags: branch-3.15)
21:08
Prevent a possible use-after-free bug in the query optimizer. (check-in: 661b45068f 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: 27438fb43d user: drh tags: branch-3.15)
20:44
Fix a potential use-after-free error during parsing of malformed CREATE TABLE statement. (check-in: 0f95659799 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: 4efd331e9c 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: 6492e57e65 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: 7c46628380 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: 8a55b8e179 user: drh tags: branch-3.15)
20:12
Mark the ICU extension functions as deterministic. (check-in: 8fd2fccefb user: drh tags: branch-3.15)
19:43
Handle some obscure "row value misused" cases that could cause segfaults or assertion failures. (check-in: 794763fd6c 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: f8cf7ff156 user: drh tags: branch-3.15)
2016-11-22
21:11
Enclose the sqlite3WalSnapshotRecover() routine within (check-in: e7be3183eb user: drh tags: serializable-snapshot)
01:26
Remove unnecessary OP_Close opcodes for a size reduction and performance increase. (check-in: 32be7aae92 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: abeddb6d5a 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: 9979ba80a6 user: drh tags: trunk)
2016-11-20
17:59
Fix harmless compiler warnings. (check-in: b3b7b42d9a user: drh tags: trunk)
12:00
Prevent a possible use-after-free bug in the query optimizer. (check-in: 0a98c8d76a 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: 28393c413c user: dan tags: serializable-snapshot)
17:30
Test some extra error conditions in sqlite3_recover_snapshot(). (check-in: db314213c0 user: dan tags: serializable-snapshot)
17:20
Add another fault-injection test for sqlite3_snapshot_recover(). (check-in: 7e04040613 user: dan tags: serializable-snapshot)
16:35
Fix a problem causing sqlite3_snapshot_recover() to return SQLITE_IOERR_SHORT_READ. (check-in: 525f75fa9f 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: 9abeb7980a user: dan tags: serializable-snapshot)
2016-11-18
20:49
Add experimental sqlite3_snapshot_recover() API. (check-in: 174a6076a8 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: 83b658dad0 user: dan tags: serializable-snapshot)
18:22
Add tests for snapshot interfaces. (check-in: 1f7ee7af7b user: dan tags: serializable-snapshot)
14:38
Enhance existing snapshot tests to serialize/deserialize snapshots. No new tests. (check-in: 16b9bf9274 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: 4fe94b0f18 user: drh tags: memdb-opt)
20:05
Fix a problem in rtreeD.test causing it to fail in OMIT_BUILTIN_TEST builds. (check-in: d6b3779e6d 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: a07c581e88 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: 2331192b4c 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: 005d5b8706 user: drh tags: trunk)
2016-11-15
21:17
Add a needed #include to speedtest1.c. (check-in: 77aeb705c3 user: drh tags: trunk)
17:37
Experimental changes toward making snapshots serializable. (check-in: b6a81fa1fc 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: 663473850c 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: 5ed0bd3876 user: drh tags: trunk)
2016-11-14
20:47
Add 8794 new test cases received from the OSS-FUZZ project. (check-in: 03f75a67c3 user: drh tags: trunk)
20:08
Fix a potential use-after-free error during parsing of malformed CREATE TABLE statement. (check-in: c5dbc599b9 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: a71fad4538 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: 6f2d43eca6 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: e211c579b2 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: e78f6f3bbf user: dan tags: trunk)
2016-11-11
20:37
Fix harmless compiler warnings in test code for MSVC. (check-in: 7b76be4117 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: b835cf3e50 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: 925840cfdb user: drh tags: trunk)
18:45
Merge trunk with this branch. (Closed-Leaf check-in: dd62d2de6e 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: 1a587d72f9 user: drh tags: unpacked-IdxInsert)
18:08
Reenable the SQLITE_EXPR_REF optimization for "SELECT DISTINCT ... ORDER BY" queries. (check-in: 6e2e9d383f user: dan tags: sorter-opt)
17:52
Merge enhancements and bug-fixes from trunk. (check-in: 5515b827dc 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: 46e0016207 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: 119d6ef847 user: drh tags: trunk)
15:49
Handle some obscure "row value misused" cases that could cause segfaults or assertion failures. (check-in: fba5fddb1c 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: f98c8ac8c4 user: drh tags: trunk)
09:51
Add extra tests for the xBestIndex() virtual table method. (check-in: 642a8fba91 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: 6311a8bdb1 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: 09233770b2 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: b0ff183b8f 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: 9a64a4f235 user: drh tags: split-moveto)
20:42
Avoid a few unnecessary calls to sqlite3BtreeMovetoUnpacked(). (check-in: eac0e827a6 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: 0af62fdbd8 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: f7041cbb63 user: drh tags: unpacked-IdxInsert)
16:07
Remove C++ style comments. No code changes. (check-in: 42f8aa6231 user: drh tags: unpacked-IdxInsert)
14:24
Add the unpacked key fields to OP_IdxInsert for INSERT and UPDATE statements. (check-in: 67602e40f1 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: 345b46be75 user: drh tags: unpacked-IdxInsert)
16:03
Fix a simple comment typo. No changes to code. (check-in: 51d0aed8d6 user: drh tags: unpacked-IdxInsert)
01:46
Fix typo in the CSV extension. (check-in: b488958824 user: mistachkin tags: trunk)
01:38
Make use of the unpacked key on the OP_IdxInsert on sorters with a LIMIT. (check-in: 42db7cd2c0 user: drh tags: unpacked-IdxInsert)
01:19
Fix a typo on the OP_IdxInsert documentation. No code changes. (check-in: e4acd98207 user: drh tags: unpacked-IdxInsert)
01:07
Add a DISTINCT query to speedtest1.c. Also change INSERT OR REPLACE into just REPLACE. (check-in: 754ee84495 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: d6dd2ad35e user: drh tags: trunk)
00:10
Enhance the OP_IdxInsert opcode to optionally accept unpacked key material. (check-in: 89d958abba user: drh tags: unpacked-IdxInsert)
2016-11-08
19:22
Avoid superfluous cursor seeks in "INSERT OR REPLACE" statements. (check-in: bec5b6d4d0 user: dan tags: trunk)
17:19
Avoid generating OP_TableLock unnecessary instructions on btrees that are not sharable. (check-in: 8cb8516d20 user: drh tags: trunk)
16:27
Fix the speedtest1.c test program so that it gives closing "%" wildcards on LIKE searches. (check-in: c2f84f637f 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: b5733cae3c 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: b540984915 user: drh tags: trunk)
15:15
Replace some unreachable branches from the JSON1 extension with assert(). (check-in: 145cd13e3c user: drh tags: trunk)
13:37
Fix the JSON1 extension so that the JSON validator correctly rejects malformed backslash escapes within string literals. (check-in: 7a63539169 user: drh tags: trunk)
2016-11-04
19:09
Merge recent trunk changes, including all the fixes that appeared in version 3.15.1. (check-in: 0e5ffd9123 user: drh tags: apple-osx)
12:08
Version 3.15.1 (check-in: 1136863c76 user: drh tags: release, version-3.15.1, branch-3.15)
12:05
Avoid a crash that can occur after an obscure OOM in the built-in INSTR() function. (check-in: b86b79c442 user: dan tags: trunk)
12:03
Mark the ICU extension functions as deterministic. (check-in: afbbb6c66a user: drh tags: trunk)
11:23
Add an assert() to silence a coverity false-positive. (check-in: 97354093bc user: drh tags: trunk)
07:25
Fix a test case in vacuum5.test so that it works with the in-memory journal permutation. (check-in: 81c8640146 user: dan tags: trunk)
2016-11-03
21:35
Replace a couple more references to Tcl 8.5 in the Windows build tools. (check-in: 1d0e43c549 user: mistachkin tags: trunk)
19:27
Fix a test case in vacuum5.test so that it works with -DSQLITE_TEMP_STORE=2 and -DSQLITE_ENABLE_ATOMIC_WRITE.. (check-in: 752e14d9b4 user: dan tags: branch-3.15)
19:24
Fix a test case in vacuum5.test sot aht it works with -DSQLITE_ENABLE_ATOMIC_WRITE. (check-in: 3ca8001039 user: dan tags: trunk)
19:01
Fix a test case in vacuum5.test so that it works with -DSQLITE_TEMP_STORE=2. (check-in: f5dd95e25c user: dan tags: trunk)
18:49
Add the SQLITE_FCNTL_WIN32_GET_HANDLE file control. (check-in: 5221e3cc6f user: drh tags: branch-3.15)
18:44
Increase the version number to 3.15.1. (check-in: ccdcce468f user: drh tags: branch-3.15)
18:38
Escape non-ASCII character from an ICU extension comment. (check-in: ee16fedd20 user: drh tags: branch-3.15)
18:36
Fix an issue that was causing the new database image to be assembled entirely in heap memory when VACUUMing a database, even if it should use a temp file. This could cause SQLITE_NOMEM errors when vacuuming very large databases on 32-bit systems. (check-in: 3fae483fae user: drh tags: branch-3.15)
18:35
Make sure left-join markings are transferred to the virtual scalar subexpressions when decomposing a vector comparison in the ON clause of a LEFT JOIN. Fix for ticket [fef4bb4bd9185ec8f]. (check-in: aba1e22bba user: drh tags: branch-3.15)
18:33
If all branches of an OR optimize scan that is the rhs of a LEFT JOIN use the same index, set the index cursor to return NULL values if there are no matches for a row on the lhs. Fix for ticket [34a579141b2c5ac] (check-in: 54eeddeceb user: drh tags: branch-3.15)
18:31
In the sessions module, avoid recording a change if an UPDATE statement overwrites a column with REAL affinity containing an integer value with the same value. (check-in: 0fc4f0f4c2 user: drh tags: branch-3.15)
18:30
Avoid using the "direct overflow read" optimization to read large blobs if the pager layer has a wal file open - even if the database header indicates that the db is not a wal database. (check-in: 63cfe19724 user: drh tags: branch-3.15)
13:12
In the command-line shell, fix the .imposter command so that it works with indexes on expressions. Fix the ".mode quote" mode so that it works with ".headers ON". (check-in: ba9873da94 user: drh tags: trunk)
13:01
Add the ".imposter" command to the command-line shell. (check-in: be3ec8fdcf user: drh tags: trunk)
02:25
Fix an possible NULL pointer deference in the command-line shell that can occur when using imposter mode. (check-in: ad08753a8b user: drh tags: trunk)
2016-11-02
19:49
Adjust the MSVC makefile to use Tcl8.6 by default. (check-in: def8f598b8 user: drh tags: trunk)
14:50
Fix an issue that was causing the new database image to be assembled entirely in heap memory when VACUUMing a database, even if it should use a temp file. This could cause SQLITE_NOMEM errors when vacuuming very large databases on 32-bit systems. (check-in: 3028845329 user: dan tags: trunk)
13:18
Fix a requirement mark. No changes to code. (check-in: d18f61b78c user: drh tags: trunk)
02:17
Use NOT NULL partial indexes when the query is constrained by a single LIKE or GLOB. (check-in: 9b3a3b41b5 user: drh tags: trunk)
2016-10-31
16:49
Add the SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE sqlite3_dbconfig() option - for disabling SQLite's default checkpoint-on-close behaviour. (check-in: 6d142025c7 user: dan tags: trunk)
16:16
Add the SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE sqlite3_dbconfig() option - for disabling SQLite's default checkpoint-on-close behaviour. (Closed-Leaf check-in: 093d2fc228 user: dan tags: no-ckpt-on-close)
2016-10-27
14:51
Remove the mutex from test_multiplex.c. (check-in: 6374978e8f user: dan tags: trunk)
01:02
Make sure left-join markings are transferred to the virtual scalar subexpressions when decomposing a vector comparison in the ON clause of a LEFT JOIN. Fix for ticket [fef4bb4bd9185ec8f]. (check-in: 619f5cc717 user: drh tags: trunk)
2016-10-26
18:41
Small size reduction and performance enhancement in whereScanInit(). (check-in: c23f5ef337 user: drh tags: trunk)
17:57
Small size reduction and performance improvement in whereScanNext(). (check-in: d861ee17eb user: drh tags: trunk)
16:05
If all branches of an OR optimize scan that is the rhs of a LEFT JOIN use the same index, set the index cursor to return NULL values if there are no matches for a row on the lhs. Fix for ticket [34a579141b2c5ac] (check-in: ec9dab8054 user: dan tags: trunk)
15:46
If all branches of an OR optimize scan that is the rhs of a LEFT JOIN use the same index, set the index cursor to return NULL values if there are no matches for a row on the lhs. (Closed-Leaf check-in: e7b9bc678e user: dan tags: leftjoin-or-fix)
13:58
Merge the SQLITE_ENABLE_URI_00_ERROR compile-time option. (check-in: 86675ae0ab user: drh tags: trunk)
13:44
Add extra tests to check the result of including a %00 escape in a URI when ENABLE_URI_00_ERROR is defined. (Closed-Leaf check-in: 1aaa06e37f user: dan tags: uri-00-error)
12:58
Add an elapsed-time output for faststat1.c. (check-in: 7116795134 user: drh tags: est_count_pragma)
12:15
Add compile time option SQLITE_ENABLE_URI_00_ERROR. If defined, any "%00" escape found in a URI is treated as an error. (check-in: e8a9bfece2 user: dan tags: uri-00-error)
2016-10-25
19:39
Simplifications to faststat1.c. Fix a bug in sqlite3MovetoProportional() for very large b-trees. (check-in: f7f78147c5 user: drh tags: est_count_pragma)
19:21
Further refinements to the faststat1.c utility. (check-in: b051fd19bc user: drh tags: est_count_pragma)
18:28
Enhance faststat1.c to deal better with WITHOUT ROWID tables. (check-in: 65444f2e35 user: drh tags: est_count_pragma)
17:28
Merge recent trunk changes, and especially the PRAGMA index_info enhancement which is needed on this branch. (check-in: c3570e462a user: drh tags: est_count_pragma)
15:39
Enhance the "PRAGMA index_info" and "PRAGMA index_xinfo" statements so that they work on WITHOUT ROWID tables and provide information about the underlying index btree that implements the WITHOUT ROWID table. (Leaf check-in: fe49fb0313 user: drh tags: index-info-on-table)
15:06
Add test case to demonstrate a "BEGIN EXCLUSIVE" command returning SQLITE_BUSY_SNAPSHOT. (check-in: b115856408 user: dan tags: trunk)
13:57
First attempt at a utility program to compute sqlite_stat1 without doing a full table scan. (check-in: 7b83581a43 user: drh tags: est_count_pragma)
2016-10-24
01:01
Performance optimization in moveToRoot(). Avoid repeated validity checking of the root page on each call. Once is enough. (check-in: 98795c2dd9 user: drh tags: trunk)
2016-10-22
01:22
In the sessions module, avoid recording a change if an UPDATE statement overwrites a column with REAL affinity containing an integer value with the same value. (check-in: 5f3e602831 user: drh tags: trunk)
2016-10-21
21:21
In the sessions module, avoid recording a change if an UPDATE statement overwrites a column with REAL affinity containing an integer value with the same value. (Closed-Leaf check-in: b861328ab9 user: dan tags: sessions-fix)
18:01
When reading from an index, the shared-cache lock must be on the corresponding table. (check-in: 04fe12b590 user: drh tags: est_count_pragma)
17:45
Merge updates from trunk, and especially the ".mode quote" enhancement to the shell. (check-in: 0c8a5b8844 user: drh tags: est_count_pragma)
17:39
Add ".mode quote" to the command-line shell. (check-in: c4f5fa78cd user: drh tags: trunk)
17:25
Add the btree_sample(INDEX,LOCATION,LIMIT) pragma. (check-in: affc2ef5ee user: drh tags: est_count_pragma)
15:36
Fix problems in the est_count pragma for indexes and WITHOUT ROWID tables. (check-in: c39fd9b8f1 user: drh tags: est_count_pragma)
10:49
Avoid using the "direct overflow read" optimization to read large blobs if the pager layer has a wal file open - even if the database header indicates that the db is not a wal database. (check-in: b54c15f117 user: dan tags: trunk)
10:09
If SQLITE_DIRECT_OVERFLOW_READ is defined at compile time, add "DIRECT_OVERFLOW_READ" to the list of symbols returned by "PRAGMA compile_options". (check-in: b7d9727bff user: dan tags: trunk)
2016-10-20
22:02
Experimental est_count pragma. (check-in: 340822afbe user: drh tags: est_count_pragma)
18:20
Add the ability for the PRAGMA statement to accept multiple arguments. Currently all arguments other than the first are ignored. (Leaf check-in: fd81d8a430 user: drh tags: multi-arg-pragma)
11:48
Add test case to incrblob4.test. No changes to code. (check-in: fd9c6ff05f user: dan tags: trunk)
2016-10-18
16:36
Minor simplification of the comparison opcodes. (check-in: 56474ebca3 user: drh tags: trunk)
15:29
Fix harmless uninitialized variable warnings in speedtest1.c. (check-in: 2aa7a03b86 user: drh tags: trunk)
14:35
Add the --repeat option to speedtest1.c and speed-check.sh. (check-in: 6ca0e06b21 user: drh tags: trunk)
2016-10-17
18:44
Escape non-ASCII character from an ICU extension comment. (check-in: 5ec02ecf3d user: mistachkin tags: trunk)
18:33
Corrections to a couple recently added 'filectrl.test' results. (check-in: 3d89dc4544 user: mistachkin tags: trunk)
15:28
Changes to support interrupting a checkpoint using sqlite3_interrupt(). (check-in: c88d36e251 user: dan tags: trunk)
00:48
Small size reduction and performance increase in the string duplicator. (check-in: cda998f080 user: drh tags: trunk)
2016-10-15
18:37
Add documentation for the OP_SorterInsert opcode, formerly omitted by mistake. No changes to code. (check-in: 16d88a9077 user: drh tags: trunk)
08:56
Add test case to hook.test. No changes to non-test code. (check-in: 2674d779f5 user: dan tags: trunk)
2016-10-14
21:27
Add the SQLITE_FCNTL_WIN32_GET_HANDLE file control. (check-in: 16039be373 user: mistachkin tags: trunk)
21:16
Bump the version number in anticipation of the next development cycle. (check-in: aa6de9c40b user: drh tags: trunk)
10:20
Version 3.15.0 (check-in: 707875582f user: drh tags: trunk, release, version-3.15.0)
2016-10-13
12:56
Take care to avoid integer overflow when doing the initial page cache allocation with an excessively large cache_size setting. (check-in: 4d66ac98de user: drh tags: trunk)
2016-10-12
18:55
Avoid reading the -1-th element of an array in the query planner. Fix to a bug introduced by check-in [8e2b25f9b8a7] from earlier today. Curiously, the problem only appeared on 32-bit systems. (check-in: 443913d582 user: drh tags: trunk)
18:26
Add to sqlite3_analyzer command-line options --version and --tclsh, and also the undocumented --debug option. (check-in: e87d02d289 user: drh tags: trunk)
15:15
New testcase() macros to ensure coverage of the ORDER BY LIMIT optimization code in where.c. (check-in: 61f0526978 user: drh tags: trunk)
14:48
Fix a problem affecting queries that match the pattern (... WHERE ipk IN (....) ORDER BY ? LIMIT ?). Fix for [96c1454c]. (check-in: 8e2b25f9b8 user: dan tags: trunk)
2016-10-10
14:48
Remove a stray line from session4.test causing a memory leak. No changes to SQLite code. (check-in: 6624c4964b user: dan tags: trunk)
14:34
When handling ORDER BY expressions, do not assume all values of an indexed expressions are distinct. Fix for [4766f444]. (check-in: aebe429e52 user: dan tags: trunk)
13:29
Make sure indexes on expressions skip over initial NULL values in the index. Fix for ticket [4baa464912129477f3c9] (check-in: 71797ba431 user: drh tags: trunk)
10:06
Fix a case in which the rtree module was ignoring an OOM while generating an error message. (check-in: 788f86bebe user: dan tags: trunk)
2016-10-08
16:10
Update test/trace3.test to account for the fact that casting a pointer to a 64-bit signed integer might produce a negative value. (check-in: 010ec22541 user: dan tags: trunk)
13:34
Corrections to Lemon documentation. No SQLite changes. (check-in: c568ae3eef user: drh tags: trunk)
11:55
Add missing "static" to internal function whereRangeVectorLen(). (check-in: cbed3d75cf user: dan tags: trunk)
09:21
Updates to the tool/warnings.sh script to make it easier to use on OpenBSD. (check-in: dbe2997f57 user: dan tags: trunk)
2016-10-05
20:14
Fix some compiler warnings in fts5. (check-in: b066637bb7 user: dan tags: trunk)
20:10
Fix harmless compiler warnings. (check-in: 2dde337512 user: drh tags: trunk)
15:04
Add a test case for the fix in [a596b7c6cc]. (check-in: b2ef39b11f user: dan tags: trunk)
15:02
Do not set MEM_Blob unless the appropriate fields of the Mem object have been correctly initialized. (check-in: a596b7c6cc user: drh tags: trunk)
01:33
Fix the backup_malloc.test script so that it works on Windows. (check-in: d080012daa user: drh tags: trunk)
2016-10-04
12:20
Fix a problem with the lempar.c parser template. (check-in: 3a9d802fda user: drh tags: trunk)
00:47
Do not bother to initialize unused fields in the BtreePayload object. (check-in: b10d0f939c user: drh tags: trunk)
2016-10-03
18:13
Allow deterministic functions in the WHERE clause of a partial index. (check-in: c6e9b94218 user: drh tags: trunk)
16:33
Size and performance optimizations on the sqlite3ExprAssignVarNumber() routine. (check-in: 109852e51e user: drh tags: trunk)
15:28
Avoid unnecessary strlen() calls in sqlite3ExprAssignVarNumber() by passing in the token length from the parser. (check-in: d15ae2e530 user: drh tags: trunk)
14:44
Avoid unnecessary memset() calls in the query optimizer. (check-in: 5bb7cde073 user: drh tags: trunk)
12:56
Fix an obsolete comment on a variable definition in expr.c. No code changes. (check-in: 012ff6dd30 user: drh tags: trunk)
02:59
Make sure the sqlite_sequence table is updated when an optional xfer optimization is used. Fix for ticket [7b3328086a5c1]. (check-in: 81e4d4f897 user: drh tags: trunk)
01:21
Allocate Parse objects off of the stack where appropriate for a substantial performance increase and a size reduction. (check-in: ea8affa9e4 user: drh tags: trunk)
2016-10-01
23:55
Add SQLITE_USE_ALLOCA to the --lean configuration in speed-check.sh. (check-in: fe07609efc user: drh tags: trunk)
21:43
Rearrange fields in the Parse object to reduce the amount of initialization required. (check-in: 361940b44d user: drh tags: trunk)
20:43
Reduce the width of a memset() to avoid double-initializing some variables. (check-in: 34edbfd12d user: drh tags: trunk)
19:32
Remove an unnecessary memset() call. (check-in: a76bff74ce user: drh tags: trunk)
19:21
Use sqlite3DbMallocRawNN() where appropriate, instead of sqlite3DbMallocRaw(). (check-in: 54a449a41d user: drh tags: trunk)
16:53
Make sure deleting an unused prepared statement does not reference uninitialized fields in the structure. (check-in: 7983eef042 user: drh tags: trunk)
11:39
Avoid accessing Vdbe.pc if it is uninitialized. Check Vdbe.magic first. (check-in: 6ac6e4462a user: drh tags: trunk)
00:37
Avoid unnecessary zeroing of fields in the Vdbe object when it is allocated. (check-in: 1e21bbe836 user: drh tags: trunk)
2016-09-30
22:24
Avoid initializing the column-cache section of the Parse object, since entries in the cache will be initialized as they are used, and avoiding the initial memset() saves many CPU cycles. (check-in: 63cf7eafae user: drh tags: trunk)
21:20
Fix an always-true conditional left over from the previous commit. (check-in: ab12fce331 user: drh tags: trunk)
20:22
Fix the Parse.aColCache column cache so that all of the valid entries are in the first Parse.nColCache slots. (check-in: 6028502059 user: drh tags: trunk)
19:14
Another simplification to the Parse object. (check-in: c1419727f5 user: drh tags: trunk)
18:35
Remove unnecessary fields from the Parse object. (check-in: 814e41da35 user: drh tags: trunk)
17:46
Avoid unnecessary Mem initializations when generating a new sqlite3_stmt object. (check-in: 47ae1cda8d user: drh tags: trunk)
2016-09-29
20:28
Small size and performance optimization to sqlite3VdbeChangeP5(). (check-in: 3c93c8f5bb user: drh tags: trunk)
19:50
Remove the peep-hole optimization of removing OP_Close opcodes that come before OP_Halt, as the extra work of removing those opcodes uses more cycles than just running them. (check-in: 984a96d796 user: drh tags: trunk)
19:27
Size and performance optimization to sqlite3ValueFromExpr() (check-in: 945f82bc44 user: drh tags: trunk)
15:53
Clarification and typo-fixes in comments. No changes to code. (check-in: e2cd79aa31 user: drh tags: trunk)
2016-09-28
20:42
Use Knuth multiplicative hashing for the symbol table. (check-in: cc29ddd6be user: drh tags: trunk)
16:15
Merge recent enhancements from trunk. (check-in: 0601416347 user: drh tags: apple-osx)
16:05
Two more typo fixes in comments. (check-in: 40c0fb0af6 user: drh tags: trunk)
16:04
Fix typos in comments. No code changes. (check-in: 5bbd071d57 user: drh tags: trunk)
2016-09-27
00:09
Update requirements marks due to improvements in the wording of documentation. No changes to code. (check-in: bf903b2eca user: drh tags: trunk)
00:03
Fix FTS3 test cases due to the flattener change of the previous check-in. (check-in: 0c8b9b211f user: drh tags: trunk)
2016-09-26
14:39
When flattening a query of the form "SELECT * FROM (SELECT * FROM tbl WHERE x=?) WHERE y=?", ensure that the final WHERE clause is "x=? AND y=?" instead of "y=? AND x=?". Although it is still not guaranteed, this makes the order in which WHERE clause terms are processed comport more closely to users expectations. (check-in: cf7f9e6d5a user: dan tags: trunk)
12:38
Inline the relevent parts of sqlite3ExprAlloc() into spanExpr(), for a performance improvement. (check-in: fe89225eab user: drh tags: trunk)
2016-09-24
17:42
Omit the LikeOp object from the parser. Change more sqlite3PExpr() calls into sqlite3ExprAlloc() calls. (check-in: 795454a3fa user: drh tags: trunk)
01:41
Add -DSQLITE_MAX_EXPR_DEPTH=0 to the --lean option on speed-check.sh. (check-in: a8cb1390fc user: drh tags: trunk)
2016-09-23
21:36
Add the EP_Leaf flag bit to the Expr.flags field to indicate Expr nodes that do not have substructure. Use that bit to avoid unnecessary recursion. (check-in: 8a6ea455cd user: drh tags: trunk)
20:59
Use sqlite3ExprAlloc() instead of sqlite3PExpr() for leaf nodes in the expression tree, where appropriate. This is both smaller and faster. (check-in: afac0709ce user: drh tags: trunk)
18:13
New test case for the ORDER BY LIMIT optimization. (check-in: 9a5a489d0d user: drh tags: trunk)
2016-09-22
21:37
Fix a potential null-pointer dereference and crash in the case where one thread is calling sqlite3_column_text() and another thread is calling sqlite3_step() on the same prepared statement at the same instant. (check-in: ee1382a363 user: drh tags: trunk)
18:53
Remove the internal sqlite3CodeOnce() interface, replacing it with a direct call to sqlite3VdbeAddOp0(v,OP_Once). Slightly smaller and faster. (check-in: c3774c6a5f user: drh tags: trunk)
18:46
Makefile changes to support building winsqlite3.dll using STDCALL rather than CDECL. (check-in: 5e892d6093 user: mistachkin tags: trunk)
2016-09-21
23:58
Fix speedtest1.c so that it works with SQLITE_OMIT_DEPRECATED. Add the --lean and --cachesize options to speed-check.sh. (check-in: 7785b3a257 user: drh tags: trunk)
19:43
Fix a problem with the fts5 auxiliary function API causing a crash when a query contained a phrase of zero terms. (check-in: 0741812d7f user: dan tags: trunk)
19:00
Do not run vacuummem.test if ENABLE_MEMORY_MANAGEMENT is defined. (check-in: 4a613d8564 user: dan tags: trunk)
18:18
Fix obsolete requirements marks. Add new tests for VACUUM of attached databases. (check-in: 2b44f9aa7d user: drh tags: trunk)
17:53
Avoid running vacuum5.test in auto-vacuum mode. (check-in: be184befa0 user: dan tags: trunk)
17:47
Do not run test "delete_db.test" with either the journaltest or inmemoryjournal permutations. Ensure that the multiplexor tests in delete_db.test are performed in non-autovacuum mode. (check-in: 46b7d19e02 user: dan tags: trunk)
14:41
Update the fts5vocab table to handle "ORDER BY term" efficiently. (check-in: d4928fb5cd user: dan tags: trunk)
2016-09-20
22:04
Improved implementation of 64-bit signed integer multiply that correctly detects overflow (and promotes to floating-point) in some corner cases. Fix for ticket [1ec41379c9c1e400] (check-in: db3ebd7c52 user: drh tags: trunk)
17:49
Fix harmless compiler warning. (check-in: 7242906395 user: mistachkin tags: trunk)
17:38
Fix typo in comment. (check-in: bd3ecbb5c1 user: mistachkin tags: trunk)
01:46
Further performance enhancements in zeroblob() handling. (check-in: 21b0e3b75c user: drh tags: trunk)
01:19
Avoid unnecessary calls to ExpandBlob() for smaller and faster code. (check-in: 5e196fd181 user: drh tags: trunk)
2016-09-19
23:39
Very small optimization in the bytecode engine. (check-in: 46002511e5 user: drh tags: trunk)
11:00
Fix a segfault introduced by the row-value enhancement that comes up on a skip-scan where the first term of the index is unconstrained and the second term is of the form "columm IN (SELECT...)". (check-in: 2401ea5acf user: drh tags: trunk)
10:24
Improved performance in sqlite3ExprCodeTarget(). (check-in: 75146165dc user: drh tags: trunk)
02:19
Small performance optimization in the expression walker. (check-in: c6e6afb939 user: drh tags: trunk)
2016-09-18
16:08
Revise the implementation of OP_Once so that it is smaller, faster, and uses less memory. This also fixes an obscure bug introduced 3 days ago by check-in [5990a1bdb4a073]. (check-in: 6bf5ba10d2 user: drh tags: trunk)
2016-09-17
22:46
Minor enhancement to the TclKit batch tool: it should download the TclKit EXE alone when the TCLKIT_NOENV environment variable is set. (check-in: baceb988c6 user: mistachkin tags: trunk)
19:34
Small performance optimization in the freeSpace() routine of btree.c. (check-in: 63962e2a92 user: drh tags: trunk)
17:39
Improved description of the ElseNotEq opcode in comments. No changes to code. (check-in: e011435e2f user: drh tags: trunk)
2016-09-16
20:39
Fix typo in the name of a Win32 string conversion routine. Replace several uses of raw_printf() with utf8_printf() in the shell. (check-in: 6fc95dd7a0 user: mistachkin tags: trunk)
19:42
If no KEY is specified on ATTACH, copy the main schema key if the key size is non-zero. In other words, allow for -1 as a valid key size in support of the --textkey to SEE. (check-in: 03573887db user: drh tags: trunk)
19:11
Fix problems with the fileRead() function in the command-line shell. Fix a harmless memory leak in the command-line shell, to make validation testing easier. (check-in: e660402e5e user: drh tags: trunk)
18:53
Remove the #ifdef SQLITE_DEBUG from around the testcase_glob() routine in the command-line shell. (check-in: 9885dac4b9 user: drh tags: trunk)
17:50
Merge recent changes from trunk. (check-in: e3d9efa277 user: drh tags: apple-osx)
16:30
Fix a problem causing incorrect code to be generated for IN constraints like "a IN (1, 2, 3)" where column "a" is a rowid column with an extra UNIQUE index created on it. Ticket [0eab1ac759]. (check-in: a92aee5520 user: dan tags: trunk)
15:42
Replace a faulty assert() with a testcase() to assure the condition is tested. Ticket [0eab1ac7591f]. (check-in: a49bc0a824 user: drh tags: trunk)
14:50
Add WHERETRACE macros showing every entry and exit from whereLoopAddBtreeIndex(). (check-in: e7653decdc user: drh tags: trunk)
11:53
Fix SQLITE_OMIT_AUTHORIZATION so that it compiles cleanly. (check-in: a3e3b3e1c5 user: drh tags: trunk)
02:52
In the shell, make ".testcase" and ".check" available in all configurations, not just SQLITE_DEBUG. All testcases to be named. Show the result of each testcase on stdout. (check-in: 792afefa9c user: drh tags: trunk)
00:26
In the command-line shell, add the --new option to the ".open" command. Also, report the current database filename as part of the ".show" command. (check-in: 8e5c920391 user: drh tags: trunk)
2016-09-15
21:35
Add the ".testcase" and ".check" dot-commands in the shell, when compiled using SQLITE_DEBUG. (check-in: 62289f27ee user: drh tags: trunk)
19:15
Omit the sqlite3Apis constant object when compiling with SQLITE_OMIT_LOAD_EXTENSION, since it is not used. (check-in: 7b10461370 user: drh tags: trunk)
14:54
Remove no-op code (adding an assert() to prove that the code was no-op) in the text affinity logic of the bytecode engine comparison operators. (check-in: b9f5bdbf40 user: drh tags: trunk)
05:47
Fix a typo in a comment in sqlite.h.in. No changes to code. (check-in: 12df715210 user: dan tags: trunk)
00:32
Slight size reduction and performance increase in sqlite3VdbeHalt(). (check-in: 5990a1bdb4 user: drh tags: trunk)
00:04
Optimization to vdbeRecordCompareInt() makes it slightly smaller and faster. (check-in: 5a2a7712cb user: drh tags: trunk)
2016-09-14
18:56
Update comments used to generate API documentation to include the new "[dateof:3.X.Y]" notation for dates of release where appropriate. No changes to code. (check-in: 55f7f8ee5b user: drh tags: trunk)
2016-09-12
14:23
Fix a bug in sqldiff causing it to confuse blobs zero bytes in size with NULL values. (check-in: 264e9c7587 user: dan tags: trunk)
13:32
Add missing "finish_test" command to vacuum5.test. (check-in: 02f40c3b93 user: dan tags: trunk)
09:28
Have releasetest.tcl delete all test files except for "testfixture", "testfixture.exe", "sqlite3", "sqlite3.exe", "test.log" and "test-out.txt" after each test run is finished. Passing the "--keep" option restores the old behaviour. (check-in: e0e042dca9 user: dan tags: trunk)
2016-09-10
19:51
Changes to give a warning-free build with SQLITE_OMIT_INCRBLOB and SQLITE_OMIT_SHARED_CACHE. (check-in: 711c59171b user: drh tags: trunk)
14:43
Add test code to delete an SQLite database and its auxiliary files. (check-in: 8a9d128119 user: dan tags: trunk)
2016-09-09
20:26
Make the new file test_delete.c portable to MSVC on Windows. (Closed-Leaf check-in: 0e3ace39f2 user: mistachkin tags: test_delete)
20:23
Remove an unnecessary call to sqlite3VdbeMemExpandBlob() when casting to text. (check-in: 19e2e59505 user: drh tags: trunk)
20:00
Add new file test_delete.c, containing test code for deleting an sqlite database. (check-in: fb0b95e940 user: dan tags: test_delete)
19:33
Performance improvements to the comparison operators in the bytecode engine. (check-in: 37803b19d2 user: drh tags: trunk)
15:12
Fix a out-of-order variable declaration for some compile-time configurations. (check-in: 6ac932c92a user: drh tags: trunk)
13:23
In releasetest.tcl, the --srcdir option is automatic, so no need to mention it in the --help output. (check-in: 2bdd838e2c user: drh tags: trunk)
13:17
Fix an obsolete comment in the releasetest.tcl source code. (check-in: afaaa276b2 user: drh tags: trunk)
12:29
In releasetest.tcl: Improved testing for uncommitted changes. If uncommitted changes are seen, exit immediately unless the --force option is used. (check-in: 9a14e6c46c user: drh tags: trunk)
2016-09-08
23:12
Issue a warning and prompt the user to continue if the releasetest.tcl script is run in a checkout with uncommitted changes. (check-in: 30e917fff0 user: drh tags: trunk)
2016-09-07
19:54
Add support for row-value comparisons, including IN operators, and row-value updates in the UPDATE statement. (check-in: ddb5f0558c user: drh tags: trunk)
19:37
Fix a problem handling expressions like "(a, b) IN (SELECT ... ORDER BY 1, 2)" when there is an index on "a" but not "b". (Closed-Leaf check-in: 7f2c5c9ee3 user: dan tags: rowvalue)
13:30
Simplify the affinity handling logic in codeAllEqualityTerms(). Logically the same, just a little easier to read and understand. (check-in: bbab9621f5 user: drh tags: rowvalue)
13:12
Merge fixes from trunk. (check-in: 193f036c87 user: drh tags: rowvalue)
2016-09-06
19:08
Remove obsolete vector-IN test cases. Fix a bad testcase() macro. (check-in: ab3f8f193a user: drh tags: rowvalue)
18:51
Fix corer cases of vector IN operators where the RHS is a compound SELECT that includes an ORDER BY clause. (check-in: 8329ac6f8d user: drh tags: rowvalue)
17:21
Remove an unnecessary branch from expr.c. (check-in: 7cc9746c54 user: dan tags: rowvalue)
17:13
Avoid unnecessary memory allocations for aiMap in codeEqualityTerm(). (check-in: 70319c3d76 user: drh tags: rowvalue)
16:53
Avoid a NULL pointer deref in codeAllEqualityConstraints() following an OOM. (check-in: c6e528c1c0 user: drh tags: rowvalue)
16:33
Simplify the fix in commit [7d9bd22c]. (check-in: bd5a342008 user: dan tags: rowvalue)
15:25
Fix the header comment on codeEqualityTerm(). (check-in: b7e710e406 user: drh tags: rowvalue)
14:58
Fix a problem handling (a, b) IN (SELECT ...) expressions when there is an index on just one of "a" or "b". (check-in: 231c72d9f6 user: dan tags: rowvalue)
14:37
Enhance the sqlite3GetTempRange() and sqlite3ReleaseTempRange() internal routines so that they use sqlite3GetTempReg() and sqlite3ReleaseTempReg() when nReg==1. (check-in: 4071da2f87 user: drh tags: rowvalue)
12:04
Fix a typo in a comment in expr.c. (check-in: 288e934f35 user: dan tags: rowvalue)
2016-09-05
22:50
Simplified logic to extract a column from a row value. (check-in: e8f105c300 user: drh tags: rowvalue)
19:57
Fix an assert() so that it does C-compiler does not combine an assert() conditional with a production code conditional and thereby confuse the mutation testing script. (check-in: 2fa5288a7e user: drh tags: rowvalue)
15:02
Simplifications to the SQLITE_KEEPNULL flag on VDBE comparison operators. (check-in: 96269f0179 user: drh tags: rowvalue)
12:12
Do vector comparison size checking early - at name resolution time - to forestall future problems. (check-in: ae127bcc0a user: drh tags: rowvalue)
12:02
Catch vector size mismatch problems during name resolution to avoid later problems. (Closed-Leaf check-in: 56562a0346 user: drh tags: early-vector-size-check)
09:44
Fix a crash that could occur under certain circumstances if the vectors on either side of a comparison operator were of a different size. (check-in: 42670935ab user: dan tags: rowvalue)
2016-09-03
19:52
Fix a problem causing the affinity of sub-select row-value elements to be ignored in some contextes. (check-in: 7d9bd22c07 user: dan tags: rowvalue)
16:24
Merge the fuzzershell enhancement from trunk. (check-in: ed20604848 user: drh tags: rowvalue)
15:31
Consider the affinity of "b" when using an "a IN (SELECT b ...)" expression with an index on "a". Fix for [199df416]. (check-in: f5e4985541 user: dan tags: rowvalue)
01:46
Performance optimizations. (check-in: f1d06c49ba user: drh tags: rowvalue)
2016-09-02
23:56
Merge recent changes from trunk. (check-in: c7271fbde1 user: drh tags: rowvalue)
2016-08-27
14:13
Merge updates from trunk. (check-in: 082fd5f8ac user: drh tags: rowvalue)
01:41
Fix the "Synopsis" on the OP_Lt, OP_Le, OP_Gt, and OP_Ge opcodes, which has been backwards for time out of mind. (check-in: f51248dcfa user: drh tags: rowvalue)
2016-08-26
22:09
Fix a minor problem in sqlite3FindInIndex() related to rowids being used as part of the index. (check-in: 829f802be7 user: drh tags: rowvalue)
21:15
Fix the sqlite3FindInIndex() to ensure that it always uses a prefix of the index and uses no repeated columns. Enhanced comments. (check-in: b9fc89e432 user: drh tags: rowvalue)
19:54
Add an EXPLAIN QUERY PLAN line for when a index is used to implement an IN operator. (check-in: 171aa833a2 user: drh tags: rowvalue)
19:47
Add test cases to rowvalue2.test. (check-in: 078bb69e99 user: dan tags: rowvalue)
19:31
Enhance sqlite3FindInIndex() so that it is able to make use of the primary keys at the end of an index. (check-in: 4b589fbfcc user: drh tags: rowvalue)
18:17
Fix a post-OOM crash in updateRangeAffinityStr(). Add several ALWAYS() macros on unreachable branches. (check-in: 87d40195ae user: drh tags: rowvalue)
17:54
Fix a problem with affinity changes and vector range comparisons. (check-in: b34413ac7e user: dan tags: rowvalue)
13:19
Allow ROWID values in indexed vector comparisons. (check-in: b0cc6be4eb user: drh tags: rowvalue)
03:42
Comment improvements. Put ALWAYS and NEVER macros on three unreachable branches. (check-in: 397617009e user: drh tags: rowvalue)
01:02
Remove an unreachable branch from sqlite3ExprAffinity() (check-in: 9d96f61481 user: drh tags: rowvalue)
2016-08-25
22:31
Merge recent changes from trunk. (check-in: 5789aab8ef user: drh tags: rowvalue)
21:14
Refactor the sqlite3ExprCodeIN() routine for improved maintainability. (check-in: b56705ae63 user: drh tags: rowvalue)
17:47
Another fix in the IN-operator algorithm description. (check-in: f474aeac4f user: drh tags: rowvalue)
17:40
Further refinement of the in-operator.md documentation. (check-in: df0648373a user: drh tags: rowvalue)
15:46
Improvements to IN operator code generator comments. Avoid unnecessary Copy operations on the LHS of the IN operator. (check-in: b634429878 user: drh tags: rowvalue)
14:23
Corrections to the IN-operator notes. (check-in: 25033ee945 user: drh tags: rowvalue)
14:00
Add notes on the implementation of the IN operator. (check-in: d256b2caeb user: drh tags: rowvalue)
2016-08-24
21:54
Simplified VDBE code for the vector NOT IN null-scanning loop. (check-in: 7ae504e62e user: drh tags: rowvalue)
21:24
Improved extended comments of comparison operators when the SQLITE_STOREP2 flags is set on P5. No changes to non-debug code. (check-in: bbc1b01616 user: drh tags: rowvalue)
18:51
In sqlite3FindInIndex(), improve internal comments and avoid an unreachable branch. (check-in: 55945fc12f user: drh tags: rowvalue)
17:49
Fix more unreachable branches. (check-in: 6099c180db user: drh tags: rowvalue)
15:37
Add a NEVER() on an unreachable branch in comparisonAffinity(). (check-in: 505a2f20ea user: drh tags: rowvalue)
12:22
Fix a buffer overrun in the code for handling IN(...) operators when the LHS of the operator contains indexed columns or expressions. (check-in: f41a0391b7 user: dan tags: rowvalue)
00:51
The previous OOM fix was bad. Back it out and replace it with a better one. (check-in: 1e3bc3698a user: drh tags: rowvalue)
00:25
Avoid a potential null-pointer dereference following an OOM. (check-in: 25f6ed8de4 user: drh tags: rowvalue)
2016-08-23
19:02
Simplify the row value misuse error message. (check-in: 838c50a5bf user: drh tags: rowvalue)
18:30
Fix a problem with rowvalue UPDATE when the rowvalue is not the left-most and the RHS is a multi-column subquery. (check-in: e149e6b93a user: drh tags: rowvalue)
17:30
Fix an uninitialized variable in CASE expression code generation. (check-in: c8ffae05e1 user: drh tags: rowvalue)
2016-08-22
14:30
Fix the vector BETWEEN operator so that it only evaluates the left-most vector expression once. Add support for vector comparisons in the CASE operator. (check-in: 07e69f43a2 user: drh tags: rowvalue)