SQLite
Timeline
Not logged in

360 check-ins going from [release] to [trunk]

2017-08-19
20:38
[d01d2cff] Leaf: Space and size optimization to the printf implementation. (user: drh, tags: trunk)
2017-08-18
22:30
[745bc8de] Another size and performance optimization to readDbPage(). This time we eliminate some unnecessary local variables. (user: drh, tags: trunk)
21:14
[ca9e1875] Size and performance optimization the readDbPage() routine in the pager. (user: drh, tags: trunk)
19:28
[605907e7] Leaf: Version 3.19.4 (user: drh, tags: release, branch-3.19, version-3.19.4)
16:09
[3075cfa0] For the unix VFS, avoid an unnecessary stat() system call prior to opening any file in the common case where there are no unused file descriptors. (user: drh, tags: trunk)
14:34
[eb1202b5] Combine the OP_CreateTable and OP_CreateIndex opcodes of the bytecode engine into a single OP_CreateBtree opcode. This simplifies the implementation and makes the bytecode programs clearer. (user: drh, tags: trunk)
08:29
[37e19008] Only use indexes on expressions to optimize ORDER BY and GROUP BY if the collation sequence matches. Possible fix for [e20dd54a]. (user: dan, tags: trunk)
2017-08-17
20:53
[a42a438c] Use the __builtin_clzll() function of gcc to improve the performance and reduce the size of the sqlite3LogEst() routine. (user: drh, tags: trunk)
19:23
[264a5e1b] Small optimization in the Expr tree walker. (user: drh, tags: trunk)
18:54
[0367a4d5] Size optimization in the authorizer error message generation logic. (user: drh, tags: trunk)
18:23
[f13682ea] In sqlite3ViewGetColumnNames(), return the number of errors, not an error code. (user: drh, tags: trunk)
18:17
[0712f057] The RTREE extension should return SQLITE_CORRUPT_VTAB, not just SQLITE_CORRUPT when it encounters incorrectly formatted shadow tables. (user: drh, tags: trunk)
14:47
[fb6ca99b] Remove an unnecessary branch from the [be436a7f4587ce517ddc] fix. (user: drh, tags: trunk)
14:12
[2101b420] Add test cases for ticket [be436a7f4587ce517] using virtual table modules fts5 and rtree. (user: dan, tags: trunk)
02:26
[a7bc7752] Defer schema resets when the query planner is running. Proposed fix for ticket [be436a7f4587ce517]. (user: drh, tags: trunk)
2017-08-16
19:20
[f078deb2] Avoid a test for CURTYPE_BTREE in sqlite3VdbeCursorMoveto() in order to reduce the size and improve the performance of OP_Column. (user: drh, tags: trunk)
14:16
[39543903] Remove an unnecessary local variable from OP_Column, for a small size reduction and performance increase. (user: drh, tags: trunk)
11:04
[dc98a92f] Performance improvement in the OP_Column opcode. (user: drh, tags: trunk)
2017-08-15
14:14
[2cf3f3de] Small size and performance improvement in the OP_Column opcode. (user: drh, tags: trunk)
03:46
[373b71d1] Btree optimization: New field BtCursor.pPage that points to the current page, saving a single pointer dereference on each access. (user: drh, tags: trunk)
2017-08-14
23:53
[16969338] Minor size and performance optimization to sqlite3BtreeCloseCursor(). (user: drh, tags: trunk)
18:13
[240d5714] Change the internal btree routine moveToRoot() to return SQLITE_EMPTY if the table is empty or if it has pgnoRoot==0. This simplifies the callers, making them smaller and faster. The SQLITE_EMPTY result code is intercepted and changed into SQLITE_OK before surfacing in an API. (user: drh, tags: trunk)
17:03
[25e92baa] Fix harmless indentation error. (user: drh, tags: trunk)
14:53
[d0da791b] Sometimes a TK_COLUMN Expr node can have Expr.pTab==0 if it is a reference to an expression column in an index on an expression. Fix for ticket [aa98619ad08ddcab]. (user: drh, tags: trunk)
01:33
[7e0d3e9c] Properly dequote column names in tables constructed by an aggregate SELECT. (user: drh, tags: trunk)
2017-08-12
18:31
[02174842] Add new test file fts5vocab2.test. (user: dan, tags: trunk)
02:16
[14d262d6] Update the speed-check.sh test script to append log output to the end of the cout-NAME.txt file. (user: drh, tags: trunk)
02:01
[6e52fa5f] Remove the zBase field from the StrAccum object. Resulting code is slightly smaller and faster. (user: drh, tags: trunk)
01:09
[28a5aec1] Size and performance micro-optimization on sqlite3SrcListIndexedBy(). (user: drh, tags: trunk)
2017-08-11
18:59
[831156a4] Fix compiler warnings that arise if the PAGERTRACE macro is turned on. This changes does not affect production builds. (user: drh, tags: trunk)
18:55
[aa49926d] Improved comments in the header of the LSM1 vtab module. No code changes. (user: drh, tags: trunk)
13:51
[cb0c49cb] New test cases for LSM1. (user: drh, tags: trunk)
12:49
[2164031b] Convert the LSM1 virtual table to be WITHOUT ROWID and get UPDATE and DELETE operations working on it. (user: drh, tags: trunk)
03:47
[9466d952] Simplification to the like optimization logic. Remove unnecessary branches. (user: drh, tags: trunk)
2017-08-10
20:43
[c601d128] Allow WITHOUT ROWID virtual tables to be writable as long as they have exactly one column as their PRIMARY KEY. (user: drh, tags: trunk)
20:36
[34a7bd71] Add the "instance" type to the fts5vocab virtual table module. For direct access to the contents of the fts5 term index. (user: dan, tags: trunk)
03:27
[e49279e6] Add a first draft of the "vtablog" extensions that implements a generic virtual table useful for experimentation using the command-line shell. (user: drh, tags: trunk)
2017-08-09
22:55
[dcdf0913] Preserve the error code from xConnect or xCreate methods in virtual table implementations when they are encountered during parsing. (user: drh, tags: trunk)
19:27
[94434a25] Various bug fixes for the new LSM1 virtual table design. (user: drh, tags: trunk)
18:40
[313df946] Work toward redesigning the interface to the LSM1 virtual table. (user: drh, tags: trunk)
2017-08-08
21:40
[795eede3] The identifier "vsnprintf" appears to be a reserved word in recent versions of XCode, so avoid using it as a structure field. (user: drh, tags: trunk)
21:30
[f4a4b149] Fix a faulty signed/unsigned character comparison in the LIKE optimization logic. (user: drh, tags: trunk)
20:03
[537e3be2] Enhance the CSV virtual table extension so that it accepts the last row of the CSV file even if the last row omits the closing \n, as long as the last row has a full set of columns. (user: drh, tags: trunk)
2017-08-07
19:12
[b26d7a1c] Avoid casting a value larger than 2^31 to a (size_t) or (SIZE_T) on systems where it is a 32-bit type. (user: dan, tags: trunk)
17:28
[38f30091] Fix an out-of-order test number. (user: mistachkin, tags: trunk)
17:14
[17447062] Add new test file "bigmmap.test". For testing builds with -DSQLITE_MAX_MMAP_SIZE > 2GB. (user: dan, tags: trunk)
2017-08-05
16:15
[6ce8b7ca] Fix a segfault in swarmvtab that could occur if there was an error in the SQL statement passed to the constructor. Add other test cases. (user: dan, tags: trunk)
15:49
[422cd9f3] Microoptimization in pcache1.c makes the code slightly smaller and faster. (user: drh, tags: trunk)
15:30
[002a9c7b] Fix memory leak in swarmvtab. (user: dan, tags: trunk)
2017-08-04
20:27
[0f6f6f03] Add the swarm virtual table to the existing union virtual table module. (user: drh, tags: trunk)
08:24
[e11e6eb1] Add SQLITE_API qualifiers to public API functions in header file sqlite3rbu.h. (user: dan, tags: trunk)
2017-08-03
15:43
[7676b39b] Fix some problems in RBU test cases. Also update RBU source code to better handle the trivial case where an RBU update is applied to a database zero pages in size. (user: dan, tags: trunk)
00:29
[654935c7] Optimization to the comparison opcodes in the byte-code engine. (user: drh, tags: trunk)
2017-08-02
22:43
[aea5990e] In the KeyInfo object, refactor the nField and nXField elements into nKeyField and nAllField, which are more useful and run a little faster. (user: drh, tags: trunk)
19:04
[527974d4] Avoid redundant calls to sqlite3ApiExit() in sqlite3_step(). (user: drh, tags: trunk)
18:28
[bcc6dacb] Only attempt to invoke WAL callbacks when a transaction has committed. (user: drh, tags: trunk)
18:27
[f3c39c29] Minor optimization on clearCell() (user: drh, tags: trunk)
15:50
[49ba54e2] Optimizations associated with error handling in btree cursors. (user: drh, tags: trunk)
12:38
[c45078c0] Remove unused token codes. (user: drh, tags: trunk)
11:36
[cb3742f5] Rearrange some of the added token codes for a very slight size decrease and performance increase. (user: drh, tags: trunk)
11:04
[1cad2926] Rearrange integer token values in the parser and logic in the resolveP2Values() routine for a small size reduction and performance increase. (user: drh, tags: trunk)
03:21
[eef643a3] Show which opcodes are jumps in the comments when generating the opcodes.h header file. (user: drh, tags: trunk)
03:21
[a6e4c5ae] Add the "%token" control to the lemon parser. Not currently used by SQLite. (user: drh, tags: trunk)
02:46
[82e46fe0] Faster implementation of resolveP2Values(). (user: drh, tags: trunk)
2017-08-01
20:59
[436a89b9] Slightly smaller and faster by allocating Parser objects on the stack. (user: drh, tags: trunk)
19:53
[3e02474c] Split the OP_Last opcode into OP_Last and OP_SeekEnd. Use OP_SeekEnd to position a cursor prior to appending. Ticket [cb91bf4290c211d]. (user: drh, tags: trunk)
14:16
[24190b22] Take advantage of atomic-write capabilities in the F2FS filesystem when the database is stored on such a filesystem. This is a compile-time option activated using SQLITE_ENABLE_BATCH_ATOMIC_WRITE. (user: drh, tags: trunk)
00:20
[95e8f316] Allow ATTACH and DETACH inside of a transaction. (user: drh, tags: trunk)
2017-07-31
19:39
[0c77935c] Recognize 'AMD64' as 'x64' in the TclKit batch tool for MSVC. (user: mistachkin, tags: trunk)
19:26
[b3b89f4f] Sync up the MSVC autoconf makefile. (user: mistachkin, tags: trunk)
17:51
[14e6c302] Fix a windows-compatibility issue in the recently added schema6.test script. (user: drh, tags: trunk)
17:06
[cdc6494c] Prevent OSSFuzz from using debugging pragmas that are disabled in default builds and which generate lots of excess output. (user: drh, tags: trunk)
16:42
[ade7ddf1] Move the generation of output column names earlier, to right after name resolution and before query transformations such as flattening. This prevents the names from getting mangled by query transformations, and obviates hacks in the query flattener that attempt to work around the name mangling. The resulting code is smaller and faster and gives more consistent output. Fix to ticket [de3403bf5ae5f72ed]. (user: drh, tags: trunk)
13:22
[2dd0c77d] Use batch atomic writes when running on a recent F2FS filesystem, if compiled with SQLITE_ENABLE_BATCH_ATOMIC_WRITE. (user: drh, tags: branch-3.19)
13:11
[499942b3] Move the generation of output column names earlier, to right after name resolution and before query transformations such as flattening. This prevents the names from getting mangled by query transformations, and obviates hacks in the query flattener that attempt to work around the name mangling. The resulting code is smaller and faster and gives more consistent output. This is a fix for ticket [de3403bf5ae5f72ed] and a cherry-pick of check-in [09834279aeca3bda] (user: drh, tags: branch-3.19)
12:19
[322a2ede] Correctly handle an "INTEGER PRIMARY KEY UNIQUE" column in a WITHOUT ROWID table. This is a fix for ticket [bc115541132dad136], cherry-picked from check-in [5216bfb73f1a49bdd8] (user: drh, tags: branch-3.19)
12:07
[b77f297d] Increase the version number to 3.19.4 (user: drh, tags: branch-3.19)
2017-07-30
19:50
[ac1da06a] Add the schema6.test module for demonstrating schemas that generate identical and different content. (user: drh, tags: trunk)
18:40
[5216bfb7] Correctly handle an "INTEGER PRIMARY KEY UNIQUE" column in a WITHOUT ROWID table. This is a fix for ticket [bc115541132dad136], a problem discovered by OSSFuzz. (user: drh, tags: trunk)
2017-07-28
22:22
[bcec155e] Update Tcl version used by the TclKit batch tool for MSVC. (user: mistachkin, tags: trunk)
22:13
[3286e1a0] Fix harmless compiler warning. (user: mistachkin, tags: trunk)
2017-07-27
20:24
[f5d330f4] Enhance the like optimization so that it works with an ESCAPE clause. (user: drh, tags: trunk)
19:59
[0645f25c] Increase the version number to 3.21.0 in anticipation for changes to go into the next release. (user: drh, tags: trunk)
18:49
[c63903a4] Merge the pointer-passing interface changes from the 3.20 branch. (user: drh, tags: trunk)
00:27
[24c9cd46] Do now allow the geometry object in the right operand of a MATCH operator in the RTREE extension to be inpersonated by a BLOB literal. (user: drh, tags: branch-3.19)
2017-07-26
19:59
[3808a00f] Add the new sqlite3.mDbFlags field. Factor out bits of sqlite3.flags that do not interact with PRAGMA statements into sqlite3.mDbFlags. (user: drh, tags: trunk)
10:04
[622b1089] Fix a comment on the UnpackedRecord.r1 and UnpackedRecord.r2 fields. No changes to code. (user: drh, tags: trunk)
2017-07-25
01:34
[1ca707a4] Fix a bug in the deterministic date/time function logic that can only appear with STAT3 or STAT4. (user: drh, tags: trunk)
2017-07-24
20:01
[1a632a9a] Do not attempt to run test file unionvtabfault.test with SQLITE_OMIT_VIRTUAL_TABLE builds. (user: dan, tags: trunk)
19:25
[9a5a3d60] Do not attempt to run test file unionvtab.test with SQLITE_OMIT_VIRTUAL_TABLE builds. (user: dan, tags: trunk)
17:37
[f483d06a] Handle a real OOM condition when incrblob2.test is run on a low-memory machine. (user: drh, tags: trunk)
15:29
[b1572d4e] Additional documentation on sqlite3_bind_pointer() and sqlite3_result_pointer(). No changes to code. (user: drh, tags: trunk)
14:44
[a98f07d9] Compiler warning fix associated with date/time functions. (user: drh, tags: trunk)
2017-07-21
20:31
[8de20fc7] Remove stray (and incomplete) comment from a test file. No changes to code. (user: mistachkin, tags: trunk)
2017-07-20
20:49
[e4b1dd36] Fix a harmless typo, but one that would show up in the documentation if not fixed. (user: drh, tags: trunk)
15:08
[a90c062d] Enhance the built-in date/time functions so that they can be used in CHECK constraints, in the WHERE clause or partial indexes, and index expressions, provided that none of the non-deterministic keywords ("now", "localtime", "utc") are used as arguments. (user: drh, tags: trunk)
2017-07-19
18:01
[d14fc621] Remove some 'breakpoint' commands in test files. (user: mistachkin, tags: trunk)
11:52
[c93284cd] Add further tests to unionvtab.test. (user: dan, tags: trunk)
2017-07-18
21:19
[255d6b99] Fix a crash in unionvtab caused by a misconfiguration. Add other test cases for the same. (user: dan, tags: trunk)
20:59
[505fdc8f] Fix shell.c.in so that it aligns with shell.c. (user: drh, tags: trunk)
20:49
[deadaad2] Add test cases and fix minor error-handling issues in unionvtab.c. (user: dan, tags: trunk)
20:30
[47b80ecc] Fix duplicate test name. No changes to code. (user: mistachkin, tags: trunk)
20:28
[d49639c2] Fix another harmless compiler warning. Get the MSVC makefile working with unionvtab. (user: drh, tags: trunk)
20:22
[4d147a1e] Suppress harmless compiler warnings in union-vtab. (user: drh, tags: trunk)
20:17
[a447fdf1] Remove an unused variable from unionvtab.c. (user: dan, tags: trunk)
20:03
[5bcf0f86] Improve the readability of the unionvtab code. (user: dan, tags: trunk)
19:51
[4a6c416f] Have unionvtab support constraints on the column that corresponds to the INTEGER PRIMARY KEY field of the underlying source tables in the same way as rowid. (user: dan, tags: trunk)
18:50
[6c9128e1] Add test cases to unionvtab.test. (user: dan, tags: trunk)
18:19
[948f9504] Add the union-vtab extension - still experimental and under active development. (user: drh, tags: trunk)
17:34
[9dbae1df] Do not use the flattening optimization for a sub-query on the RHS of a LEFT JOIN if that subquery reads data from a virtual table. Because it prevents the planner from creating an automatic index on the results of the sub-query, the flattening optimization sometimes slows things down in this case. (user: dan, tags: trunk)
17:13
[d2f0b2e8] Avoid creating an automatic index on the RHS of a LEFT JOIN to optimize an IS term. Fix for [ce68383b]. (user: dan, tags: trunk)
14:41
[0b69aa7e] Change the default command-line shell history depth to 2000 lines. (user: drh, tags: trunk)
2017-07-17
18:45
[e0aca7d2] Merge all changes from branch-3.20. Improvements to the fts5() extension interface. Work around a gcc/valgrind bug in the sqlite3_value_pointer() interface. (user: drh, tags: trunk)
13:37
[9e8e1c4a] Merge the pointer-type enhancement from the 3.20 branch. (user: drh, tags: trunk)
2017-07-15
20:33
[253945d4] Fix a register allocation problem in PRAGMA integrity_check that caused the same register to be used for two different purposes on the first ATTACHed database if the schema for the ATTACHed database was noticable more complex than the schema for the first database. Fix for ticket [a4e06e75a9ab61a1]. (user: drh, tags: trunk)
20:25
[687bd478] Fix a missing \n at the end of a comment causing a line to be too long. No code changes. (user: drh, tags: trunk)
17:57
[5ec37c62] Enhance the showstat4 utility program to show the full precision of floating point values in sqlite_stat4 tables. (user: drh, tags: trunk)
08:02
[0953e746] Fix another minor problem in test file like.test. (user: dan, tags: trunk)
06:35
[b61cc5a0] Fix test problems causing the "prepare" permutation test to fail. (user: dan, tags: trunk)
2017-07-14
20:53
[ad6699d4] Fix test problems with stmtvtab1.test under some permutations. (user: dan, tags: trunk)
19:52
[65f9f29c] Fix a typo in a comment used to generate documentation. No code changes. (user: drh, tags: trunk)
19:47
[ab165dcf] Identify requirements text in the SQLITE_DBCONFIG_ENABLE_QPSG documentation. Add some implementation marks for SQLITE_DBCONFIG_MAINDBNAME requirements. No code changes. (user: drh, tags: trunk)
19:22
[26423867] Add requirements marks for some of the new features in the 3.20 release. (user: drh, tags: trunk)
19:12
[394c6f4f] Tweak Makefile.in so that testfixture can be built with the --disable-amalgamation configure switch. (user: dan, tags: trunk)
17:50
[1eb56fe0] Modify mkopcodeh.tcl so that it can handle "same as" opcodes with values larger than the total number of opcodes. (user: dan, tags: trunk)
15:57
[6ed4ef03] In the LSM1 virtual table, dequote the filename before opening the file. (user: drh, tags: trunk)
15:45
[7dc5e70e] Changes to the LSM1 Tcl tests to make things work on Win32. (user: mistachkin, tags: trunk)
15:42
[b5e3b264] Include a hint in the header comment of the LSM1 makefile about how to set the LSMOPTS variable. (user: drh, tags: trunk)
15:32
[fe319bcd] Update the Makefile for LSM1 so that the LSMOPTS can be set prior to including the Makefile, in order to add platform arguments such as -fPIC. (user: drh, tags: trunk)
15:18
[604b9664] Fix a typo in the header comment to the remember extension. No code changes. (user: drh, tags: trunk)
15:14
[1bc4e934] Change the name of the STMT virtual table to SQLITE_STMT. Also remove the first column of that virtual table, which was a pointer leak. (user: drh, tags: trunk)
13:24
[8f6dd5e2] Minor updates to requirements marks and documention. No changes to code. (user: drh, tags: trunk)
11:40
[5e0a9793] Add very simple tcl tests for the lsm1 extension. (user: dan, tags: trunk)
04:16
[d8cd0434] Minor tweaks to documentation. No code changes. (user: drh, tags: trunk)
00:28
[271ca4ac] Fix harmless compiler warnings in the readline tab-completion logic of the command-line shell. (user: drh, tags: trunk)
2017-07-13
22:39
[889968bd] Improved documentation for the new sqlite3_bind_pointer() interface and its cousins. (user: drh, tags: trunk)
22:03
[26577814] Improvements to the documentation for SQLITE_PREPARE_PERSISTENT. No code changes. (user: drh, tags: trunk)
20:11
[9319f7b7] Fix documentation typo. No changes to code. (user: drh, tags: trunk)
19:11
[55f53965] Update header comments on the carray() and remember() extensions to bring out the fact that the pointer arguments must be bound using sqlite3_bind_pointer(). (user: drh, tags: trunk)
18:09
[72de49f2] Add new 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. (user: drh, tags: trunk)
2017-07-12
20:43
[0c805935] Smaller and faster implementation for vdbeFreeOpArray() and freeP4(). (user: drh, tags: trunk)
18:05
[604c11d1] Fix harmless compiler warnings about incomplete structure initializers. (user: drh, tags: trunk)
17:26
[f951c8b7] Remove unnecessary EP_Leaf settings on the Expr object. (user: drh, tags: trunk)
17:08
[54f55d3b] The EP_Resolved flag on the Expr object is not required for correctness nor performance, so remove it. (user: drh, tags: trunk)
14:10
[68824a43] Clarification and simplification and result column naming logic. (user: drh, tags: trunk)
14:03
[3e56a79a] Fix a problem in an lsmtest test case caused by writing data in "text" mode instead of "binary". (user: dan, tags: trunk)
12:19
[783100b8] Compile cleanly with SQLITE_OMIT_UTF16. (user: drh, tags: trunk)
2017-07-11
20:36
[39069941] In lsm, attempt to unmap the database file before truncating it when disconnecting. A mapped file may not be truncated on win32. (user: dan, tags: trunk)
19:55
[b0a49d90] Simplify the way in which the database file is truncated when the last connection disconnects. Also ignore the error code from the xTruncate call - as truncating a database file is always optional. (user: dan, tags: trunk)
18:11
[55e93f25] Fix harmless compiler warnings in the core. (user: drh, tags: trunk)
17:54
[2fe3a843] Make win32GetTimeOfDay() in the lsm1 test code more portable. (user: mistachkin, tags: trunk)
17:28
[b9debd62] Enabled the new sqlite3_prepare_v3() and sqlite3_prepare16_v3() interfaces for loadable extensions. (user: drh, tags: trunk)
17:06
[a8e651e0] Fix a whitespace alignment issue in lsm1. (user: mistachkin, tags: trunk)
16:46
[0f1307f1] Fix more harmless compiler warnings in lsm1, seen with MSVC 2015. (user: mistachkin, tags: trunk)
16:36
[cf6da4a5] Fix harmless compiler warnings seen with MSVC for lsm1. (user: mistachkin, tags: trunk)
13:59
[95cd1d9f] Add support for tab-completion (using the ext/misc/completion.c virtual table) to the command-line shell. (user: drh, tags: trunk)
13:34
[17e0bb12] Change the src/shell.c file so that it is generated from a new script at tool/mkshellc.tcl and the template file src/shell.c.in, and automatically includes the extensions it needs out of ext/misc. (user: drh, tags: trunk)
02:53
[724819b4] Fix a backup2 test case so that it works on FreeBSD. (user: drh, tags: trunk)
02:05
[0e213555] Add the "phase" output column on the COMPLETION table-valued function, for debugging. Improved comments on the implementation. (user: drh, tags: trunk)
01:38
[1cc97711] The COMPLETION virtual table now looks at the names of databases, tables, and columns in addition to SQL keywords. (user: drh, tags: trunk)
00:09
[caefbc72] Incomplete implementation of the COMPLETION table-valued function. So far it only works for SQL keywords. (user: drh, tags: trunk)
2017-07-10
21:32
[bd8a1fb9] Fix harmless compiler warnings in lsmtest. (user: mistachkin, tags: trunk)
20:39
[9a8f045d] Fix errors in comments in the STMT virtual table. No code changes. (user: drh, tags: trunk)
20:33
[bf7eda67] Minor cleanup and refactoring of the Win32 VFS for lsm1. (user: mistachkin, tags: trunk)
19:54
[05129374] Another spelling error in the README.md file. (user: drh, tags: trunk)
19:08
[12bc47c5] Spelling error in README.md (user: drh, tags: trunk)
19:07
[75c9327b] Yet another typo in README.md (user: drh, tags: trunk)
19:05
[20b1f0ef] Fix another README.md typo. (user: drh, tags: trunk)
19:03
[4f6ce7a3] Fix an obsolete statement about Lemon in the README.md file. (user: drh, tags: trunk)
18:57
[f3a6a64e] Cleanup header usage in lsmtest for files that require _O_BINARY. (user: mistachkin, tags: trunk)
18:52
[7bfd3ab7] Updates to the repository README.md file. (user: drh, tags: trunk)
18:33
[a82a9bea] In LSM, avoid calling the VFS xTestLock method to test for a lock that conflicts with one held by the same process. The results of such a call are considered undefined (since they are different under win32 and posix). (user: dan, tags: trunk)
18:04
[bde431b1] Add the "--newlines" option to the ".dump" command in the shell to disable the newline escaping mechanism. (user: drh, tags: trunk)
17:00
[c4cb9048] When multiple constraints need to be evaluated for a row, do any constraints that involve correlated subqueries last. Hence, the priority is index-covered constraints first, correlated subquery constraints last, and all others in the middle. This is a follow-on and improvement to the push-down optimization of check-in [d7bb79ed]. (user: drh, tags: trunk)
13:24
[dc857a96] For sqlite3TreeView() debugging output, show the Expr.flags field on scalar subqueries. (user: drh, tags: trunk)
12:07
[f27b6370] Update error message text for standard error codes to better describe the latest usage of those error codes. Modify sqlite3_open_v2() so that it does return a valid sqlite3 object in the event of SQLITE_MISUSE due to bad open flags, so that sqlite3_errmsg() does not report "out of memory" in that case. (user: drh, tags: trunk)
11:17
[871752f2] Remove the error message text from disused error codes such as SQLITE_EMPTY and SQLITE_FORMAT. (user: drh, tags: trunk)
2017-07-09
18:55
[70096c50] Always make "column%d" column-names 1-based, never 0-based. (user: drh, tags: trunk)
00:30
[acf3b9cc] Make sure the columns of a VALUES() clause are named "column%d" even if the VALUES() clause is a subquery in the FROM clause of an outer query. (user: drh, tags: trunk)
2017-07-08
22:30
[70dae08a] Add the --icc, --gcc7, and --orm options to the speed-check.sh test script. (user: drh, tags: trunk)
2017-07-07
22:47
[0c246017] Basic test cases for PRAGMA secure_delete=FAST. (user: drh, tags: trunk)
21:20
[12a421bc] Fix comment in the Win32 VFS for lsm1. (user: mistachkin, tags: trunk)
21:15
[aea6e0ff] For lsmtest, use a more portable means of setting open() files to binary. (user: mistachkin, tags: trunk)
20:35
[54a38555] Adjust copy_file() lsmtest function so it works properly for locked database files on Win32. (user: mistachkin, tags: trunk)
20:06
[38978ce6] Add the "PRAGMA secure_delete=FAST" option, which overwrites most deleted content without increasing the amount of I/O. Deleted content might persist on the free page list, however. And extra CPU cycles are used for zeroing, of course. (user: drh, tags: trunk)
19:43
[732f90d6] Change the error message text for SQLITE_ERROR to omit the part about "missing database" as that meaning is now obsolete (since approx SQLite 2.0). (user: drh, tags: trunk)
19:22
[0961ec87] Fix typos in Win32 VFS for lsm1. (user: mistachkin, tags: trunk)
19:12
[aa4890b9] Fix the memcpy calls in the lsmWin32OsShmMap function for lsm1. (user: mistachkin, tags: trunk)
19:02
[2d6faebc] Enhance the MSVC makefile 'clean' target to handle lsm1. (user: mistachkin, tags: trunk)
18:31
[277a7fed] Add support for LSM_DEBUG to the MSVC makefile for lsm1. (user: mistachkin, tags: trunk)
18:06
[cc329eb8] In the command-line shell, when running ".schema" give a sensible error when the database file is locked. (user: drh, tags: trunk)
17:57
[63599fa5] Fix the usleep() macro in the Win32 test code for lsm1. (user: mistachkin, tags: trunk)
17:43
[e0b6ae92] Add new PRAGMAs: "function_list", "module_list", and "pragma_list". All are enclosed within #ifdef SQLITE_INTROSPECTION_PRAGMAS. The compile-time option is not on ctime.c yet, since these are still experimental and one can always test "PRAGMA pragma_list" and see whether or not it returns an empty set. (user: drh, tags: trunk)
16:46
[9c7a9e80] Improve clarity in the Win32 VFS for lsm1. (user: mistachkin, tags: trunk)
16:29
[3340de83] Add support for LSM_DEBUG_MEM to the MSVC makefile for lsm1. (user: mistachkin, tags: trunk)
16:27
[5f726f28] Remove a block from the Win32 VFS for lsm1 that is now superfluous. (user: dan, tags: trunk)
16:09
[281ad505] In lsmtest, use an empty string instead of ":memory:" when requesting a temporary database from SQLite. This prevents other test code from trying to unlink() ":memory:", which fails on win32. (user: dan, tags: trunk)
16:06
[5a3140e4] Memory reallocation fix for the Win32 VFS for lsm1. (user: mistachkin, tags: trunk)
16:00
[c46f0f07] Enhance the sqlite3VdbeMultiLoad() interface to automatically generate the OP_ResultRow opcode on PRAGMA implementations, for a small reduction in the library footprint. (user: drh, tags: trunk)
13:59
[aacbb9a4] Exploit the fact that Expr.pRight and Expr.x are never used at the same time for a small performance gain. (user: drh, tags: trunk)
12:58
[115d4b83] More efficient and compact implementation of walkExpr(). (user: drh, tags: trunk)
12:43
[c1a1d68c] More aggressive use of EP_Leaf on expression nodes, to help prune searches. (user: drh, tags: trunk)
11:49
[9bc65635] Very slightly smaller and faster sqlite3WalkSelect(). (user: drh, tags: trunk)
2017-07-06
22:43
[7c7d53a9] Small adjustment to main.mk that facilitates giving non-standard compile-time options to the shell. (user: drh, tags: trunk)
16:33
[c5ed5ebd] Change the (machine-generated) keywordhash.h file to increase the scope of the tables used for keyword matching, so that the tables are accessible to functions other then keywordCode(). (user: drh, tags: trunk)
13:51
[efb4aab0] More compact implementation of the typeof() SQL function. (user: drh, tags: trunk)
13:23
[06269257] Avoid unnecessary upper-to-lower case conversion for function names when registering the built-in functions. (user: drh, tags: trunk)
03:06
[55ecd303] Small size reduction in findCollSeqEntry(). (user: drh, tags: trunk)
02:49
[503ba172] Avoid unnecessary calls to sqlite3GetCollSeq() for a small performance gain. (user: drh, tags: trunk)
01:28
[4da663d9] Slightly more compact implementation of the byte-code generator for the COMMIT and ROLLBACK commands. (user: drh, tags: trunk)
01:02
[7b2623f1] Small performance increase in sqlite3SrcListAppend(). (user: drh, tags: trunk)
2017-07-05
23:33
[f762f1ef] Make the hash table implementation a little smaller and faster. (user: drh, tags: trunk)
18:48
[b6b14ab6] Have fts3 virtual table cursors free internal resources when they reach EOF, instead of waiting until the xClose method is called. (user: dan, tags: trunk)
14:29
[2bce64c8] Fix a problem in lsmtest causing one test to fail for multi-threaded LSM connections. (user: dan, tags: trunk)
2017-07-04
19:34
[d1ba2002] Add the count-of-view optimization when compiled using SQLITE_COUNTOFVIEW_OPTIMIZATION. (user: drh, tags: trunk)
19:23
[ca757c86] Fix further OOM handling cases in LSM. (user: dan, tags: trunk)
17:25
[989a5c17] Fix a couple of problems in handling OOM conditions within LSM. (user: dan, tags: trunk)
12:50
[268a40f4] Fix a problem in the lempar.c Lemon template for YYSTACKDEPTH<=0 introduced by check-in [36e54cd8b1fb37] (user: drh, tags: trunk)
2017-07-03
21:09
[9bd3be92] Fix compiler warnings in LSM1, especially in the test logic. (user: drh, tags: trunk)
20:19
[b2c24879] Fix a bug in lsm queries on levels undergoing incremental an merge that contain range-delete markers. (user: dan, tags: trunk)
17:37
[9111ac69] Attempt to improve documentation on sqlite3_column_ and sqlite3_value_ interfaces. (user: drh, tags: trunk)
09:00
[e34eafd4] Add more tests for LSM log file recovery. Fix a problem in recovering log files that contain range deletes. (user: dan, tags: trunk)
2017-07-01
20:59
[dd55af30] Fix a memory management problem in lsm log recovery code. (user: dan, tags: trunk)
15:21
[66de6f4a] Enhance the RTree module to detect node truncation early and report an error. (user: drh, tags: trunk)
2017-06-30
20:11
[0db20efe] Improved documentation for sqlite3_value_type(). (user: drh, tags: trunk)
19:22
[d076d58f] Add some assert() statements in the Win32 interface for lsm1. (user: mistachkin, tags: trunk)
18:12
[0ef777d7] Fix some minor typos in lsm1. (user: mistachkin, tags: trunk)
11:44
[bacfe8cb] Avoid constantly freeing and reallocing small internal buffers associated with LSM cursors. Instead, allow them to persist for the lifetime of the cursor if they are LSM_SEGMENTPTR_FREE_THRESHOLD (default 1024) bytes or smaller. This change is based on research by Martijn Blaauw. (user: dan, tags: trunk)
2017-06-29
21:33
[5e3f9ea5] In the command-line shell, add the -quote option to start up in quote mode. Enhance the ".mode" command so that it reports the current output mode if given no arguments. (user: drh, tags: trunk)
21:11
[7782c04e] Remove the ".explain" command from the ".help" output of the command-line shell, though keep the implementation around for backwards compatibility. (user: drh, tags: trunk)
20:31
[a26e17ee] Some simple tests for the STMT virtual table. (user: drh, tags: trunk)
20:23
[3ed6877f] Avoid reading or writing the 32 locking bytes at the end of the first meta-page of an LSM database. (user: dan, tags: trunk)
19:08
[38ec4141] Fix issues in the POSIX and Win32 interfaces for lsm1. (user: mistachkin, tags: trunk)
17:27
[284707a7] Edit comments in sqlite.h.in used for generating documentation, to improve the description of the new sqlite3_prepare_v3() interfaces, and other miscellaneous cleanup. No changes to executable code. (user: drh, tags: trunk)
16:51
[cae64769] More updates to the Win32 interface for lsm1. (user: mistachkin, tags: trunk)
15:57
[1b4facb1] Correct typo in the Win32 interface for lsm1. (user: mistachkin, tags: trunk)
15:24
[03977248] Add interfaces sqlite3_prepare_v3() and sqlite3_prepare16_v3() with the extra prepFlags argument. Add the SQLITE_PREPARE_PERSISTENT option as one bit in that argument. Use the new option in FTS3, FTS5, and RTREE. (user: drh, tags: trunk)
15:13
[4df6e247] Further corrections to the Win32 interface for lsm1. (user: mistachkin, tags: trunk)
14:33
[adfdb801] Rename the "stmts" virtual table to just "stmt" without the final "s". (user: drh, tags: trunk)
14:17
[ebbd98e9] A couple fixes for the Win32 interface for lsm1. (user: mistachkin, tags: trunk)
13:41
[60c62829] Add the stmts virtual table to testfixture builds. Add new compile-time options SQLITE_ENABLE_QPSG and SQLITE_ENABLE_STMTSVTAB to ctime.c (user: drh, tags: trunk)
13:35
[b7794cc5] Compilation fix for lsm1 using MSVC. (user: mistachkin, tags: trunk)
13:19
[824e8327] Add the LSM1 extension. (user: drh, tags: trunk)
13:13
[88976ae3] Add the "stmts" virtual table to the amalgamation, activated when compiled using -DSQLITE_ENABLE_STMTSVTAB. Add the SQLITE_STMTSTATUS_REPREPARE and SQLITE_STMTSTATUS_RUN statistics outputs from sqlite3_stmt_status() and add corresponding columns to the stmts virtual table. Change the numeric value of SQLITE_STMTSTATUS_MEMUSED to get it out of the way of counter values. (user: drh, tags: trunk)
12:59
[c322bfa2] The query planner examines the values of bound parameters to help determine if a partial index is usable. Reprepares may happen if the bindings change. This behavior is disabled by the QPSG setting. (user: drh, tags: trunk)
2017-06-28
15:17
[f02a5459] Fix harmless compiler warnings in the CSV extension. (user: drh, tags: trunk)
15:01
[36e54cd8] Faster parser stack overflow detection. (user: drh, tags: trunk)
14:26
[cc4810b2] Minor tweak to the SQL grammar to make the parser tables a few bytes smaller. (user: drh, tags: trunk)
13:47
[b362f0d8] In the lemon-generated parser, store the number of symbols on the RHS of each rule as a negative number and add it to the stack pointer, rather than storing the value as a positive and subtracting it. This makes the parser faster. (user: drh, tags: trunk)
11:56
[c46d94a8] In the lemon-generated parser, automatically promote SHIFTREDUCE actions on nonterminal systems to pure REDUCE actions, for a performance enhancement. (user: drh, tags: trunk)
01:21
[6480916c] Simplify error handling logic in sqlite3_exec() to save about 40 bytes. (user: drh, tags: trunk)
01:12
[bfc4e7f3] Minor code simplification in the ALTER TABLE logic. (user: drh, tags: trunk)
00:55
[29d6ceb3] Avoid an unnecessary call to sqlite3XPrintf() in the code generator, for a performance improvement. (user: drh, tags: trunk)
2017-06-27
23:36
[b82efd2a] Add SQLITE_DBCONFIG_ENABLE_QPSG that forces the query planner stability guarantee. This is the fix for ticket [b9f010107724c] (user: drh, tags: trunk)
16:39
[87b38166] Fix a virtual table problem that can occur when the vtab is on the RHS of a LEFT JOIN and there is a MATCH constraint in the ON clause, or when the vtab is in a sub-query that is the RHS of a LEFT JOIN and there is a MATCH constraint in the WHERE clause of the sub-query. (user: dan, tags: trunk)
2017-06-26
21:08
[18f0616e] Add the -withoutnulls option to the "db eval" method in the TCL interface. (user: drh, tags: trunk)
18:42
[7c15d762] The ".import" command of the shell, and the csv virtual table extension both ignore a single UTF-8 BOM at the beginning of their input. (user: drh, tags: trunk)
2017-06-24
19:21
[c8186874] Disable shell tests for the .schema command if virtual tables are not available. (user: drh, tags: trunk)
16:35
[c2ea6293] Make sure the config.h header is included by ctime.c, if that header exists. (user: drh, tags: trunk)
16:03
[f0ec36d4] Query planner tuning: When deciding between two plans with the same cost, bias the selection toward the one that does not use the sorter. (user: drh, tags: trunk)
13:31
[0583b84a] Make sure enough memory is allocated for pathological quoting cases when computing a quoted table name in the command-line shell. (user: drh, tags: trunk)
2017-06-23
15:47
[712267c9] When generating individual loops for each ORed term of an OR scan, move any constant WHERE expressions outside of the loop, as is done for top-level loops. (user: dan, tags: trunk)
2017-06-21
01:36
[118f7bb3] Enable pragma virtual tables for the integrity_check, quick_check, and foreign_key_check pragmas. (user: drh, tags: trunk)
2017-06-20
18:19
[94e420ec] Rename the azCompileOpt global constant to avoid a harmless compiler warning about a name conflict with a local variable. (user: drh, tags: trunk)
17:43
[48346268] Ensure that the query planner knows that any column of a flattened LEFT JOIN can be NULL even if that column is labeled with "NOT NULL". Fix for ticket [892fc34f173e99d8]. (user: dan, tags: trunk)
2017-06-17
18:49
[f3db02f4] Fix a missing comma in the previous check-in. (user: drh, tags: trunk)
17:55
[9a443397] Rework the code in ctime.c a bit to report on more compile time options. And to only output configuration options passed in to SQLite, not the default values of #define symbols set automatically. Also generate the large array in ctime.c using new script tool/mkctime.tcl, instead of entering it manually. (user: dan, tags: trunk)
16:39
[603838fc] Add extra test cases for sqlite3changeset_apply() and ALTER TABLE ADD COLUMN. (user: dan, tags: trunk)
2017-06-16
18:31
[3944a32e] Minor refactoring change to clarify how ATTACH works. No functional changes. (user: drh, tags: trunk)
13:43
[11693849] Prevent pagesize changes on VACUUM in encrypted databases even when running the VACUUM on an attached database. (user: drh, tags: trunk)
2017-06-15
16:56
[254617a1] Move the "shell_add_schema()" SQL function used by the ".schema" command of the command-line shell to a different spot in the shell.c source file so that it is not in the middle of an unrelated module. (user: drh, tags: trunk)
16:45
[ca1ff707] Fix typo and improve the wording of the description of "Metadata" in the output of the sqlite3_analyzer tool. (user: drh, tags: trunk)
13:07
[9afd7a2f] Fix harmless compiler warnings in the shell.c file (user: drh, tags: trunk)
12:50
[c7f778b7] Improvements to the ".tables" command in the command-line shell so that it shows the name of all schemas if the name is anything other than "main". (user: drh, tags: trunk)
12:21
[48e08628] In the command-line shell, enhance the ".schema" command show that it shows the schema for ATTACH-ed databases in addition to "main". (user: drh, tags: trunk)
00:52
[43ad41ef] Enhance the sqlite3_analyzer.exe utility so that it computes and shows the number of bytes of metadata on btree pages and per table and index entry. (user: drh, tags: trunk)
2017-06-13
16:52
[c433672d] Fix sqlite3rbu_close() so that the pzErrmsg parameter may be passed NULL. (user: dan, tags: trunk)
04:31
[35b34bdf] Fix the processing of double-negatives in WHERE clause constraints with STAT4. Ticket [cfa2c908f2182] (user: drh, tags: trunk)
2017-06-11
20:17
[0bbdaf28] Fix an off-by-one error that messes up the display of loop codes in the ".wheretrace" debugging output for queries with more than 62 candidate loops when SQLITE_ENABLE_WHERETRACE is on. (user: drh, tags: trunk)
19:51
[87aceb41] When reusing a materialized view, make sure the estimated number of output rows is correctly initialized to avoid confusing the query planner. (user: drh, tags: trunk)
19:40
[8f92b7a6] Fix the sessiondiff test module so that it does not run if the session extension is not enabled. (user: drh, tags: trunk)
18:26
[a2f77285] Fix a potential null-pointer deference following OOM introduced by check-in [e39795d7] (unreleased). (user: drh, tags: trunk)
2017-06-09
11:43
[2881ab1e] Update the documentation to make it clear that the table name parameter to sqlite3_table_column_metadata() may not be NULL. (user: drh, tags: trunk)
02:27
[3168e2c9] Adjust the implementation of the ".selftest" feature of the shell to avoid using the deprecated sqlite3_get_table() interface. (user: drh, tags: trunk)
2017-06-08
14:35
[343e5599] Add a testcase() to confirm that an OOM on sqlite3DbStrNDup() is handled correctly in trigger.c. (user: drh, tags: trunk)
14:26
[0ee482a1] Version 3.19.3 (user: drh, tags: release, branch-3.19, version-3.19.3)
11:32
[97b5c4a5] Fix an issue with OPT_FEATURE_FLAGS in configure.ac. (user: drh, tags: branch-3.19)
11:27
[903fff53] Increase the version number to 3.19.3. (user: drh, tags: branch-3.19)
11:26
[9478106c] Ensure pointer map entries are always added when a row that does use overflow pages replaces one that does not in an auto-vacuum database. Fix for [fda22108]. (user: drh, tags: branch-3.19)
11:14
[b30dfba8] Ensure pointer map entries are always added when a row that does use overflow pages replaces one that does not in an auto-vacuum database. Fix for [fda22108]. (user: dan, tags: trunk)
2017-06-07
22:32
[e39795d7] In SQLITE_DEBUG mode, attempt to log the page number of the database that contained the problem when SQLITE_CORRUPT errors are seen. (user: drh, tags: trunk)
2017-06-06
18:20
[234ede26] Add the SQLITE_DEFAULT_ROWEST compile-time option for changing the estimated number of rows in tables that lack sqlite_stat1 entries. (user: drh, tags: trunk)
2017-06-05
19:20
[9eea3670] Fix a subtle bug in the remember UDF of the kvtest.exe utility program. (user: drh, tags: trunk)
16:33
[73c70590] Fix a bug in test_fs.c that occurs when the first component of a path contains a GLOB or LIKE escape character. (user: dan, tags: trunk)
13:28
[f3c25df4] For the kvtest utility, add the --vacuum option to "kvtest stat" and also run PRAGMA integrity_check with "kvtest stat". (user: drh, tags: trunk)
12:29
[ed0842c1] Fix the column width deduction logic in the command-line shell to account for multi-byte utf8 characters. (user: drh, tags: trunk)
10:31
[ead29f9c] Omit some of the fstree tests in vtabH if the PWD contains LIKE wildcards. (user: drh, tags: trunk)
2017-06-03
20:09
[65182ce0] Initialize a variable to zero to prevent an (incorrect) compiler warning of it potentially being uninitialized. (user: drh, tags: trunk)
19:16
[c4089ffb] Fix the SQLITE_PTR_TO_INT macro so that works on recent versions of LLVM on Macs. (user: drh, tags: trunk)
18:27
[dd7e043f] Remove unused header file from kvtest. (user: drh, tags: trunk)
17:24
[f568f666] In kvtest, add the ability to work with a hierarchy of files on disk, in addition to having all files in the same directory. (user: drh, tags: trunk)
15:17
[5828633c] Add the --nocheckpoint and --multitrans options to kvtest. (user: drh, tags: trunk)
2017-06-02
23:32
[7fdc78a6] Add the --fsync flag to kvtest, and document the --nosync flag. (user: drh, tags: trunk)
19:31
[fc73e7d2] Work toward enhancing kvtest to measure write performance. (user: drh, tags: trunk)
15:44
[ab33d299] Change the name of the OP_Seek opcode into OP_DeferredSeek for better clarity of function. No functional code changes. (user: drh, tags: trunk)
13:16
[d637feb4] Fix a typo in the header comment of the "series.c" virtual table extension. (user: drh, tags: trunk)
2017-06-01
01:53
[4c2458c1] Add a comment to the Lemon documentation regarding the security of the lemon.exe command-line tool. (user: drh, tags: trunk)
2017-05-31
17:30
[c26cf978] Add the SQLITE_STMTSTATUS_MEMUSED opcode to sqlite3_stmt_status() for finding the heap memory usage by a single prepared statement. (user: drh, tags: trunk)
16:09
[cb4c5c66] Add the experimental "stmts" virtual table for introspection of prepared statements. (user: drh, tags: trunk)
13:45
[df785943] Avoid allocating excess memory to the KeyInfo objects. (user: drh, tags: trunk)
13:27
[7d58836b] Remove a completely unnecessary memset() from the INSERT code generator. (user: drh, tags: trunk)
11:24
[8885b446] Very small performance increase in sqlite3VdbeSetNumCols(). (user: drh, tags: trunk)
03:20
[326e63d7] Reorder fields in the PgHdr object for a performance increase. (user: drh, tags: trunk)
02:58
[de28e651] Avoid unnecessary memory zeroing during expression list allocation. (user: drh, tags: trunk)
00:49
[af8c0fed] Size and performance optimizations to sqlite3ResolveExprNames(). (user: drh, tags: trunk)
2017-05-30
18:34
[e972a386] Change sqlite3BtreeNext() and sqlite3BtreePrevious() so that they return SQLITE_DONE if they have already reached the end (or beginning) of the table. This gives a performance increase and size reduction. (user: drh, tags: trunk)
18:14
[69ae6889] Omit a test of codepoint 0x202F (non-break narrow space) from the fts3 ICU tests. Different versions of ICU apparently handle this obscure codepoint slightly differently. (user: dan, tags: trunk)
2017-05-29
22:44
[9a3e3b34] More efficient error handling and reset in the binding mechanism. (user: drh, tags: trunk)
17:59
[dd61c736] Omit unnecessary fstat() calls for determining the database file size, resulting in smaller and faster code. (user: drh, tags: trunk)
17:43
[43ce3bd3] Fix an issue with OPT_FEATURE_FLAGS in configure.ac. (user: drh, tags: trunk)
14:30
[cb29b838] Fix a typo in a comment. No code changes. (user: drh, tags: trunk)
14:26
[6854a34e] Optimizations to the Walker object and its methods to make the code a little smaller and to help it run a little faster. (user: drh, tags: trunk)
13:09
[43c9ae37] Correctly initialize the iSelectId of FROM clause terms that are a self join of a reused materialized subquery. Without this, the EXPLAIN QUERY PLAN output for the query will identify the subquery using the uninitialized (and arbitrary) iSelectId. (user: drh, tags: trunk)
03:48
[7cc940a9] Improve shell help text for the '.open' command. (user: mistachkin, tags: trunk)
2017-05-27
22:42
[542dc4c5] Smaller and faster vdbeSorterCompareText(). (user: drh, tags: trunk)
2017-05-25
21:35
[6f415833] Small performance increase and size decrease in the btreeInitPage() routine. (user: drh, tags: trunk)
17:27
[6513e4a1] Merge the LEFT JOIN query flattener fixes from 3.19.2. (user: drh, tags: trunk)
16:50
[edb4e819] Version 3.19.2 (user: drh, tags: release, branch-3.19, version-3.19.2)
11:39
[1a074c8a] The SQLITE_EXTRA_IFNULLROW compile-time option causes OP_IfNullRow opcodes to be issued for references to the right-hand side table of *any* flattened join, not just LEFT JOINs. This puts extra stress on the OP_IfNUllRow opcodes for testing purposes. (user: drh, tags: branch-3.19)
00:28
[b30a364a] The TK_IF_NULL_ROW expression node must be treated as a variable that references the table Expr.iTable. Proposed fix for ticket [7fde638e94287d2c]. (user: drh, tags: branch-3.19)
00:12
[c315727a] Increase the version number to 3.19.2 since ticket [7fde638e94287d2] is going to necessitate another patch release. (user: drh, tags: branch-3.19)
00:08
[77fc2301] The TK_IF_NULL_ROW expression node must be treated as a variable that references the table Expr.iTable. Proposed fix for ticket [7fde638e94287d2c]. (user: drh, tags: trunk)
2017-05-24
15:32
[57a60e95] Fix harmless compiler warnings in FTS5. (user: mistachkin, tags: trunk)
13:08
[f6d7b988] Version 3.19.1 (user: drh, tags: release, branch-3.19, version-3.19.1)
04:18
[cfb0d9e0] Fix a problem in STAT4 equality estimation for multi-column indexes introduced by check-in [3e0590dee0e68cc1599]. (user: drh, tags: trunk)
2017-05-23
20:00
[84996aef] Remove the msvc.h header file from the autoconf tarball. (user: drh, tags: trunk)
19:35
[4440e420] Do not use strcpy() in the (obsolete) amatch extension. In releasetest.tcl, run Apple tests using -Os instead of -O1 (user: drh, tags: trunk)
15:33
[05ada741] Disable the LEFT JOIN flattening optimization for aggregate queries, as it does not currently work. Further fix for ticket [cad1ab4cb7b0fc344]. (user: drh, tags: branch-3.19)
15:21
[44b21e35] Disable the LEFT JOIN flattening optimization for aggregate queries, as it does not currently work. Further fix for ticket [cad1ab4cb7b0fc344]. (user: drh, tags: trunk)
12:44
[28d2902d] Ensure that the expression rewriter inside the query flattener decends into the substructure of the TK_IF_NULL_ROW operator. This is a continuation of the fix for ticket [cad1ab4cb7b0fc344]. (user: drh, tags: branch-3.19)
12:36
[941d8142] Ensure that the expression rewriter inside the query flattener decends into the substructure of the TK_IF_NULL_ROW operator. This is a continuation of the fix for ticket [cad1ab4cb7b0fc344]. (user: drh, tags: trunk)
01:35
[16656b8f] Change the version number to 3.19.1. (user: drh, tags: branch-3.19)
01:30
[4510d55d] Remove a surplus semicolon, which was harmless on gcc and clang but caused compile-time errors on msvc. This only comes up using the encryption extension. (user: drh, tags: branch-3.19)
01:29
[919d36e6] When flattening a query, make sure iTable attribute of TK_IF_NULL_ROW operators (that result from a prior flattening of a LEFT JOIN) are updated correctly. Fix for ticket [cad1ab4cb7b0fc344]. (user: drh, tags: branch-3.19)
01:21
[92c17850] When flattening a query, make sure iTable attribute of TK_IF_NULL_ROW operators (that result from a prior flattening of a LEFT JOIN) are updated correctly. Fix for ticket [cad1ab4cb7b0fc344]. (user: drh, tags: trunk)
00:32
[987a2b55] Remove a surplus semicolon, which was harmless on gcc and clang but caused compile-time errors on msvc. This only comes up using the encryption extension. (user: drh, tags: trunk)
2017-05-22
18:09
[0bb23c48] Fix incompatibilities between the "sqldiff --changeset" command and the sessions module. Specifically, allow sessions to process changesets containing tables with zero operations on them and have sqldiff output the expected output for tables with multi-column primary keys. (user: dan, tags: trunk)
18:00
[5fe28e15] Add the ".cd" command to the command-line shell. (user: drh, tags: trunk)
17:39
[ab471f61] Increase the version number to 3.20 for the next release cycle. (user: drh, tags: trunk)
14:04
[e6ba2a93] Merge the last-minute 3.19.0 changes into trunk. (user: drh, tags: trunk)
13:58
[28a94eb2] Version 3.19.0 (user: drh, tags: release, version-3.19.0, branch-3.19)
13:06
[3dd6fe53] Include the "msvc.h" header file in the amalgamation tarball. (user: drh, tags: branch-3.19)
08:04
[3ea2bad2] Fix a case where NULL was being passed to memcmp() following an OOM. This is probably not a real problem, as the number-of-bytes parameter was passed 0 in this case, but it was causing a santizer complaint. (user: dan, tags: trunk)
00:45
[f261678c] When planning a query using sorting, resolve ties in the solver by selecting loop plans with the smaller unsorted cost. (user: drh, tags: trunk)
2017-05-19
23:04
[50ad60de] Prevent a possible NULL pointer dereference in the OP_Found opcode that can follow an OOM error. Problem found by OSS-Fuzz. (user: drh, tags: branch-3.19)
22:51
[c2de178f] Prevent a possible NULL pointer dereference in the OP_Found opcode that can follow an OOM error. Problem found by OSS-Fuzz. (user: drh, tags: trunk)
20:55
[946b87a5] Improved comments on one routine in the query planner. Improved diagnostic output for ".wheretrace". No production code changes. (user: drh, tags: trunk)
20:47
[68942a4f] Fix a documentation typo. No changes to code. (user: drh, tags: trunk)
20:46
[f2b829ec] Branch for the 3.19 release. (user: drh, tags: branch-3.19)
12:32
[35f72104] Fix some problems in fts5 code detected by -fsanitize=undefined. (user: dan, tags: trunk)