SQLite
Timeline
Not logged in

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

2017-10-19
15:17
[04925dee] Leaf: Take extra care to avoid an OOB read caused by a corrupt b-tree page. (user: dan, tags: trunk)
2017-10-18
15:02
[cd0471ca] Avoid using snprintf as a member variable of a struct in sqlite3ext.h. This causes problems on OSX. Similar to fix [a1fd3aa8]. (user: dan, tags: trunk)
2017-10-17
18:33
[6a08c434] The source code files generated for the 'sqlite3-all.c' target should not have Windows line-endings. (user: mistachkin, tags: trunk)
13:44
[e2af0cc6] Fix the ".check" command of the command-line shell to return 1 (error) rather than 2 (exit) on a test failure. (user: drh, tags: trunk)
2017-10-16
11:50
[700a3c69] Improved comments, including a typo fix, on the whereLoopCheaperProperSubset() function. (user: drh, tags: trunk)
2017-10-15
22:16
[ee31c043] In the query planner, do not consider index X to be a proper subset of index Y if X is a covering index but Y is not. (user: drh, tags: trunk)
2017-10-14
19:54
[ac8786f3] Updates to the Makefiles for MSVC. (user: mistachkin, tags: trunk)
2017-10-13
20:14
[d65d1f29] Improved ability to generate stand-alone program using TCL and SQLite by compiling with -DTCLSH_INIT_PROC=name to cause the TCL interpreter to be initialized using procedure name(). Both sqlite3_analyzer and testfixture are now built this way. (user: drh, tags: trunk)
18:58
[298a3fdd] Add the tcl/mkccode.tcl script used to construct a single C-language source fiel for programs that combine C-code, SQLite, and TCL. Use this script to construct the sqlite3_analyzer program. (user: drh, tags: trunk)
16:19
[a9c4bc88] Move a bunch of unrelated test code out of tclsqlite.c and into test_*.c files. There is still some test code in tclsqlite.c, but the amount is greatly reduced. (user: drh, tags: trunk)
2017-10-12
20:37
[eaeeb09d] Add the sqlite_dbpage virtual table (enabled using SQLITE_ENABLE_DBPAGE_VTAB). Make that virtual table and dbstat available to the command-line shell. (user: drh, tags: trunk)
13:47
[36acc0a9] The src/shell.c file is now generated from src/shell.c.in, so remove shell.c from version control and update the makefiles to build it automatically. (user: drh, tags: trunk)
13:21
[29292169] Merge fixes from the 3.21 branch. (user: drh, tags: trunk)
11:33
[c36761e1] Fix a potential crash that may follow an OOM or other system error in the shell tool. (user: dan, tags: trunk)
11:13
[4b68f424] Update some test cases to work with SQLITE_OMIT_VIRTUALTABLE and DEFAULT_AUTOVACUUM builds. (user: dan, tags: trunk)
2017-10-11
20:27
[5c4980ef] Add test file mmapwarm.test. With tests for the sqlite3_mmap_warm() extension. (user: dan, tags: trunk)
12:20
[0245adff] In the speed-check.sh test script, allow an additional test-name argument which becomes the comparison baseline, in place of "trunk". (user: drh, tags: trunk)
2017-10-10
13:37
[b8c1b5a5] DROP TABLE now works for WITHOUT ROWID tables and the SQLITE_OMIT_AUTOVACUUM compile-time option. Fix for ticket [e651b1341861d6] (user: drh, tags: trunk)
2017-10-08
02:22
[5594a121] Fix harmless compiler warnings in FTS5 seen with MSVC. (user: mistachkin, tags: trunk)
2017-10-07
23:58
[39d920d1] Fix harmless compiler warning seen with MSVC. (user: mistachkin, tags: trunk)
23:35
[63d1b425] Revise variable declaration moved in the previous check-in so sqlite3VdbeReset() is consistent with sqlite3VdbeRewind(). (user: mistachkin, tags: trunk)
23:31
[14b181e8] Fix C99-style variable declaration issue seen with older versions of MSVC. (user: mistachkin, tags: trunk)
2017-10-06
18:00
[702b137a] Add tests for the example fts3 "rank" function that appears in the documentation. (user: dan, tags: trunk)
2017-10-05
20:57
[8ca0fa8d] Fix compiler warnings that come up with SQLITE_OMIT_WAL. (user: drh, tags: trunk)
20:02
[373b0ace] Fix a problem building with SQLITE_OMIT_WAL defined. (user: dan, tags: trunk)
19:12
[4258fb57] Fix the command-line shell so that the ".schema --indent" command does a better job of dealing with \r\n in the middle of a CREATE statement in the schema. (user: drh, tags: trunk)
11:29
[d22c99b6] Disable the delta checksum verification in RBU by default. Reenable it using -DRBU_ENABLE_DELTA_CKSUM, if desired. (user: drh, tags: trunk)
2017-10-04
18:26
[40964a4e] Updates to requirements marks. (user: drh, tags: trunk)
17:05
[7c69f8f1] Update the speedtest1 program so that it prints the output of "PRAGMA compile_options" if the -stats option is specified. (user: dan, tags: trunk)
16:35
[182ec9d6] Fix typos in session extension header comments. No changes to code. (user: mistachkin, tags: trunk)
14:13
[ef94ea06] New test cases for ticket [b899b6042f97f5] derived from a bug report on the mailing list from Wout Mertens. (user: drh, tags: trunk)
12:08
[9ff49441] Amend recent changes to busy.test to avoid failing with SQLITE_ENABLE_STAT4 builds. (user: dan, tags: trunk)
12:06
[4464f40c] Turn restriction 20 on the query flattener into an assert since the situation restricted can no longer occur because of the more aggressive use of co-routines. (user: drh, tags: trunk)
10:39
[fb83c3d8] Add tests to verify that the busy-handler is invoked correctly when processing "PRAGMA optimize" and ANALYZE commands. (user: dan, tags: trunk)
05:59
[66629b2a] Remove a redundant restriction from the query flattener. (user: drh, tags: trunk)
02:30
[d050dc60] Fix a minor typo in the query flattener header comment. No code changes. (user: drh, tags: trunk)
2017-10-03
19:53
[772b0db1] Simplify the computation of types on columns of a view. (user: drh, tags: trunk)
18:35
[f5c39583] Do not enable SELECT tracing with -DSQLITE_DEBUG. Require the -DSQLITE_ENABLE_SELECTTRACE compile-time option to enable SELECT tracing. (user: drh, tags: trunk)
17:29
[1dd82808] Add some OK_IF_ALWAYS_TRUE() marks on optimization branches in select.c. (user: drh, tags: trunk)
17:17
[7be760e9] Remove an unused variable from sqlite3Insert() and fix harmless compiler warnings associated with -DSQLITE_MUTATION_TEST. (user: drh, tags: trunk)
16:57
[966438bd] Fix the sqlite3_column_decltype() interface to return the correct datatype when the value comes through a CTE. (user: drh, tags: trunk)
14:24
[c5ad5e16] The simplification to sqlite3SelectExpand() in last night's [3a4ffb21] check-in was not completely correct. This adjustment is needed for correct OOM handling in some configurations. (user: drh, tags: trunk)
03:01
[e4342fd4] Do not compute column and row size estimates for the transient Table objects associated with the result set of a SELECT statement, since those estimates are never used for anything constructive. (user: drh, tags: trunk)
2017-10-02
23:50
[3a4ffb21] Mark a single branch within sqlite3SelectExpand() as an optimization. (user: drh, tags: trunk)
23:30
[5bf2ccb9] Simplification to sqlite3SelectPrep() for improved testability. (user: drh, tags: trunk)
21:29
[6035c9b2] Add the OK_IF_ALWAYS_TRUE() and OK_IF_ALWAYS_FALSE() macros for marking conditionals that improve performance but do not change the outcome. (user: drh, tags: trunk)
13:20
[d815f255] Avoid using lookaside memory for persistent virtual table structures. (user: drh, tags: trunk)
02:52
[c9104b59] The query planner now always prefers to implement a FROM-clause subquery using a co-routine rather than flattening the subquery into the outer query. (user: drh, tags: trunk)
02:32
[8000d230] Improvements to a comment in lempar.c. No code changes. (user: drh, tags: trunk)
2017-09-29
16:07
[0840f9f8] Clean up the comments on the query flattener to more clearly and accurately express the conditions under which the flattener is able to run. (user: drh, tags: trunk)
12:44
[2a45bbc9] Make sure the 6th parameter to the authorizer callback for view subqueries has the correct view name. (user: drh, tags: trunk)
12:12
[04ef40a8] Better names for subqueries in EXPLAIN comments. (user: drh, tags: trunk)
2017-09-28
17:29
[ff2f5a31] Remove the (undocumented) query-planner control that prevents a "SELECT ALL" subquery in FROM clause from being implemented as a co-routine. This control was added by [a29e117d7ec], where it was called a "stop-gap". (user: drh, tags: trunk)
16:56
[fd3267ef] Fix over-length source code lines in select.c. No logic changes. (user: drh, tags: trunk)
13:47
[5b9ae693] Fix an issue introduced by check-in [4cd2a9672c59] (2017-03-03) that could allow a negative value in the 3rd parameter to memmove() when defragmentPage() is called on a btree page with a corrupted freeblock list. The corruption is now detected early and results in an SQLITE_CORRUPT return before the memmove() is reached. (user: drh, tags: trunk)
01:58
[490e488e] Add new routines to simplify dealing with collating sequences in expressions: sqlite3ExprNNCollSeq() and sqlite3ExprCollSeqMatch(). (user: drh, tags: trunk)
01:09
[04130018] Indexes on expressions with a COLLATE clause are able to satisfy an ORDER BY with the same COLLATE clause. (user: drh, tags: trunk)
00:01
[80277d2f] In two places, change the magic number -1 to its proper symbol XN_ROWID. (user: drh, tags: trunk)
2017-09-27
16:51
[f5ef2e1b] Disable tests for the LIKE optimization when ICU is enabled, since the LIKE optimization only works for the built-in LIKE operator and ICU overrides the built-in. (user: drh, tags: trunk)
2017-09-25
09:37
[24a95e14] Add an extra snapshot related test case. (user: dan, tags: trunk)
2017-09-22
16:23
[2c03d8b8] Use the updated Win32 VFS semantics for winOpen from check-in [5d03c738e9] for WinRT, et al, as well. (user: mistachkin, tags: trunk)
12:52
[403b88a8] Partial backout of check-in [e0af9a904076]. It turns out we do need some extra space at the end of the record blob as an overrun area to use when decoding a maliciously malformed record. (user: drh, tags: trunk)
00:24
[0a12915b] Update the configure script so that it looks for tclsh8.7 ahead of tclsh8.6. (user: drh, tags: trunk)
2017-09-21
20:43
[5d03c738] In the Windows VFS, when trying to open a database file read/write, if it fails check to see if the file exists and is read-only and immediately fall back to a read-only open attempt, rather than running the AV retry loop. (user: drh, tags: trunk)
20:03
[fa3f5bcc] In the Windows VFS, do not emit an SQLITE_CANTOPEN error log message when falling back from SQLITE_OPEN_READWRITE to SQLITE_OPEN_READONLY. Wait until the open fails completely. (user: drh, tags: trunk)
19:08
[68e9a840] Fix harmless UB in the ICU extension. (user: drh, tags: trunk)
13:11
[fd4ec0cd] Fix a potential use of an uninitialized pointer in RTree following an OOM error. (user: drh, tags: trunk)
10:24
[65765222] Fix a bug in tool/mksourceid.c: The mksourceid.c program was incorrectly including the "# Remove this line" line of the Fossil-generated "manifest" file in the SHA3 hash. That means that all SQLITE_SOURCE_IDs for trunk versions going back to check-in [30966d56] (2017-08-22) are incorrect. (user: drh, tags: trunk)
01:04
[f8b1c64d] Revert one performance improvement changes from check-in [3b3e32d4cd07] as it was causing a reference to an uninitialized value. (user: drh, tags: trunk)
00:49
[adc12c83] Fix the rendering of the P4_INTARRAY argument to the OP_IntegrityCk opcode in the output of EXPLAIN. (user: drh, tags: trunk)
2017-09-20
18:47
[4b3f7eac] Size and performance optimization on sqlite3VdbeMemGrow(). (user: drh, tags: trunk)
18:07
[e0af9a90] The BLOB returned by sqlite3VdbeMemFromBtree() does not need to be zero-terminated. (user: drh, tags: trunk)
17:49
[3b3e32d4] Small size and performance optimization in the bytecode engine. (user: drh, tags: trunk)
10:47
[7f2bd4ff] Improved resolution of large integer values in "CAST(x AS NUMERIC)". (user: drh, tags: trunk)
09:09
[5b2002f3] Updates to the "lemon.html" document received from Andy Goth. (user: drh, tags: trunk)
2017-09-18
18:17
[1b2de414] Add the sqlite3_mmap_warm() function as an extension in the ext/misc/mmapwarm.c source file. (user: drh, tags: trunk)
13:16
[a9447193] Minor simplification of error message generation during compound query code generation. (user: drh, tags: trunk)
09:40
[74f399d8] The out-of-bounds read on recovery fix of check-in [378afa16381a222a] caused problems for some corner-case error conditions. This alternative fix appears to work better. (user: drh, tags: trunk)
00:18
[42f07775] Fix the CSV virtual table extension so that it works when the default character is unsigned. (user: drh, tags: trunk)
2017-09-17
19:45
[29227d00] Do not make the assumption (as check-in [4da49a95c0f07] incorrectly did) that the ExprList returned by sqlite3ExprListDup() would never be passed into sqlite3ExprListAppend(). Include a new test case that shows this sometimes does happen. (user: drh, tags: trunk)
2017-09-16
20:58
[5dbb255a] Simplify the sqlite3VdbeGet() routine. Smaller, faster, and easier to maintain. (user: drh, tags: trunk)
2017-09-15
17:40
[dd95887f] Remove an unnecessary parameter from selectInnerLoop(). (user: drh, tags: trunk)
15:38
[5dc3ecb5] Improved the header-comment documentation on sqlite3ExprCodeExprList(). No changes to code. (user: drh, tags: trunk)
15:17
[4da49a95] Optimization to the ExprList object to make it slightly smaller and faster. (user: drh, tags: trunk)
14:36
[f7f0bf1d] Fix a harmless comment typo. No changes to code. (user: drh, tags: trunk)
2017-09-14
21:12
[1a7e0b61] Add another test case for the problem fixed by the previous commit. (user: dan, tags: trunk)
20:41
[cf5bf42c] Avoid an out-of-bounds read that can be caused by a specially constructed journal file. (user: dan, tags: trunk)
02:36
[378afa16] Avoid an out-of-bounds read on a recovery attempt using a carefully crafted database and rollback journal with mismatched page sizes. The test case for this is in TH3. (user: drh, tags: trunk)
2017-09-13
20:20
[43c6023b] Test case update due to PRAGMA integrity_check enhancements in [8525c30c]. No changes to code. (user: drh, tags: trunk)
12:55
[87ccdf9c] Disable FTS3 matchinfo() tests that assume a littleEndian platform when running on bigEndian. (user: drh, tags: trunk)
00:33
[8525c30c] Improvements to PRAGMA integrity_check for better detection of malformed records. Integrity_check now avoids returning SQLITE_CORRUPT on a corrupt record. Also includes microoptimizations that I stumbled over while working on integrity_check. (user: drh, tags: trunk)
00:01
[a5a19492] Fix test script comment. No changes to code. (user: mistachkin, tags: trunk)
2017-09-12
23:58
[3a2793aa] Remove use of the rand_s() function (added by [139081bef9f63c3e]) as it appears to cause issues with some third-party DLLs. (user: mistachkin, tags: trunk)
15:05
[9780b23c] Fix an error in [b22cdd67] that can cause a negative infinity to be (rarely) reported as a positive infinity. (user: drh, tags: trunk)
13:27
[b22cdd67] Changes to (hopefully) get the build working with recent Intel compilers. (user: drh, tags: trunk)
00:24
[d7b7f038] Make sure all connections are closed in the pragma.test script. Test change only - no changes to code. (user: drh, tags: trunk)
2017-09-11
23:46
[9d91ee5e] New test case for ticket [b899b6042f97f52d]. (user: drh, tags: trunk)
20:54
[3b7dbe9d] Add support for new operators in virtual tables: !=, IS, IS NOT, IS NULL, and NOTNULL. (user: drh, tags: trunk)
2017-09-09
00:51
[faa22e29] Fix harmless compiler warnings seen with MSVC. (user: mistachkin, tags: trunk)
2017-09-08
17:48
[e1e3ca7e] Have the header comment for sqlite3Checkpoint() mention TRUNCATE along with the other three checkpoint types. No changes to code. (user: dan, tags: trunk)
2017-09-07
09:56
[02828d71] Prevent a possible crash when trying to recover using a carefully corrupted \ and truncated rollback journal. (Test case in TH3) (user: drh, tags: trunk)
2017-09-05
20:16
[9e393a0e] Update "PRAGMA integrity_check" to detect inconsistencies between a single record's header and body. (user: dan, tags: trunk)
17:23
[868cd196] Fix a comment describing the xRowid method of the "series" virtual table. No code changes. (user: dan, tags: trunk)
16:24
[7fdd6298] Add experimental API sqlite3rbu_temp_size_limit(). For limiting the amount of temporary disk space RBU uses. (user: dan, tags: trunk)
2017-09-04
19:31
[72d22c22] Use the SQLITE_CORRUPT_BKPT return code in a couple more places. (user: mistachkin, tags: trunk)
18:44
[77854694] Add the 'mksourceid' executable to the clean target for MSVC. (user: mistachkin, tags: trunk)
00:33
[c7f9f47b] Proposed fix for ticket [b899b6042f97f5] (user: drh, tags: trunk)
00:19
[03f3cc03] Fix recent test cases in test/indexepxr2.test so that they work even without SQLITE_ENABLE_STAT4 and SQLITE_ENABLE_JSON1. (user: drh, tags: trunk)
2017-09-01
14:50
[b2e2100c] Add the new sqlite3PagerUnrefPageOne() pager method to deal with the special case of unreferencing page1. (user: drh, tags: trunk)
12:57
[c4e7e175] Remove an obsolete optimization in pcache that due to more recent changes was recently making the code a little slower. (user: drh, tags: trunk)
12:18
[919863b1] Small size and performance improvement in pcacheManageDirtyList() by not zeroing the PgHdr.pDirtyNext and PgHdr.pDirtyPrev pointers for PgHdr objects that are not on the dirty list. (user: drh, tags: trunk)
2017-08-31
21:11
[4094a341] Clarify the documentation about "protected" versus "unprotected" sqlite3_value objects. No changes to code. (user: drh, tags: trunk)
2017-08-30
13:21
[bcc20be5] Remove unnecessary "__declspec(dllexport)" qualifiers from generated file shell.c. (user: dan, tags: trunk)
04:44
[ffd437da] Small performance optimization in pcache1. (user: drh, tags: trunk)
2017-08-29
20:21
[a06263f1] Faster memory allocation from lookaside by not trying to keep track of the number of outstanding allocations, and rather computing that value only when requested. (user: drh, tags: trunk)
2017-08-28
17:00
[64a8ae68] Add the --enable-update-limit option to the ./configure script. (user: drh, tags: trunk)
16:11
[1ba051e3] Avoid unnecessary mutexes in the pcache1 implementation in the common case where no auxiliary page cache memory is configured. (user: drh, tags: trunk)
15:51
[54b00024] Remove the rarely-used scratch memory allocator. This makes the code smaller, faster, and easier to maintain. In place of the scratch allocator, add the SQLITE_CONFIG_SMALL_MALLOC configuration option that provides a hint to SQLite that large memory allocations should be avoided. (user: drh, tags: trunk)
14:33
[2348045f] Backport changes to shell.c into shell.c.in. (user: drh, tags: trunk)
11:12
[cf0d3715] Fix the ".dump", ".schema", and ".fullschema" commands of the command-line shell so that they work even if PRAGMA empty_result_callbacks is enabled. Fix for ticket [02f0f4c54f281]. (user: drh, tags: trunk)
2017-08-25
19:51
[1783c54c] Fix a few over-length source code lines. No functional changes. (user: drh, tags: trunk)
15:43
[776d9128] Size and performance optimization for sqlite3Init(). (user: drh, tags: trunk)
13:34
[39f708d1] Small performance optimization in sqlite3WhereBegin(). (user: drh, tags: trunk)
13:02
[2738b8db] Convert a branch made unreachable by [59560d07] into an assert(). (user: drh, tags: trunk)
11:44
[e8d23afe] Improve the internal mechanism used to keep track of what kind of syncing to do for WAL transaction commits and checkpoint operations. Use the checkpoint-style of syncing to sync the header of a new or restarted WAL file. (user: drh, tags: trunk)
09:17
[b79cc8dc] Avoid returning duplicate rows in experimental pragmas "pragma_list", "module_list" and "function_list". (user: dan, tags: trunk)
2017-08-24
20:54
[25292b9a] Fix an incorrect hyperlink in a comment. (user: drh, tags: trunk)
16:21
[8d3a7ea6] Leaf: Version 3.20.1 (user: drh, tags: release, branch-3.20, version-3.20.1)
15:43
[7ec72314] Fixes to documentation about SQLITE_OPEN_URI. (user: drh, tags: trunk)
14:08
[70338c7c] Increase the version number to 3.20.1. (user: drh, tags: branch-3.20)
14:04
[abc7adfd] Make sure the sqlite3_result_pointer() interface does not leave a VM register in an inconsistent state. Fix for ticket [7486aa54b968e9b5]. Test cases are in TH3. (user: drh, tags: branch-3.20)
13:55
[d2f9230c] Make sure the sqlite3_result_pointer() interface does not leave a VM register in an inconsistent state. Fix for ticket [7486aa54b968e9b5]. Test cases are in TH3. (user: drh, tags: trunk)
2017-08-23
23:09
[59560d07] Performance optimization to pageFindSlot() in the b-tree layer. (user: drh, tags: trunk)
20:36
[bc1ec123] Size and performance optimization to dropCell() and freeSpace(). (user: drh, tags: trunk)
14:45
[77074990] Smaller and faster implementation of the fillInCell() routine. (user: drh, tags: trunk)
2017-08-22
21:23
[e69c0c87] Update documentation to make it clear that SQLITE_SOURCE_ID and sqlite3_sourceid() might changes if the source code is edited. (user: drh, tags: trunk)
21:07
[564c7340] Less dramatic changes to the source-id following an edit. Modify the way that the amalgamation is constructed to give it the opportunity to detect changes and modify the source-id. (user: drh, tags: trunk)
19:54
[515d6a83] Modify the SQLITE_SOURCE_ID if the source code has changed in any way since the previous check-in. (user: drh, tags: trunk)
15:21
[885c2b44] Fix error tests in seldom-used compile-time branches of the unix backend. (user: drh, tags: trunk)
2017-08-21
02:20
[56d19f9f] Remove an unnecessary conditional. (user: drh, tags: trunk)
02:05
[6538ef7b] Minor optimization to sqlite3VdbeMemSetStr(). (user: drh, tags: trunk)
2017-08-19
20:38
[d01d2cff] 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)
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)
13:24
[9501e22d] Version 3.20.0 (user: drh, tags: release, branch-3.20, version-3.20.0)
00:20
[95e8f316] Allow ATTACH and DETACH inside of a transaction. (user: drh, tags: trunk)
2017-07-31
20:06
[96ff1675] TclKit batch tool updates for MSVC. Cherrypick of [bcec155e0d6c6b17] and [0c77935cf9949099]. (user: mistachkin, tags: branch-3.20)
19:39
[0c77935c] Recognize 'AMD64' as 'x64' in the TclKit batch tool for MSVC. (user: mistachkin, tags: trunk)
19:34
[44cebc6e] Sync up the MSVC autoconf makefile. (user: drh, tags: branch-3.20)
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:40
[be0e24a0] More consistent column names. Cherry-pick of [09834279] and [0c38dde45] as a fix for ticket [de3403bf5ae]. (user: drh, tags: branch-3.20)
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)
2017-07-30
20:30
[5c8cb1ff] Correctly handle an "INTEGER PRIMARY KEY UNIQUE" column in a WITHOUT ROWID table. This is a fix for ticket [bc115541132dad136] cherry-picked from [5216bfb73f1a49bdd]. (user: drh, tags: branch-3.20)
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)
12:20
[c965b757] Fix a punctuation typo in the documentation for sqlite3_step(). No changes to code. (user: drh, tags: branch-3.20)
00:45
[d891a2a0] Release candidate 3 for 3.20.0 (user: drh, tags: branch-3.20)
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)
18:43
[2dfcd9a8] Simplified documentation for the pointer passing interface. (user: drh, tags: branch-3.20)
17:45
[5a2340b8] Add destructor functions for the pointer argument (NB: not the type string) to the sqlite3_bind_pointer() and sqlite3_result_pointer() interfaces. Use this new capability to resolve a pointer leak in the custom geometry function mechanism of the RTREE extension. (user: drh, tags: branch-3.20)
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
15:12
[f39cb76b] Release candidate 2 for 3.20.0. (user: drh, tags: branch-3.20)
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)