SQLite

Timeline
Login

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

638 check-ins using file src/hash.c version 55b5fb4741

2022-09-27
17:00
Fix a potential division by zero error in this version of RBU that might occur if an external client checkpoints a wal file created by a suspended RBU process. (Leaf check-in: 73edd93adf user: dan tags: branch-3.14)
2016-10-17
19:00
Escape non-ASCII character from an ICU extension comment. Cherrypick of [5ec02ecf3d20ce7e]. (Leaf check-in: a3a96c4da3 user: mistachkin tags: mutexDbg)
18:59
Enhancments to Win32 mutex debugging. (check-in: 2fb9a5dd40 user: mistachkin tags: mutexDbg)
2016-09-28
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
18:50
Version 3.14.2 (check-in: 29dbef4b85 user: drh tags: release, branch-3.14, version-3.14.2)
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:18
Remove an extra space before function names in the amalgamation. Cherrypick of [20f3c7436f6a8a7bab39]. (check-in: a04a21ad5a user: mistachkin tags: branch-3.14)
23:16
Remove an extra space before function names in the amalgamation. (Closed-Leaf check-in: 20f3c7436f user: mistachkin tags: callbackConv)
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
20:12
Fix the sqlite3_trace_v2() interface so that it goes disabled if either the callback or mask arguments are zero, in accordance with the documentation. Cherrypick of [37e6c54b1afc6348]. (check-in: e9acf61613 user: mistachkin tags: branch-3.14)
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:47
Fix the extra comments (added with -DSQLITE_ENABLE_EXPLAIN_COMMENTS) so that the sense of <, <=, >, and >= tests is correct and so that the SQLITE_STOREP2 version is shown correctly. Cherrypick of [4d43c4698eef4e3d]. (check-in: c844f3daa9 user: mistachkin tags: branch-3.14)
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)
19:31
Merge selected test fixes from trunk. (check-in: 71866b367f user: mistachkin tags: branch-3.14)
19:23
Sync up the MSVC makefiles. (check-in: b3777e1f8e user: mistachkin tags: branch-3.14)
18:20
Merge recent enhancements from trunk. (check-in: 00759af053 user: drh tags: apple-osx)
18:11
Add the ext/misc/memvfs.c extension that implements a VFS for read-only database files contained in memory. (check-in: 12b7782a9a user: drh tags: trunk)
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:20
Fix the ".read" command in the command-line shell so that it understands that the input is not interactive. (check-in: 7c2c0d1dce user: drh tags: branch-3.14)
13:12
Merge fixes from trunk. (check-in: 193f036c87 user: drh tags: rowvalue)
12:47
Version number to 3.14.2. (check-in: 925ef2f915 user: drh tags: branch-3.14)
12:41
Makefile changes to support building winsqlite3.dll using STDCALL rather than CDECL. (check-in: af951e036e user: drh tags: branch-3.14)
12:20
Correct affinity computations for a SELECT on the RHS of an IN operator. Fix for ticket [199df4168c]. (check-in: 2d1983ff9f user: drh tags: branch-3.14)
12:08
The ORDER BY LIMIT optimization is not valid unless the inner-most IN operator loop is actually used by the query plan. Fix for ticket [0c4df46116e90f92]. (check-in: b4f8be1f32 user: drh tags: branch-3.14)
11:27
Fix a problem in internal function sqlite3OpenTableAndIndices causing an operand of an unrelated VM instruction to be overwritten. Fix for [ef360601]. (check-in: e5c30f227b user: drh tags: branch-3.14)
10:10
Fix the ".read" command in the command-line shell so that it understands that the input is not interactive. (check-in: d8451fe84d user: drh tags: trunk)
01:51
The ORDER BY LIMIT optimization is not valid unless the inner-most IN operator loop is actually used by the query plan. Fix for ticket [0c4df46116e90f92]. (check-in: 820644b886 user: drh tags: trunk)
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)
20:46
Sync up the MSVC makefiles. (check-in: f66d0d8cf6 user: mistachkin tags: callbackConv)
20:40
Merge updates from trunk. (check-in: ea635bf97e user: mistachkin tags: callbackConv)
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)
16:23
Build the generate_series(START,END,STEP) table-valued function into fuzzershell, to make it easier to construct compact test cases that contain actual data. (check-in: 672c21bcf0 user: drh tags: trunk)
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)
21:34
Add a test case for the OOM handled by the previous commit. (check-in: 9bdf7ca1b3 user: dan tags: trunk)
21:17
Correctly detect an OOM occurring in the setDestPgsz() subroutine of backup. (check-in: d9d8a048d4 user: drh tags: trunk)
17:27
The previous commit could miss an SQLITE_NOMEM error. This commit catches it. (Closed-Leaf check-in: 3a9f4750a6 user: dan tags: mistake)
17:18
Within a backup operation, ensure that a read-transaction is opened on the source database before its page size is read. This ensures the page-size used to write to the backup database is the same as its actual page-size, which is important for ZipVFS databases. (check-in: 7908fc6049 user: dan tags: trunk)
2016-09-01
14:03
Have "sqldiff --rbu" ignore rows with NULL values in primary key fields. RBU can't handle such rows and the documentation already says sqldiff ignores them. Because the code now uses "=" instead of "IS" to filter on primary key columns, diffs on virtual tables are faster now too. (check-in: f4ba894a86 user: dan tags: trunk)
09:35
If SQLITE_ENABLE_ZIPVFS is defined, journal_mode=off is configured and a savepoint or statement rollback is attempted, move the pager into the error state to prevent the transaction from being committed. This makes it safe to use journal_mode=off with zipvfs under some conditions. (check-in: 38d31e189e user: dan tags: trunk)
2016-08-29
14:18
Use some of the example code from the sessions documenatation in the sessions test cases. (check-in: 6602974d17 user: dan tags: trunk)
2016-08-27
20:21
Fix typos in comments. No changes to running code. (check-in: a07269f2a0 user: drh tags: trunk)
18:35
Fix some comments in sqlite3session.h. No changes to code. (check-in: 78cd64e202 user: dan tags: trunk)
18:34
Fixes to fts5 snippet() function. (check-in: d464a7b18d user: dan tags: trunk)
14:13
Merge updates from trunk. (check-in: 082fd5f8ac user: drh tags: rowvalue)
14:05
Fix the extra comments (added with -DSQLITE_ENABLE_EXPLAIN_COMMENTS) so that the sense of <, <=, >, and >= tests is correct and so that the SQLITE_STOREP2 version is shown correctly. These changes are already in the rowvalue branch but are added here since they are technically unrelated to rowvalue. (check-in: 4d43c4698e user: drh tags: trunk)
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)
12:00
Fix a problem in internal function sqlite3OpenTableAndIndices causing an operand of an unrelated VM instruction to be overwritten. Fix for [ef360601]. (check-in: 7090147903 user: dan tags: trunk)
04:32
Rename a test procedure in 'speed3.test' to avoid a name collision. (check-in: 84de17bc68 user: mistachkin tags: trunk)
03:42
Comment improvements. Put ALWAYS and NEVER macros on three unreachable branches. (check-in: 397617009e user: drh tags: rowvalue)
02:10
Adapt the special case of '$' in item names for test 'vtabH-3.1' as well. (check-in: e4aeaa2bc7 user: mistachkin tags: trunk)
01:47
Make the test 'vtabH-3.1' work when there are less than 5 top-level items. (check-in: 328f79bb57 user: mistachkin tags: trunk)
01:17
Support running the fstree tests in 'vtabH.test' on Windows when not using the system drive. (check-in: 3680f95ff3 user: mistachkin tags: trunk)
01:02
Remove an unreachable branch from sqlite3ExprAffinity() (check-in: 9d96f61481 user: drh tags: rowvalue)
2016-08-25
23:24
Fix typos in 'vtabF.test' file. No changes to code. (check-in: a8546feec9 user: mistachkin tags: trunk)
22:31
Merge recent changes from trunk. (check-in: 5789aab8ef user: drh tags: rowvalue)
22:06
Fix the sqlite3_trace_v2() interface so that it goes disabled if either the callback or mask arguments are zero, in accordance with the documentation. (check-in: 37e6c54b1a user: drh tags: trunk)
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)
19:58
Modularize all use of the calling convention macros based on the USE_STDCALL nmake macro. (check-in: e4a56197b0 user: mistachkin tags: callbackConv)
19:14
Add the sqlite3changebatch_db() API. (check-in: bee44ebc53 user: dan tags: changebatch)
18:51
In sqlite3FindInIndex(), improve internal comments and avoid an unreachable branch. (check-in: 55945fc12f user: drh tags: rowvalue)
18:50
Fix a bug in the fts5 snippet function causing it to return text containing zero phrase instances. (Closed-Leaf check-in: b174ed2bde user: dan tags: fts5-snippet-bias)
18:49
Merge updates from trunk. (check-in: 428fc38d95 user: mistachkin tags: callbackConv)
18:21
Sync up the MSVC autoconf makefile. (check-in: 77f7c31a3a user: mistachkin tags: trunk)
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)
19:02
Add further tests for changebatch. And a fix to prevent a changeset from conflicting with itself. (check-in: 506d6ff4b6 user: dan tags: changebatch)
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)
18:09
Fix harmless compiler warnings in changebatch. (check-in: a721a73818 user: drh tags: changebatch)
17:30
Fix an uninitialized variable in CASE expression code generation. (check-in: c8ffae05e1 user: drh tags: rowvalue)
17:02
Add a new method to sessions - sqlite3sessions_fullchangeset() - to return a changeset that always contains values for all old.* fields. Update changebatch to use these values to more reliably detect multi-column UNIQUE constraint violations. (check-in: efa761b2f5 user: dan tags: changebatch)
14:42
Fix the SQLITE_USER_AUTHENTICATION login check so that the SQLITE_AUTH_USER error code correctly propagates and is not overwritten by SQLITE_ERROR. (check-in: c640489db2 user: drh tags: trunk)
2016-08-22
21:01
Add a couple of extra tests to changebatch1.test. (check-in: 207d970b79 user: dan tags: changebatch)
20:49
Add an experimental module to detect conflicts between sessions changesets. (check-in: 0c9fd6b723 user: dan tags: changebatch)
20:10
Add support for the SQLITE_DBCONFIG_MAINDBNAME configuration option. (check-in: 7839519349 user: drh tags: trunk)
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)
00:48
Reinstate the mechanism in BETWEEN that avoids evaluating the first expression more than once, but fix the affinity extractor so that it works with this mechanism. The de-duplication of the first expression still does not work for vector expressions, though. (check-in: 2f39987f21 user: drh tags: rowvalue)
2016-08-20
22:49
The docs promise the in "x BETWEEN y AND z" the x expression is only evaluated once. That is no longer true, and so some tests are failing. This needs to be fixed before merging to trunk. (check-in: e50d264fdc user: drh tags: rowvalue)
21:11
Further comment enhancements. No changes to code. (check-in: d4562a9e7b user: drh tags: rowvalue)
21:02
Clarification of code comments in expr.c. Clean up the implementations of sqlite3ExprIsVector() and sqlite3ExprVectorSize() slightly. (check-in: 4fb66d6592 user: drh tags: rowvalue)
18:06
Fixes for problems following OOM errors. (check-in: 9041ee4a6f user: drh tags: rowvalue)
17:23
Fix other minor problems with the fts5 snippet() function. (check-in: b56b2a85cf user: dan tags: fts5-snippet-bias)
17:00
Do not duplicate the Expr.pLeft subtree of a TK_SELECT_COLUMN node. (check-in: 8384c77ebb user: drh tags: rowvalue)
15:01
Fix a segfault that could occur if a query that used a vector comparison contained certain types of syntax errors. (check-in: 203f07c5e1 user: dan tags: rowvalue)
12:00
Improvements to the vector comparison splitter in exprAnalyze(). (check-in: a3ffd283bc user: drh tags: rowvalue)
01:06
Improvements to comments. No code changes. (check-in: 4165d20f64 user: drh tags: rowvalue)
00:51
Add support for vector assignments in the SET clause of an UPDATE statement. (check-in: f320d47d6b user: drh tags: rowvalue)
00:07
Change the way TK_SELECT_COLUMN is handled so that the subquery is only generated once even if part of the vector comparison is used for indexing and the other part is now. This change also is a pathway to vector assignment in UPDATE statements. (check-in: d8feea7dcd user: drh tags: rowvalue)
2016-08-19
19:58
Replace the magic number (-2) with its symbol XN_EXPR in the exprMightBeIndexed() routine. No logic changes. (check-in: d4a5af69cc user: drh tags: rowvalue)
19:12
Improved comments on sqlite3CodeSubquery(). No changes to code. (check-in: acea4ee136 user: drh tags: rowvalue)
18:40
Show the WhereTerm.iField value on debugging output, when it is non-zero. (check-in: 931c95358d user: drh tags: rowvalue)
18:37
Register any built-in fts5 module before loading automatic extensions. This allows automatic extensions to register fts5 tokenizers and auxiliary functions. (check-in: b10e31dce8 user: dan tags: fts5-snippet-bias)
18:28
Fix an obsolete comment on codeEqualityTerm(). No changes to code. (check-in: d07be5afb0 user: drh tags: rowvalue)
15:41
Merge recent enhancements from trunk. (check-in: b17872363b user: drh tags: rowvalue)
15:17
Merge the VACUUM attached database enhancement from trunk. (Closed-Leaf check-in: 12d5e38d26 user: drh tags: dbconfig_maindbname)
15:15
Enhance the VACUUM command so that it can operate on an attached database. (check-in: 083f9e6270 user: drh tags: trunk)
15:12
Disable row counting on queries run while doing a VACUUM. (Closed-Leaf check-in: ad35ef1162 user: drh tags: vacuum-attached-db)
14:25
Have the fts5 snippet() function avoid favouring snippets that begin with sentences that do not contain search terms. Add an extra bias in favour of the first sentence in the document. (check-in: d8180af2ad user: dan tags: fts5-snippet-bias)
14:20
Add the capability to VACUUM an attached database by specifying the schema name as an argument to the VACUUM command. Since version 2.0, VACUUM has accepted an argument which was silently ignored. Now it has meaning. (check-in: 29d63059b4 user: drh tags: vacuum-attached-db)
2016-08-18
22:44
Add the SQLITE_DBCONFIG_MAINDBNAME interface. (check-in: d6e3d5796c user: drh tags: dbconfig_maindbname)
22:19
Change the name of Db.zName to Db.zDbSName for improved long-term code maintainability. (check-in: cb9865e14d user: drh tags: trunk)
20:56
Fix a zName to zDbSName conversion missed in the previous check-in. (Closed-Leaf check-in: d7cf423cdc user: drh tags: zDbSName)
19:04
Fix a SQL NULL handling bug in the vector IN operator code generation. (check-in: 936146b12e user: drh tags: rowvalue)
18:09
Display SELECT_COLUMN expressions in the .wheretrace debugging output. (check-in: 3b27a5da10 user: drh tags: rowvalue)
17:55
Display VECTOR expressions in .wheretrace and .selecttrace debugging output. (check-in: 157347e258 user: drh tags: rowvalue)
15:36
Since the TK_VECTOR token is not actually used by the parser, make it an extra token code added by the tool/addopcodes.tcl script during parser build. (check-in: b40b202c1f user: drh tags: rowvalue)
15:21
Merge recent enhancements from trunk. (check-in: 4768a1066c user: drh tags: rowvalue)
15:15
Simplify the vector comparison code generator logic, and the resulting VDBE code. (check-in: e2ad0b5d8e user: drh tags: rowvalue)
14:47
Adjust some tests to account for recent changes to the fts5 snippet function. (check-in: 184ecbe9c0 user: dan tags: fts5-snippet-bias)
14:33
Rename the Db.zName field to Db.zDbSName to make it more descriptive and to distinguish it from all of the other "zName" variables scattered throughout the code. (check-in: 92a22f0134 user: drh tags: zDbSName)
2016-08-17
19:05
Bias the fts5 snippet() function to return snippets that look like they start at the start of sentences. (check-in: 60de159476 user: dan tags: fts5-snippet-bias)
11:14
Fix a problem in the fts5 snippet() auxiliary function. (check-in: a861713cc6 user: dan tags: trunk)
2016-08-16
16:46
Fix a bug in destructor processing of Lemon. That has no impact on the SQLite grammar. The bug was introduced by prior work to optimize the Lemon-generated parser used by SQLite. (check-in: f9035b8e2e user: drh tags: trunk)
2016-08-13
14:30
Questionable changes to support interruptible checkpoint in ZipVFS. (Leaf check-in: c7a9f26d11 user: dan tags: interruptible-checkpoint)
14:17
Remove an unnecessary stack variable from sqlite3VdbeExec(). (Closed-Leaf check-in: c54bd9c82d user: drh tags: vector-compare)
13:03
Improvements to commits. No code changes. (check-in: 18f5a3bee4 user: drh tags: vector-compare)
12:37
Fix to the vector less-than operator. All legacy tests passing now. (check-in: ec70a67ebc user: drh tags: vector-compare)
10:34
Fix an fts5 problem with corrupt database handling found by address-sanitizer. (check-in: e22252e1da user: dan tags: trunk)
10:02
Attempt to simplify the logic and generated code for vector comparisons. Basic comparison operators are working, but there are many indexing test failures still to be worked through. (check-in: dfc028cfbe user: drh tags: vector-compare)
06:38
Fix a buffer overread in fts5. (check-in: fcfbee6c7d user: dan tags: trunk)
2016-08-12
16:21
Have wal file checkpoints exit early if the sqlite3_interrupt() API function is called. (check-in: 8a5f41c7b1 user: dan tags: interruptible-checkpoint)
11:25
Add VdbeCoverage() macros on newly added VDBE branch operations. (check-in: 381aa73141 user: drh tags: rowvalue)
11:01
Fix a post-OOM memory leak. (check-in: 14009b32b9 user: drh tags: rowvalue)
2016-08-11
19:12
Merge version 3.14 plus some subsequent patches (including the page-cache performance patch) from trunk. (check-in: d9f8918c5b user: drh tags: begin-concurrent)
18:53
Version 3.14.1 (check-in: a12d805977 user: drh tags: release, branch-3.14, version-3.14.1)
18:05
Add the "modeof=<filename>" URI parameter to os_unix.c - used to specify a file to copy permissions from when a new database is created. Also allow passing NULL as the second parameter to sqlite3rbu_vacuum(). (check-in: ed406d31ff user: dan tags: trunk)
13:51
Fix a 1 byte buffer overwrite in the "sqldiff --rbu" command. (check-in: 1adb22f51a user: drh tags: branch-3.14)
13:08
Increase the version number to 3.14.1. (check-in: 34aed3a318 user: drh tags: branch-3.14)
13:03
Enhance sqlite3PcacheTruncate() to run faster in the common case where the cutoff is just a few pages less than the page number highwater mark. (check-in: 03dceaea15 user: drh tags: branch-3.14)
12:31
Merge recent changes from trunk. (check-in: 959677b97b user: drh tags: rowvalue)
12:01
Fix some problems with handling "no such collation sequence" errors. (check-in: 8278be06fa user: dan tags: rowvalue)
09:55
Fix a 1 byte buffer overwrite in the "sqldiff --rbu" command. (check-in: ab83d7077d user: dan tags: trunk)
01:24
Fix a harmless compiler warning in FTS5. (check-in: 2ea0c8b46e user: drh tags: trunk)
2016-08-10
20:02
Optimization to sqlite3WhereExprUsage(). (check-in: 95493058fc user: drh tags: trunk)
19:43
List of MATCH operator names in isMatchOfColumn() should be constant. (check-in: 7319d676aa user: drh tags: trunk)
18:56
Performance enhancement in the expression walker. (check-in: ebccbd9609 user: drh tags: trunk)
15:02
Tweaks to pcache1TruncateUnsafe() to make it slightly smaller and faster and easier to test. (check-in: 059f4e2efe user: drh tags: trunk)
14:40
Rearrange the code inside sqlite3RunParser() routine so that sqlite3Parser() is only called from a single place. This allows sqlite3Parser() to be in-lined, which results in a 0.25% overall performance gain. (check-in: 25d1d02b3e user: drh tags: trunk)
13:34
Increment the version number to 3.15. (check-in: 8c2701e70a user: drh tags: trunk)
13:30
Improved comments on the lempar.c parser template. Adjust the YY_SHIFT_USE_DFLT constant in the Lemon-generated parser tables so as to guarantee that it is always out of range of the yy_lookahead[] table. (check-in: 83622f3f50 user: drh tags: trunk)
11:50
Fix pcache1TruncateUnsafe() run faster for the case where iLimit is very close to iMaxKey. (check-in: b07a26df06 user: drh tags: trunk)
01:43
Performance optimization in the yy_find_shift_action() routine of the Lemon-generated parser. (check-in: ba6663beef user: drh tags: trunk)
2016-08-09
21:08
Prototype for the remember(V,PTR) extension function. (Closed-Leaf check-in: f0942c362f user: drh tags: rememberFunc)
21:01
Fix harmless compiler warning. (check-in: 9a5a4f6e3b user: drh tags: trunk)
19:48
Minor update to the way fts5 column filters are parsed. (check-in: 14864f2b84 user: dan tags: trunk)
19:26
Have fts5 interpret column lists that begin with a "-" character as "match any column except" lists. (check-in: e517545650 user: dan tags: trunk)
05:48
Add rowvalue5.test, which should have been part of the previous commit on this branch. (check-in: ea03e219ce user: dan tags: rowvalue)
2016-08-08
20:15
Fix some cases involving row values and virtual tables. (check-in: 156a41f30a user: dan tags: rowvalue)
18:42
Fix the EXPLAIN QUERY PLAN output for row value range constaints that use an index. (check-in: bb60651163 user: dan tags: rowvalue)
16:52
Merge trunk changes with this branch. (check-in: 0e927a7e02 user: dan tags: rowvalue)
14:21
Merge all changes from the 3.14 release. (check-in: c3cd543f33 user: drh tags: apple-osx)
13:40
Version 3.14 (check-in: d5e9805702 user: drh tags: trunk, release, version-3.14.0)
2016-08-07
18:52
Fix documentation typos. No changes to code. (check-in: ebc396a19f user: drh tags: trunk)
2016-08-05
20:54
Have the TEA package build without SQLITE_OMIT_DEPRECATED. As it uses recently deprecated interfaces sqlite3_profile() and sqlite3_trace(). (check-in: 9557889883 user: dan tags: trunk)
16:16
Undo commit [f250166bb]. It is required to handle IO and other errors that occur within a VACUUM of a Zipvfs database. (check-in: ae72513af3 user: dan tags: trunk)
15:34
Remove an incorrect ALWAYS() statement and add a test case to show when the condition is sometimes false. (check-in: 0f57effa36 user: drh tags: trunk)
14:35
Fix a very obscure problem following OOM in sqlite3_declare_vtab(). (check-in: 68eac74874 user: drh tags: trunk)
2016-08-04
13:39
Merge all recent enhancements from trunk. (check-in: dacfff5140 user: drh tags: apple-osx)
13:23
Revert the SQLITE_APICALL changes for now. That changes needs further research before it is released. Deferred until 3.15. (check-in: 9adda38526 user: drh tags: trunk)
12:35
Add the experimental SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION compile-time option. When enabled, the "unknown function" error is suppressed for EXPLAIN and a no-op function named "unknown()" is substituted. This facilitiates using the command-line shell to analyze queries from applications that contain many application-defined functions that are not normally available to the shell. (check-in: b7f30a9ff2 user: drh tags: trunk)
12:33
Add the experimental SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION compile-time option. When enabled, the "unknown function" error is suppressed for EXPLAIN and a no-op function named "unknown()" is substituted. This facilitiates using the command-line shell to analyze queries from applications that contain many application-defined functions that are not normally available to the shell. (check-in: e22ca3cdd0 user: drh tags: apple-osx)
09:13
Merge the ORDER BY LIMIT fix, and other enhancements, from trunk. (check-in: bf5a9542d0 user: drh tags: apple-osx)
09:09
Make sure the ORDER BY LIMIT optimization is not applied if the inner-most loop can only have a single iteration and is hence not really a loop. (check-in: 13e3bd3de6 user: drh tags: trunk)
01:47
Add an experimental SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION compile-time option. This changes has been merged into main branches via cherry-pick. (Closed-Leaf check-in: 4ada023ca0 user: drh tags: unknown-function)
2016-08-03
18:00
Fix a problem with estimating the number of rows visited by a query that uses a multi-column IN(SELECT...) constraint. (check-in: 3c2f908f5b user: dan tags: rowvalue)
16:39
Fix another problem involving vector range constraints and mixed ASC/DESC indexes. (check-in: 1559f4c434 user: dan tags: rowvalue)
16:14
Fix stat4-based cost estimates for vector range constraints. (check-in: 18af74abc8 user: dan tags: rowvalue)
14:51
Fix a typo in a comment in btree.c. No changes to code. (check-in: 722c128163 user: drh tags: trunk)
13:40
Fix the --help output on fuzzcheck so that it fix in an 80-character window. (check-in: b91444b5db user: drh tags: trunk)
2016-08-02
20:45
Add new test file rowvaluefault.test. (check-in: e496b2d639 user: dan tags: rowvalue)
20:42
Fix a unused variable that comes up with -DSQLITE_OMIT_DATETIME_FUNCS. (check-in: e2f9919e34 user: drh tags: trunk)
19:29
The 'replace.tcl' tool should use Unix line-endings. (check-in: 50de96314f user: mistachkin tags: trunk)
18:50
Add tests and fixes for vector operations that use sub-queries with different combinations of LIMIT, OFFSET and ORDER BY clauses. (check-in: 092b1c5ff5 user: dan tags: rowvalue)
17:45
Fix SQLITE_OMIT_SUBQUERY builds. (check-in: 339f85f414 user: dan tags: rowvalue)
17:07
Fix a problem with vector range constraints and mixed ASC/DESC indexes. (check-in: e2ad30c8b5 user: dan tags: rowvalue)
16:24
Merge latest trunk changes into this branch. (check-in: d468101b42 user: dan tags: rowvalue)
16:18
Add missing comments and make some code on this branch clearer. (check-in: 6937677cc2 user: dan tags: rowvalue)
13:26
Updates to requirements marks. No changes to code. (check-in: b23c10ac8f user: drh tags: trunk)
11:29
Fix a problem introduced by [77948b5eceab92a7] causing duplicate calls to be made to the xSavepoint() method of virtual tables under some circumstances. (check-in: e64a4173d2 user: dan tags: trunk)
08:45
Fix harmless compiler warnings in sqlite3_status(). (check-in: 7c38a79cdd user: drh tags: trunk)
2016-08-01
21:17
Update the wordcount.c test program and add a new script "time-wordcount.sh" for additional performance testing. (check-in: d8ef9f5864 user: drh tags: trunk)
20:14
Fix a problem with vector range constraints involving the rowid column. And other issues. (check-in: 3ef75d45eb user: dan tags: rowvalue)
17:06
Fix other harmless compiler warnings. (check-in: 90d2c490fc user: drh tags: trunk)
16:57
Remove a duplicate typedef from loadext.c (remaining copy is in sqlite3ext.h). (check-in: fd184e5a8f user: dan tags: trunk)
16:50
Add an extra compiler switch to loadext.test to ensure that it picks up the correct version of sqlite3.h when building a test extension. (check-in: e57fa6af32 user: dan tags: trunk)
16:37
Fix a problem with IN(...) constraints where the LHS is a sub-select that is an aggregate query. (check-in: 1f4dba87da user: dan tags: rowvalue)
15:00
Update releasetest.tcl to automatically do one round of tests with USE_STDCALL=1 when running on Windows with MSVC. (check-in: a6a112de48 user: drh tags: trunk)
14:35
Avoid making unnecessary changes to the signatures of the sqlite3_auto_extension() and sqlite3_cancel_auto_extension() interfaces. (check-in: b6ea2f21f6 user: drh tags: trunk)
2016-07-30
21:02
Fix problems with vector == comparisons and NULL values. (check-in: 059d0d0535 user: dan tags: rowvalue)
18:54
Fix harmless compiler warning seen with MSVC. (check-in: 390a38a142 user: mistachkin tags: trunk)
17:59
Merge latest trunk with this branch. (check-in: 63ae02d084 user: dan tags: rowvalue)
16:39
Remove the EP_Vector expression flag. (check-in: e9d9c6d46b user: dan tags: rowvalue)
2016-07-29
20:58
Fix some issues with vector range constraints and the column cache. Also vector range constraints and rowid columns. (check-in: 42607366bf user: dan tags: rowvalue)
18:12
Change the way "(a, b) = (SELECT *)" expressions are handled in where.c if there is an index on one of the columns only. (check-in: 4dfebff292 user: dan tags: rowvalue)
17:36
Using the header file 'intrin.h' requires MSVC 2005 or later. (check-in: 9fae75c08b user: mistachkin tags: trunk)
04:12
For test 'shell1-5.0', disable round-trip testing for characters in the range 0xE0 to 0xEF on Linux, due to intermittent shell portability issues. (check-in: 544c990afd user: mistachkin tags: trunk)
02:04
Fix typo in a test file interactive output string. (check-in: 4fedd79023 user: mistachkin tags: trunk)
01:55
Merge additional linkage macro changes from the branch. (check-in: 8b0eb22ee1 user: drh tags: trunk)
01:49
Further refinement to the calling convention macros. (check-in: 45588de385 user: drh tags: trunk)
01:47
Merge updates from trunk. (check-in: 71ffa195f5 user: mistachkin tags: callbackConv)
01:46
Update the autoconf makefile for MSVC. (check-in: 2daf20980d user: mistachkin tags: callbackConv)
01:32
Undo some unhelpful changes to skip-scan scoring that were added by the check-in [9e2b2681] that improved scoring of index scan. (check-in: c7d51934a4 user: drh tags: trunk)
01:31
Add macro necessary for building several extensions when the __stdcall calling convention is not in use. (check-in: bc8c9b55dd user: mistachkin tags: callbackConv)
2016-07-28
23:58
Missed a couple Tcl command deletion callbacks. (check-in: fc5c187602 user: mistachkin tags: callbackConv)
23:54
Use the SQLITE_TCLAPI macro in several extensions that were missed in the previous check-in. (check-in: df2543652b user: mistachkin tags: callbackConv)
22:53
More compiler warning fixes for GCC related to the auto-extension mechanism. (check-in: b8218129bc user: mistachkin tags: callbackConv)
22:46
The return type used by the auto-extension entry points is 'int', not 'void'. (check-in: bf9c86c74f user: mistachkin tags: callbackConv)
22:38
Make sure all the auto-extension mechanism function signatures match up precisely. (check-in: 87ba69b5ca user: mistachkin tags: callbackConv)
22:23
Make the extension auto-loading mechanism work with the __stdcall calling convention. Also, fix a couple Tcl command calling conventions missed in the previous check-in. (check-in: 3ea567c4b0 user: mistachkin tags: callbackConv)
19:47
Fix further issues with multi-column IN(...) operators. Also some error handling cases surrounding row values. (check-in: cc3f6542be user: dan tags: rowvalue)
19:28
The 'sqlite3ext.h' content should be processed before being included in the amalgamation. (check-in: cbe1de4799 user: mistachkin tags: trunk)
18:55
Decorate all interfaces with calling convention macros. (check-in: fd784887e1 user: drh tags: trunk)
18:49
All SQLite API functions and callbacks in the 'sqlite3ext.h' header file must be decorated with the calling convention. (Closed-Leaf check-in: 97fc6e4328 user: mistachkin tags: callbackConv)
18:42
Merge recent trunk fixes. (check-in: 9765744586 user: drh tags: apple-osx)
18:38
Disable the authorizer callback when reparsing the schema. This avoids undesirable authorization failures following an ALTER TABLE. (check-in: 805d01cdab user: drh tags: trunk)
18:18
Fixup reserved function pointers in the Tcl stubs table and several macros containing Tcl function pointers. (check-in: 959cd0131a user: mistachkin tags: callbackConv)
18:06
Adjustments to get 'testfixture.exe' compiling with Tcl 8.6 when __stdcall is enabled. (check-in: 90e89ec9c8 user: mistachkin tags: callbackConv)
17:24
Improvements to the way the COMPILER compile-time option is set when compiling with Clang. (check-in: 81f9cf86c4 user: drh tags: trunk)
17:11
Make sure the SQLITE_TCLAPI macro is always defined and use it for all callback functions that must interface with the Tcl C API. (check-in: f2f1323cc4 user: mistachkin tags: callbackConv)
16:09
More work on getting the 'testfixture.exe' target to work correctly. (check-in: 36b72fd609 user: mistachkin tags: callbackConv)
15:38
Modify the mksqlite3h.tcl tool to handle the syscall typedef specially. (check-in: 478a84efa6 user: mistachkin tags: callbackConv)
15:09
Change mksqlite3h.tcl to automatically insert the SQLITE_CALLBACK calling convention macros. (check-in: 11ab9c9ab5 user: drh tags: callbackConv)
14:37
Allow the 'testfixture.exe' target to be compiled with the __stdcall calling convention. (check-in: e8be3dfeab user: mistachkin tags: callbackConv)
13:59
Merge latest trunk changes into this branch. (check-in: 9685880f7b user: dan tags: rowvalue)
12:52
New test case to insure legacy CREATE TABLE syntax is supported. (check-in: 6feff15cae user: drh tags: trunk)
04:14
Work in progress on setting a calling convention for all callback functions. (check-in: 02b8040e1a user: mistachkin tags: callbackConv)
2016-07-27
19:33
Fix some problems with multi-column IN(SELECT...) processing. (check-in: 719a3b2035 user: dan tags: rowvalue)
19:30
Enhance the query planner cost estimation for index scans to take into account WHERE clause terms that can be computed using only the index and that do not require looking up rows in the original table. This fixes an obscure performance regression that arose when the ORDER BY LIMIT optimization was added by check-in [bf46179d44843]. (check-in: 9e2b268114 user: drh tags: trunk)
19:20
Add test cases and fix a comment. (Closed-Leaf check-in: 50f8ea37fb user: drh tags: improved-index-scan)
18:27
When estimating the cost of an index scan, factor in the cost savings of being able to use the index to evaluate some WHERE clause terms without having to do a table lookup. (check-in: a59b5622f7 user: drh tags: improved-index-scan)
16:03
Initialize a variable in where.c to avoid a valgrind warning. (check-in: 4d59df02d3 user: dan tags: trunk)
2016-07-26
18:15
Merge latest trunk changes into this branch. (check-in: d4f3d52c5a user: dan tags: rowvalue)
18:06
Fix where.c handling of "IN (SELECT ...)" expressions when the SELECT returns more than one result column. Also error handling for other row value constructor cases. (check-in: 061b800603 user: dan tags: rowvalue)
15:17
Merge fixes to sqlite3_scrub_backup() from trunk. (check-in: 91e811f51e user: drh tags: apple-osx)
10:46
Ensure that the sqlite3_scrub_backup() extension creates a backup database at least as large as indicated by the database header, even if the last page of the input database is a free-list leaf. (check-in: 483994a54d user: dan tags: trunk)
04:54
Merge the cache_spill VACUUM fix from trunk. (check-in: cc6bfdf814 user: drh tags: apple-osx)
04:49
Copy the cache_spill setting from the main database over to the vacuum_db transient database when running a VACUUM. (check-in: c0e7d98ef2 user: drh tags: trunk)
04:31
Make sure affinity is applied correctly on lower-bound range constraints in the min() optimization. Fix for ticket [a0bac8b3c3d1bb]. (check-in: b819bace9c user: drh tags: trunk)
04:23
Make sure affinity is applied correctly on lower-bound range constraints in the min() optimization. Fix for ticket [a0bac8b3c3d1bb]. (check-in: 0e9f534fef user: drh tags: apple-osx)
2016-07-25
22:46
Merge the VACCUM cache_size adjustment from trunk. (check-in: cdb7efd01e user: drh tags: apple-osx)
22:40
In the VACUUM command, set the cache_size of the transient vacuum_db database to be the same as the database being vacuumed. (check-in: b78d99548a user: drh tags: trunk)
21:11
Fix a test case in FTS5 to make it compatible with Tcl 8.5. (check-in: a495f8e77e user: drh tags: trunk)
18:50
Add the experimental SQLITE_VACUUM_CACHE_SIZE macro. (check-in: 68ecd8e042 user: drh tags: apple-osx)
17:31
Merge 3.14 alpha changes from trunk. (check-in: e98cefb17d user: drh tags: apple-osx)
16:10
Minor test infrastructure changes to better support SEE testing. (check-in: 8dcb9d506b user: drh tags: trunk)
14:40
Add a new %ifdef to parse.y so that the build works with SQLITE_OMIT_SUBQUERY. (check-in: 38a48cfb9a user: drh tags: trunk)
14:20
Changes to test scripts to get them all running on OpenBSD. (check-in: 9e7bedeee4 user: drh tags: trunk)
12:10
Disable the DBSTATUS_CACHE_USED_SHARED tests on mac when memsys3/5 is disabled due to differences in the allocation sizes for the Darwin memory allocator. (check-in: d6f6c87c9c user: drh tags: trunk)
12:01
Update the vacuummem.test script so that it works on mac as well as on linux. (check-in: ea7fb98b96 user: drh tags: trunk)
11:57
If both MEMSYS3 and MEMSYS5 are enabled, than automatically disable MEMSYS3. (check-in: ccc22e14dc user: drh tags: trunk)
11:39
Another attempt at getting --enable-memsysN working. (check-in: 5f40e6ad59 user: drh tags: trunk)
11:32
Fix the --enable-memsysN options in configure so that they actually work. (check-in: 679552550e user: drh tags: trunk)
11:27
Add --enable-memsys3 and --enable-memsys5 options to the configure script. (check-in: 67e1dc9842 user: drh tags: trunk)
02:42
Evidence marks and code reformatting for SQLITE_TRACE_STMT operation. (check-in: e1e0223831 user: drh tags: trunk)
02:31
Change SQLITE_TRACE_STMT to return unexpanded SQL text in the X argument. Add documentation on how and when to use sqlite3_expanded_sql(P) to compute the expanded text for legacy sqlite3_trace() compatibility. (check-in: 163e15229d user: drh tags: trunk)
00:05
Fix code so that the deprecated sqlite3_trace() and sqlite3_profile() interfaces are not called when SQLITE_OMIT_DEPRECATED is used. (check-in: 1c5baae3c5 user: drh tags: trunk)
2016-07-23
20:27
Use sqlite3_trace_v2() instead of sqlite3_trace() in the shell. (check-in: c8e0539b97 user: drh tags: trunk)
20:24
Allow vector IN(SELECT ...) expressions to use an index if either all the indexed columns are declared NOT NULL or if there is no difference between the expression evaluating to 0 and NULL (as in a WHERE clause). (check-in: e2fd6f49b1 user: dan tags: rowvalue)
19:34
Add the json_quote() function to the JSON1 extension. (check-in: 269892abf6 user: drh tags: trunk)
19:18
Small tweak to the btree balancer for improved tree balance. (check-in: 8817dedb75 user: drh tags: trunk)
14:50
Fix recently added tests so that they work in all configurations. (check-in: d0bcaf0cd9 user: drh tags: trunk)
05:22
Add the sqlite3_expanded_sql() and sqlite3_trace_v2() interfaces. (check-in: 99a6c51887 user: drh tags: trunk)
04:58
Improvements to sqlite3_trace_v2() documentation. Fix the sqlite3VdbeExpandSql() routine to respond better to OOM conditions. (Closed-Leaf check-in: 0400f642d5 user: drh tags: sqlite3_trace_v2)
02:07
Add requirements marks to the sqlite3_trace_v2() interface documentation. (check-in: ebd388e94d user: drh tags: sqlite3_trace_v2)
00:43
Fix sqlite3VdbeExpandSql() so that it handles OOMs by always returning NULL. (check-in: 5a027fe412 user: drh tags: sqlite3_trace_v2)
2016-07-22
21:35
Revise a warning fix from the previous check-in to improve clarity. Also, fix an incorrect test prefix (typo). (check-in: f50a3fd660 user: mistachkin tags: trunk)
21:26
Fix harmless compiler warnings seen with MSVC. (check-in: 8bb6e6fced user: mistachkin tags: trunk)
20:45
Be sure to hold the database connection mutex while calling sqlite3VdbeExpand() from within sqlite3_expanded_sql(). (check-in: 527b5ba68c user: drh tags: sqlite3_trace_v2)
20:20
Add requirements marks to the sqlite3_expanded_sql() documentation. (check-in: 409535e6df user: drh tags: sqlite3_trace_v2)
17:58
Merge latest trunk changes with this branch. (check-in: 60fed5cdd4 user: dan tags: rowvalue)
10:09
Fix a problem with upper case module names in the "sqldiff --vtab" command. (check-in: 87e25fc472 user: dan tags: trunk)
2016-07-21
18:02
Add extra test cases to verify the fix in [64ca1a835]. (check-in: bf98a2de7e user: dan tags: trunk)
16:43
Add new test file vacuummem.test. To test that any temporary memory used by VACUUM is freed as soon as the VACUUM has finished (not, for example, when sqlite3_close() is finally called). (check-in: 1b1ad0b28c user: dan tags: trunk)
2016-07-15
19:17
Add the largely untested SQLITE_FTS5_NO_WITHOUT_ROWID compile time option to fts5. For building a dynamically loadable extension that does not use WITHOUT ROWID. (check-in: d0a1cf1c56 user: dan tags: trunk)
10:01
The sqlite3_expanded_sql() function compiles, but always returns NULL, when the SQLITE_OMIT_TRACE compile-time option is used. (check-in: 53c25ebe34 user: drh tags: sqlite3_trace_v2)
02:55
Merge fixes from trunk. Fix the tclsqlite.test script. (check-in: d2b1fa55e8 user: drh tags: sqlite3_trace_v2)
02:50
Disable the CSV extension when virtual tables are disabled. (check-in: ec7180892a user: drh tags: trunk)
01:49
Modify the Tcl test command 'sqlite3_bind_blob' to make use of the Tcl_GetByteArrayFromObj() API. (check-in: e03c81895e user: mistachkin tags: sqlite3_trace_v2)
00:39
Fix typo in sqlite3_trace_v2(). (check-in: 97ccf15fb7 user: mistachkin tags: sqlite3_trace_v2)
00:23
Corrections and enhancements for the new tests. (check-in: 20e74c6385 user: mistachkin tags: sqlite3_trace_v2)
00:09
Modify one test result to be case-insensitive. (check-in: 5ccbeeea7d user: mistachkin tags: sqlite3_trace_v2)
00:07
Add tests, including some for the sqlite3_expanded_sql() API. (check-in: 8b8c0b749a user: mistachkin tags: sqlite3_trace_v2)
2016-07-14
23:17
More work on the Tcl interface and tests for the sqlite3_trace_v2() API. (check-in: f3c4aa97d8 user: mistachkin tags: sqlite3_trace_v2)
21:26
Initial work on the Tcl API interface to the new sqlite3_trace_v2() function. (check-in: 7b59fa40a0 user: mistachkin tags: sqlite3_trace_v2)
19:48
Minor tweak the the b-tree balancer. (Closed-Leaf check-in: d2a0af7a37 user: drh tags: btree-tuning)
19:13
Fix ALTER TABLE so that it does not promote the schema version past 3, as that will cause DESC indexes to go corrupt. Ticket [f68bf68513a1c]. (check-in: a7db6e45ad user: drh tags: trunk)
09:22
Fix copy/paste typo in the new sqlite3_expanded_sql() function. (check-in: e7d18c70d2 user: mistachkin tags: sqlite3_trace_v2)
01:13
Fix a parameter misordering on sqlite3_trace_v2() in the loadable extension interface. (check-in: 989de2d5b5 user: drh tags: sqlite3_trace_v2)
01:09
Add the sqlite3_expanded_sql() interface. Refinements to the sqlite3_trace_v2() interface to make it more useful. (check-in: 99ee7ee58d user: drh tags: sqlite3_trace_v2)
2016-07-13
23:18
Legacy tests now passing. (check-in: f33526a341 user: drh tags: sqlite3_trace_v2)
22:55
First cut at implementing the new sqlite3_trace_v2() interface. (check-in: cb0062feb0 user: drh tags: sqlite3_trace_v2)
21:30
Interface design for a new sqlite3_trace_v2() method that supersedes sqlite3_trace() and sqlite3_profile(). (check-in: 0c569f759f user: drh tags: sqlite3_trace_v2)
19:48
Modifications towards better vector IN(...) support on this branch. Not activated yet. (check-in: 34e35c71b2 user: dan tags: rowvalue)
13:05
Fix harmless compiler warnings in shell.c for NetBSD. (check-in: 824b39e54f user: drh tags: trunk)
00:55
Fix header comments and remove an unnecessary version restriction from the carray() table-valued function implementation. (check-in: 021d0fb8d8 user: drh tags: trunk)
2016-07-12
19:54
Fix the error counter reset in Lemon generated parsers. This has no effect on SQLite. (check-in: 3ef93950d3 user: drh tags: trunk)
2016-07-10
19:35
Merge comment typo fixes from trunk. (check-in: 728c5aa436 user: mistachkin tags: rowvalue)
19:35
Fix typos in comments. No changes to code. (check-in: 77c692a670 user: mistachkin tags: trunk)
2016-07-09
20:23
Add some support for using row value constructors in certain parts of SQL expressions. There are many bugs on this branch. (check-in: b2204215b2 user: dan tags: rowvalue)
17:47
Add the "#/value-list/" style of results for approximate value matching in the do_test command of the test infrastructure. Use this new result style to make the SQLITE_DBSTATUS_CACHE_SIZE_SHARED tests cross-platform. (check-in: c869bf34a8 user: drh tags: trunk)
17:15
Fix a compiler warning in test code - in the int64array_addr TCL command. (check-in: 29fb988f1a user: drh tags: trunk)
16:38
Fix compiler warnings on windows. (check-in: 8b22f777a1 user: drh tags: trunk)
16:14
Fix various internal #defines to conform to new C-language naming restrictions, specifically that private-use macros names must not begin with "_". (check-in: 5471aca015 user: drh tags: trunk)
00:06
Add support for the win32-none VFS. (check-in: b5f32a896d user: drh tags: trunk)
2016-07-08
21:14
Initial work on a Win32 VFS with NOP locking. (Closed-Leaf check-in: 549abe3f89 user: mistachkin tags: win32nolock)
19:54
Another attempt to fix error handling in Lemon. This change is a no-op for SQLite's usage. (check-in: e1d8ef311c user: drh tags: trunk)
02:14
In the sqldiff program, make sure the first argument to the db_prepare() utility function is always a valid format string. (check-in: 8bb8d886ff user: drh tags: trunk)
2016-07-06
18:42
Add the SQLITE_DBSTATUS_CACHE_USED_SHARED sqlite3_db_status() parameter. This option is similar to DBSTATUS_CACHE_USED, except that it divides memory used by shared caches evenly between all connections. (check-in: 06cf268058 user: dan tags: trunk)
18:12
Change the name of the SQLITE_DBSTATUS_PROPORTIONAL_CACHE_USED to SQLITE_DBSTATUS_CACHE_USED_SHARED. (Closed-Leaf check-in: d58401ab26 user: dan tags: dbstatus-prop-cache-used)
10:17
Fix a test script problem causing a test to fail if the ICU extension is enabled. (check-in: 0c228f5d3d user: dan tags: trunk)
10:12
Add the SQLITE_DBSTATUS_PROPORTIONAL_CACHE_USED sqlite3_db_status() parameter. (check-in: 118321c8b9 user: dan tags: dbstatus-prop-cache-used)
09:19
Fix a memory leak in recently added test code. (check-in: 724e4cdc25 user: dan tags: trunk)
08:32
Fix a typo in test program bc_test1.c. (check-in: 2c61b7ab18 user: dan tags: begin-concurrent)
2016-07-05
16:11
More fixes to Lemon so that it automatically resets its error counter at the end of a parse. (check-in: 2683b375ad user: drh tags: trunk)
12:47
Attempt to reset the error count in the Lemon-generated parser after a parse failure. (check-in: 91889fa30e user: drh tags: trunk)
2016-07-04
11:47
Add the sqlite3rbu_state() API. Used to determine the current state (creating OAL, ready to move OAL, incremental-checkpoint, finished or error) of an RBU operation. (check-in: 0357875fbb user: dan tags: trunk)
11:34
Add the carray() virtual table as a loadable extension. (check-in: d8bc6feb99 user: drh tags: trunk)
2016-07-03
02:35
Change the name of the intarray() extension to carray() and give it an optional third parameter that specifies the datatype as one of 'int32', 'int64', 'double', or 'char*'. 'int32' is the default. (Closed-Leaf check-in: a204ba99db user: drh tags: prototype-int-array)
2016-07-02
20:57
Fix an off-by-one comparison in the intarray() virtual table. Get the intarray() virtual table tests working using the legacy makefile. (check-in: 7c3d441f2a user: drh tags: prototype-int-array)
20:51
Merge the alternative table-valued function RHS of IN operator implementation from trunk. (check-in: 507fdbfb54 user: drh tags: prototype-int-array)
12:33
Fix a problem in table-valued functions on the RHS of an IN operator that occurs following an OOM error. (check-in: bead151e72 user: drh tags: trunk)
12:08
Add support for table-valued functions on the RHS of an IN operator. (check-in: ac6000f050 user: drh tags: trunk)
2016-07-01
20:12
Fix the transitive constraint logic error that can result in a null pointer dereference. Fix for ticket [e8d439c77685eca6]. (check-in: 228a787987 user: drh tags: trunk)
19:48
Add test cases to the transitive constraint fix. (Closed-Leaf check-in: c952af89c2 user: drh tags: planner-fix)
12:39
Add the sqlite3rbu_state() API. Used to determine the current state (creating OAL, ready to move OAL, incremental-checkpoint, finished or error) of an RBU operation. (Closed-Leaf check-in: 92e7df0ff5 user: dan tags: rbu-state-api)
2016-06-29
06:19
Add the ability to have a table-valued function on the RHS of an IN operator. (check-in: ba1b441b60 user: drh tags: prototype-int-array)
05:08
Another test case for the intarray($PTR,$N) virtual table. (check-in: 06e1fab752 user: drh tags: prototype-int-array)
05:00
Add a prototype intarray($PTR,$N) table valued function. (check-in: 233b33382d user: drh tags: prototype-int-array)
2016-06-28
22:27
Proposed fix for a problem in the query planner. (check-in: a33d235609 user: drh tags: planner-fix)
2016-06-26
04:06
Prevent the WhereLoop.rSetup cost estimate from going negative on complex queries. (check-in: f810508591 user: drh tags: trunk)
2016-06-25
11:43
Fix the handling of OP_Eq opcodes that compare a register against itself and that require an affinity change. (check-in: 507014e4c7 user: drh tags: trunk)
2016-06-24
06:23
Fix the ctime.test script so that it works with clang. (check-in: 77e4f7a36e user: drh tags: trunk)
02:50
Fix the Makefile.in to avoid unnecessary recompiles of sqlite3.c. (check-in: 67c39e1644 user: drh tags: trunk)
02:21
Provide for a separate default page size for TEMP and transient database files and initialize that separate default page size to 1024 instead of 4096. (Leaf check-in: a2778ae494 user: drh tags: temp-page-size)
2016-06-23
16:48
Update the sqldiff utility so that if the --vtab switch is specified "rtree", "fts3", "fts4" and "fts5" tables are diff'd directly and the underlying real database tables ignored. Without this switch, all virtual tables are ignored and the diff is performed on the underlying real tables. (check-in: b8671e9434 user: dan tags: trunk)
12:35
Fix the build for -DSQLITE_OMIT_VIRTUALTABLE (check-in: 9111314248 user: drh tags: trunk)
2016-06-21
10:34
Update the sqldiff utility so that if the --vtab switch is specified "rtree", "fts3", "fts4" and "fts5" tables are diff'd directly and the underlying real database tables ignored. Without this switch, all virtual tables are ignored and the diff is performed on the underlying real tables. (Closed-Leaf check-in: 5d0a9d4c45 user: dan tags: sqldiff-vtab-support)
2016-06-20
17:25
For a table on the rhs of a LEFT JOIN operator, do not include terms like "IS NULL" from the WHERE clause in the cursor-hint. These may be false for rows that the cursor would otherwise visit, but true for a row of all NULL values generated by the LEFT JOIN. (check-in: 913e595615 user: dan tags: trunk)
17:22
Allow LIKE operators that appear in a WHERE clause to be included in the cursor-hint for a cursor on the rhs of a LEFT JOIN. (Closed-Leaf check-in: 7455d932f5 user: dan tags: cursor-hints)
2016-06-17
19:27
Include WHERE terms in the cursor-hint passed to a cursor opened for the rhs of a LEFT JOIN iff we can be sure that those terms will not evaluate to true if the LEFT JOIN generates a row of NULLs. (check-in: 998095aba0 user: dan tags: cursor-hints)
14:59
Fix a duplicate test name in cursorhint2.test. (check-in: fcd12b69ce user: dan tags: cursor-hints)
14:47
Fix a typo in the cursorhint2.test script. (check-in: c1a5a57cf1 user: dan tags: cursor-hints)
14:33
If a table is on the rhs of a LEFT JOIN, include only terms from the joins ON(...) clause in the cursor-hint passed via OP_CursorHint. (check-in: 2a2346b042 user: dan tags: cursor-hints)
13:01
Add the json_quote() function to the JSON1 extension. (Closed-Leaf check-in: 2c3714aebf user: drh tags: json_quote)
2016-06-16
17:14
Add a missing OP_ColumnsUsed opcode to code for expressions like "? IN (SELECT ...)" in cases where expression can use an index that may contain NULL values. (check-in: 0b1579caf0 user: dan tags: trunk)
11:16
Fix a typo in a comment on the SrcList object. (check-in: 48b555c42d user: drh tags: trunk)
2016-06-15
10:21
Merge changes from trunk. (check-in: 0f707d1532 user: drh tags: apple-osx)
2016-06-13
19:58
Fix RBU so that it builds with -DSQLITE_ENABLE_8_3_NAMES. Fix "PRAGMA compile_options" for SQLITE_ENABLE_8_3_NAMES such that it reports the numeric setting: "1" or "2". (check-in: 0230ca17ba user: drh tags: trunk)
15:59
Fix the declaration of the table implemented by DBSTAT so that it uses correct datatypes. (check-in: a1e1cdc51d user: drh tags: trunk)
12:51
Fix an incorrect assert() in the btree logic. (check-in: fcf6114be9 user: drh tags: trunk)
12:34
Fix the "onecolumn" and "exists" methods of the TCL interface so that they work in combination with the "profile" callback. (check-in: d362ba157f user: drh tags: trunk)
2016-06-10
22:49
Enhance "PRAGMA table_info" to that it provides information about eponymous virtual tables. (check-in: 53a1e5d513 user: drh tags: trunk)
2016-06-08
18:07
Prefer to use partial indexes for full table scans when that is possible. (check-in: fe1874321b user: drh tags: trunk)
14:04
Add the "dbhash.exe" utility program that computes a SHA1 hash over the invariant content of an SQLite database file. Free space in the file, the page size, auto_vacuum status, text encoding, and so forth do not change the hash. Only the content matters. (check-in: f48a4ad33e user: drh tags: trunk)
13:59
Fix an undersized buffer in the SHA1 implementation. (Closed-Leaf check-in: fb2768154c user: drh tags: dbhash)
13:49
Fix the dbhash utility so that it ignores the root page number when hashing the sqlite_master table. Add new command-line options. Add the ability to hash multiple databases with a single command. (check-in: 44f157e0f0 user: drh tags: dbhash)
01:03
An initial attempt at a "dbhash" command-line utility. (check-in: 2247649ca2 user: drh tags: dbhash)
2016-06-07
20:25
Fix the walcrash4.test test module so that it works on windows. (check-in: 2091a4c923 user: drh tags: trunk)
2016-06-06
20:36
In winFullPathname, translate '/X:' to 'X:' before doing anything else. (check-in: e404ad705d user: mistachkin tags: trunk)
20:27
Translate filenames of the form "/c:/*" into just "c:/*" on WinRT and Cygwin. (SQLite has long done this for Win32/WinNT.) (check-in: f8470ffc49 user: drh tags: trunk)
18:17
Fix lempar.c so that the shift-reduce optimization works for error processing. This is a Lemon issue only and has no impact on SQLite. (check-in: 3665a2f554 user: drh tags: trunk)
13:24
Initialize the yyerrcnt variable in the lemon parser template. This has no effect on SQLite itself. (check-in: 45531654f7 user: drh tags: trunk)
01:54
Small performance boost and size decrease in sqlite3BtreeMovetoUnpacked(). (check-in: e106a77d85 user: drh tags: trunk)
01:48
Small performance improvement in the LIKE function. (check-in: 5fb0c35459 user: drh tags: trunk)
01:14
Btree interface refactoring: (1) The sqlite3BtreeKeySize() interface is renamed to sqlite3BtreeIntegerKey() and modified to work only for table btrees with a rowid. (2) The sqlite3BtreeDataSize() interface is renamed to sqlite3BtreePayloadSize() and modified to work with any btree. (3) The sqlite3BtreeDataFetch() and sqlite3BtreeKeyFetch() routines are combined into a single sqlite3BtreePayloadFetch() routine. The result of these changes is a smaller binary and fewer CPU cycles needed to run queries. (check-in: 2d831074cf user: drh tags: trunk)
2016-06-04
21:05
Improved comment on cursorOwnsBtShared(). No changes to code. (Closed-Leaf check-in: 5e269c2d26 user: drh tags: btree-refactor)
20:58
Fix a C99-ism and a compiler warning for MSVC. (check-in: aa53a36ea2 user: drh tags: btree-refactor)
20:37
Change the sqlite3BtreeKeySize() interface into sqlite3BtreeIntegerKey() and make it only work for table btrees. Change sqlite3BtreeDataSize() into sqlite3BtreePayloadSize() and make it work for all btrees. Combine sqlite3BtreeDataFetch() and sqlite3BtreeKeyFetch() into a single sqlite3BtreePayloadFetch() routine. These changes seem to make the b-tree interface more rational and they reduce both binary size and CPU usage. (check-in: bef35e18dd user: drh tags: btree-refactor)
17:12
Allocate KeyInfo objects from lookaside if possible. (check-in: b411107a36 user: drh tags: trunk)
16:33
Fix up speedtest1.c so that it will compile and run on SQLite versions prior to 3.6.18 (circa 2009-09-11). (check-in: 9583c0fb39 user: drh tags: trunk)
13:57
Remove an unreachable branch in the UNIQUE constraint parsing. (check-in: 313e990c74 user: drh tags: trunk)
2016-06-03
18:59
The OR optimization is usable on virtual tables with LIKE, REGEXP and/or GLOB terms in the WHERE clause. (check-in: fa3a89fc0b user: drh tags: trunk)
18:44
Add support for virtual tables using a WITHOUT ROWID schema. This merge also includes enhancements to the CSV extension, which is used for testing of the new WITHOUT ROWID virtual table mechanism. (check-in: aa7e9d0cc1 user: drh tags: trunk)
18:21
Fix a memory leak when a WITHOUT ROWID eponymous virtual table is used. (Closed-Leaf check-in: 31b83a7d7e user: drh tags: without-rowid-vtab)
17:27
Disallow access to the rowid column on WITHOUT ROWID virtual tables. (check-in: d31c25972b user: drh tags: without-rowid-vtab)
13:35
Enhance the sqlite3_load_extension() interface to permit extensions to return SQLITE_OK_LOAD_PERMANENTLY which will prevents unloading when the database connection closes. (check-in: 5908aa4dc5 user: drh tags: trunk)
01:01
Performance optimizations on the CSV virtual table. Disallow WITHOUT ROWID virtual tables that have an xUpdate method, for now. (check-in: 3134b3266c user: drh tags: without-rowid-vtab)
2016-06-02
23:13
Add the CSV extension to the test fixture. Fix a memory leak in the CSV extension. Add test cases for the CSV extension, including one that uses a WITHOUT ROWID virtual table participating in the OR optimization. (check-in: 95f483e86e user: drh tags: without-rowid-vtab)
17:44
Add the data= parameter to the CSV virtual table extension. (check-in: 769191042a user: drh tags: without-rowid-vtab)
16:22
Fix corner cases in the WITHOUT ROWID virtual table logic. (check-in: a393bbb972 user: drh tags: without-rowid-vtab)
2016-06-01
10:37
Fix an issue preventing RBU vacuum from working with virtual tables. (check-in: 3bd85fa5a9 user: dan tags: trunk)
05:02
Fix compilation issues with the VFS stat extension. (check-in: f6e956525b user: mistachkin tags: trunk)
2016-05-31
21:18
An experimental branch with code that allows virtual tables to be declared as WITHOUT ROWID tables. This might be useful for virtual tables that model external data sources that do not have a convenient way of computing a unique rowid. The current check-in almost works, but there are still serious issues. (check-in: 49638f180e user: drh tags: without-rowid-vtab)
18:44
Add the columns=N parameter to the CSV extension. (check-in: 28ebeadd6a user: drh tags: trunk)
18:08
Add the testflags parameter to the csv extension. (check-in: b93fb2fe0d user: drh tags: trunk)
16:22
Add the "csv" virtual table for reading CSV files, as an extension in the ext/misc/ subfolder. (check-in: 00d3570c8b user: drh tags: trunk)
2016-05-30
08:28
Fix an FTS5 problem (segfault or incorrect query results) with "... MATCH 'x OR y' ORDER BY rank" queries when either token 'x' or 'y' is completely absent from the dataset. (check-in: 64ca1a835a user: dan tags: trunk)
05:45
Minor tweaks to the bc_test1 test program. (check-in: d0d0bab4e9 user: dan tags: begin-concurrent)
2016-05-28
18:53
Experimental change to allow virtual tables to take advantage of LIKE, REGEXP and GLOB terms that are part of OR expressions within WHERE clauses. (Closed-Leaf check-in: 242507b4ff user: dan tags: vtab-experimental)
17:45
Remove an unnecessary malloc from the vfsstat extension. (check-in: 24f258c239 user: drh tags: trunk)
17:23
Enhance the sqlite3_load_extension() interface to permit extensions to return SQLITE_OK_LOAD_PERMANENTLY which will prevent the extensions from unloading when the database connection closes. (Closed-Leaf check-in: d3f99a5e8d user: drh tags: load-permanently)
15:22
Enhance "PRAGMA compile_options" so that it shows the version of the compiler used to generate the executable, for common compilers. (check-in: 6a0f200957 user: drh tags: trunk)
15:09
Update the amalgamation-tarball configure script so that it can use header file "readline/readline.h" with library file "libedit". (check-in: cbf72b04bb user: dan tags: trunk)
15:03
Enhance the sqlite3_load_extension() API so that the first parameter (the "db" parameter) can be NULL. An extension that is not associated with any database connection remains loaded for the life of the process. (Closed-Leaf check-in: 3a46104389 user: drh tags: persistent-extensions)
14:53
Add the vfsstat.c loadable extension - a VFS shim that measures the amount of I/O, and an eponymous virtual table that is used to extract and view the measurements. (check-in: 0987487dd4 user: drh tags: trunk)
00:13
Clang can define _MSC_VER in some circumstances; therefore, check for Clang first. (Closed-Leaf check-in: 3f710bc361 user: mistachkin tags: ctimeCompiler)
2016-05-27
21:13
Check for Clang before GCC. (check-in: 7c2cd4b05f user: mistachkin tags: ctimeCompiler)
20:30
Remove surplus quotation marks from the COMPILER= compile_options setting for Clang. (check-in: 5c966f2000 user: mistachkin tags: ctimeCompiler)
19:34
Remove surplus quotation marks from the COMPILER= compile_options setting for GCC. (check-in: 664c132dab user: drh tags: ctimeCompiler)
18:09
Add basic compiler information to the results of 'PRAGMA compile_options'. (check-in: d734e2df40 user: mistachkin tags: ctimeCompiler)
12:30
Improvements to WHERE-clause debug tracing. Show TK_MATCH expressions and show more details on WhereTerm traces. (check-in: 71087c12bc user: drh tags: trunk)
04:10
Fix Lemon so that it actually works with -DYYSTACKDEPTH=0. (check-in: a9be4c2d56 user: drh tags: trunk)
01:07
Fix the Lemon-generated parser so that it compiles with -DYYSTACKDEPTH=0. It does compile now, but there are subtle issues still. (check-in: 28d439f816 user: drh tags: trunk)
2016-05-26
20:56
Add a new OP_SeekRowid opcode, that combines the functions of OP_MustBeInt and OP_NotExists. This makes the code slightly smaller and faster. (check-in: ffe80a1bfa user: drh tags: trunk)
20:52
Add further instrumentation to the bc_test1.c test app. (check-in: 5528de4a53 user: dan tags: begin-concurrent)
2016-05-25
18:53
Add the libvers.c tool in the tool/ subdirectory. (check-in: 2a41f098b2 user: drh tags: trunk)
2016-05-24
18:55
Enhance Lemon and the parser template so that it can once again build parsers that have no unreachable branches. (check-in: 41fd46e296 user: drh tags: trunk)
18:50
Minor change to the walcrash4.test module so that it works when SQLITE_DEFAULT_WAL_SYNCHRONOUS is set to something other than 2. (check-in: 61e239bc43 user: drh tags: trunk)
16:20
Fix an obscure problem with transactions written in "PRAGMA synchronous=full" mode on systems that do not support POWERSAFE_OVERWRITE causing an xSync() call to be omitted if the last frame written by a transaction is aligned to a sector boundary. This means that if a power failure or OS crash occurs very soon after such a transaction is committed, it may be lost following system recovery. (check-in: 37de3eab67 user: dan tags: trunk)
00:40
Improvements to the initialization of the push-down automoton for the Lemon-generated parser. Smaller and faster. (check-in: 3b28b68e23 user: drh tags: trunk)
2016-05-23
21:56
Use a pointer to the top of the stack rather than an index into the stack in the Lemon-generated parser template, for about 6.6% parser performance gain. (check-in: 3c2a770549 user: drh tags: trunk)
19:02
Avoid a minor error message when running RTREE without an sqlite_stat1 table. (check-in: 276e92f5b4 user: drh tags: trunk)
18:27
Fix the rtreeG.test test case. (Closed-Leaf check-in: 9589e93771 user: drh tags: tree-stat1-fix)
18:12
Fix RTREE so that it does not run queries against the sqlite_stat1 if that table does not exist. (check-in: 48526a2fe5 user: drh tags: tree-stat1-fix)
18:06
Remove an extra "finish_test" from the end of rtreeC.test. (check-in: bfbb6dd84b user: drh tags: tree-stat1-fix)
16:16
Improve the error messages generated by the rtree module when a constraint fails. (check-in: 3ad2531efb user: dan tags: trunk)
16:15
Lemon enhancement: avoid unnecessary reduce actions that convert one non-terminal into another but have no side effects. (check-in: a86e782ad1 user: drh tags: trunk)
14:24
Fix comment typos and improve clarity of presention in Lemon. The output should be identical. (check-in: b91a5b8297 user: drh tags: trunk)
02:57
Merge changes from trunk. (check-in: 815cc2bb48 user: drh tags: apple-osx)
00:10
Update the configure script with additional hints on the location of tclConfig.sh, hints needed by the latest versions of Xcode. (check-in: 90411a2816 user: drh tags: trunk)
2016-05-21
23:25
More tweaks to improve the performance of the insert logic, slightly. (check-in: dec1307581 user: drh tags: trunk)
20:03
Simplify the sqlite3BtreeInsert() interface by gathering the five arguments describing the content to be inserted into the new BtreePayload structure, and thus reducing the number of parameters from eight to four. (check-in: 55f348cdd2 user: drh tags: trunk)
19:10
Remove some unused legacy code from the btree insert logic. (check-in: 2ce1166717 user: drh tags: trunk)
18:50
Use pthreads mutexes and conditions to synchronize threads in bc_test1. (check-in: f33aa76f07 user: dan tags: begin-concurrent)
12:29
Yet another minor size reduction and performance increase in the b-tree insert logic. (check-in: 1dbaf7a119 user: drh tags: trunk)
11:23
Small size reduction and performance increase in the sqlite3BtreeInsert() logic. (check-in: 656aa1ecf5 user: drh tags: trunk)
00:45
Add the shell-script used for routine performance testing. (check-in: 8e366f18f5 user: drh tags: trunk)
2016-05-20
23:51
Add a simple TCL script for summing cachegrind information for each VDBE opcode. (check-in: 96cf821b6a user: drh tags: trunk)
21:40
Another optimization on the OP_Column opcode. (check-in: 1765672c25 user: drh tags: trunk)
20:58
Fix typo in comment. (check-in: 9db8f21473 user: mistachkin tags: trunk)
19:51
Slight performance improvement in the OP_Column opcode. (check-in: 5c15747439 user: drh tags: trunk)
18:09
Remove the sqlite3PagerClearCache() routine, which does not accomplish anything useful. (check-in: f250166bb3 user: drh tags: trunk)
15:53
Performance optimization and size reduction on the freeP4() routine. (check-in: 4dc56e8684 user: drh tags: trunk)
15:24
Increase the version number to 3.14.0 since we are already making significant code changes. (check-in: 1a0d05765f user: drh tags: trunk)
15:15
Use sqlite3VdbeAddOp0() to code OP_Expire, to save a few bytes. (check-in: 3d55d24dcb user: drh tags: trunk)
14:54
Optimizations to link list merge sort code in vdbesort.c, pcache.c, and rowset.c. Resulting binaries are 10 bytes smaller and use 0.03% fewer CPU cycles. (check-in: 9033afbb31 user: drh tags: trunk)
14:11
For queries with both ORDER BY and LIMIT, if the rows of the inner loop are emitted in ORDER BY order and the LIMIT has been reached, then optimize by exiting the inner loop and continuing with the next cycle of the first outer loop. (check-in: 559733b09e user: drh tags: trunk)
13:44
Set the NULLEQ flag on the sequence counter comparison in the ORDER BY LIMIT optimization, to avoid coverage complaints about not testing the NULL case. (Closed-Leaf check-in: ed1b30dc93 user: drh tags: orderby-limit)
12:22
Autoconf configure.ac adjustment to try to get it to look for both editline and readline automatically. (check-in: 645bd696df user: drh tags: trunk)
00:21
A few simple test cases for the ORDER BY LIMIT optimization. (check-in: 08849eab0f user: drh tags: orderby-limit)
2016-05-19
22:40
Appears to work now. Needs test cases, more comments, and code optimization. (check-in: 990fe50c91 user: drh tags: orderby-limit)
22:13
In a query with both ORDER BY and LIMIT, if the inner loop satisfies the ORDER BY then try to cut short each invocation of the inner loop once the LIMIT has been satisfied. This check-in is a partial implementation only. (check-in: 852d1eda6e user: drh tags: orderby-limit)
19:31
Fixup comments on wctrlFlags value definitions. (check-in: 58b516e8c0 user: drh tags: trunk)
18:56
Clean up the WHERE_* macros used for the wctrlFlags parameter on the sqlite3WhereBegin() interface, freeing up some bits to be used for other things. (check-in: d01305841d user: drh tags: trunk)
17:51
Optimization marks in vdbe.c. No logic changes. (check-in: cf2737415a user: drh tags: trunk)
16:58
Performance improvement in the OP_Column opcode. (check-in: 4737cadc41 user: drh tags: trunk)
16:21
Add test cases to test some fts3/4 edge case behaviour surrounding the '*' character. (check-in: 1f577e1f08 user: dan tags: trunk)
11:12
Small size reduction and performance improvement in the OP_Column opcode. (check-in: 0d7730611b user: drh tags: trunk)
2016-05-18
21:03
Add the "scrub" utility program that simultaneously backs-up a live database and erases all deleted content. (check-in: c981ab2a47 user: drh tags: trunk)
21:01
Omit the unnecessary WHERE_REOPEN_IDX flag in the WHERE interface. (check-in: 915416d15f user: drh tags: trunk)
20:53
Merge the 3.13.0 release changes. (check-in: e2e9b98556 user: drh tags: apple-osx)
10:57
Version 3.13.0 (check-in: fc49f556e4 user: drh tags: trunk, release, version-3.13.0)
2016-05-17
21:17
Enhance the scrub utility program so that it does a FULL checkpoint prior to starting the backup, to ensure that the database file content matches what needs to be backed up without having to look at the WAL file. (Closed-Leaf check-in: ab1c5ce50f user: drh tags: scrub-backup)
17:11
Merge the latest changes from trunk. (check-in: 5021dfe1f3 user: drh tags: scrub-backup)
2016-05-16
14:35
Do not run snapshot_fault.test as part of the inmemory_journal permutation. (check-in: 995c084bde user: dan tags: trunk)
13:37
Merge recent fixes from trunk. (check-in: 0d9b82afea user: drh tags: apple-osx)
11:55
Disable shell.exe test cases for UTF8 filenames as they do not work on MinGW. (check-in: 386bcbba8e user: drh tags: trunk)
2016-05-13
17:22
Improvements to a comment in the pcache.c file. No changes to code. (check-in: b369980f0c user: drh tags: trunk)
15:22
Remove the unused PGHDR_NEED_READ flag. Add invariant checking (during SQLITE_DEBUG builds only) for the PgHdr object. (check-in: 771c5411e9 user: drh tags: trunk)
12:12
Clarification of the pagerFlushOnCommit() logic. (check-in: 3401d9dcdb user: drh tags: trunk)
11:50
Fix pager_end_transaction() to ensure that a ROLLBACK does not clobber unwritten pages in a TEMP file pcache. (check-in: 9495d33879 user: drh tags: trunk)
04:24
Additional debugging and tracing logic for pcache.c, turned off by default using an "#if 0". (check-in: 32a62e3bd4 user: drh tags: trunk)
2016-05-12
19:17
Disable ALWAYS and NEVER when compiled with SQLITE_MUTATION_TEST. (check-in: 24d9fbc1d0 user: drh tags: trunk)
19:05
Simplification of the sqlite3FaultSim() call inside of sqlite3PagerCommitPhaseOne(). (check-in: 1b0f4cc362 user: drh tags: trunk)
18:38
Add an assert in pager.c to confirm that pPager->tempFile is always true for in-memory databases. (check-in: 3fd7109206 user: drh tags: trunk)
17:06
Add extra OPTIMIZATION-IF-FALSE comments where required to pcache.c. (check-in: 9d55b8f541 user: dan tags: trunk)
12:08
For in-memory databases, it does not matter if pcache entries are marked "clean" or "writable". (check-in: 06c1e27ca8 user: drh tags: trunk)
12:01
Remove an unnecessary call to sqlite3PcacheMakeClean() inside of the ROLLBACK logic. (check-in: 0dc50d9915 user: drh tags: trunk)
09:48
Add a missing OPTIMIZATION-IF-FALSE comment to pcache.c. (check-in: bc202e5b41 user: dan tags: trunk)
2016-05-11
23:54
For in-memory databases, it does not matter if pcache entries are marked "clean" or "writable". (Closed-Leaf check-in: ad601c7962 user: drh tags: pager-dev)
20:03
Remove a redundant condition from pcache.c. Add an OPTIMIZATION-IF-TRUE comment to another condition that requires it. (check-in: 3bfd2621d1 user: dan tags: trunk)
18:20
Remove a redundant condition from pcache.c. Add an OPTIMIZATION-IF-TRUE comment to another condition that requires it. (Closed-Leaf check-in: 4533ed352d user: dan tags: mistake)
15:41
Remove some a small amount of redundant code related to PCache.pSynced from pcache.c. (check-in: 9cc8cad78f user: dan tags: trunk)
12:47
Do not reset the page cache when a rollback journal truncate fails, as doing so can cause loss of information for an in-memory TEMP file. (check-in: 345ce1c9f6 user: drh tags: trunk)
11:04
Always truncate, rather than persist, the rollback journal of a TEMP database. (check-in: 42fb6f1e99 user: drh tags: trunk)
10:57
Add pcache tracing macros. Off by default. Requires changing an "#if 0" and recompiling to enable. (check-in: d9313d19c7 user: drh tags: trunk)
2016-05-10
20:16
Add another test case to temptable3.test. (check-in: 223640243e user: dan tags: trunk)
20:03
Fix a problem in sqlite3PagerMovepage() when working on a temp table for which pages have been spilled. (check-in: 20cf8811ca user: drh tags: trunk)
2016-05-09
23:11
Fixes to requirements marks. No changes to code. (check-in: 79ecd0ef20 user: drh tags: trunk)
22:35
Enhancements to test/sort5.test so that it works with SEE. (check-in: 8a39c8ee49 user: drh tags: trunk)
22:32
Remove some forgotten debugging lines from test/sort5.test. (check-in: f587548981 user: drh tags: trunk)
19:58
Omit the unnecessary WHERE_REOPEN_IDX flag in the WHERE interface. (Closed-Leaf check-in: da94a6e0eb user: drh tags: dev)
19:03
Update a comment in fts5.h. No changes to code. (check-in: 14e53d0e2f user: dan tags: trunk)
18:05
Fix the FTS5 xQueryPhrase() API function so that it recognizes column filters. (check-in: 48505cde05 user: dan tags: trunk)
2016-05-07
18:02
Add options to bc_test1.c to make it more flexible. (check-in: ec6ef5f2c2 user: dan tags: begin-concurrent)
12:15
Make the sqlite3DeleteTable() routine smaller and faster. (check-in: d75140b851 user: drh tags: trunk)
12:15
Fix typo in the intpkey-17.2 test. (check-in: a45fda657d user: drh tags: trunk)
2016-05-06
21:04
Add test/bc_test1.c, for testing the degree of concurrency provided by this branch under various conditions. (check-in: 128c7eaed5 user: dan tags: begin-concurrent)
20:23
Simplification to the logic used to decide between OP_Seek and OP_NotExists. Use OP_NotExists for both DELETE and UPDATE. (check-in: 3a69526318 user: drh tags: trunk)
18:47
Corrections to comments on the whereScanInit() interface. (check-in: ab7ab415d1 user: drh tags: trunk)
16:49
For DELETE operations, make sure that seeks on the main table are not deferred, since if they are and none of the indexes reference columns of the table, the seek might never occur until the OP_Delete opcode, which is too late. Fix for ticket [16c9801ceba49]. (check-in: 93a2bace57 user: drh tags: trunk)
16:30
Fix an error in main.mk causing testfixture to use individual fts5 source code files instead of fts5.c. (check-in: 933a1c818c user: dan tags: trunk)
16:06
In the WHERE generator, when building code for a DELETE operation, make sure that seeks to the main table are not deferred. This is a better fix for the [16c9801ceba49] bug than the previous. (Closed-Leaf check-in: 150dd09ebd user: drh tags: ticket-16c9801ce)
15:16
Fix a bug in sqlite_analyzer causing it report (slightly) incorrect values for the number of entries in indexes or WITHOUT ROWID tables. (check-in: dc37750d4e user: dan tags: trunk)
11:31
Do not scan indexes that have the integer primary key as their left-most column. This fixes the crash of ticket [16c9801ceba] but it seems like the wrong fix. More investigation needed. (check-in: 50312273ff user: drh tags: ticket-16c9801ce)
2016-05-05
23:59
Additional error reporting. Open the source database read/write so that it can delete the WAL file when done. (check-in: d2efd3c176 user: drh tags: scrub-backup)
23:39
Working when run against sqlite.fossil. (check-in: b0bd9dd625 user: drh tags: scrub-backup)
23:09
Finished implementation compiles, but untested. (check-in: aeb88bdf6f user: drh tags: scrub-backup)
17:15
Initial check-in of the "scrub.exe" utility program prototype. Not yet fully functional. In particular, no scrubbing is done. (check-in: bdf2ec77d1 user: drh tags: scrub-backup)
11:53
Renumber internal constants in the printf() implemention for a small performance improvement. (check-in: 69d11447f4 user: drh tags: trunk)
2016-05-04
21:06
Disable the session extension API if SQLITE_ENABLE_SESSION is not defined. (check-in: 71af9ac165 user: drh tags: trunk)
19:04
Fix typo in comment. No changes to code. (check-in: 6c43ba1c87 user: mistachkin tags: trunk)
14:45
Only disable the one-pass DELETE optimization if the WHERE clause contains a correlated subquery. Uncorrelated subqueries are allowed. This is a refinement of check-in [3f221f592a9a1] that is the fix for ticket [dc6ebeda9396087]. (check-in: aae389692a user: drh tags: trunk)
14:20
Portability enhancements to the configure script on the amalgamation tarball. (check-in: 7184c4b886 user: drh tags: trunk)
11:28
Disable the PagerDontWrite() optimization for temp tables. It can cause database corruption if a page passed to PagerDontWrite() is dirty at the start of a transaction that is subsequently rolled back. (check-in: 6341ab2ffe user: dan tags: trunk)
2016-05-03
19:40
Minor style tweaks in the MSVC makefile. (check-in: 1b43358f89 user: mistachkin tags: trunk)
19:36
Add the experimental SQLITE_FCNTL_WIN32_GET_HANDLE file control. (Leaf check-in: b6ddabe181 user: mistachkin tags: win32GetHandle)
14:57
The session extension is disabled by default. To enable it using --enable-session on ./configure on unix and add SESSION=1 to the nmake on Windows. Or add -DSQLITE_ENABLE_SESSION and -DSQLITE_ENABLE_PREUPDATE_HOOK to build manually. (check-in: bcaa650e87 user: drh tags: trunk)
13:14
Turn the session extension off by default. Enable using --enable-session on configure scripts, or using the SESSION=1 argument to nmake on Windows. (Closed-Leaf check-in: e462cde2a5 user: drh tags: session-make)
02:43
Fix the build when SQLITE_ENABLE_DATA_PROTECTION is defined. (check-in: 8f05e1402d user: drh tags: apple-osx)
00:04
Avoid left-shifts of signed integers. (check-in: 0715ce1643 user: drh tags: trunk)
2016-05-02
19:05
Remove some randomness from test script temptable2.test. (check-in: 5830cf72e9 user: dan tags: trunk)
16:59
Fix a test case in temptable2.test so that it works on systems that lack a coherient cache (ex: OpenBSD) and thus do not support the "PRAGMA mmap_size" command. (check-in: 088cf83872 user: drh tags: trunk)
15:00
Merge enhancements and bug fixes from trunk. (check-in: f52765ee7b user: drh tags: apple-osx)
13:57
Fix harmless LLVM compiler warnings in the srcck1.c utility program used during the build process. (check-in: e4af967533 user: drh tags: trunk)
12:18
Disable the multi-row one-pass DELETE optimization when the WHERE clause contains a subquery. Fix for ticket [dc6ebeda9396087]. (check-in: 3f221f592a user: drh tags: trunk)
10:25
Improvements to the way the LIKE optimization is implemented, resulting in slightly smaller and faster code that is easier to test. (check-in: 54c63b3292 user: drh tags: trunk)
2016-04-30
19:23
Change the way tester.tcl handes $argv so that in "permutations.test <permutation> <filename>" <filename> may be the name of any file in the test/ directory. (check-in: 820c57bb24 user: dan tags: trunk)
18:10
Remove an unnecessary branch from the OP_String8 opcode. (check-in: 459a0b456d user: drh tags: trunk)
17:19
More bug fixes to Lemon identified by Kelvin Sherlock. None of these have any impact on SQLite. (check-in: 762bdc55f8 user: drh tags: trunk)
02:59
Simplifications to the OP_Halt opcode implementation. (check-in: daf4630f96 user: drh tags: trunk)
2016-04-29
20:30
Fix the temporary directory search algorithm for unix so that it fails gracefully even if all candidate directories are inaccessible. This fixes a bug that was introduced by check-in [9b8fec60d8e]. (check-in: 614bb709d3 user: drh tags: trunk)
17:07
Fix the nolock VFS so that it supports shared memory. (check-in: ce11f8e8a3 user: drh tags: apple-osx)
16:01
Merge the latest enhancements from trunk. (check-in: 91e5c07eaf user: drh tags: begin-concurrent)
15:52
Merge enhancements from trunk, and in particular the TEMP file deferred I/O enhancements. (check-in: 81b76901e6 user: drh tags: apple-osx)
15:39
Postpone I/O associated with TEMP files for as long as possible, with the hope that the I/O can ultimately be avoided completely. (check-in: 9d0a5ae002 user: drh tags: trunk)
14:12
Fix test script temptable2.test so that it works with the "inmemory_journal" and "journaltest" permutations. (Closed-Leaf check-in: b7bec7f2d3 user: dan tags: tempfiles-25)
11:35
Merge latest trunk changes, including test case fixes, with this branch. (check-in: 99794aca7b user: dan tags: tempfiles-25)
11:33
Modify the permutations.test script so as to set any permutation specific configuration values before running each individual test script. Fix a mostly harmless buffer overread in the sessions module. (check-in: 4cbd502454 user: dan tags: trunk)
11:28
Lemon bug fix: Do not merge action routines unless their destructors are also identical. Problem and suggested fix reported on the mailing list by Kelvin Sherlock. (check-in: 4792d6dbba user: drh tags: trunk)
10:13
Fix an almost entirely harmless buffer overread in the sessions module. (Closed-Leaf check-in: 89b0ee3351 user: dan tags: permutations-fix)
02:55
Some optimization comments added to vdbe.c. No functional changes to code. (check-in: e7c22e3bff user: drh tags: trunk)
2016-04-28
22:29
Further simplifications and improved commentting on the rowset.c module, including several optimization comments. (check-in: 9f15a520de user: drh tags: trunk)
20:11
Comment changes only: Add several optimization marks in rowset.c. Add a header comment that explains what the various special comments mean. (check-in: 8cdbe89ac6 user: drh tags: trunk)
19:23
Fix typo in comment. No changes to code. (check-in: 9f6f17b5c9 user: mistachkin tags: trunk)
18:53
Rearrange some code in the RowSet logic for clarity of presentation, while adding an /*OPTIMIZATION-IF-TRUE*/ comment. It should operate identically. (check-in: 5748e64376 user: drh tags: trunk)
14:59
Merge latest changes from trunk with this branch. (check-in: 45467ee498 user: dan tags: permutations-fix)
14:15
Use comments to mark several branches as optimizations. No changes to code. (check-in: 33e6274727 user: drh tags: trunk)