SQLite

Timeline
Login

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

788 check-ins using file src/tokenize.c version 6da2de6e12

2015-04-06
22:05
Detect and suppress an endless loops in clearDatabasePage() that might result from a corrupt database file. This is an edited cherry-pick from [30011ad2f55c] and [395bb3e677a]. (Leaf check-in: e5f5ef008d user: drh tags: apple-osx-385)
2015-01-01
16:46
Add a version of the unicode61 tokenizer to fts5. (check-in: d09f7800cf user: dan tags: fts5)
2014-12-29
15:59
Move all fts5 test files to new directory "ext/fts5/test". (check-in: 7f148edb30 user: dan tags: fts5)
11:24
Fixes to built-in tokenizers. (check-in: b33fe0dd89 user: dan tags: fts5)
2014-12-23
19:18
Fix the fts5 bm25() function so that it matches the documentation. (check-in: 1ac7a8d0af user: dan tags: fts5)
2014-12-22
21:01
Fixes and simplifications for the snippet() and highlight() functions. (check-in: ca5d44042a user: dan tags: fts5)
2014-12-19
20:53
Remove the fts5_test() aux function. Test aux functions using the tcl interface instead. (check-in: 67e3ffd950 user: dan tags: fts5)
2014-12-18
20:01
Fix a problem with prefix queries and the AND operator. (check-in: 38b3c65e3e user: dan tags: fts5)
18:25
Fix various problems in fts5 revealed by fault-injection tests. (check-in: e358c3de5c user: dan tags: fts5)
2014-12-03
17:27
Begin testing fts5 OOM and IO error handling. (check-in: 2037dba62f user: dan tags: fts5)
2014-12-02
20:18
Add a configuration option to remap the "rank" column to an auxiliary fts5 function. (check-in: b5f5971283 user: dan tags: fts5)
2014-12-01
20:05
Add code to parse a rank() function specification. And a tcl interface to add auxiliary functions to fts5. (check-in: 9c1697a2aa user: dan tags: fts5)
2014-11-28
20:01
Add a cookie mechanism to ensure that the %_config table is re-read as required. (check-in: bb4a37b53d user: dan tags: fts5)
2014-11-27
20:03
Add a %_config table to fts5. (check-in: 83491c5666 user: dan tags: fts5)
2014-11-24
16:24
Add the auxiliary highlight() function to fts5. (check-in: 059092379f user: dan tags: fts5)
2014-11-15
20:07
Fix the customization interfaces so that they match the documentation. (check-in: fba0b5fc7e user: dan tags: fts5)
2014-08-25
19:58
Add documentation for tokenizer api to fts5.h. Also add a script to extract extension API docs and format them as html. (check-in: e240d467e6 user: dan tags: fts5)
2014-08-18
19:30
Add an "automerge=0" mode that disables auto-merging and falls back to fts4-style crisis merges. (check-in: 2397404e15 user: dan tags: fts5)
2014-08-12
16:07
Cache the value of the "totals" record in memory during transactions. (check-in: 05dfdad445 user: dan tags: fts5)
08:36
Automatically resize the hash table used by fts5. (check-in: f1cb48f412 user: dan tags: fts5)
2014-08-11
20:26
Simplify the way position lists are copied when merging data. (check-in: 9f8d678a0e user: dan tags: fts5)
19:44
Replace the hash table borrowed from fts3. (check-in: 617e2fac1c user: dan tags: fts5)
2014-08-09
18:22
Fix an uninitialized variable causing a problem during fts5 table initialization. (check-in: a14fa876f0 user: dan tags: fts5)
18:02
Use multiple memory allocations for a single Fts5Structure object. This is probably less efficient but much easier to get right. (check-in: 2821825f7a user: dan tags: fts5)
2014-08-07
18:47
Add "segment promotion" to fts5. This prevents the FTS index from growing indefinitely as data is added and deleted. (check-in: ba359d78e1 user: dan tags: fts5)
2014-08-06
20:04
Avoid writing delete markers to the oldest segment in an FTS index. (check-in: 1baeb1cee6 user: dan tags: fts5)
16:30
Add support for savepoints to fts5. (check-in: 3b19eba042 user: dan tags: fts5)
2014-08-05
19:35
Use doclist indexes for AND queries as well as phrases. (check-in: 5d38e6edc4 user: dan tags: fts5)
19:00
Use doclist-indexes with "ORDER BY rowid ASC" fts5 queries as well. (check-in: d028ba6589 user: dan tags: fts5)
2014-08-04
20:07
Fix fts5_index.c to use doclist-indexes when possible. Only some cases work so far. (check-in: 90b82d3ef6 user: dan tags: fts5)
2014-08-02
20:49
Start changing things to use doclist indexes as required. code is not activated yet. (check-in: b8864da95d user: dan tags: fts5)
2014-08-01
20:13
Add a special case to the integrity-check code to check that the final integer in a doclist index is as expected. (check-in: c98934155c user: dan tags: fts5)
19:27
Have the fts5 integrity-check verify that doclist indexes match the contents of the leaf pages that they index. (check-in: 37a7d3035e user: dan tags: fts5)
11:16
Add "doclist index" records to the database. These are to make navigating within very large doclists faster. They are not yet used by queries. (check-in: 89377421ff user: dan tags: fts5)
2014-07-31
17:53
Add a comment explaining why fts5 cannot cache "sorter statements". (check-in: e6af3b7a3c user: dan tags: fts5)
17:47
Try to reuse sorter statements in fts5. Does not work due to circular references on VTable object. (Leaf check-in: bc14e64bdf user: dan tags: save_sorter_stmt)
11:57
Add further tests for the extension APIs with "ORDER BY rank" queries. (check-in: 37a417d27e user: dan tags: fts5)
2014-07-30
20:26
Fix things so that the fts5 extension API works with "ORDER BY rank" queries. (check-in: f1b4e1a98d user: dan tags: fts5)
19:41
Add hidden column "rank". Currently this always returns the same value as the bm25() function. (check-in: 4cc048c365 user: dan tags: fts5)
2014-07-28
20:14
Add the "loadfts" program, for performance testing the loading of data into fts3/fts4/fts5 tables. (check-in: 770b9540c1 user: dan tags: fts5)
2014-07-26
18:38
Add tests and fixes for bm25() function. (check-in: 71d32f53e8 user: dan tags: fts5)
2014-07-25
20:30
Add extension apis xRowCount, xQueryPhrase, xSetAuxdata and xGetAuxdata. And a ranking function that uses all of the above. (check-in: c4d50428ab user: dan tags: fts5)
2014-07-24
20:25
Avoid trying to allocation zero bytes when analyzing a unique non-null index. (Closed-Leaf check-in: 85e2badeeb user: drh tags: faster-analyze)
19:54
Avoid change tests when analyzing single-column unique indexes after getting past the initial NULL entries. (check-in: 4690e99c07 user: drh tags: faster-analyze)
12:09
In the command-line shell, in CSV output mode, terminate rows with CRNL but do not expand NL characters in data into CRNL. Provide the extra -newline command-line option and the extra argument to .separator to designate an alternative newline character sequence for CSV output. (check-in: 16c8ce10e1 user: drh tags: trunk)
2014-07-23
23:57
Add experimental "costmult" logic. Only enabled when compiled with -DSQLITE_ENABLE_COSTMULT. (check-in: 729ece4088 user: drh tags: trunk)
19:37
Ugh. Consecutive UNIQUE index entries are only distinct if the index is on NOT NULL columns. So the previous version was not quite right. This check-in fixes the problem. (check-in: 30033f9650 user: drh tags: faster-analyze)
19:31
Add a snippet() function to fts5. (check-in: bdc58fd28a user: dan tags: fts5)
18:36
Improve the performance of the ANALYZE command by taking advantage of the fact that every row of a UNIQUE index is distinct. (check-in: 3e1e79e133 user: drh tags: faster-analyze)
15:51
Updated documentation on sqlite3_temp_directory. No changes to code. (check-in: e6225a7bf7 user: drh tags: trunk)
2014-07-22
22:46
When running ANALYZE, it is not necessary to check the right-most key column for changes since that column will always change if none of the previous columns have. (check-in: 48f40861db user: drh tags: trunk)
20:02
Add the OP_ReopenIdx opcode that works like OP_OpenRead except that it becomes a no-op if the cursor is already open on the same index. Update the OR-optimization logic to make use of OP_ReopenIdx in order to avoid unnecessary cursor open requests sent to the B-Tree layer. (check-in: 77f412caf0 user: drh tags: trunk)
19:14
The optimization of check-in [b67a6e33f2] does not work (it generates incorrect VDBE code) if an OR term is AND-ed with a constant expression. So back that optimization out and add a test case to make sure it does not get added back in. (check-in: eed754fe93 user: drh tags: trunk)
16:00
Fix the index name for the shadow tables in the spellfix1 extension so that multiple instances of the spellfix1 virtual table can each have their own index. (check-in: 438c348a40 user: drh tags: trunk)
15:33
Correction: The maximum SQLITE_MAX_ATTACHED value to avoid overflowing a signed 8-bit integer is 125, not 127. (check-in: 48e3780295 user: drh tags: trunk)
14:58
Enhance the sqlite_stat1.stat parsing to allow additional text parameters at the end. Unrecognized parameters are silently ignored. (check-in: ca2a5a2c77 user: drh tags: trunk)
14:42
Expire prepared statements after running ANALYZE. (check-in: b083a961f8 user: drh tags: trunk)
12:05
Enhance the comment on whereLoopAddBtree(). No changes to code. (check-in: b22dd165da user: drh tags: trunk)
00:40
For the OR-optimization, avoid generating OP_OpenRead opcodes that reopen exactly the same index. (check-in: b67a6e33f2 user: drh tags: trunk)
2014-07-21
20:07
Limit the maximum SQLITE_MAX_ATTACHED to 127, since a signed character is sometimes used to store the database index. (check-in: f1c76c7c4c user: drh tags: trunk)
15:45
Fix DELETE and UPDATE operations on fts5 tables. (check-in: d44d3a8518 user: dan tags: fts5)
15:44
Allow the SQLITE_MAX_ATTACHED compile-time option to be larger than 62. The default limit on the number of attached databases remains 10. (check-in: 1a817ae2f3 user: drh tags: trunk)
14:22
Add the xTokenize extension API. (check-in: 8c6b0aff34 user: dan tags: fts5)
11:44
Fix the xColumnSize() extension API. (check-in: 19504c4108 user: dan tags: fts5)
2014-07-19
20:27
Add simple tests for the xColumnText() extension api. (check-in: 1e9053abda user: dan tags: fts5)
20:15
Add new ASCII mode to the shell capable of importing and exporting using the official unit and record separators (i.e. 0x1F and 0x1E, respectively). (check-in: 7fe601ead0 user: mistachkin tags: asciiMode)
17:57
Update the sqlite3_stmt_busy() function so that it correctly returns true for "ROLLBACK" statements that have been stepped but not yet reset. (check-in: 61cee3c067 user: dan tags: trunk)
17:49
Fix harmless compiler warnings in the showdb and showwal tools and in the unicode tokenizer of FTS3. (check-in: 574cc8eb14 user: drh tags: trunk)
15:44
Fix some harmess compiler warnings in the FTS3 Unicode module. (Closed-Leaf check-in: c01caea5d6 user: mistachkin tags: toolWarnings)
15:40
Fix warnings related to having a 64-bit size_t. (check-in: 29ac9336db user: mistachkin tags: toolWarnings)
15:35
Fixes for the xColumnSize() fts5 extension API. (check-in: 43fcb84472 user: dan tags: fts5)
15:30
Fix warnings caused by the previous commit. (check-in: 89634a419d user: mistachkin tags: toolWarnings)
2014-07-18
21:16
Fix harmless compiler warnings for MSVC in the showdb/showwal command line tools. (check-in: 6dc7b2f119 user: mistachkin tags: toolWarnings)
21:02
Update clean targets with the recently added command-line tools. (check-in: 2beefa68c0 user: mistachkin tags: trunk)
19:59
Fix issues with position lists and NEAR constraints. (check-in: 16352d3654 user: dan tags: fts5)
19:06
Improved documentation for checkpoints and the busy handler. No changes to code. (check-in: ca92c02406 user: drh tags: trunk)
17:39
SQLite has long accepted some unadvertised and non-standard join syntax. Add a test to ensure that future versions continue to accept this non-standard syntax, to avoid breaking legacy applications that use the undefined syntax. (check-in: 824dde7fc4 user: drh tags: trunk)
14:43
Improvements to the ".fullschema" command in the command-line shell. (check-in: fa80c64caa user: drh tags: trunk)
2014-07-17
15:14
Fix a problem with position list processing for OR queries. (check-in: 5808f30fae user: dan tags: fts5)
2014-07-16
20:07
Fixes for tcl list generation in fts5_test(). (check-in: c1f9a4b76c user: dan tags: fts5)
19:15
Begin adding interface for auxiliary functions. (check-in: 1e2a7ba088 user: dan tags: fts5)
2014-07-10
20:21
Support "ORDER BY rowid ASC". (check-in: b96b5e1669 user: dan tags: fts5)
2014-07-08
16:27
Add support for prefix queries to fts5. (check-in: 75ebd3cd59 user: dan tags: fts5)
2014-07-07
18:03
Fix harmless compiler warnings in the fts3view utility program that can occur with MSVC. (check-in: 1cec1e0300 user: mistachkin tags: trunk)
17:57
Add the fts3view utility program to the MSVC makefile. (check-in: b04751bd59 user: mistachkin tags: trunk)
16:07
Fix a division-by-zero error in the fts3view utility program. Add the fts3view utility program to the "main.mk" makefile. (check-in: 64f02699b4 user: drh tags: trunk)
2014-07-05
15:15
Add support for AND, OR and NOT to fts5. (check-in: 8682b87e79 user: dan tags: fts5)
07:54
Add support for the "colname : <nearset>" syntax to fts5. (check-in: 004667106e user: dan tags: fts5)
2014-07-03
20:39
Add support for NEAR expressions to fts5. (check-in: 250ae8d401 user: dan tags: fts5)
12:18
Change fts3/4 so that the "unicode61" is included in builds by default. It may now be excluded by defining SQLITE_DISABLE_FTS3_UNICODE. (check-in: 0cc0230ae9 user: dan tags: trunk)
2014-07-02
20:18
Add support for phrase queries to fts5. (check-in: 2e5652e652 user: dan tags: fts5)
2014-07-01
20:45
Change the position list format so that its size in bytes is stored at the start of the list itself. (check-in: 62f2ff2041 user: dan tags: fts5)
15:22
Add another test to verify that SQLite is using stat4 data for composite primary keys on WITHOUT ROWID tables. (check-in: 0df1fe72f8 user: dan tags: trunk)
11:54
Ensure that all fields are loaded from the stat4 table for records that correspond to indexes on WITHOUT ROWID tables with composite primary keys. (check-in: 21981e3506 user: dan tags: trunk)
2014-06-30
20:25
Merge the latest trunk changes into the threads branch. (check-in: ae23a65eb1 user: drh tags: threads)
20:02
Merge the latest trunk enhancements into the sessions branch. (check-in: a5d94eaba6 user: drh tags: sessions)
19:57
Merge the latest trunk changes into the apple-osx branch. (check-in: f426876fe1 user: drh tags: apple-osx)
19:28
Bump the version number to 3.8.6. (check-in: f925e9baaf user: drh tags: trunk)
19:07
Attempt to use STAT4 information to estimate the selectivity of WHERE clause terms when using the skip-scan optimization. (check-in: d09ca6d5ef user: drh tags: trunk)
18:57
Fix for ticket [b2fa5424e6fcb15]: Better define the format of the sqlite_stat4 file for WITHOUT ROWID tables and make sure the ANALYZE command generates a file in the appropriate format. Use the sqlite_stat4 data to enable the use of WHERE terms that cover all indexed columns plus some prefix of columns in the primary key. (check-in: bc2de8095f user: drh tags: trunk)
18:02
Fix a problem in where.c with using the stat4 sample data of an index on a WITHOUT ROWID table. (Closed-Leaf check-in: 053a210e31 user: dan tags: stat4-without-rowid)
17:07
Fix the STAT4 information for WITHOUT ROWID tables. (check-in: 5d8628fdff user: drh tags: stat4-without-rowid)
15:23
Fix where.c so that the primary key values appended to every index entry on a WITHOUT ROWID table may be used when useful. (check-in: 6624a61d16 user: dan tags: stat4-without-rowid)
13:56
Omit non-primary-key columns from the STAT4 samples for WITHOUT ROWID tables. Indexes, both rowid and without-rowid, still hold an exact copy of the index entry. (check-in: de826c3158 user: drh tags: stat4-without-rowid)
13:32
Generate complete samples for sqlite_stat4 on WITHOUT ROWID tables. Ticket [b2fa5424e6fcb15b5] (check-in: 8cb43eddab user: drh tags: stat4-without-rowid)
11:14
Add makefile targets for various diagnostic tools, such as showstat4. Fix harmless compiler warnings in diagnostic tools. (check-in: 6f86d89b88 user: drh tags: trunk)
2014-06-28
19:06
Add an OOM fault injection test for the new code on this branch. (Closed-Leaf check-in: c96de490ac user: dan tags: stat4-skipscan)
17:35
Add further tests to skipscan5.test. (check-in: 4b8230e8fe user: dan tags: stat4-skipscan)
16:06
Add header comments on new routines. Rework the sqlite3Stat4Column() routine so that is (in theory) able to deal with corrupt samples. (check-in: ef5cdf949b user: drh tags: stat4-skipscan)
15:26
Fix a problem with using stat4 samples of type text when estimating the rows visited by a range-query/skip-scan loop. (check-in: dfb09db6d4 user: dan tags: stat4-skipscan)
14:28
Change the VDBE to export the sqlite3MemCompare() routine and thus free where.c from the dependency on vdbeInt.h. (check-in: d186d1ac3c user: drh tags: stat4-skipscan)
14:25
Merge fixes from trunk with this branch. (check-in: 6af219d1b8 user: dan tags: stat4-skipscan)
2014-06-27
20:14
Fix a couple of problems in estimating the number of rows visited by a range query that uses a skip-scan. (check-in: 219736f54d user: dan tags: stat4-skipscan)
2014-06-26
22:17
Add some more IN operator tests. (check-in: fb32e374b7 user: mistachkin tags: trunk)
21:32
Fix compilation issue when STAT4 is not enabled. (check-in: 74a5454a71 user: mistachkin tags: stat4-skipscan)
21:28
Revise the affinity returned for expressions flagged as 'generic'. Fix for [9a8b09f8e6]. (check-in: 92f7ad43db user: mistachkin tags: trunk)
20:21
Attempt to use sqlite_stat4 data to estimate the number of rows visited by a range query that uses a skip-scan. This code is largely untested. (check-in: 01dc810259 user: dan tags: stat4-skipscan)
12:31
Fix minor problems in term matching. (check-in: 94eeb077d0 user: dan tags: fts5)
2014-06-25
20:28
Begin adding query support to fts5. (check-in: 47a9f3cc92 user: dan tags: fts5)
2014-06-24
20:19
Fix showstat4.c so that it decodes typecodes 8 and 9 correctly. (check-in: 9ca737c0b4 user: drh tags: trunk)
16:59
Add simple full-table-scan and rowid lookup support to fts5. (check-in: 3515da85d0 user: dan tags: fts5)
00:59
Add the showstat4.exe utility program for decoding and displaying the content of the sqlite_stat4 table in a database. (check-in: b4d9f6053d user: drh tags: trunk)
2014-06-23
23:28
Add the .fullschema command to the sqlite3.exe utility. This command shows the schema and the content of the sqlite_stat tables, all in one go. Useful when reporting problems with the query planner. (check-in: ebec48921c user: drh tags: trunk)
11:33
Add some code for an experimental fts5 module. Does not work yet. (check-in: 1e0648dcf2 user: dan tags: fts5)
10:18
Fix a problem with SQLITE_OMIT_WSD builds. (check-in: 07dda49c1b user: dan tags: trunk)
10:04
Fix a problem with SQLITE_OMIT_WAL builds. (check-in: 612b6d1b1f user: dan tags: trunk)
2014-06-20
13:55
Improved display of record data in the "NNNbd" output of the showdb.exe utility program. (check-in: f735c2497e user: drh tags: trunk)
01:32
In the showdb.exe utility, for the "NNNbd" command, also show data fields in addition to header fields on each record decoded. Improvements to formatting. (check-in: b451fe0cb9 user: drh tags: trunk)
2014-06-19
23:38
Add the ability to decode the headers of individual cells, byte-by-byte, in the "showdb.exe" utility. (check-in: 306b461d7c user: drh tags: trunk)
2014-06-18
18:10
Add the "LogEst" and "LogEst.exe" target to the makefiles. (check-in: 7b91b0581d user: drh tags: trunk)
15:24
Fix a comment on the sqlite3Utf8Read() routine. No changes to code. (check-in: 5e514f6ace user: drh tags: trunk)
15:18
Merge in all recent changes from trunk, and especially the automatic index enhancements. (check-in: 0e1b73496f user: drh tags: threads)
15:11
Prevent an automatic index from taking the place of a declared index. (check-in: 0a52bddd9d user: drh tags: trunk)
2014-06-17
20:16
Prevent an automatic index from taking the place of a declared index. (Closed-Leaf check-in: 4ece839d44 user: drh tags: autoindex-improvements)
17:00
Fix a missing space in a "wheretrace" comment. No changes to production code. (check-in: b500f2a097 user: drh tags: trunk)
16:11
Add the likely() function for symmetry with unlikely(). The likely(X) function means the same thing as likelihood(X,0.9375). (check-in: 3896548419 user: drh tags: trunk)
15:53
Improvements to query planning, especially in regards to estimating the cost and benefit of automatic indexes. (check-in: 1272fb8991 user: drh tags: trunk)
15:13
Small tweaks to the query planner to get it to try harder to use an index for sorting and to avoid using automatic indexes on constant terms. (Leaf check-in: 2d9de154f8 user: drh tags: branch-3.8.3)
13:23
Add the autoindex2.test testing module. (check-in: ffe3fea47b user: drh tags: autoindex-improvements)
12:33
A different approach to the autoindex problem that deletes query-planner code rather than adding it. (check-in: f270fb6e9e user: drh tags: autoindex-improvements)
09:52
Simplification to the logic that prevents automatic indexes from being formed on constant expressions. (check-in: 36d67e1dd2 user: drh tags: autoindex-improvements)
09:00
Allow an automatic index on a WHERE constraint where the RHS is does not reference another table as long as the RHS is not a constant. (check-in: 58acc2a8b3 user: drh tags: autoindex-improvements)
02:46
Do not attempt to create an automatic index on a constant constraint, as doing so is pointless. (check-in: d6883e960f user: drh tags: autoindex-improvements)
2014-06-16
22:45
Fix CSV import issue, reported via the mailing list, in the shell when the file to be imported ends with an empty line. (check-in: fc918f7d33 user: mistachkin tags: trunk)
21:30
In the "wheretrace" logic (disabled for normal builds) expand the print width of the flags field to be wide enough for all 17 bits. (check-in: 3181d2069a user: drh tags: trunk)
18:35
Add the SQLITE_UNLINK_AFTER_CLOSE compile-time option. If enabled, the unlink of temporary files on unix is deferred until after the file is closed. (check-in: e43a2f92b6 user: drh tags: trunk)
18:17
Add an application ID for MBTiles tilesets. (check-in: 837f640423 user: drh tags: trunk)
16:41
Back out the unix VFS changes that seeks to avoid fstat() calls after an unlink(). That change did not clear the problem on FuseFS. (check-in: 0617e20a33 user: drh tags: trunk)
15:01
Add the ".eqp" dot-command to the ".help" output in the command-line shell. This was accidently omitted when the ".eqp" command was originally implemented for SQLite 3.8.4 (check-in [e6ecf7337658624]). (check-in: b0b4c776c3 user: drh tags: trunk)
12:51
Fix the extension01.test script so that it works on windows. Fix a harmless compiler warning in the fileio extension. (check-in: baf95a1909 user: drh tags: trunk)
12:44
Add test cases for the fileio extension. (check-in: 8634333127 user: drh tags: trunk)
2014-06-13
13:43
Add the fileio.c loadable extension, that implements readfile() and writefile() SQL functions. (check-in: 0ca104d821 user: drh tags: trunk)
13:08
Add an extension that implements compress() and uncompress() SQL functions. (check-in: d5c17d1a42 user: drh tags: trunk)
2014-06-12
17:10
Increase the WAL-mode SQLITE_PROTOCOL timeout to 10 seconds. (check-in: 2aeacf81df user: drh tags: trunk)
15:46
Simplify the estLog() routine. (check-in: 6c68d758bc user: drh tags: trunk)
2014-06-10
20:18
Proposed change to the fix for ticket [1c69be2dafc28b] such that legacy applications that were exploiting the older buggy behavior in SQLite continue to work. (Leaf check-in: 401a0ca3dd user: drh tags: group-by-name-resolution)
2014-06-09
20:39
Avoid an unnecessary initialization of the szFile field of unixFile in the unix VFS. (check-in: 6484fb5a25 user: drh tags: trunk)
20:24
Enhance the unix VFS so that it keeps track of the size of unlinked files internally and thus avoids the need to call fstat() on those files, since fstat() does not work reliably on unlinked files on some implementations of FuseFS. (check-in: 10707d3578 user: drh tags: trunk)
20:06
Enhance the unix VFS so that it keeps track of the size of unlinked files internally and thus avoids the need to call fstat() on those files, since fstat() does not work reliably on unlinked files on some implementations of FuseFS. (Closed-Leaf check-in: c41df393c6 user: drh tags: omit-fstat-after-unlink)
13:11
Modify the %nonassoc directive in lemon so that it generates a run-time error rather than a parsing conflict. This changes is due to a bug report on the mailing list. SQLite does not use the %nonassoc directive in its grammar so this change does not affect SQLite. (check-in: 1925f3a0a2 user: drh tags: trunk)
2014-06-06
20:49
Add a test case to ensure that estLog() works for negative numbers. (check-in: 813469d985 user: drh tags: trunk)
20:20
Make sure the estLog() routine in the query planner handles negative values correctly (always returning 1). Prior to this change, estLog(-1) would return a large number which could throw off the cost computations in the query planner in obscure circumstances. (check-in: 75437bee49 user: drh tags: trunk)
17:09
Fix an obsolete comment on the whereRangeScanEst() routine. No changes to code. (check-in: b16bf8518b user: drh tags: trunk)
2014-06-05
13:22
Bring the threads branch up-to-date with the 3.8.5 release. (check-in: e4b01676d7 user: drh tags: threads)
12:53
Merge in the 3.8.5 release changes and the FTS integrity-check fix. (check-in: 2dbdfa5170 user: drh tags: apple-osx)
11:15
Fix a problem that was causing the FTS4 integrity-check command to fail if the table had one or more "notindexed" columns. (check-in: 7123bb2605 user: dan tags: trunk)
2014-06-04
14:06
Version 3.8.5 (check-in: b1ed4f2a34 user: drh tags: trunk, release, version-3.8.5)
2014-06-03
20:09
Merge the 3.8.5 release candidate changes into the sessions branch. (check-in: 09e75d82d0 user: drh tags: sessions)
14:42
Avoid closing a pseudo-table associated with sorting in a co-routine since that pseudo-table might be used again in an outer loop. (check-in: 6d81805298 user: drh tags: trunk)
11:32
Add a test to double-check that [1cbe7a0883] did not affect anything. (check-in: c6b512a724 user: dan tags: trunk)
2014-06-02
21:00
Remove the WHERE_LIKELIHOOD bit, as it does not seem to effect any result. (check-in: 1cbe7a0883 user: drh tags: trunk)
18:24
Fix a typo in a requirements mark comment in a test script. No changes to code. (check-in: 75ff459b06 user: drh tags: trunk)
11:26
Fix the query planner so that it once again knows that queries without a FROM clause will never return more than one row and hence do not require sorting. (check-in: 9f18b303cd user: drh tags: trunk)
09:39
Add the "valgrind-nolookaside" permutation to permutations.test. (check-in: 8e8472d9b6 user: dan tags: trunk)
2014-05-31
15:43
Fix a harmless "scan-build" compiler warning in the command-line shell. (check-in: 39fafe0a19 user: drh tags: trunk)
15:39
Fix a compile of harmless static analyzer warnings. (check-in: 7e287f2055 user: drh tags: trunk)
2014-05-30
21:01
Revise locking retry semantics in Win32 VFS to abort early if the file handle is reported as invalid. (check-in: a4df4a5b34 user: mistachkin tags: trunk)
16:54
Add extra checking of the database extended error code. (Closed-Leaf check-in: f2906c4451 user: mistachkin tags: winLockHandle)
16:42
Add tests for the invalid file handle detection logic in the winLock() function. (check-in: ed5a9eb4f3 user: mistachkin tags: winLockHandle)
2014-05-29
20:39
Fix a harmless compiler warning in the command-line shell code. (check-in: a80527f60b user: drh tags: trunk)
20:36
Merge trunk changes into the apple-osx branch. (check-in: b9fad4490c user: drh tags: apple-osx)
20:29
Merge trunk changes into the sessions branch. (check-in: 9f18e78f03 user: drh tags: sessions)
20:24
Merge changes from the trunk into the threads branch. (check-in: 416cb09126 user: drh tags: threads)
20:17
Fix to the EXPLAIN indentation logic in the command-line shell. (check-in: 8f916ed1e1 user: drh tags: trunk)
12:36
Improvements to error messages for errors in the dot-commands of the command-line shell. Add the ".once" command. The output of ".help" now goes to the designated output channel. (check-in: 48dce821a0 user: drh tags: trunk)
03:17
Only quote the arguments to the ".shell" and ".system" commands if they contain spaces. (check-in: e58f4bd39d user: drh tags: trunk)
2014-05-28
20:22
Add the ".shell" and the ".system" commands (aliases for the same thing) to the command-line shell. (check-in: d018a34a05 user: drh tags: trunk)
10:00
Add an extra test to verify that the FTS notindexed option is working. (check-in: c461c0fe05 user: dan tags: trunk)
03:27
Revise locking retry semantics in Win32 VFS to abort early if the file handle is reported as invalid. (check-in: d43e2e59b5 user: mistachkin tags: winLockHandle)
03:23
Revise how OSTRACE reports logically boolean results in the Win32 VFS. (check-in: c405f971cf user: mistachkin tags: trunk)
2014-05-27
20:19
Remove an incorrect assert() in the sorter. (check-in: b8b66103de user: drh tags: trunk)
19:18
Fix harmless compiler warnings. (check-in: 20b75460c0 user: drh tags: trunk)
18:18
Change the name of the Index.autoIndex field to Index.idxType and provide symbolic names for the various values of that field rather than using magic numbers. (check-in: d16e575dac user: drh tags: trunk)
17:57
Avoid unnecessary cursor opens and seeks when running the OR-optimization on a WITHOUT ROWID table. (check-in: 9c785c5832 user: drh tags: trunk)
16:41
Improved comments on the OR-optimization logic in the query planner. (check-in: 77fef5a398 user: drh tags: trunk)
15:21
Remove unused code (previously #ifdef-ed out) from btree.c. (check-in: 8bc9737112 user: drh tags: trunk)
11:54
Fix a harmless compiler warning in the FTS4 logic. (check-in: 64a869ad23 user: drh tags: trunk)
11:42
Add a test to whereI.test that uses a multi-column PK. (check-in: aa183e6092 user: dan tags: trunk)
10:57
Fix for (unsupported) SQLITE_USE_FCNTL_TRACE code. (check-in: 994b2b7a59 user: drh tags: trunk)
2014-05-26
22:05
Add the OR-optimization to WITHOUT ROWID tables. (check-in: 06a23b8b32 user: drh tags: trunk)
22:01
Minor enhancements to comments and clarification of the code. (Closed-Leaf check-in: cbec30d0c4 user: drh tags: without-rowid-or-opt)
20:25
Add a missing VdbeCoverage() macro on an OP_Found opcode added in the previous check-in. (check-in: b4980a07e2 user: drh tags: without-rowid-or-opt)
20:15
Merge recent trunk changes into the threads branch. (check-in: 8215202759 user: drh tags: threads)
20:08
Merge recent trunk changes into the apple-osx branch. (check-in: 54b5fa77e9 user: drh tags: apple-osx)
20:06
Enable the OR optimization for WITHOUT ROWID tables. Use a temp table instead of the RowSet object to track the rows that have already been included in the result set. (check-in: 2c7e277bbe user: dan tags: without-rowid-or-opt)
20:00
Merge recent trunk changes into the sessions branch. (check-in: a769c7e03e user: drh tags: sessions)
18:27
Fix a problem in the shell when importing CSV files. If the leftmost field of the first row in the CSV file was both zero bytes in size and unquoted, no data was imported. (check-in: 856d44a206 user: dan tags: trunk)
16:40
Fix a problem in FTS4 where columns with names that are prefixes of any notindexed column were also being (incorrectly) marked as not indexed. For example in "CREATE ... t1(abc, bc, abcd, notindexed=abcd)", both abc and abcd were being treated as notindexed. (check-in: d90c4964fc user: dan tags: trunk)
2014-05-24
17:15
Remove references in comments to VDBE opcodes that no longer exist. This is a documentation change only; no changes to code. (check-in: ebfb51fe40 user: drh tags: trunk)
2014-05-23
17:17
Changes to the output of EXPLAIN QUERY PLAN to make it clearer when a query uses the PRIMARY KEY index of a WITHOUT ROWID table. (check-in: 9268df305b user: dan tags: trunk)
12:03
In the command-line shell, if three or more interrupt signals (control-c) are received in a row without a response from sqlite3_interrupt() then call exit(1) immediately. This allows control-C to interrupt the shell even if it is stuck in a computation or loop that does not involve the VDBE. (check-in: b5cde57166 user: drh tags: trunk)
11:48
Make sure sufficient VDBE registers are allocated for an INSERT...SELECT when there is an idlist on the insert table that includes an explicit rowid. Ticket [e9654505cfda93610585fde5a9bbf2e730c8a8d5] (check-in: 9a2dd18776 user: drh tags: trunk)
2014-05-22
09:58
Add a test for the EQP output of a skip-scan query that uses the PK index of a WITHOUT ROWID table. (check-in: 10238fad94 user: dan tags: trunk)
2014-05-21
08:48
Do not burn memory remembering CHECK constraints in a read-only database. (check-in: 34ddf02d3d user: drh tags: trunk)
08:21
Fix the sqlite3_db_readonly() API so that it reports true if the database is readonly because the file format write version (byte 18 of the header) is too large. (check-in: 8d8af114da user: drh tags: trunk)
2014-05-20
19:11
Improvements to the testability of the threads.c module. (check-in: 386e088868 user: drh tags: threads)
11:03
In vdbesort.c, change the names of PmaReader variables "pIter" to "pReadr". Other related comment changes. The generated object code should be the same. (check-in: 99efb235a0 user: drh tags: threads)
00:27
Merge all recent trunk changes into the apple-osx branch. (check-in: 23722be49a user: drh tags: apple-osx)
00:20
Merge recent trunk changes into the sessions branch. (check-in: 2d33afe0c4 user: drh tags: sessions)
2014-05-19
23:17
Merge recent changes from trunk. (check-in: 6eefdad946 user: drh tags: threads)
19:26
Fix harmless compiler warnings in MSVC. (Leaf check-in: aa7e2041a3 user: drh tags: safer-malloc)
15:16
Changes to help ensure that a multiplication does not overflow when computing the number of bytes needed for a memory allocation, and cause a malfunction. No problems existing problems were discovered. However, these changes should help to ensure that no problems arise in the future. (check-in: 17349a49d2 user: drh tags: safer-malloc)
2014-05-17
16:56
Internally, use a 64-bit integers for segment level numbers. (check-in: 8180e320ee user: dan tags: trunk)
15:10
Fix a broken test case in fts4growth2.test. (check-in: 9fde5b960a user: dan tags: trunk)
2014-05-16
23:38
Fix harmless compiler warnings. (Closed-Leaf check-in: 7e60347e21 user: mistachkin tags: ftsWarnings)
23:15
Work around compilation issue with MSVC. (check-in: 9623a29c11 user: mistachkin tags: trunk)
20:24
Rearrange some conditionals and add #if statements to make the code more testable. (check-in: 17afd77057 user: drh tags: threads)
17:31
Add a pair of sqlite3FaultSim(100) calls to vdbesort.c to facilitate testing of obscure and hard to reach error conditions. (check-in: cceac14fd8 user: drh tags: threads)
16:16
Fixes to prevent an FTS index from growing indefinitely as the corresponding table is updated. Change the FTS 'automerge' option to allow the user to specify the number of segments that should be merged simultaneously by auto-merges. (check-in: a75f180002 user: dan tags: trunk)
15:48
Add extra test to backcompat.test to ensure that old and new versions of FTS may work together on the same incremental merge operation. (Closed-Leaf check-in: 3997d47bb9 user: dan tags: fts4-experimental)
14:27
Merge all recent changes from trunk, and especially the new sqlite3FaultSim() interface. (check-in: 43fcbd9116 user: drh tags: threads)
14:17
Repurpose the SQLITE_TESTCTRL_FAULT_INSTALL test-control to register a callback to be invoked by sqlite3FaultSim(). That test-control has been unused since 2008-06-20 and was never used in any official release. (check-in: 0d43a7ad9a user: drh tags: trunk)
12:18
Use #ifdef logic to avoid an always-true branch when SQLITE_MAX_WORKER_THREADS=0 (check-in: 88cfe6d7de user: drh tags: threads)
10:30
Fix a bug causing an incorrect segment size value to be stored if both an old and new FTS version performed work on the same incremental merge operation. (check-in: a9a2aeab29 user: dan tags: fts4-experimental)
2014-05-15
19:05
Merge latest trunk changes with this branch. (check-in: 5809986ffc user: dan tags: fts4-experimental)
18:36
Fix a problem with the handling of delete markers by automerge on large databases. (check-in: 2b09bd17eb user: dan tags: fts4-experimental)
16:56
Use #ifdef to omit code that is not used when SQLITE_MAX_WORKER_THREADS is zero. (check-in: 2e8d287d4f user: drh tags: threads)
2014-05-14
19:49
Do not search for promotable segments following an FTS 'optimize' operation or creation of a new segment on the oldest existing level. (check-in: 34f6b4b8e4 user: dan tags: fts4-experimental)
18:45
Fix a problem to do with loading the value of the FTS automerge setting from the database. (check-in: 7268119f74 user: dan tags: fts4-experimental)
15:58
Fix various problems to do with segment promotion. Add test file fts4growth2.test, containing tests to check that the FTS index does not grow indefinitely as the table is updated. Allow the user to configure the number of segments merged simultaneously by the automerge option. (check-in: 21491a9bc6 user: dan tags: fts4-experimental)
2014-05-13
20:11
Fix a problem preventing delete markers from ever being removed from the FTS index. (check-in: 7f47ae5c5d user: dan tags: fts4-experimental)
2014-05-12
22:36
Improve a comment in the MSVC makefile. No changes to code. (check-in: 0901dcceda user: mistachkin tags: trunk)
21:12
Add VSIX packaging support for Windows Phone 8.1 using Visual Studio 2013 Update 2. (check-in: 013738f3d5 user: mistachkin tags: trunk)
20:04
Experimental code to prevent FTS indexes from growing indefinitely as the table is updated. (check-in: b3b505a4dd user: dan tags: fts4-experimental)
15:37
In mutex_w32.c, make inclusion of the Windows header file dependent on SQLITE_OS_WIN, not SQLITE_MUTEX_W32. (check-in: 93ffbcc0b1 user: mistachkin tags: trunk)
15:30
In the sorter, only use large memory allocations if scratch memory has not been configured. Add #ifdefs to disable unused code when SQLITE_MAX_WORKER_THREADS is zero. Other sorter changes in support of testability. (check-in: d7e2b0d9cb user: drh tags: threads)
2014-05-10
17:33
Merge updates from trunk. Emit the AppliesTo and DependsOn SDK manifest attributes when building the VSIX for Windows Phone 8.1. (Closed-Leaf check-in: f6237a5f19 user: mistachkin tags: vsixWinPhone81)
17:28
When using Visual Studio 2013, add the appropriate MaxPlatformVersion attribute to the VSIX SDK manifest. (check-in: 0a4f59676b user: mistachkin tags: trunk)
2014-05-09
23:31
Further MSVC makefile changes to support Windows Phone 8.1. (check-in: a9c81815e1 user: mistachkin tags: vsixWinPhone81)
20:54
Merge updates from trunk. (check-in: f4fea7bb8a user: mistachkin tags: vsixWinPhone81)
20:51
When cross-compiling with the MSVC makefile, make sure the correct library path is used. Also, keep track of the required compilation options separately. (check-in: c3dce2e739 user: mistachkin tags: trunk)
17:17
Merge recent trunk changes into the orderby-planning branch. (Leaf check-in: 8d8609d6c6 user: drh tags: orderby-planning)
15:00
Merge the latest trunk changes into the threads branch. (check-in: 9ac8f1e711 user: dan tags: threads)
14:56
Fix a misplaced #endif and a C99-ism in the unix VFS. (check-in: c8d384d146 user: drh tags: apple-osx)
13:27
Fix compiler warnings. When forcing the delete of a WAL file, do not fail if the WAL files does not exist. All "veryquick.tcl" tests are now passing on Linux under the standard compile-time options. (check-in: eafd8aa186 user: drh tags: apple-osx)
12:18
Fix an incorrect check for API misuse. (check-in: 856400dc20 user: drh tags: apple-osx)
11:45
Bring the PRAGMA logic into closer alignment with trunk, and in the process fix a couple of crashes. (check-in: d66fe706da user: drh tags: apple-osx)
11:15
Add new static mutex SQLITE_MUTEX_STATIC_APP3. (check-in: ee0ab09c80 user: dan tags: threads)
00:36
Fix several harmless compiler warnings. (Closed-Leaf check-in: 360c0fd1cf user: mistachkin tags: winPreCache)
2014-05-08
23:01
Initial attempt to merge in all trunk changes over the previous 1.5 years. This check-in compiles but there are compiler warnings and "make test" segfaults after only running a few test modules. (check-in: 9411d7dc6f user: drh tags: apple-osx)
22:15
Fix typos in logging code. (check-in: dc7f84dfcc user: mistachkin tags: winPreCache)
22:08
Fix a memory leak of the temporary read buffer. (check-in: 37e60d211f user: mistachkin tags: winPreCache)
22:05
Update comments and only include the thread routine when required. (check-in: a60c545f25 user: mistachkin tags: winPreCache)
22:01
Experimental changes to pre-cache a database file prior to it being fully opened. (check-in: 38cbcedbb6 user: mistachkin tags: winPreCache)
22:01
Fix static variable declaration issue on Windows. (check-in: a41d296913 user: mistachkin tags: threads)
2014-05-07
21:16
Include sqlite3rtree.h in the tsrc/ pile of source files during target_source in the main.mk makefile. (check-in: 116bed5af6 user: drh tags: trunk)
20:33
Remove a superfluous variable initialization. (check-in: 68766f8374 user: drh tags: trunk)
20:24
A better fix for the group_concat() problem. (check-in: 1c086deebd user: drh tags: trunk)
19:59
Fix the way parenthesis in MATCH expressions are handled by FTS if the tokenizer considers them to be token characters. (check-in: e21bf7a2ad user: dan tags: trunk)
18:23
Make sure the group_concat() function returns an empty string, not a NULL, if it has at least one input row. Fix for ticket [55746f9e65f8587]. (check-in: d01cedaa73 user: drh tags: trunk)
18:21
Ensure that the sqlite3StrAccumAppend() routine is never called with a NULL second argument. Doing so is harmless when N==0, but it causes an assert() to fail that was placed to quiet static analyzers. (Closed-Leaf check-in: f03fbf3700 user: drh tags: tkt-55746f9e)
17:19
Make sure the group_concat() function returns an empty string, not a NULL, if it has at least one input row. Fix for ticket [55746f9e65f8587]. (check-in: 0deac87375 user: drh tags: tkt-55746f9e)
15:46
Add the SQLITE_IOCAP_IMMUTABLE bit as a possible return value from the xDeviceCharacteristics method in the VFS. Add the "nolock" and "immutable" query parameters to URI filenames. (check-in: 1a0d7d3d9d user: drh tags: trunk)
15:32
Fix nolock and immutable so that they work even if READONLY is requested. (Closed-Leaf check-in: e193aced29 user: drh tags: win32-none)
15:09
Add test cases and documentation for the nolock and immutable query parameters. (check-in: 19d56cbaca user: drh tags: win32-none)
2014-05-06
21:37
Merge updates from trunk. (check-in: 69698ae90c user: mistachkin tags: vsixWinPhone81)
21:37
Update the template VSIX package file as well. (check-in: 99d96765cc user: mistachkin tags: trunk)
21:30
Merge updates from trunk. (check-in: 7579c44ac1 user: mistachkin tags: vsixWinPhone81)
21:26
Enhance the VSIX package creation tool to better support Visual Studio 2013. (check-in: c1fb04f61e user: mistachkin tags: trunk)
16:21
Add a little extra variety to the tests in sort4.test. (check-in: 7de6aee6a5 user: dan tags: threads)
15:38
Re-implement the core of the multi-threaded sorter tests in sort4.test using C. Run each test in sort4.test ten times, or repeat all tests for 300 seconds as part of the "multithread" permutation test. (check-in: 208b2b04d4 user: dan tags: threads)
15:28
Experimental changes that reduce the size of Expr objects from 72 to 64 bytes each on x64 and from 48 to 44 bytes each on x32. (Leaf check-in: 8ad0a123a2 user: drh tags: smaller-expr)
00:09
Refactor VSIX package creation tool to better support Visual Studio 2013. (check-in: 8be166af23 user: mistachkin tags: vsixWinPhone81)
2014-05-05
22:50
Merge updates from trunk. (check-in: 668ed76ac6 user: mistachkin tags: vsixWinPhone81)
22:49
Add the "omit_check_constraints" pragma that causes the check constraint expressions to be omitted from the parse tree. (Leaf check-in: f1a4bf01a2 user: drh tags: reduce-schema-size)
22:43
When building for Windows 8.0 using Visual Studio 2013, make sure the cross-compilation native library path is set correctly. (check-in: c1ab9092e2 user: mistachkin tags: trunk)
21:08
More modularization work on the MSVC batch build tool. (check-in: 9a06773acc user: mistachkin tags: trunk)
20:35
Merge updates from trunk. (check-in: eaa8fc810f user: mistachkin tags: vsixWinPhone81)
20:34
Incorporate the latest trunk changes so that hopefully now this branch will build on beagleboard. (check-in: 2647b17d70 user: drh tags: reduce-schema-size)
20:32
Create new header file "os_setup.h" used to detect the operating system at compile-time, and "os_win.h" that contains windows-specific header in formation. (check-in: bd92e0f80c user: drh tags: trunk)
20:24
Work on cleaning up the MSVC batch build tool integration with Visual Studio 2013. (check-in: b5a72dfd59 user: mistachkin tags: trunk)
20:21
Attempt to fix the build on beagleboard. (Closed-Leaf check-in: 3ac75725a6 user: drh tags: winHdr)
20:03
Add test file sort4.test, containing brute force tests for the multi-theaded sorter. (check-in: 9cc364c42c user: dan tags: threads)
19:57
Try to reduce the amount of memory used to hold the schema when PRAGMA ignore_check_constraints is active. (check-in: 35a9f3f178 user: drh tags: reduce-schema-size)
18:24
Centralize and reform use of the Win32 related include files. (check-in: 857f2baf9b user: mistachkin tags: winHdr)
17:49
Merge updates from trunk. (check-in: 6f07f20e41 user: mistachkin tags: vsixWinPhone81)
17:45
Merge updates from trunk. (check-in: a3cfd81339 user: mistachkin tags: winHdr)
17:43
Fix several header file comments. No changes to code. (check-in: dd6eb5d1eb user: mistachkin tags: winHdr)
15:58
Fix a race condition in the sorter code. (check-in: 2d2edfe58d user: dan tags: threads)
09:08
Add tests so that the "coverage-sorter" test permutation covers all branches in vdbesort.c. Fix a few minor problems in the same file. (check-in: bde28b702d user: dan tags: threads)
2014-05-03
20:43
Add an extra fault-injection test to sortfault.test. Remove an unreachable branch from vdbesort.c. (check-in: a33a366ba8 user: dan tags: threads)
19:33
Fix a race condition in the sorter. (check-in: 32ccf3ae18 user: dan tags: threads)
14:28
Fix a problem in the sorter causing it to return spurious SQLITE_NOMEM errors when configured to use memsys3 or memsys5. (check-in: 3a66c4e1bf user: dan tags: threads)
13:53
Get SQLITE_MUTEX_STATIC_APP1 and _APP2 working for the debugMutex implementation. (check-in: f49ba1c926 user: drh tags: threads)
12:00
Add two new static mutexes, SQLITE_MUTEX_STATIC_APP1 and _APP2, for use by the application program. First intended use is in test programs for the memory allocation logic where one does not want to allocating a _FAST or _RECURSIVE mutex since that would involve using the memory allocation system under test. (check-in: 13686035dd user: drh tags: threads)
11:22
Add the SQLITE_DEFAULT_WORKER_THREADS compile-time option. Fix a NULL-pointer dereference that can occur following OOM. (check-in: e0dea89b3e user: drh tags: threads)
2014-05-02
22:39
Enhance the Win32 VFS I/O retry logic. (check-in: 4760504396 user: mistachkin tags: trunk)
21:42
Merge updates from trunk. (Closed-Leaf check-in: 598a3875ce user: mistachkin tags: winIoRetry)
21:38
Merge updates from trunk. (check-in: c4d1d8a0db user: mistachkin tags: winHdr)
19:12
Fix typo in Windows makefile. Make sure the WaitForSingleObjectEx system call is always available. (check-in: d7ed529fa2 user: mistachkin tags: threads)
18:46
Do not run the vdbeRecordCompareDebug() assert if pKeyInfo->db is NULL since in that case there would be no way to check for a memory allocation failure. (check-in: 63ed2d6acb user: drh tags: threads)
18:05
Merge orderby-planning with this branch. (check-in: d9549de317 user: dan tags: threads)
17:33
Simplify assert() statements used to verify correct operation of record comparison routines. (check-in: 3300d62dcb user: drh tags: orderby-planning)
17:12
Fix some broken asserts in btree.c and vdbeaux.c that may fail following an OOM error. (check-in: e15f47064b user: dan tags: threads)
16:22
Failure to extend a temp file for use with mmap() in vdbesort.c is benign. (check-in: d4d396387d user: drh tags: orderby-planning)
16:03
Remove a faulty assert() from vdbesort.c. (check-in: d95d68aa1d user: dan tags: threads)
15:25
Fix a faulty assert() statement. (check-in: 9196ce4073 user: drh tags: orderby-planning)
14:54
Fix a broken test case in fuzz.test. (check-in: faa469355e user: dan tags: trunk)
13:09
Merge latest trunk enhancements and fixes into the orderby-planning branch. (check-in: 84862d3a09 user: drh tags: orderby-planning)
00:09
Add a comment explaining why WhereLoop cost adjustments are omitted for skip-scan loops. (check-in: 3bc43594aa user: drh tags: trunk)
2014-05-01
20:26
Fix an obscure problem to do with temp register allocation that could occur if more than one simple SELECT within a compound SELECT uses a partial sort. (check-in: 427409ae10 user: dan tags: trunk)
20:24
Add #ifdefs for test coverage. Add a testcase(). (check-in: be2702ce35 user: drh tags: trunk)
10:19
Update a test case in wal2.test that explicitly corrupts a checksum in the wal file to account for the fact that the first byte of said checksum may initially be 0xFF. (check-in: 2b935bdea1 user: dan tags: trunk)
01:49
Take out the special handling of nolock=true in os_win.c and add it to pager.c, so that it works for all VFSes. Add the pPager->noLock boolean for clarity. (check-in: 725c1c14be user: drh tags: win32-none)
01:20
Avoid unnecessary xUnlock operations on temp file. (check-in: 1829c38c32 user: drh tags: win32-none)
01:13
Add the immutable=TRUE query parameter and SQLITE_IOCAP_IMMUTABLE, either of which prevents locking of the database and omits tests for existance of journal files. (check-in: 71f152c85d user: drh tags: win32-none)
2014-04-30
20:32
Merge in all recent changes and enhancements from trunk. (check-in: 84243f8444 user: drh tags: win32-none)
18:11
Fix a problem in calculating the costs of "OR" scans. (check-in: 9bbca48b42 user: dan tags: trunk)
15:22
Modify the way the costs of various query plans are estimated. If the user supplies a likelihood() value (or equivalent) on an indexed WHERE constraint, use it to estimate the number of index rows visited. (check-in: 90e3667647 user: dan tags: trunk)
15:00
Add text to the header comment of whereLoopAddBtree() describing how the costs of various b-tree loops are estimated. (Closed-Leaf check-in: 05e6e16cb2 user: dan tags: experimental-costs)
14:53
Update a couple of test cases to account for the fact that this branch prefers an index scan and partial sort over a full-table scan and full external sort. (check-in: 9b975bf33c user: dan tags: experimental-costs)
14:47
Fix a couple of out-of-date comments in where.c. (check-in: eefeda32d5 user: dan tags: experimental-costs)
14:22
Improved rendering of LogEst values corresponding to real values near 0.0 in the tool/logest.c utility program. (check-in: 32910c8c59 user: drh tags: experimental-costs)
13:19
Fix long-standing typos in comments. (check-in: b9f91317c3 user: drh tags: experimental-costs)
2014-04-29
19:01
Test that the default values used when sqlite_stat1 data is not available are calculated correctly. Fixes for the same. (check-in: e2d42f909d user: dan tags: experimental-costs)
16:46
Merge trunk changes into this branch. (check-in: d74299f037 user: dan tags: experimental-costs)
16:10
Ignore likelihood() values on indexed IPK lookups. (check-in: 5bb7757a7b user: dan tags: experimental-costs)
12:01
Fix a test case so that it updates sqlite_stat1 consistently. (check-in: 2dc5a0b555 user: dan tags: experimental-costs)
2014-04-28
20:11
Do not reduce the number of rows scanned at all for "IS NOT NULL" constraints. Fix a bug in calculating the number of rows visited by scans of partial indicies. (check-in: a8ae93f0cf user: dan tags: experimental-costs)
19:34
The trunk assumes that an open range constraint on an indexed term (col>?) term matches 1/4 of the indexed rows, and that a closed constraint (col BETWEEN ? AND ?) matches 1/64. Change this branch to do the same. (check-in: 4047ac75e2 user: dan tags: experimental-costs)
18:02
Merge all recent trunk enhancements and fixes into the sessions branch. (check-in: e158812c34 user: drh tags: sessions)
17:56
Add the sqlite3_rtree_query_callback() API to the RTree virtual table. (Cherrypick from the sessions branch.) (check-in: af2cbe64ad user: drh tags: trunk)
17:51
Add the sqlite3_rtree_query_callback() API to the RTree virtual table. (check-in: 3dca280935 user: drh tags: sessions)
15:11
Update unordered.test to take into account for the fact that SQLite now prefers a full-table scan over a non-covering index scan that visits a large percentage of the table rows. (check-in: 20f468dfbc user: dan tags: experimental-costs)
12:08
Add an extra column to a table in analyze9.test to give the planner a little more reason to select an index. (check-in: 1b95544f84 user: dan tags: experimental-costs)
10:00
Update test script analyze3.test to account for the fact that SQLite now prefers a full-table scan over a non-covering index scan that visits a large percentage of the table rows. (check-in: 35f46a55d8 user: dan tags: experimental-costs)
09:35
Modify internal function whereLoopAdjustCost() so that it does not prefer a skip-scan over a regular index scan even if the regular scan uses a subset of the WHERE terms used by the skip-scan. (check-in: 88a5758dcc user: dan tags: experimental-costs)
08:49
Fix an error in estimating of the number of rows visited by a range scan. (check-in: d491de62fc user: dan tags: experimental-costs)
2014-04-26
20:21
Fix an sqlite3_stmt_status() problem caused by recent changs on this branch. (check-in: dee2040924 user: dan tags: experimental-costs)
19:23
Update requirements marks to fix typos in the requirements text. No changes to code. (check-in: f5a2636581 user: drh tags: trunk)
17:52
Allow the xfer optimization to proceed if the DEFAULT on the very first column of the two tables is different. This is a refinement of the fix for ticket [f67b41381a]. (check-in: 349f483499 user: drh tags: trunk)
14:07
Avoid transfering records between tables unless the default values for all columns are the same. Fix for [f67b41381a]. (check-in: f8c4c495e6 user: dan tags: trunk)
2014-04-25
20:22
If the user provides likelihood() data for a WHERE clause term used as part of an index key, have the planner use it when calculating the expected number of rows visited by the loop. (check-in: c51efaa5d2 user: dan tags: experimental-costs)
17:37
Add test cases to ensure correct operation of joins with a virtual table that include DISTINCT and ORDER BY clauses. Verification for ticket [388d01d4bb8f9]. (check-in: 5ada136f43 user: drh tags: trunk)
16:29
Enhance the sqlite3_rtree_query_info object to report on the number of elements in the priority queue at each level. (Closed-Leaf check-in: f7dad408dd user: drh tags: rtree-enhancements)
15:01
Store values loaded from the stat1 table as logarithmic values in memory. (check-in: 1bd74c49dd user: dan tags: experimental-costs)
14:42
Make sure ORDER BY clauses on joins that involve virtual tables and that have a DISTINCT clause work correctly. This is a candidate fix for ticket [388d01d4bb8f9]. Test cases for that ticket will be checked in separately. (check-in: 1711381226 user: drh tags: trunk)
12:35
When VDBE_PROFILE is enabled, ignore negative opcode times, which sometimes occur, perhaps due to context swaps. (check-in: 4e88042f9d user: drh tags: trunk)
2014-04-24
20:04
Changes to the way the planner calculates the costs of various table and index scans. Some test cases still failing. (check-in: c5a6ec0a88 user: dan tags: experimental-costs)
16:25
Improved header comment on the vdbesort.c module. No changes to code. (check-in: bf09ce24d0 user: drh tags: orderby-planning)
15:06
Reopen the orderby-planning branch and merge in the latest trunk enhancements and fixes. (check-in: 6077ddcd93 user: drh tags: orderby-planning)
12:28
Improvements to comments. Store some extra information in SqliteThread that is useful for debugging. (check-in: 9fb5e21208 user: drh tags: threads)
2014-04-23
12:57
Merge all recent trunk changes into the threads branch. (check-in: e2c9f71a45 user: drh tags: threads)
12:00
Enhancements to the date and time functions so that they optionally support a 5-digit year. Not sure we want to include this in trunk. Saved in a branch for future reference. (Closed-Leaf check-in: 2029a396dc user: drh tags: five-digit-year)
2014-04-22
19:42
Change from using the win32-none VFS to just a query parameter. (check-in: ffceacf619 user: drh tags: win32-none)
19:34
Add some OSTRACE calls for consistency. (check-in: be292d5597 user: mistachkin tags: win32-none)
19:30
Add the win32-none VFS which omits rollback-journal locking. (check-in: 03e3c5a8b1 user: drh tags: win32-none)
2014-04-21
18:13
Fix the generation of sqlite3_rtree_query_info.iRowid and add test cases to verify that it is fixed. (check-in: eba95ead49 user: drh tags: rtree-enhancements)
18:00
Preliminary changes to support building VSIX packages for Windows 8.0 and Windows Phone 8.0 using Visual Studio 2013. (check-in: 3bf97c811a user: mistachkin tags: vsixWinPhone81)
15:53
Be sure to initialize the sqlite3_rtree_query_info.iRowid field for the leaves of the R-Tree when doing a query callback search. (check-in: 4394693882 user: drh tags: rtree-enhancements)
15:21
Fix an off-by-one error in setting the "iLevel" field of the sqlite3_rtree_query_info structure passed into the RTree query callback. (check-in: d708f159ab user: drh tags: rtree-enhancements)
13:36
Comment tweaks on the test case for the [b75a9ca6b0] bug fix. (check-in: 65d2544af9 user: drh tags: trunk)
13:21
Avoid discarding an ORDER BY clause in the case where an identical GROUP BY clauses uses an index to group, but not sort, the rows. Fix for [b75a9ca6b0]. (check-in: de9a490f59 user: dan tags: trunk)
2014-04-18
22:20
Clean up the proper-subset cost adjustment logic to make it more compact and easier to read and so that full branch test coverage is more easily obtained. (check-in: 9a5d38c79d user: drh tags: trunk)
13:57
Add to speedtest1.c the --threads option for setting the SQLITE_CONFIG_WORKER_THREADS configuration. (check-in: 5fce40c44a user: drh tags: threads)
13:40
Fix harmless compiler warnings. (check-in: f8f72ecb90 user: drh tags: threads)
12:38
Merge recent trunk changes into the threads branch. (check-in: 8729aa3e3e user: drh tags: threads)
01:37
Further improvements to the RTREE_DECODE_COORD() method, to take advantage of known processor byte orders when available. This makes the code 3% faster, according to valgrind. Also add test cases to make sure the on-disk representation is correct. (check-in: 6f3e94f4b1 user: drh tags: rtree-enhancements)
01:14
Merge the latest changes from sessions. (check-in: d9eef5b03c user: drh tags: rtree-enhancements)
01:10
Merge recent trunk changes into sessions. (check-in: 95e77efe07 user: drh tags: sessions)
00:49
Add the SQLITE_RUNTIME_BYTEORDER compile-time option to force SQLite to check the processor byte-order at run-time. Add additional compile-time byte order checks for ARM, PPC, and SPARC. (check-in: 2c5363873a user: drh tags: trunk)
00:08
Preliminary changes to support building VSIX packages for Windows Phone 8.1. (check-in: a1b2f28ba8 user: mistachkin tags: vsixWinPhone81)
00:06
Add the SQLITE_TESTCTRL_BYTEORDER test control to interrogate SQLite's notion of the processor byte order and whether the byte order is known at compile-time or determined at run-time. (check-in: 9c6961967a user: drh tags: trunk)
2014-04-17
23:23
Performance optimization on byte-swapping in R-Tree. (check-in: 444084fd62 user: drh tags: rtree-enhancements)
15:34
More test cases with very long priority queues. (check-in: 71692aa97c user: drh tags: rtree-enhancements)
14:52
Test cases and bug fixes for the sqlite3_rtree_query_callback() mechanism. (check-in: 1ccaaed6b5 user: drh tags: rtree-enhancements)
13:15
Refactor the constraint checking logic in RTree. The new-style constraint callbacks created by sqlite3_rtree_query_callback() are now hooked up from end to end, though still untested. (check-in: 32a1387017 user: drh tags: rtree-enhancements)
08:57
Fix build problems in vdbesort.c. Add further comments and changes to make things easier to understand. (check-in: 12b190db1d user: dan tags: threads)
2014-04-16
21:02
Performance optimization on nodeGetCell() in R-Tree. (check-in: 5d20ff9ec8 user: drh tags: rtree-enhancements)
19:04
Clarify the purpose of the nField argument passed to sqlite3VdbeSorterInit(). (check-in: c0c8cff17b user: dan tags: threads)
17:41
Change the name of vdbeIncrInit2 to vdbePmaReaderIncrInit. Add a header comment to the same function. (check-in: 6622d87675 user: dan tags: threads)
17:23
Convert the RTree module query mechanism over to using a priority queue for walking the RTree. (check-in: f26936f71a user: drh tags: rtree-enhancements)
17:15
TCL tests now all pass. (Closed-Leaf check-in: f864baccd3 user: drh tags: rtree-queue)
16:43
Rework the way trees of MergeEngine objects are built in vdbesort.c to make it easier to follow. Fix memory leaks that could follow an OOM or IO error. Add various comments to explain functions in vdbesort.c. (check-in: 69026ec7dc user: dan tags: threads)
14:45
Fix a bug in rowid=? query handling. More problems remain. (check-in: 5b0e6ba4a5 user: drh tags: rtree-queue)
13:00
Bug fixes to the priority-queue implementation for R-Trees. Improved tracing capability. Some queries work now, but still many problems. (check-in: a439ddd629 user: drh tags: rtree-queue)
2014-04-15
21:06
Initial attempt at getting R-Tree queries to work using a priority queue. This check-in compiles, but R-Trees do not work well. And there are debugging printf()s left in the code. This is an incremental check-in. (check-in: 53688a25c2 user: drh tags: rtree-queue)
20:52
Fix some problems to do with OOM conditions in vdbesort.c. Some problems remain. (check-in: 2f94f9ce9b user: dan tags: threads)
19:52
Fix further code and documentation issues in vdbesort.c. (check-in: d03f5b8622 user: dan tags: threads)
2014-04-14
19:48
Make sure the undocumented sqlite_rename_parent() function does not crash even if it is invoked with NULL arguments. Ticket [264b970c4379fd4b94] (check-in: c6fa8d0d82 user: drh tags: trunk)
19:23
Allow the sorter to begin returning data to the VDBE as soon as it is available, instead of waiting until all keys have been sorted. (check-in: cb0ab20c48 user: dan tags: threads)
18:41
Improve performance in single-threaded mode by having the final merge pass keys directly to the VDBE, instead of going via a final PMA. (Closed-Leaf check-in: 02610cd9b7 user: dan tags: threads-experimental)
14:43
Fix comments on the rtreenode() and rtreedepth() test function in the R-Tree module. (check-in: ade5b986e8 user: drh tags: rtree-enhancements)
12:18
Remove over 300 lines of unused code, code that implemented the older Guttman insertion algorithms that are no longer used. (check-in: 3ba5f295c7 user: drh tags: rtree-enhancements)
08:45
Minor fixes so that builds with SQLITE_MAX_WORKER_THREADS=0 work. (check-in: e400bbbf26 user: dan tags: threads-experimental)
07:30
Improve use of multiple threads in sqlite3VdbeSorterRewind(). (check-in: e1bdc4b810 user: dan tags: threads-experimental)
2014-04-13
19:28
Remove the unused second argument from sqlite3ExprCachePop(). Add an ALWAYS() on an always-true conditional in sqlite3VdbeResolveLabel(). (check-in: ab23abf392 user: drh tags: trunk)
19:15
Make sure column cache elements are cleared correctly when jumping over code for key generation in a partial index. Fix for ticket [2ea3e9fe6379fc3f6]. (check-in: 3122b83640 user: drh tags: trunk)
16:10
Continuing work on the new custom query mechanism for r-tree. (check-in: ca7357e66c user: drh tags: rtree-enhancements)
2014-04-12
19:34
Fix many issues with new code. (check-in: 62c406a042 user: dan tags: threads-experimental)
17:44
Continuing clean-up of the R-Tree module in preparation for cutting in the new generalized query mechanism. (check-in: 66c858f205 user: drh tags: rtree-enhancements)
2014-04-11
23:14
Add the new interfaces to rtree, though they do not yet work. Add the "show_speedtest1_rtree.tcl" script for showing the test data used for the R-Tree tests of speedtest1. Change speedtest1 to generate better R-Tree test data. (check-in: 0b70275972 user: drh tags: rtree-enhancements)
19:43
Avoid having the sorter merge too many PMAs at a time when incrementally merging data following a SorterRewind(). (check-in: 98bf0307b1 user: dan tags: threads-experimental)
17:41
Add the --verify option to speedtest1. Add verification test cases to the "rtree" testset and a case that uses a custom geometry callback. (check-in: 9d485c4207 user: drh tags: rtree-enhancements)
16:14
Update comments in the R-Tree module in preparation for some big changes. Add an "rtree" performance test to speedtest1. (check-in: 20a73ec0b2 user: drh tags: rtree-enhancements)
2014-04-10
02:24
Modify the OR-clause handling so that it can safely deal with OR-clause with 17 or more terms. Fix for ticket [10fb063b1179be53ea0b53bb]. (check-in: a67b5312f6 user: drh tags: trunk)
2014-04-09
20:04
Experimental multi-threaded sorting changes to allow the sorter to begin returning items to the VDBE before all data is sorted. (check-in: f9d5e09afa user: dan tags: threads-experimental)
2014-04-07
18:44
Experimental multi-threaded sorting changes to begin merging PMAs before SorterRewind() is called. (Closed-Leaf check-in: cbfc0f6d49 user: dan tags: abandoned)
2014-04-04
22:44
Fix harmless compiler warnings. (check-in: e54dded201 user: drh tags: threads)
21:40
Fix typo in a Windows threading support routine. (check-in: 5e3dfa27c7 user: mistachkin tags: threads)
18:49
Performance improvements when reading large blobs, especially if SQLITE_DIRECT_OVERFLOW_READ is defined. (check-in: 2312eb6a9e user: drh tags: trunk)
18:37
Merge the latest trunk changes into the threads branch. (check-in: 39ac79cffe user: drh tags: threads)
18:20
Merge changes to the query planner that strive to ensure that any index usage that is a proper subset of some other index usage always has a slightly higher cost. (check-in: 683dd379a2 user: drh tags: trunk)
14:12
Ensure the "PRAGMA journal_mode=WAL" works coming from any other journal_mode with ATTACH-ed databases. (check-in: e54330b431 user: drh tags: trunk)
07:52
Add test file sort3.test, which should have been part of commit [9d3351b8d7]. (check-in: dceed2c803 user: dan tags: threads)
02:13
Change vdbeSorterExtendFile() so that it makes a best effort to create the PMA file of the desired size, but does not return an error if unable. (check-in: 217814bc4b user: drh tags: threads)
2014-04-03
16:53
Version 3.8.4.3 (Leaf check-in: a611fa96c4 user: drh tags: release, version-3.8.4.3, branch-3.8.4)
16:42
Merge all recent changes from trunk. (check-in: a0910079ad user: drh tags: threads)
16:35
Merge all recent changes from trunk, including the fix for the OP_SCopy-vs-OP_Copy problem. (check-in: 9515c8344a user: drh tags: sessions)
16:29
Use OP_Copy instead of OP_SCopy when moving results out of a subquery, to prevent the subquery results from changing out from under the outer query. Fix for ticket [98825a79ce1456]. Problem introduced by check-in [1e64dd782a126f48d78]. (check-in: d5513dfa23 user: drh tags: trunk)
16:25
Fix an integer overflow problem in the sorter. (check-in: 9d3351b8d7 user: dan tags: threads)
16:18
Increase the version number to 3.8.4.3 (check-in: f05a49b6e0 user: drh tags: branch-3.8.4)
16:16
Use OP_Copy instead of OP_SCopy when moving results out of a subquery, to prevent the subquery results from changing out from under the outer query. Fix for ticket [98825a79ce1456]. Problem introduced by check-in [1e64dd782a126f48d78]. (check-in: ec6a06246e user: drh tags: branch-3.8.4)
14:31
Fix a typo in the "Synopsis:" comment for the OP_VFilter opcode. (check-in: 48ecdd4aff user: drh tags: trunk)
14:29
Fix minor errors causing compilation to fail with SQLITE_MAX_WORKER_THREADS set to a value greater than zero. (check-in: 0561272abf user: dan tags: threads)
02:54
Refactor local object and method names in vdbesort.c so that their names more closely reflect their actual use. (check-in: d284e30eb1 user: drh tags: threads)
00:32
In the command-line shell, run set writable_schema before running the ".clone" command. (check-in: 9d2ae6342c user: drh tags: trunk)
2014-04-02
18:58
Add a big introductory comment to vdbesort.c explaining its operation at a high level. Also adjust some symbolic names and fix other comment issues in that file. (check-in: eef60f1bf5 user: drh tags: threads)
15:15
Fix some problems with OOM handling in vdbesort.c. (check-in: 47e702bd83 user: dan tags: threads)
14:38
Change the name of the SorterThread object to "SortSubtask" to avoid confusion with the SQLiteThread object. (check-in: 4ee2d910fb user: drh tags: threads)
2014-04-01
18:41
When sorting data for a CREATE INDEX statement in single-threaded mode, assume that keys are delivered to the sorter in primary key order. Also fix various comments that had fallen out of date. (check-in: 821d1ac450 user: dan tags: threads)
15:38
Even if compile time option SQLITE_MAX_WORKER_THREADS is set to one or greater, set the default number of worker threads to zero. Distribute data more evenly between threads in sqlite3VdbeSorterWrite() to improve performance when sorting large amounts of data. Add new test file sort2.test. (check-in: 643c86a056 user: dan tags: threads)
10:19
Fix a problem with OOM handling in the sorter code. (check-in: 59cd5229e2 user: dan tags: threads)
01:24
Remove an unnecessary conditional, replacing it with an assert(). Improvements to comments. (Closed-Leaf check-in: 834bf1c367 user: drh tags: overflow-pgno-cache)
2014-03-31
23:57
Fix a compiler warning when SQLITE_DIRECT_OVERFLOW_READ is defined. Minor performance enhancement and size reduction. (check-in: 96385dc460 user: drh tags: overflow-pgno-cache)
22:03
Merge in the latest changes and fixes from trunk. (check-in: f6211540c9 user: drh tags: overflow-pgno-cache)
20:05
Remove an unnecessary conditional. (Closed-Leaf check-in: 7473c4dfc1 user: drh tags: query-plan-experiments)
19:57
Add the SQLITE_MAX_WORKER_THREADS compile time option. And the SQLITE_CONFIG_WORKER_THREADS sqlite3_config() switch. (check-in: 2774710df8 user: dan tags: threads)
19:49
Also make sure an index that is a proper subset of some other index has a higher cost than that other index. Add test cases. (check-in: b7830d232b user: drh tags: query-plan-experiments)
18:24
Make sure that an index that covers a proper superset of the WHERE clause terms of some other index has a lower cost than the other index. (check-in: ea8b091004 user: drh tags: query-plan-experiments)
13:42
Avoid a (harmless) buffer overread that is possible on an OOM when MEMSYS5 is engaged. (check-in: b3296267fb user: drh tags: trunk)
2014-03-29
21:16
Experiments in picking better query plans, especially when the usage of one index is a subset of another. (check-in: 8f869ca7a6 user: drh tags: query-plan-experiments)
19:48
Changes to make the multi-threaded sorter sort stably. (Closed-Leaf check-in: 83a105c864 user: dan tags: threads-closed)
10:01
Fix a broken assert() in vdbesort.c. (check-in: 18d1b402f2 user: dan tags: threads)
09:34
Fix a problem in vdbesort.c causing spurious SQLITE_NOMEM errors when using memsys3 or memsys5. (check-in: a683c05f62 user: dan tags: threads)
06:27
Add the optimization to avoid some unnecessary calls to sqlite3VdbeRecordUnpack() added to the trunk by [707ea170b3]. (check-in: fc4d04e6b0 user: dan tags: threads)
2014-03-28
19:47
Fix a compiler warning and an after-OOM memory leak. (check-in: 58f7ca2930 user: drh tags: orderby-planning)
19:18
Merge latest changes from orderby-planning branch. (check-in: 4c7fb54234 user: dan tags: threads)
18:35
Merge the latest changes from trunk. (check-in: 3047a25f1c user: drh tags: orderby-planning)
14:41
Disable the wal64k.test script for non-unix systems since it depends on unix-only features. (check-in: 27deb6e49b user: drh tags: trunk)
12:56
Fix a harmless compiler warning. (check-in: a4e47150f3 user: drh tags: trunk)
03:12
Enhance the sqlite3VdbeRecordCompare() routines so that if they encounter database corruption, they will set the UnpackedRecord.isCorrupt field and return 0. The sqlite3BtreeMovetoUnpacked() routine detects this and returns SQLITE_CORRUPT, causing the corruption to be reported back to the top-level. (check-in: 7fa85eaaaf user: drh tags: trunk)
2014-03-27
19:25
Instead of allocating a single large buffer at the beginning of each sort operation, start with a small buffer and extend it using realloc() as required. (check-in: 81987c8ceb user: dan tags: orderby-planning)
18:36
Minor cleanup of the code in the query planner that computes the costs estimates for the various plans. There are no changes to the costs at this time. But the code is slightly more readable now and that might facilitate future enhancements. (check-in: 9b4d7226bc user: drh tags: trunk)
17:23
Use xFetch() to access temporary files in vdbesort.c. Use a single large allocation instead of many small allocations when accumulating records in vdbesort.c. This is an interim commit - it allocates a buffer the size of the page-cache every time data is sorted. (check-in: f4ac1bf28c user: dan tags: orderby-planning)
14:05
Enhance the logest.c utility with new operators: "dup", "inv", "log", and "nlogn". Provide help on an invalid input. (check-in: b4bd2a062c user: drh tags: trunk)
00:09
Merge the latest trunk changes and the fix for the crash on a corrupt database. (check-in: 0b35346c32 user: drh tags: orderby-planning)
2014-03-26
19:45
Merge from trunk the fix for the crash on a corrupt database. (check-in: 8cb2b02baa user: drh tags: threads)
19:43
Merge in fixes (including the corrupt-database crash fix) and performance enhancements from trunk. (check-in: fc8ca1a87e user: drh tags: sessions)
18:51
Version 3.8.4.2 (check-in: 02ea166372 user: drh tags: release, version-3.8.4.2, branch-3.8.4)
16:25
Increase the version number to 3.8.4.2. (check-in: 59978a2e42 user: drh tags: branch-3.8.4)
16:22
Fix a potential buffer overread that could have occurred when searching a corrupt database file. (check-in: db2935473e user: drh tags: branch-3.8.4)
15:14
Add an extra test case for the potential buffer overread patched by [28ddecff04]. (check-in: f585f5d7a0 user: dan tags: trunk)
15:05
Add a test case to verify that the previous change avoids excess buffer overread in sqlite3VdbeRecordCompare(). (check-in: 2b28e8d582 user: drh tags: trunk)
14:51
Earlier detection of corruption in sqlite3VdbeRecordCompare() in order to avoid a potential buffer overread. (check-in: 28ddecff04 user: drh tags: trunk)
12:02
Add an assert() and a comment to clarify the operation of the vdbeRecordCompareInt() routine. (check-in: 851abdb8fd user: drh tags: trunk)
2014-03-25
20:28
Adjust the repeat counts on several tests in speedtest1 so that the relative time spent on the test is roughly the same regardless of --size. (check-in: 7922809ee0 user: drh tags: trunk)
18:29
Merge enhancements and fixes from trunk. (check-in: e005f2d6dd user: drh tags: orderby-planning)
17:45
Add another performance test case to speedtest1. This case is another ORDER BY test but this time without LIMIT. (check-in: 9ab7ffd592 user: drh tags: trunk)
17:07
Fix a problem in the code added by [707ea170b3] causing vdbesort.c to sort unstably. (check-in: d3e640afe6 user: dan tags: orderby-planning)
15:04
Remove the sequence values from sorter records used by ORDER BY as well. (check-in: c3ae369783 user: dan tags: orderby-planning)
14:54
Add an ORDER BY test case to speedtest1.c (check-in: 588122641e user: drh tags: trunk)
14:12
Enable four sorting threads by default in the command-line shell. (check-in: 1cab83577c user: drh tags: threads)
13:17
Merge all fixes and enhancements from trunk. (check-in: b415dfb6cb user: drh tags: threads)
11:00
Detect when a VdbeCursor is still pointing at a valid row but that row has moved, and invalidated the return from prior sqlite3BtreeDataFetch() or sqlite3BtreeKeyFetch() calls. (check-in: e6798871ce user: drh tags: trunk)
2014-03-24
20:19
Omit the sequence value from sorter records used by GROUP BY queries that cannot use an index. (check-in: 3f90abddc3 user: dan tags: orderby-planning)
18:08
Avoid unnecessary moving of content between registers during an ORDER BY. (check-in: 4f472accf0 user: drh tags: orderby-planning)
16:30
Remove unused variables Parse.nColCache and Parse.iColCache. (check-in: 4d7551ce46 user: dan tags: trunk)
15:00
Fix arithmetic operators so that they do not change the affinity of their input operands. Ticket [a8a0d2996a]. (check-in: 221f8f9447 user: drh tags: trunk)
12:33
Cancel column-cache entries that are involved in a comparison operator since the comparison might have forced an affinity change. Originally proposed as a fix for ticket [a8a0d2996a], but later determined to be incorrect. (Closed-Leaf check-in: 0b95b7a874 user: drh tags: tkt-a8a0d2996a)
11:23
Avoid attempting to mmap memory from an offset that is not a multiple of the system page size on systems with page sizes larger than 32KB. (check-in: db7d62c8d5 user: dan tags: trunk)
09:34
Remove an unnecessary temporary register allocation. (check-in: 5d506743f5 user: dan tags: orderby-planning)
02:20
Remove a pointless OP_Once operation in ORDER BY clauses with LIMIT. (check-in: e6c59d2331 user: drh tags: orderby-planning)
01:43
Further enhancements to generated VDBE code for ORDER BY. (check-in: e7188fad87 user: drh tags: orderby-planning)
2014-03-23
18:47
merge fixes from trunk (check-in: faf7f9caf5 user: drh tags: orderby-planning)
17:45
Use only a single OP_MakeRecord instead of two when constructing entries to go onto a sorter. (check-in: d696cdedac user: drh tags: orderby-planning)
16:29
Avoid a possible use of an uninitialized variable following an I/O or OOM error. (check-in: 641408a139 user: drh tags: trunk)
2014-03-22
02:19
Clear the sort-order flags on the KeyInfo object associated with the OP_Compare/OP_Jump of the block-sort logic, in order to make the OP_Jump fully testable. (check-in: 9b2838f23e user: drh tags: trunk)
01:52
Increase the version number to 3.8.5. (check-in: 9760879d08 user: drh tags: trunk)
00:27
Fix the ORDER BY optimization logic so that it will do a block-sort on a partial DESC ORDER BY. This enhancement uncovered a memory leak in pushUntoSorter() which is also fixed. (check-in: c36f74611c user: drh tags: trunk)
2014-03-21
20:58
Add the ability to use indices for the first few terms of an ORDER BY clause, then sort in batches to handle the later terms. (check-in: fa06a6fed9 user: drh tags: trunk)
19:56
Change the names of SRT_DistTable and SRT_Table used by CTE to more meaningful SRT_DistFifo and SRT_Fifo, respectively. Simplify the IgnorableOrderby() macro in the process. (check-in: 45d8cc678d user: drh tags: trunk)
19:27
Avoid leaking memory in an obscure case where the flattener adds an ORDER BY clause to the recursive part of a recursive query. (check-in: 1f413aca00 user: dan tags: trunk)
18:45
Merge the OFFSET-on-query-without-FROM fix from trunk. (check-in: 71e9ae72c2 user: drh tags: orderby-planning)
18:16
Fix the OFFSET clause so that it works correctly on queries that lack a FROM clause. Ticket [07d6a0453d4ed8]. (check-in: 179ef81648 user: drh tags: trunk)
15:24
New test case for block-sorting. (check-in: e70cfa28aa user: drh tags: orderby-planning)
2014-03-20
20:56
Merge trunk fixes for "x IN (?)" handling. (check-in: eca35871c3 user: drh tags: orderby-planning)
19:04
Remove a testcase() that is now always true due to the "x IN (?)" optimization. Add an ALWAYS() around a conditional in the parser that cannot be false. (check-in: d5a1530bdc user: drh tags: trunk)
18:56
Only use the direct-overflow-read optimization if all data from the overflow page in question is being read. (check-in: d8e1f75ddf user: dan tags: overflow-pgno-cache)
18:45
Fix the EXPLAIN indenter in the command-line shell to correctly handle NextIfOpen and PrevIfOpen opcodes. (check-in: 01944c53f5 user: drh tags: trunk)
17:03
The "x IN (?)" optimization in check-ins [2ff3b25f40] and [e68b427afb] is incorrect, as demonstrated by the in4-5.1 test case in this check-in. The "COLLATE binary" that was being added to the RHS of IN was overriding the implicit collating sequence of the LHS. This change defines the EP_Generic expression node property that blocks all affinity or collating sequence information in the expression subtree and adds that property to the expression taken from RHS of the IN operator. (check-in: 2ea4a9f75f user: drh tags: trunk)
15:14
Fix harmless compiler warnings. (check-in: b1435f26b0 user: drh tags: trunk)
14:56
Previous check-in is not quite correct. "x IN (?)" is not exactly the same as "x==?" do to collation and affinity issues. The correct converstion should be to "x==(+? COLLATE binary)". The current check-in fixes this problem and provides test cases. Ticket [e39d032577df69] (check-in: 2ff3b25f40 user: drh tags: trunk)
13:26
Convert expressions of the form "X IN (?)" with exactly one value on the RHS of the IN into equality tests: "X=?". Add test cases to verify that statements work correctly on this corner case. Fix for ticket [e39d032577df6942]. (check-in: e68b427afb user: drh tags: trunk)
12:36
One possible fix for the [e39d032577d] problem it to replace the failing assert() with a testcase() as shown here. (Closed-Leaf check-in: eae6dfbe55 user: drh tags: tkt-e39d0325)
12:17
Fix an unnecessarily obtuse use of a bitmask flag. (check-in: ca31408131 user: drh tags: trunk)
09:42
Add a test to ensure os_unix.c works with 64KiB OS pages. (Closed-Leaf check-in: e3d2be3ba4 user: dan tags: shm-mapping-fix)
08:59
Add an experimental fix to avoid attempting to mmap memory from an offset that is not a multiple of the system page size on systems with page sizes larger than 32KB. (check-in: 6f3a5c24d2 user: dan tags: shm-mapping-fix)
2014-03-19
23:42
Merge the vdbesort.c optimization from trunk. (check-in: e4bfffb988 user: drh tags: orderby-planning)
23:24
Fix query planner weights associated with choosing block-sorting. Fix block sorting of tables with collating functions. Fix various test cases. All "veryquick" tests are now passing, though more tests need to be added. (check-in: 01afbf97c0 user: drh tags: orderby-planning)
20:01
Avoid some unnecessary calls to sqlite3VdbeRecordUnpack() that were being made when merging data from two or more temp files together in vdbesort.c (check-in: 707ea170b3 user: dan tags: trunk)
17:41
Make it possible for block-sort to use the OP_SorterOpen sorter in addition to a generic OP_OpenEphemeral. (check-in: 7ce2daafd3 user: drh tags: orderby-planning)
16:56
Fix a problem in the block-sort logic that can arise if the VDBE opcode array is resized while the block-sort logic is being coded. "make test" now runs to completion, though there are still 17 failures. (check-in: 62f3a22050 user: drh tags: orderby-planning)
15:17
Avoid reusing temporary registers in co-routines when doing block-sorting. (check-in: 463d921b51 user: drh tags: orderby-planning)
14:30
Make sure the where.c query planner never reports that the number of ORDER BY terms that are satisfied by indices is negative. (check-in: b186d8d15a user: drh tags: orderby-planning)
14:10
First attempt at getting block-sort to work. This is an incremental check-in. There are many problems still to be worked out. (check-in: 59742dd4c5 user: drh tags: orderby-planning)
2014-03-18
20:33
Make the partial-ORDER-BY information in the query planner available to the SELECT code generator. Still doesn't make a difference in the generated code. (check-in: e258df236b user: drh tags: orderby-planning)
18:59
Adjust the query planner to keep track of the number of ORDER BY terms satisfied. Still doesn't do anything with this information. Some tests fail after this check-in, but all failures are believed to be benign. The failures will be addressed at a later stage. (check-in: 59d49b7fc4 user: drh tags: orderby-planning)
15:30
Experiments with the optimization of ORDER BY and GROUP BY clauses. (check-in: b150902579 user: drh tags: orderby-planning)
2014-03-17
15:43
Add an experimental multi-threaded capability to vdbesorter.c. (check-in: ff0b5c851b user: dan tags: threads)
15:06
Clean up some obsolete "register" declarations in printf.c. (check-in: ecd9d3f945 user: drh tags: trunk)
14:24
Performance enhancements and size reduction for sqlite3VXPrintf() (check-in: eb071eb58c user: drh tags: trunk)
2014-03-14
11:46
Fix a harmless compiler warning that crops up with SQLITE_MAX_MMAP_SIZE=0. (check-in: 1277932b7e user: drh tags: trunk)
2014-03-13
15:41
Merge latest trunk changes into this branch. (check-in: d17231b63d user: dan tags: threads)
2014-03-12
19:38
Fix an obscure bug causing sqlite3_close() to fail if there are virtual tables on the disconnect list when it is called. (check-in: 6504aa47a8 user: dan tags: trunk)
19:20
Changes to FTS to ensure that it does not access the database from within the xConnect method. (check-in: c67a52c356 user: dan tags: trunk)
12:44
Prevent the rtree module from reading sqlite_stat1 data from the wrong database. (check-in: 7ce03c1b55 user: dan tags: trunk)
10:03
Bump the version number to 3.8.4.1., to conform with trunk. (check-in: 42c9d8fc5f user: drh tags: sessions)
2014-03-11
23:44
Remove a stray C99-style comment. (check-in: f500e87d6e user: drh tags: overflow-pgno-cache)
23:40
Combine the various boolean fields of the BtCursor object into a single bit-vector. This allows setting or clearing more than one boolean at a time and makes the overflow-pgno-cache branch faster than trunk on speedtest1. (check-in: 968fec44d7 user: drh tags: overflow-pgno-cache)
20:33
Enable the b-tree cursor object's overflow page-number cache, which is normally enabled only for incr-blob cursors, for all cursors. (check-in: da59198505 user: dan tags: overflow-pgno-cache)
15:27
Version 3.8.4.1 (check-in: 018d317b12 user: drh tags: trunk, release, version-3.8.4.1)
15:25
Update version number to 3.8.4.1 (check-in: 33f5694fa4 user: drh tags: trunk)
14:44
Forgot to change the VERSION file. (Closed-Leaf check-in: 04caffcef3 user: drh tags: mistake)
09:19
Add a test to see what happens if an rtree constructor encounters an SQLITE_BUSY error. No changes to code. (check-in: 5527e23636 user: dan tags: trunk)
01:48
Version 3.8.4 for sessions (plus two minor fixes). (check-in: 917c410808 user: drh tags: sessions)
2014-03-10
20:12
Adjustments to the cost computation for the skip-scan query plan, to take into account the fact that a seek has to occur on each skip. (check-in: 0769eebd02 user: drh tags: trunk)
18:03
Attempt to work around MSVC's treatment of __LINE__ as a non-constant value in "Edit and Continue" mode by avoiding the use of __LINE__ when SQLITE_VDBE_COVERAGE is not defined. (check-in: 0a5318bc27 user: drh tags: trunk)
12:20
Version 3.8.4 (check-in: 530a1ee7dc user: drh tags: trunk, release, version-3.8.4)
2014-03-08
19:07
Fix a bug causing "SELECT char()" to return SQLITE_NOMEM. (check-in: ba39df9d4f user: dan tags: trunk)
2014-03-07
14:57
Improved comment on the pager.c PERSIST rollback journal delete logic inside of hasHotJournal(). No changes to code. (check-in: e5b17a9d07 user: drh tags: trunk)
14:36
Merge the fix for the journal_mode=PERSIST error recovery delay bug. (check-in: bb6a75f4bb user: drh tags: sessions)
03:31
Revise change from the previous check-in to clarify the situation when handling open journal files, regardless of journal mode. (check-in: 1c318ef3b7 user: mistachkin tags: trunk)
02:29
Avoid calling sqlite3OsDelete() on a file that is open, since this causes Windows to run *very* slowly. Comes up on error recovery in journal_mode=PERSIST. (check-in: fdc651e2ec user: mistachkin tags: trunk)
2014-03-06
18:16
Do not run corruptH.test in mmap mode. (check-in: c0d54b4e41 user: dan tags: trunk)
15:01
Fix a harmless compiler warning in the sessions test harness. (check-in: d389e20ab0 user: drh tags: sessions)
14:53
Enhance the test harness for the sessions interface so that it does not use SQLite operations that can encounter an OOM error in places where it is unable to report an OOM error back up to the test script. (check-in: bc0e661033 user: drh tags: sessions)
13:48
Merge the latest 3.8.4 tweaks from trunk. (check-in: 1ed463d918 user: drh tags: sessions)
13:38
Improved EXPLAIN indentation of a loop in the ANALYZE logic for STAT4. Mark the not-found jump of a seek operation in that loop as never taken. (check-in: 0a4200f95c user: drh tags: trunk)
12:36
Remove a branch that is never taken from where.c. (check-in: 4a4997221f user: dan tags: trunk)
02:15
Cosmetic change to the shell in-memory database warning to skip coloring the trailing period. (check-in: c87d8e07ec user: mistachkin tags: trunk)
01:56
Fix some incorrect comments and typos in comments. Add testcase() macros to some of the new record comparison code. (check-in: b83cfe899d user: drh tags: trunk)
00:30
Better loadable extension handling in the Win32 VFS when compiled for Cygwin. (check-in: 29b0a4f158 user: mistachkin tags: trunk)
00:28
Better support for MinGW 4.x. (check-in: 170e058520 user: mistachkin tags: trunk)
2014-03-05
23:12
Merge compiler-warning fixes from trunk. (check-in: a1f2b04285 user: drh tags: sessions)
19:36
Always include the ctype.h header in the spellfix.c extension. (check-in: bfd75f471a user: drh tags: trunk)
19:13
Avoid running a couple of test cases that use realloc() extensively if SQLITE_MEMDEBUG is defined. (check-in: e406d4bb78 user: dan tags: trunk)
19:04
Fix a harmless compiler warning on MSVC. (check-in: 0723effc9c user: drh tags: trunk)
17:29
Add SQLITE_OMIT_CTE to the list of compile options that might be returned by "PRAGMA compile_options". (check-in: f33f2b3f92 user: dan tags: trunk)
16:15
Add tests to join.test to verify that it is not possible to use more than 64 tables in a join. (check-in: ef1a998625 user: dan tags: trunk)
15:52
Count the number of elements in a SrcList object using an "int" rather than a "u8", to avoid overflows and to work around an issue in the C compiler on AIX. (check-in: eee2a13f2c user: drh tags: trunk)
15:04
Add a test case for the problem fixed by [1d134ba2ed]. (check-in: d4fbc05df9 user: dan tags: trunk)
14:49
Merge in various obscure bug fixes and the removal of Mem.memType from trunk. (check-in: 0828975d58 user: drh tags: sessions)
14:40
When converting a result type from TEXT to BLOB using the sqlite3_value_blob() interface, continue to report SQLITE_TEXT as the true type from sqlite3_value_text() as long as that text is still valid. The maintains legacy behavior from before the noMemType change. (check-in: 1d134ba2ed user: drh tags: trunk)
12:47
Separate the column NULL value constant into a separate routine for greater commonality with the sessions branch. (check-in: 12cbebb997 user: drh tags: trunk)
11:48
Remove the redundant memType field from struct Mem. (check-in: 9e85285789 user: dan tags: trunk)
11:22
Do not run corruptI.test with the mmap permutation. (check-in: 378b290da8 user: dan tags: trunk)
01:29
Experimental simplification of memory flags/type handling. (Closed-Leaf check-in: bac2820e13 user: mistachkin tags: noMemType)
2014-03-04
21:19
Avoid indexing off the front end of an array when creating a view with two or more blank column names in the SELECT statement that defines the view. (check-in: 554501f158 user: drh tags: trunk)
21:00
Fix a problem with "DEFAULT (-(-9223372036854775808))" clauses in ALTER TABLE ... ADD COLUMN commands. (check-in: e072cb3ee2 user: dan tags: trunk)
18:06
Fix a potential memory use-after-free problem following an OOM error. (check-in: 767ccb1fa1 user: drh tags: trunk)
16:21
Fix an assert() so that it takes OOM errors into account. (check-in: 53f6ec792f user: drh tags: trunk)
16:05
Ensure that BtreeMovetoUnpacked() does not try to invoke xRecordCompare when it is set to NULL. (check-in: 2879234b7c user: dan tags: trunk)
14:34
Merge the performance enhancements of trunk (and some obscure bug fixes) into the sessions branch. (check-in: 7f51ad97f0 user: drh tags: sessions)
13:18
Improve clarity of presentation in the sqlite3VdbeMemFromBtree() routine. (check-in: 9830c343bc user: drh tags: trunk)
12:07
Fix comment in test. (check-in: 1e57f67b20 user: mistachkin tags: trunk)
11:54
Fix minor typos in the new test file. (check-in: 3cbb9b1b4f user: mistachkin tags: trunk)
11:35
Add tests to verify the fix for bug [4ef7e3cfca]. (check-in: 62410bb8a7 user: dan tags: trunk)
11:29
Fix name resolution problem in sub-selects within triggers, ticket [4ef7e3cfca]. (check-in: 5bcd0b1ca5 user: mistachkin tags: trunk)
11:16
Fix harmless compiler warning. (check-in: 8d18a803bd user: mistachkin tags: trunk)
04:12
Refactor the sqlite3VdbeRecordCompare() routine used to compare btree records. Create fast-track special case routines to handle the common cases more quickly. This gives a significant performance boost. (check-in: 3325ad5bdc user: drh tags: trunk)
04:04
Fix more instances of assuming 'char' is signed. And, make sure to never shift a signed integer. (Closed-Leaf check-in: f10130ede4 user: drh tags: broken-on-arm)
00:15
Do not assume that 'char' is signed. Make it explicit. (check-in: 979da752e6 user: drh tags: broken-on-arm)
2014-03-03
21:59
Refactor the sqlite3VdbeRecordCompare() routine used to compare btree records. Create a couple of fast-track routines to handle the common cases of a string with BINARY collation or integer values as the left-most column. This gives a significant performance boost in common use. Oops: This build does not work on the Beaglebone where "char" defaults to unsigned. (check-in: aec5473a75 user: drh tags: broken-on-arm)
21:46
Fix a couple of harmless compiler warnings. (Closed-Leaf check-in: fcf480cc63 user: drh tags: experimental)
20:48
Avoid a buffer overread in vdbeCompareRecordInt() that might occur if the database is corrupt. (check-in: 7c0b4381f0 user: dan tags: experimental)
19:29
Fix a typo in a comment. No changes to code. (check-in: 1f4991ab16 user: drh tags: experimental)
18:25
Fix compiler warnings. (check-in: ba8993727e user: drh tags: experimental)
17:48
Merge latest trunk changes. (check-in: 1d60356462 user: dan tags: experimental)
17:36
Change an OP_SCopy into an OP_Copy in a case where the destination might be used after the source has changed. (check-in: c0fa0c0e2d user: drh tags: trunk)
16:48
Change the "explain_i" tcl test command so that xterm color codes are only added if the output is actually a terminal. (check-in: 559835e54e user: dan tags: trunk)
15:13
Fix a harmless compiler warning. (check-in: d7f6837e69 user: drh tags: experimental)
14:45
Merge latest trunk changes. (check-in: e00ed717fb user: dan tags: experimental)
14:20
Fix a segfault that can occur following an OOM error. (check-in: 7fdd378d54 user: dan tags: trunk)
00:12
Change the MEM_Dyn flag so that it means that Mem.xDel exists and must be used to free the string or blob. Add tighter invariant checks on Mem. (check-in: e3f6c61e03 user: drh tags: trunk)
2014-03-01
19:45
Merge trunk changes. (check-in: 9c1747b5de user: dan tags: experimental)
19:44
Remove the vdbeRecordCompareLargeHeader function. Fix some other details. (check-in: 3861e85310 user: dan tags: experimental)
18:13
Change the MEM_Dyn flag so that it means that Mem.xDel exists and must be used to free the string or blob. Add tighter invariant checks on Mem. (Closed-Leaf check-in: 44e1c33767 user: drh tags: enhanced-mem-check)
16:24
Factor the Mem invariant checker into a separate procedure (rather than a macro) so that it can be more easily extended. (check-in: 354699d50e user: drh tags: enhanced-mem-check)
14:45
Add extra assert() statements trying to catch a Mem object in an inconsistent state. (check-in: 4aeb3ae435 user: drh tags: enhanced-mem-check)
2014-02-28
20:47
In the command-line shell add the (undocumented and unsupported) ".eqp" command and -eqp command-line option, to cause EXPLAIN QUERY PLAN to be run on each SQL statement as it is evaluated. Intended use is for analysis of the query planner. (check-in: e6ecf73376 user: drh tags: trunk)
19:37
Provide an #ifdef in shell.c to work around issues when cross-compiling from Ubuntu to windows. (check-in: 0a3579d9b9 user: drh tags: trunk)
18:39
Update some test cases that deal with corrupt databases. (check-in: 3a09f5605a user: dan tags: experimental)
09:48
Minor tweak to vdbeRecordCompareInt(). (check-in: 284bde0ee2 user: dan tags: experimental)
2014-02-27
20:52
Merge in latest trunk changes. (check-in: 8f30b09518 user: dan tags: experimental)
20:44
Further changes to sqlite3VdbeRecordCompare(). (check-in: 5708937400 user: dan tags: experimental)
15:11
A better way of handling the USE_SYSTEM_SQLITE #define in shell.c. (check-in: 51ce713c6e user: drh tags: trunk)
15:04
Add #defines to the command-line shell source code (shell.c) so that it can be imported directly into other projects (ex: Fossil) and used without editing. (check-in: a669040023 user: drh tags: trunk)
05:47
Merge updates from trunk. (check-in: ed0bfcfadc user: mistachkin tags: winIoRetry)
2014-02-26
21:35
More efficient removal of duplicates in recursive queries using the UNION compound operator. (check-in: 06c2db875e user: drh tags: trunk)
19:05
Only run the OP_OpenRead opcodes for a correlated subquery once, on the initial iteration. Keep the cursor open for subsequent runs. This was suppose to be a performance enhancement, but it is difficult to come up with a query where is makes a significant difference. Hence, the change is getting parked in a branch. (Leaf check-in: 3ad687b7aa user: drh tags: open-only-once)
13:53
In the command-line shell for CSV import, if the lines are \r\n terminated and the last field is blank, make sure an empty string and not a "\r" string is imported. (check-in: 9c2e7612cd user: drh tags: trunk)
02:26
Improved handling of constants and especially constant functions in the ORDER BY clause of a query. Do not optimize out "ORDER BY random()". Fix for ticket [65bdeb9739605cc2296]. (check-in: dca1945aeb user: drh tags: trunk)
2014-02-25
21:55
Do not allow temporary registers to be in use across an OP_Yield within a co-routine. Fix for ticket [8c63ff0eca81a9132d8]. (check-in: 97a8c9733c user: drh tags: trunk)
21:01
Attempt to speed up sqlite3VdbeRecordCompare() by various means. This code is in an interim state. (check-in: 85206e0bba user: dan tags: experimental)
19:38
Make sure temporary registers used within a co-routine are not also used outside of that co-routine, in order to prevent concurrent use of the same register for two different things. Ticket [8c63ff0eca81a9132d8] (Closed-Leaf check-in: cc5eda5422 user: drh tags: tkt-8c63ff0eca)
18:12
Also adjust the order of files in the amalgamation to ensure that _FILE_OFFSET_BITS is defined before any #include, for QNX. (check-in: 23001a85cd user: drh tags: trunk)
14:52
QNX requires that _FILE_OFFSET_BITS be set prior to any system #include. (check-in: 953cdd6ada user: drh tags: trunk)
2014-02-24
21:42
Fix several small style/consistency issues with the previous check-in. (check-in: 2477b3a294 user: mistachkin tags: trunk)
21:23
Merge updates from trunk. (Closed-Leaf check-in: 854d410ad3 user: mistachkin tags: cygDlOpen)
21:20
Enhance testing support for the Win32 VFS dynamic extension loading facilities. (check-in: 53081e7202 user: mistachkin tags: trunk)
19:49
Close some stray connections in walro.test. (check-in: d6746cabaa user: dan tags: trunk)
19:07
In memsys5, initialize new allocations to non-zero bytes. Change the content of freed allocations to prevent use after free. These changes in SQLITE_DEBUG only. (check-in: ba5f0a5599 user: drh tags: trunk)
14:24
Remove an unused variable from the VDBE_PROFILE compile-time option. Keep the opcode count in an u32 instead of an int. (check-in: 4df0ac9023 user: drh tags: trunk)
2014-02-21
10:48
Merge updates from trunk. (check-in: 09cf240a7f user: mistachkin tags: winHdr)
05:44
Better loadable extension handling in the Win32 VFS when compiled for Cygwin. (check-in: 6676475c47 user: mistachkin tags: cygDlOpen)
2014-02-20
19:42
Fix the text of a comment used to generate VDBE opcode documentation so that it omits symbols that can be mistaken for a hyperlink by the parser. (check-in: b46d4e8923 user: drh tags: trunk)
19:32
Fix a harmless shadowed-variable warning. (check-in: 824029090d user: drh tags: trunk)
19:23
Make sure that the difference between two string pointers is passed into sqlite3_mprintf() as type "int". (check-in: d5d973fedc user: drh tags: trunk)
2014-02-19
19:14
Add the VdbeCoverageNeverTaken() macro, and comments that better describe how the VDBE branch coverage measurement works. Add some tags to provide 100% VDBE branch coverage. (check-in: c1e94169dd user: drh tags: trunk)
14:20
Add the SQLITE_NOTNULL P5 code for comparison operations - really a composite of SQLITE_NULLEQ and SQLITE_JUMPIFNULL. This flag indicates that NULL operands are not possible and raises and assert() if NULL operands are seen. Also omit an unnecessary scan of the sqlite_sequence table when writing into an AUTOINCREMENT table. (check-in: d2c047f304 user: drh tags: trunk)
01:31
Make sure a multi-row VALUES clause works correctly in a compound SELECT. (check-in: 85b355cfb4 user: drh tags: trunk)
00:53
Tweaks in support of VDBE branch test coverage. (check-in: b978256469 user: drh tags: trunk)
2014-02-18
11:31
Fix VDBE branch accounting on comparison operators. (check-in: b287520c92 user: drh tags: trunk)
05:18
Enhance the Win32 VFS I/O retry logic. (check-in: adba783c70 user: mistachkin tags: winIoRetry)
03:07
Add VdbeCoverage() and VdbeCoverageIf() macros for improved VDBE coverage testing. (check-in: b92d31a97d user: drh tags: trunk)
01:07
Improvements to "NOT IN (SELECT ...)" processing. Only test for NULL values on the RHS on the first iteration, then remember the result. There has been logic to do this for year, but it didn't work right and ended up repeating the NULL test on every iteration. This inefficiency was found using the VDBE coverage testing tools. (check-in: 915f6f1c7a user: drh tags: trunk)
2014-02-17
23:52
Merge in performance enhancements for INSERT operations, especially INSERTs on tables that have no affinity columns or that have many indices or INSERTs with content coming from a SELECT. Add the SQLITE_TESTCTRL_VDBE_COVERAGE test control and the SQLITE_VDBE_COVERAGE compile-time option used for measure coverage of branches in VDBE programs. (check-in: a72687699b user: drh tags: trunk)
22:40
Add logic to do test coverage measurements on the VDBE code. (Closed-Leaf check-in: ce184c7bb1 user: drh tags: insert-optimization)
15:40
Add a test case for OP_SoftNull. (check-in: f29d194e03 user: drh tags: insert-optimization)
15:36
Merge the VDBE_PROFILE fixes from trunk. (check-in: 2914e41911 user: drh tags: insert-optimization)
14:59
Avoid unnecessary calls to applyAffinity() during INSERT and UPDATE operations, especially for table that have indices and tables for which all columns have affinity "NONE". (check-in: 35b4d6e938 user: drh tags: insert-optimization)
01:13
Fix the VDBE_PROFILE logic. Add a script to process the output file. (check-in: 7adb3da235 user: drh tags: trunk)
2014-02-16
19:20
Use the modern MinGW major version macro, not the deprecated one. (Closed-Leaf check-in: 057c16ee97 user: mistachkin tags: mingw4x)
01:55
Enhance the code generator for INSERT INTO ... SELECT so that the SELECT generates output directly in the registers that INSERT INTO will be using, in many cases, and OP_SCopy operations can thus be avoided. (check-in: aa2d8b0e81 user: drh tags: insert-optimization)
2014-02-14
23:49
Seek past NULLs in a top-constrained search. Avoid checking for NULLs in the body of the search. (check-in: e07a32f308 user: drh tags: trunk)
23:35
Better support for MinGW 4.x. (check-in: e147230767 user: mistachkin tags: mingw4x)
20:59
Reduce the number of cases where it is necessary to check for NULL after the loop terminating condition. (check-in: 3c1ae447de user: drh tags: trunk)
15:13
Add OP_IdxGT and OP_IdxLE as distinct opcodes. Formerly these operations where done using OP_IdxGE and OP_IdxLT with the P5 flag set. But VDBE code is easier to read with distinct opcode names. Also change OP_SeekGe to OP_SeekGE, and so forth, so that the capitalization is consistent. The whole point of this change is to improve the readability of VDBE listings. (check-in: b6bea903ac user: drh tags: trunk)
00:25
Revise how the Tcl system encoding is handled by the test suite. (check-in: 9e573198e1 user: mistachkin tags: trunk)
2014-02-13
21:57
Improvements to the makefile and README for MSVC. (check-in: b22b614068 user: mistachkin tags: trunk)
19:27
Ensure that if the "psow=0" URI option or FCNTL_POWERSAFE_OVERWRITE file-control is used to clear the power-safe overwrite flag, extra padding frames are added to the WAL file. (check-in: 48c821fd97 user: dan tags: trunk)
19:10
Change README to README.md and expand it. Remove unrelated and obsolete files. (check-in: 18d4e258c4 user: drh tags: trunk)
18:46
Avoid passing a flags argument with the internal WAL_SYNC_TRANSACTIONS bit set when calling sqlite3OsSync(). (check-in: e3b79e920c user: dan tags: trunk)
13:42
Update the tclconfig files to the latest from http://core.tcl.tk/tclconfig. (check-in: b81ba7a4bc user: drh tags: trunk)
2014-02-12
23:52
Minor simplifications to the "zeroPage()" routine in btree.c. (check-in: cc8f10bcb2 user: drh tags: trunk)
21:31
Remove the "rowid cache" that sought to remember the largest rowid for a table and thereby speed up OP_NewRowid. That cache was ineffective. Removing it results in a performance increase of 0.4%, less memory usage, and a slightly smaller library size. (check-in: 56bc5ce895 user: drh tags: trunk)
15:05
Various fixes and test case updates so that veryquick.test passes again. (Leaf check-in: f352ef57e3 user: dan tags: deferred-open)
14:43
Make sure "rowid" columns are correctly resolved in joins between normal tables and WITHOUT ROWID tables. Fix for ticket [c34d0557f740c45070]. (check-in: 5d01426ddf user: drh tags: trunk)
14:43
Merge latest trunk changes. (check-in: 4d7057c494 user: dan tags: deferred-open)
2014-02-11
19:35
Test case updates to account for the fact that database files are not created until they are first written. (check-in: 8ef97420b2 user: dan tags: deferred-open)
16:31
Sync with trunk. Bring in the command-line shell updates and the new 3.8.4 version number. (check-in: 2cd35ff651 user: drh tags: sessions)
16:24
Increase the version number to 3.8.4 (check-in: 0a8bcbbd4e user: drh tags: trunk)
16:22
Updates to the command-line shell. Simplify the banner message. Add the ".save" command as an alias for ".backup". When starting with no arguments, include a banner message warning that the database is transient and in-memory and mention the ".open" command. (check-in: f5ad1e1bf2 user: drh tags: trunk)
14:52
Version 3.8.3.1 (check-in: ea3317a480 user: drh tags: release, version-3.8.3.1, branch-3.8.3)
14:37
Fixes to the "editline" support in the command-line shell. (check-in: 7989ce5f10 user: drh tags: trunk)
05:26
Merge latest trunk changes. (check-in: 1f2e1b0c64 user: dan tags: deferred-open)
04:30
Sync the latest trunk changes, and in particular the STAT4 IS NOT NULL fix. (check-in: b006792695 user: drh tags: sessions)
03:55
Increase the version number to 3.8.3.1. (check-in: 3111df71b2 user: drh tags: branch-3.8.3)
03:50
Make sure that virtual WHERE-clause terms do not get transformed into real terms when processing set of OR-connected terms. Fix for ticket [4c86b126f22ad]. (check-in: de635e0960 user: drh tags: branch-3.8.3)
01:50
Make sure that virtual WHERE-clause terms do not get transformed into real terms when processing set of OR-connected terms. Fix for ticket [4c86b126f22ad]. (check-in: c950d6c411 user: drh tags: trunk)
2014-02-10
21:09
Fix a bug causing the POWERSAFE_OVERWRITE device-characteristic flag to be set incorrectly if file opening is deferred. (check-in: 95d0c58d27 user: dan tags: deferred-open)
21:07
Fix a pointless conditional. Add a test case. (check-in: 9367632dd7 user: drh tags: trunk)
19:59
Add the ".save" command as an alias for ".backup". Improvements to the way font changes are implemented on the in-memory database warning. (Closed-Leaf check-in: fe284afe73 user: drh tags: memdb-warning)
19:37
Experimental change to os_unix.c to delay creating a database file until it is first written. (check-in: 538f7b25e4 user: dan tags: deferred-open)
19:36
On unix, make the "transient in-memory database" text bold, but not red. Leave the text read on windows. (check-in: c9eba2f7be user: drh tags: memdb-warning)
19:27
In the command-line shell, on the banner, warn about the use of a transient in-memory database in bold red text. (check-in: 0fbc0fcec1 user: drh tags: memdb-warning)
18:56
Fix the compound-select-to-subquery converter so that it works with the new compound-select object linkage introduced as part of the fix for ticket [31a19d11b97088296]. (check-in: 572d4be4db user: drh tags: trunk)
16:13
Modify the command-line shell to print a warning when using an in-memory database. (check-in: 90e9deae4a user: drh tags: memdb-warning)
15:56
Improvements to a "Synopsis:" comment in the VDBE engine. (check-in: 0dfa7ee915 user: drh tags: trunk)
12:59
Faster implementation for sqlite3MulInt64(). (check-in: 010c48f671 user: drh tags: trunk)
03:21
Faster and smaller implementation of sqlite3_value_type(). (check-in: 5708bc24b8 user: drh tags: trunk)
2014-02-09
23:59
Add a compound-query test to the speedtest1 test program. (check-in: 5329957591 user: drh tags: trunk)
18:02
Use the WITH clause to help resolve names for SELECT statements on the left of a compound query. Proposed fix for ticket [31a19d11b97088296a]. (check-in: 67bfd59d90 user: drh tags: trunk)
00:52
Add the Mandelbrot Set testcase to the "cte" testset of speedtest1. (check-in: 56febbeb57 user: drh tags: trunk)
00:18
Add a new "testset" to the speedtest1 program: The sudoku solver. (check-in: 4677ef2f8a user: drh tags: trunk)
2014-02-08
23:20
Do away with the "multi-register pseudo-table" abstration. Instead, just use an OP_SCopy to load results directory from the result registers of the co-routine. (check-in: 1e64dd782a user: drh tags: trunk)
19:12
Change the OP_Found opcode so that it expands zero-blobs prior to comparing them. Fix for ticket [fccbde530a6583b] (check-in: e2303d1b0c user: drh tags: trunk)
13:24
Fix a harmless compiler warning in VS2013. (check-in: 83116ee3e0 user: drh tags: trunk)
13:22
Fix a harmless compiler warning in VS2013. (check-in: 35f2793db5 user: drh tags: branch-3.8.3)
13:12
Tweaks to the generated VDBE code to make it a little easier to follow. (check-in: 129217ee91 user: drh tags: trunk)
04:24
Enable constant expression factoring even if no tables are read and no transaction is started. (check-in: a45b87713c user: drh tags: trunk)
01:40
Change the OP_Trace opcode to OP_Init and give it the ability to jump to the initialization code at the bottom of the program, thus avoiding the need for an extra OP_Goto. (check-in: 192dea9731 user: drh tags: trunk)
2014-02-07
22:21
Add opcodes OP_InitCoroutine and OP_EndCoroutine. Use these to remove the need for separate boolean registers to record when a co-routine has finished. (check-in: 5a88b6a7ae user: drh tags: trunk)
19:33
Fix redundant definitions of _LARGE_FILE and _LARGEFILE_SOURCE. (check-in: 4043d87979 user: drh tags: trunk)
19:26
In the TCL bindings, make sure Tcl_AppendResult() is always terminated by "(char*)0" and not just "0". (check-in: ea4d23d1c0 user: drh tags: trunk)
19:18
Change the OP_InitCoroutine instruction to jump over the co-routine implementation. (Closed-Leaf check-in: a522f364a6 user: drh tags: coroutine-refactor)
18:27
Get rid of the OP_Undef and OP_IsUndef opcodes in favor of higher-level OP_InitCoroutine and OP_EndCoroutine. (check-in: 1ec0e9dd4b user: drh tags: coroutine-refactor)
13:20
Add the OP_Undef and OP_IsUndef opcodes. With these, use the first register in the result register range as the flag to indicate EOF on an INSERT from a SELECT, rather than allocating a separate boolean register for that task. (check-in: 6fb7448550 user: drh tags: coroutine-refactor)
03:28
More comment updates. No changes to code. (check-in: be24fbc221 user: mistachkin tags: trunk)
02:29
Update comments in vdbe.c. No changes to code. (check-in: 1122b410de user: drh tags: trunk)
2014-02-06
23:56
Delete the OP_VerifySchema opcode. Enhance OP_Transaction to do the schema version checks that OP_VerifySchema used to do. (check-in: 2f3376ebf1 user: drh tags: trunk)
14:59
Change more OP_OpenEphemeral operations to OP_OpenHash. (Leaf check-in: 881164cf6e user: drh tags: subquery-codegen-refactor)
13:18
Change the spellfix1 virtual table to deterministically names its shadow tables. (check-in: 5219cdfc56 user: drh tags: trunk)
03:31
Use OpenHash instead of OpenEphemeral for the RHS of IN operators if the result is not needed for sorting. (check-in: 715fac7749 user: drh tags: subquery-codegen-refactor)
02:46
Add additional error messages and a progress spinner to the ".clone" command. (check-in: dd0db3f0ce user: drh tags: trunk)
01:15
Rename the '.repair' shell command to '.clone'. (check-in: 4f9d95624a user: mistachkin tags: trunk)
00:49
Add the ".repair" command to the command-line shell. (check-in: d1dfadea87 user: drh tags: trunk)
2014-02-05
19:10
Separate out the code generators for the RHS of an IN operator and for SELECT/EXISTS expressions. (check-in: 61c34ba71b user: drh tags: subquery-codegen-refactor)
18:15
Use a new opcode, OP_OpenHash, to indicate that ephemeral tables can be unordered, rather than using the BTREE_UNORDERED bit in the P5 field. (check-in: 2997e18157 user: drh tags: subquery-codegen-refactor)
17:08
Make the root page of an ephemeral index be page 1 instead of page 2. (check-in: a332908b70 user: drh tags: subquery-codegen-refactor)
11:05
In the Win32 VFS, the winSysInfo variable should be static. (check-in: 4a4dd371a7 user: mistachkin tags: trunk)
2014-02-04
23:45
Do not mark the ephemeral tables used to hold the RHS of IN clauses as unordered because the NGQP will use those ephemeral tables to help order the output. This is not an issue for standard SQLite since ephemeral tables there are always ordered, regardless of the hint. It only affects systems that substitute an alternative storage engine. (check-in: f2504089df user: drh tags: trunk)
20:46
Remove the SF_Materialize flag from the SELECT object as it does not accomplish anything useful. (check-in: 65d5dcddbd user: drh tags: trunk)
15:55
Rearrange fields in the Parse object for a tighter packing, resulting in an 8% size reduction on x64. (check-in: 3e1a3f68d7 user: drh tags: trunk)
2014-02-03
17:04
Performance optimizations in sqlite3PcacheFetch(). (check-in: b60cc11ef7 user: drh tags: trunk)
14:04
Provide hints to the btree layer Next and Previous primitives to let them know if they can be no-ops if the underlying index is unique. (check-in: 6c643e45c2 user: drh tags: trunk)
13:58
Sync with version 3.8.3. (check-in: a704b65b94 user: drh tags: sessions)
13:52
Version 3.8.3 (check-in: e816dd9246 user: drh tags: trunk, release, version-3.8.3)
13:49
Minor change to TEA extension docs in an attempt to make links work correctly. (check-in: af3c775e5d user: drh tags: trunk)
2014-01-31
11:50
Update the "sqlite3.1" unix manpage document. (check-in: 21ce9e3a53 user: drh tags: trunk)
06:35
Minor change to TEA extension docs in an attempt to make links work correctly. (Closed-Leaf check-in: 492585c820 user: mistachkin tags: teaDoc)
2014-01-30
17:47
Update evidence marks on SELECT tests. Comment changes only. No changes to code or tests. (check-in: 1973d80e47 user: drh tags: trunk)
15:03
Fix requirements marks only. No changes to code or tests. (check-in: 4a34378b9b user: drh tags: trunk)
14:10
Update a requirement mark and add some additional test cases to cover the requirement associated with ORDER BY and LIMIT on compound SELECT statements. (check-in: 8560091e85 user: drh tags: trunk)
12:45
Enhance the MSVC makefile for better debugging symbol support. (check-in: c9bef0f29a user: mistachkin tags: trunk)
12:16
Do not run test script mmapfault.test as part of the "inmemory_journal" permutation test. (check-in: b222b61a98 user: dan tags: trunk)
11:12
Enhance the MSVC makefile for better debugging symbol support. (Closed-Leaf check-in: c723ec2784 user: mistachkin tags: msvcDebug)
2014-01-29
14:21
Merge latest fixes from the trunk. (check-in: 6b6dcd4cc7 user: dan tags: sessions)
01:46
Make sure that sqlite3SelectDup() initializes the nSelectRow of the duplicate Select object. (check-in: 5bb29b8210 user: drh tags: trunk)
2014-01-28
20:36
Fix harmless compiler warnings in the showdb utility program. (check-in: 27c27daa33 user: drh tags: trunk)
18:53
Fix a potential over-size and hence undefined shift operation. (check-in: 6379b07295 user: drh tags: trunk)
18:06
Bring in the latest updates from trunk. (check-in: 7b5f377386 user: drh tags: sessions)
17:49
Minor bugfix in main.c so that the library builds with SQLITE_OMIT_WSD defined. (check-in: 5e3b9ecc7b user: dan tags: trunk)
2014-01-27
16:35
Fix a couple of problems with new test scripts causing the permutations test to fail. (check-in: 48d736c0ee user: dan tags: trunk)
15:02
Update some requirements marks to conform with improvements in the documentation. (check-in: be1acb610f user: drh tags: trunk)
14:19
Fix a problem in pagerfault.test causing an assert() to fail. (check-in: ba8d2d507f user: dan tags: trunk)
13:58
Fix (harmless) duplicate variable declaration. (check-in: 94ed9bc420 user: drh tags: trunk)
08:48
Fix some problems in test scripts. No code changes. (check-in: 08acfc6587 user: dan tags: trunk)
2014-01-25
12:16
Fix a problem causing SQLITE_OMIT_COMPOUND_SELECT builds to fail. (check-in: b30db0ac30 user: dan tags: trunk)
2014-01-24
22:58
Fixes for various clang warnings. (check-in: 87bf60637e user: drh tags: trunk)
20:37
Select collation sequences for ORDER BY expressions attached to recursive CTEs in the same way as they are selected for other compound SELECT statements. (check-in: 9554519c12 user: dan tags: trunk)
17:03
Fix harmless compiler warnings in the Tcl interface. (check-in: 35bc81f5ad user: mistachkin tags: trunk)
16:57
Add test cases for LIMIT and ORDER BY on recursive CTEs. (check-in: 67d6c42d44 user: dan tags: trunk)
16:36
Use an unsigned integer to accumulate the string hash. Avoids compiler warnings. (check-in: b1824344ea user: drh tags: trunk)
15:42
Add a few more CTE test cases to closure.test. (check-in: 1b6405d978 user: drh tags: trunk)
14:37
Add test cases that compare the performance of the transitive_closure virtual table again common table expressions for walking a tree. (check-in: 9a23f020e8 user: drh tags: trunk)
14:05
Bring in all the latest trunk changes, including the Common Table Expressions implementation. (check-in: 9b43e55919 user: drh tags: sessions)
11:16
Add test cases showing the use of ORDER BY on a recursive query to control depth-first versus breath-first search of a tree. (check-in: 83b0b29165 user: drh tags: trunk)
2014-01-23
14:44
Modifications to test files to omit any tests that intentionally access out-of-bounds locations in clang -fsanitize=address builds. (check-in: f4a701d55f user: dan tags: trunk)
2014-01-22
19:23
Avoid an extra seek when inserting records into the epheremal index used to ensure that rows returned by UNION recursive queries are unique. (check-in: 72c4b3f07a user: dan tags: trunk)
18:31
Fix harmless compiler warnings. (check-in: dea2ca6a15 user: drh tags: trunk)
18:16
Change the WITH RECURSIVE implementation to use a queue instead of a pair of tables. Add support for ORDER BY, LIMIT, and OFFSET on recursive queries. (check-in: b6cea42006 user: drh tags: trunk)
18:07
Add support for LIMIT and OFFSET in a recursive query. (Closed-Leaf check-in: 1945484e6b user: drh tags: cte-via-queue)
17:43
Update the spellfix virtual table to optimize queries of the form "SELECT ... FROM tbl WHERE rowid=?". (check-in: a0ba55ff05 user: dan tags: trunk)
17:28
Get ORDER BY working for recursive queries. (check-in: 37b343b018 user: drh tags: cte-via-queue)
13:35
Add new SelectDest codes, SRT_Queue and SRT_DistQueue in anticipation of adding ORDER BY support on recursive queries. Factor out the recursive query code generator into a separate procedure. (check-in: 3eb5f9f8d6 user: drh tags: cte-via-queue)
10:22
Fix a typo in a comment. No changes to code or tests. (check-in: cceacc0e79 user: dan tags: cte-via-queue)
00:23
Remove an unnecessary parameter from selectInnerLoop(). Clean up comments. (check-in: 5e6c4a55f6 user: drh tags: cte-via-queue)
2014-01-21
22:25
Change the recursive common table expression algorithm to use a queue instead of a pair of tables. Runs about 25% faster on the sudoku solver query. The OP_SwapCursors opcode is no longer required. The current implementation uses just a fifo, but the plan is to change it into a queue that will support ORDER BY and LIMIT in a recursive query. (check-in: b2671e1133 user: drh tags: cte-via-queue)
15:04
Remove the undocumented requirement for applications that use an SQLITE_ENABLE_SQLLOG build to define a sqlite3_init_sqllog() function. (check-in: 5e43bf0132 user: dan tags: trunk)
01:13
Fix a couple comment typos and one overly long line. No functional changes. (Closed-Leaf check-in: c57deced09 user: mistachkin tags: level-pseudocolumn)
00:19
Add support for the LEVEL pseudo-column in the recursive part of a common table expression. LEVEL has the value of 1 on the first iteration and successively larger integer values of subsequent iterations. It cannot have a table qualifier. Actual columns named "level" can still be accessed by including the table name qualifier. (check-in: cc1cb32178 user: drh tags: level-pseudocolumn)
2014-01-20
19:55
In where.c, do not allocate space in sqlite3_index_info structures for the internal WHERE clause "terms" generated to record column equivalencies. Fix for ticket [1a1a194d1e5f8]. (check-in: 7d9e22187d user: dan tags: trunk)
18:25
Handle a few obscure problems that could manifest if a database corrupted in a certain way was written by a connection in the middle of a SELECT statement on the same db. (check-in: eba8a564e6 user: dan tags: trunk)
14:58
Remove an unused #define and add an assert(), both associated with WITH logic. (check-in: a06235e0f6 user: drh tags: trunk)
14:17
Do not run the tests in with2.test with SQLITE_OMIT_CTE builds. (check-in: 8a973912e9 user: dan tags: trunk)
2014-01-18
18:33
Add a sudoku solver to the recursive query tests in with1.test. (check-in: 679eff8759 user: drh tags: trunk)
15:59
Add extra test cases. No changes to code. (check-in: d38d485e58 user: dan tags: trunk)
15:22
Add asserts() for a couple of unreachable conditions. Add the Mandelbrot Set query as a test case. (check-in: 2ad4583c0c user: drh tags: trunk)
08:27
Avoid spurious "no such table" errors in statements of the form "INSERT INTO tbl WITH xxx AS (...) SELECT * FROM xxx". (check-in: cccff8a0b4 user: dan tags: trunk)
2014-01-17
20:36
Add extra tests to with2.test. (check-in: eecc325afd user: dan tags: trunk)
18:34
Minor simplification of error message text for a couple of errors associated with WITH clause processing. (check-in: 2031004d96 user: drh tags: trunk)
17:40
Resolve table names within CTEs in the context in which the CTE is declared, not the context in which it is used. (check-in: a7323838bb user: dan tags: trunk)
16:19
Add tests that verify that keywords WITH, WITHOUT, and RECURSIVE can still be used as table and column names. (check-in: 9ca18a0191 user: drh tags: trunk)
15:27
Fix a compiler warning in selectPopWith(). (check-in: c8eb11635a user: drh tags: trunk)
15:15
Add support for common table expressions (WITH clauses). (check-in: 0171e3bb4f user: dan tags: trunk)
14:59
Fix some problems to do with WITH clauses and name resolution. (Closed-Leaf check-in: 6a549187ed user: dan tags: common-table-expr)