SQLite

Timeline
Login

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

716 check-ins using file src/btreeInt.h version eecc84f0

2013-08-19
21:15
Add tointeger() and toreal() SQL functions. (check-in: af497072 user: mistachkin tags: toTypeFuncs)
20:04
Performance improvement in sqlite3BtreeNext() and sqlite3BtreePrevious() for the common case of a valid cursor. (check-in: dc65ad8c user: drh tags: trunk)
19:29
Initialize a variable in fts3_write.c on the grounds that the argument required to show that it does not require initialization with is complicated. Add an assert() to where.c to silence a clang scan-build warning. (check-in: d6c4d48a user: dan tags: trunk)
18:37
Fix test script pragma2.test so that it works with ENABLE_MEMORY_MANAGEMENT. (check-in: 6acf7281 user: dan tags: trunk)
18:17
Add some extra assert() statements to silence a few clang warnings. (check-in: 1c63e951 user: dan tags: trunk)
14:23
Remove unused variables from the command-line shell sources. (check-in: 753a402e user: drh tags: trunk)
14:19
Fix a potential reference off the end of an array in the query planner. (check-in: f15591f8 user: drh tags: trunk)
12:49
Merge in all the latest updates and enhancements from trunk. (check-in: 67587a33 user: drh tags: sessions)
11:15
Fixes for harmless compiler warnings. (check-in: a0d9ca4f user: drh tags: trunk)
2013-08-17
18:57
Adjustments to #ifdefs in analyze.c to all a clean compile with no extra code with both ENABLE_STAT3 and ENABLE_STAT4 and with neither. (Closed-Leaf check-in: f86b75b6 user: drh tags: sqlite_stat4)
16:37
Add the cache_spill pragma. Change the fullfsync and checkpoint_fullfsync pragmas to apply to all attached databases. (check-in: 65a85a15 user: drh tags: trunk)
15:42
The fullfsync, checkpoint_fullfsync, and cache_spill pragmas apply to all files of a database connection, including those opened by future ATTACH statements. (Closed-Leaf check-in: d07c4331 user: drh tags: cache_spill)
00:25
Test cases for the cache_spill pragma. (check-in: b85c9ec5 user: drh tags: cache_spill)
2013-08-16
20:42
Add the cache_spill pragma. (check-in: cdb181c0 user: drh tags: cache_spill)
17:46
Add a test for the problem fixed by [91733bc485]. (check-in: 5c591104 user: dan tags: sqlite_stat4)
17:18
In sqlite3Stat4ProbeSetValue() change a local variable name iVar to iBindVar to avoid confusion with iVal, and fix a place where the name was actually confused. (check-in: 91733bc4 user: drh tags: sqlite_stat4)
14:51
Merge the fork that resulted from a check-in race. (check-in: b7fe4f36 user: drh tags: sqlite_stat4)
14:49
Fix valueFromExpr() so that it returns SQLITE_NOMEM following an OOM when changing text encodings. Also fix some asserts to accommodate OOM errors. (check-in: dc1ccd09 user: drh tags: sqlite_stat4)
14:48
Fixes for test code that was not working with utf16 databases. Run the analyze*.test scripts as part of the 'utf16' permutation test. (check-in: fe99494d user: dan tags: sqlite_stat4)
14:23
Add extra tests. No code changes. (check-in: 949127d5 user: dan tags: sqlite_stat4)
14:09
Avoid buffer overreads and false OOM error reports that could be caused by corrupted sample records in the sqlite_stat4 table. (check-in: 9f85b6a5 user: dan tags: sqlite_stat4)
13:34
Fix a potential segfault following an OOM while running ANALYZE. (check-in: 01187978 user: drh tags: sqlite_stat4)
12:26
Merge recent trunk changes into the STAT4 branch. (check-in: c69b512a user: drh tags: sqlite_stat4)
2013-08-15
22:40
Make sure that GROUP BY terms select input column names in preference to output column names, in compliance with the SQL standard. Ticket [1c69be2dafc28]. (check-in: f2d175f9 user: drh tags: trunk)
20:24
Bare identifiers in ORDER BY clauses bind more tightly to output column name, but identifiers in expressions bind more tightly to input column names. This is a compromise between SQL92 and SQL99 behavior and is what PostgreSQL and MS-SQL do. Ticket [f617ea3125e9c]. (check-in: c78b357c user: drh tags: trunk)
20:05
Make it easy to attach a debugger the test fixture process prior to any tests being run. (check-in: 53cd9ebf user: mistachkin tags: trunk)
19:56
Fix a crash that can occur if the sqlite_stat3 or sqlite_stat4 table is corrupt. (check-in: d51df8a8 user: dan tags: sqlite_stat4)
18:43
Fix a crash that can occur following an OOM fault. (check-in: 9f80b268 user: dan tags: sqlite_stat4)
16:18
Change some assert() statements in vdbe.c to ensure that a memory cell used to store a VdbeCursor object is not also used for some other purpose. (check-in: 71070c9f user: dan tags: sqlite_stat4)
16:15
Make sure the ANALYZE command allocates enough VDBE registers. (check-in: 46fec9b1 user: drh tags: sqlite_stat4)
14:39
Add tests for sqlite_stat4 sample selection. And a fix for the same. (check-in: 1fb4d9d6 user: dan tags: sqlite_stat4)
14:27
Clarification and typo fixes in comments related to name resolution. No changes to code. (check-in: f30abdf9 user: drh tags: trunk)
08:06
Make it easy to attach a debugger the test fixture process prior to any tests being run. (Closed-Leaf check-in: c23acba1 user: mistachkin tags: dbgTestFixture)
2013-08-14
19:54
Change the way ANALYZE works to use a single cursor when scanning indices. (check-in: bdce612b user: dan tags: sqlite_stat4)
00:20
Fix a few more minor comment typos. No changes to code. (check-in: 9e999081 user: mistachkin tags: trunk)
2013-08-13
22:33
Fix an outdated comment and a comment typo. No changes to code. (check-in: ac336959 user: mistachkin tags: trunk)
2013-08-12
20:14
If ENABLE_STAT3 is defined but ENABLE_STAT4 is not, have ANALYZE create and populate the sqlite_stat3 table instead of sqlite_stat4. (check-in: cca8bf43 user: dan tags: sqlite_stat4)
17:31
If there is data in both the sqlite_stat4 and sqlite_stat3 tables for a single index, ignore the sqlite_stat3 records. (check-in: 2a417367 user: dan tags: sqlite_stat4)
17:00
Handle a NULL input to decodeIntArray() that can result from a prior OOM. (check-in: fa1588ad user: drh tags: sqlite_stat4)
16:34
Re-enable reading from the sqlite_stat3 table (as well as sqlite_stat4). (check-in: 6d45078e user: dan tags: sqlite_stat4)
11:21
Fix a bug in calculating the average number of entries for keys not present in the sqlite_stat4 table. (check-in: ec3ffb17 user: dan tags: sqlite_stat4)
09:29
Fix minor problems caused by adding the rowid to the records in stat4. (check-in: 088d1ff9 user: dan tags: sqlite_stat4)
2013-08-10
19:08
Add the rowid field to the end of sample records stored in the sqlite_stat4 table. (check-in: 3a5e8ab7 user: dan tags: sqlite_stat4)
2013-08-09
19:04
Fix a couple of typos in a comment in analyze.c. No code changes. (check-in: 5bcccb93 user: dan tags: sqlite_stat4)
14:07
Update the header comment on analyze.c to describe the sqlite_stat4 table format. (check-in: 4d97809d user: drh tags: sqlite_stat4)
2013-08-08
19:38
Fix problems in estimating the number of rows visited by a range query using sqlite_stat4 data when the column subject to the range query is not the leftmost of the index. (check-in: 9228aaf5 user: dan tags: sqlite_stat4)
16:17
Use a binary search instead of a linear scan when comparing a sample key against data from the sqlite_stat4 table. (check-in: e50dc305 user: dan tags: sqlite_stat4)
14:38
If the SQLITE_EXTRA_INIT function is defined, make sure it is called only once by the effective sqlite3_initialize() call. (check-in: e2b597ca user: drh tags: trunk)
12:21
Fix a segfault in "ALTER TABLE t1 ADD COLUMN b DEFAULT (-+1)". Also an assert() failure that could occur if SQLITE_ENABLE_STAT4 were not defined. (check-in: 9fec3e38 user: dan tags: sqlite_stat4)
11:48
Fix a bug in using stat4 data to estimate the number of rows selected by a range constraint. (check-in: f783938e user: dan tags: sqlite_stat4)
2013-08-07
23:15
If the SQLITE_ALLOW_URI_AUTHORITY compile-time option is set, then allow non-localhost authorities on URI filenames and pass them through as a UNC to the underlying VFS. (check-in: 3adb6c1b user: drh tags: trunk)
19:46
Replace variable Index.avgEq (average number of rows in keys for which there is no sample in sqlite_stat4) with vector Index.aAvgEq. (check-in: 7b70b419 user: dan tags: sqlite_stat4)
18:42
Merge latest trunk changes with this branch. (check-in: 08f74c45 user: dan tags: sqlite_stat4)
18:07
Merge in the latest changes from trunk. (Closed-Leaf check-in: c78b0d30 user: drh tags: uri-enhancement)
16:38
Fix typos in a comment in analyze.c. No code changes. (check-in: 812ed0c5 user: dan tags: sqlite_stat4)
16:15
Change the way samples for the sqlite_stat4 table are collected. (check-in: 13ed5ac1 user: dan tags: sqlite_stat4)
16:04
Fix the ".dump" command on the command-line shell so that it works for "sqlite_stat4" in addition to "sqlite_stat1". (check-in: 1e80c4b1 user: drh tags: sqlite_stat4)
15:57
Remove the unused sqlite3Utf8to16() utility function. (check-in: 9159b43e user: drh tags: sqlite_stat4)
15:52
When estimating the number of rows scanned using data from the sqlite_stat4 table, avoid allocating UnpackedRecord and KeyInfo structures until they are definitely required. (check-in: 353950a5 user: dan tags: sqlite_stat4)
14:18
Add a guard #ifndef to test_intarray.h to prevent harm if it is #included more than once. Add a comment on the closing #endif of the guards on sqlite3.h and test_multiplex.h. (check-in: 0ad83ceb user: drh tags: trunk)
01:18
Fix typos and add clarification to comments in where.c. No code changes. (check-in: f8d8790e user: drh tags: trunk)
2013-08-06
20:15
Fixes for builds without SQLITE_ENABLE_STAT4. (check-in: 84999e27 user: dan tags: sqlite_stat4)
20:01
When possible, use the multi-column samples in sqlite_stat4 to estimate the number of index rows scanned by a query plan. (check-in: 2973f5ca user: dan tags: sqlite_stat4)
19:18
Fix a test case related to partial indices so that it works even if STAT3 is disabled. (check-in: 153c6450 user: drh tags: trunk)
18:35
Adjust #ifdefs in test_autoext.c so that it compiles with SQLITE_OMIT_LOAD_EXTENSION. Fix compiler warnings in two other test modules. No changes to the core. (check-in: 89930ea3 user: drh tags: trunk)
18:21
Update the configure script to use the latest version number (3.8.0). (check-in: 52e8ec5e user: drh tags: trunk)
17:24
Add a testcase() macro to verify OOM coverage. (check-in: d43dcbc4 user: drh tags: trunk)
16:56
Remove unreachable branches in expr.c, replacing them with assert() and testcase() statements. (check-in: 9103c27c user: drh tags: trunk)
14:52
Merge in the latest changes from trunk. (check-in: 69d5bed0 user: drh tags: sessions)
14:36
For the ".import" command of the command-line shell, start a transaction if there is not one active already. (check-in: 5dcc2d91 user: drh tags: trunk)
14:01
Clean up the input reader in the command-line shell for improved legibility and performance. (check-in: 2b1743d6 user: drh tags: trunk)
07:45
More than double the speed of the resolveP2Values() routine in vdbeaux.c by moving from an extended if-else on every opcode to a switch. Opcodes are reordered in mkopcodesh.awk to put the switched opcodes close together, for additional performance and to reduce code footprint. (check-in: 924f7e4d user: drh tags: trunk)
2013-08-05
22:05
Performance optimization: Avoid calling convertCompoundSelecctToSubquery() on queries that do not use the UNION, EXCEPT, or INTERSECT operators. (check-in: c589b2fe user: drh tags: trunk)
21:54
For the vtshim module, always zero out the xChildDestroy function pointer after calling it. (check-in: 240f7252 user: mistachkin tags: trunk)
19:11
Factor all KeyInfo object allocations into a single function: sqlite3KeyInfoAlloc(). Always allocate enough space so that sqlite3VdbeRecordCompare() can avoid checking boundaries and hence run faster. (check-in: 7301bedd user: drh tags: trunk)
19:04
Modify the vdbe code generated by ANALYZE to use fewer memory cells and cursor slots. (check-in: 4a51cf28 user: dan tags: sqlite_stat4)
18:00
Use N separate cursors when scanning an index with N columns to collect sqlite_stat4 data. This fixes a problem with collecting incorrect nEq values from multi-column indexes. (check-in: 3a71afe6 user: dan tags: sqlite_stat4)
15:32
Improve performance of sqlite3VdbeRecordCompare() by using an approximation that might give false negatives and only running the more expensive exact subexpression if the approximation fails. (check-in: 28979dcd user: drh tags: trunk)
12:31
Add a missing '#include "tcl.h"' to test_rtree.c. (check-in: 4b8b426f user: drh tags: trunk)
05:34
Fix a couple of problems in code related to sqlite_stat4. (check-in: badd24d9 user: dan tags: sqlite_stat4)
2013-08-03
20:24
Begin adding experimental sqlite_stat4 table. This commit is buggy. (check-in: 2beea303 user: dan tags: sqlite_stat4)
2013-08-02
23:40
Updates to requirements marks. No code changes. (check-in: 21302076 user: drh tags: trunk)
20:44
Merge in the latest trunk changes, including partial indexes, the MAX_PATH fix in os_win.c, and the sqlite3_cancel_auto_extension() API. (check-in: 7e1acb39 user: drh tags: sessions)
20:11
Add NEVER() and ALWAYS() macros on some unreachable yet prudent branches. (check-in: c5c0a8ab user: drh tags: trunk)
16:41
Add support for partial indices. (check-in: 478113f1 user: drh tags: trunk)
14:18
Silently ignore database name qualifiers in CHECK constraints and in partial index WHERE clauses. (Closed-Leaf check-in: 2e8c845e user: drh tags: partial-indices)
13:31
Fix typos in documentation for SQLITE_DBSTATUS_DEFERRED_FKS . No changes to code. (check-in: f3efbfcd user: drh tags: trunk)
2013-08-01
22:27
Fix the CREATE INDEX statement so that trying to create a TEMP index on a non-TEMP table throws an error rather than segfaulting. (check-in: e3c8935f user: drh tags: trunk)
22:26
Fix an incorrect expected result in a test case in corruptG.test. (check-in: 6913831a user: drh tags: trunk)
20:26
Fix a potential buffer overread in sqlite3VdbeRecordCompare() when a serial_type specifies a field that starts in bounds but is much too large for the allocated buffer. Mostly harmless. The overread is unlikely to go more than one or two bytes past the end of the buffer. (check-in: e436b2f4 user: drh tags: trunk)
19:17
Make sure signed integer overflow does not cause a segfault while attempting to read a corrupt database where the header size varint on a record is larger than the maximum 32-bit signed integer. (check-in: c3baca99 user: drh tags: trunk)
17:43
Add test case for the problem fixed by [127a5b776d]. (check-in: 65816718 user: dan tags: trunk)
17:21
An improved method for avoiding the use of the STAT3 samples to compute the estimated number of outputs when the left-most index is equality constrained. This check-in undoes the previous fix and applies a new one. (check-in: 127a5b77 user: drh tags: trunk)
16:52
Avoid using left-most column STAT3 samples if the left-most column has an equality constrain and there are inequality constraints on the second column. (check-in: 31b4e63b user: drh tags: trunk)
16:02
Fix bug in the logic that determines the end of a CREATE INDEX statement. Added a VACUUM test case that exposed the bug. (check-in: 2e3df0bc user: drh tags: partial-indices)
15:09
More test cases and corresponding bug fixes. (check-in: 0c8cfdfa user: drh tags: partial-indices)
13:04
Fill out an initial implementation of the sqlite3ExprImpliesExpr() function. (check-in: 8e07aa2a user: drh tags: partial-indices)
12:21
Refactor internal function name sqlite3VdbeGetValue() to sqlite3VdbeGetBoundValue(). (check-in: 81834c30 user: drh tags: partial-indices)
04:39
Fix the ANALYZE command to work with partial indices. (check-in: 60353124 user: drh tags: partial-indices)
03:36
Test cases and bug fixes for the partial index logic. (check-in: 6b73ae7c user: drh tags: partial-indices)
01:14
Add the logic to keep partial indices up to date through DML statements and when new partial indices are created. This new logic is untested except to verify that it does not interfere with full indices. (check-in: fb9044d1 user: drh tags: partial-indices)
2013-07-31
23:28
Limit the number of memset() calls used when determining a temporary file name on Windows. Also, fix a harmless compiler warning. (check-in: 136fc293 user: mistachkin tags: trunk)
23:22
Add logic to the query planner to only use partial indices if the WHERE clause constrains the search to rows covered by the partial index. This is just infrastructure. The key routine, sqlite3ExprImpliesExpr(), is currently a no-op so that partial indices will never be used. (check-in: 8ca3eac1 user: drh tags: partial-indices)
22:39
Slight modifications to path name translation handling for Cygwin. (check-in: 33ba1f4c user: mistachkin tags: trunk)
22:27
Use a new error code to represent a failure to get the configured temporary directory on Windows. (check-in: c93d891b user: mistachkin tags: trunk)
19:55
The MAX_PATH constant in windows is measured in characters, so multiple by 3 to get the number of bytes assuming worst-case UTF8 pathnames. (check-in: bb06e157 user: drh tags: trunk)
19:05
Resolve names in CREATE INDEX WHERE clauses and detect errors. Disallow expressions that contain variables, subqueries, or functions. The expression is still not used for anything, however. still unused. (check-in: f2aa7842 user: drh tags: partial-indices)
18:12
Here begins an experimental branch for exploring the idea of a partial index. This check-in is able to parse a WHERE clause on a CREATE INDEX statement, but does not actually do anythingn with that WHERE clause yet. (check-in: 6794b2dc user: drh tags: partial-indices)
2013-07-30
15:10
Reduce the size of the stack required by the codeOneLoopStart() function in where.c. (check-in: eb6d4278 user: drh tags: trunk)
2013-07-29
19:03
For the MSVC makefile, recompile vdbe.lo and parse.lo first. (check-in: 9e819f0f user: mistachkin tags: trunk)
15:54
Comment and preprocessor macro cleanup. (check-in: c0809b5e user: drh tags: trunk)
13:51
In main.mk, always recompile vdbe.o and parse.o first, since changes to either parse.y or vdbe.c will cause all files to be recompiled and if there are syntax errors in vdbe.c or parse.y we want to hit them early in the compile process. (check-in: a94a66d1 user: drh tags: trunk)
2013-07-25
17:07
In the command-line shell, work around the fact that popen() and pclose() are not defined in stdio.h. in C89 and later. (check-in: 8bcbb33f user: drh tags: trunk)
16:41
Fix a typo in main.c: SQLITE_DEAULT_AUTOMATIC_INDEX -> SQLITE_DEFAULT_AUTOMATIC_INDEX (check-in: cc78e21c user: dan tags: trunk)
16:27
Enhance the progress handler so that it keeps track of the number of VDBE cycles across sqlite3_step() calls and issues callbacks when the cumulative instruction count reaches threshold. (check-in: 4698a82e user: drh tags: trunk)
2013-07-24
14:54
Another attempt at generalizing the URI parsing so that it works with a wider variety of file URIs and yet remains backwards compatible. (check-in: de05eb75 user: drh tags: uri-enhancement)
2013-07-23
22:28
Get the new URI logic working for Windows. (Closed-Leaf check-in: 0165789f user: drh tags: uri-enhancement)
20:54
Update the URI filename parser to allow (and ignore) authority names in unix and to pass the authority through to the OS on windows, as this appears to be what web-browsers are doing. (check-in: 74c12dee user: drh tags: uri-enhancement)
2013-07-20
00:39
Merge updates from trunk. (check-in: dd4b77c8 user: mistachkin tags: toTypeFuncs)
00:34
Add 'queryplantest' target to the MSVC makefile. (check-in: ad0551e0 user: mistachkin tags: trunk)
2013-07-19
23:58
Fixes to test numbering. (check-in: f755b4b2 user: mistachkin tags: trunk)
2013-07-18
20:28
Remove unused "codec" code from the command-line shell. (check-in: 37abfe0c user: drh tags: trunk)
18:45
Improved documentation for sqlite3_set_auxdata(). Ticket [406d3b2ef91c]. (check-in: 62465ecb user: drh tags: trunk)
18:29
Ensure that all auxiliary data registered by calls to sqlite3_set_auxdata() is destroyed when the VM is halted. (check-in: 153deac8 user: dan tags: trunk)
18:28
Fix a typo in the previous commit. (Closed-Leaf check-in: cd9096e6 user: dan tags: typo)
17:12
Ensure that all auxiliary data registered by calls to sqlite3_set_auxdata() is destroyed when the VM is halted. Partial fix for [406d3b2ef9]. DRH adds: Stray text accidentally inserted into vdbe.c just prior to the commit breaks the build. (check-in: 71effa59 user: dan tags: typo)
14:50
Fix a 8-byte alignment problem in the query planner that might cause problems on sparc when compiled with -m32. (check-in: 5dcffa67 user: drh tags: trunk)
14:16
Documentation changes to warn that sqlite3_set_auxdata() might call the destructor even before it returns. Also fix the regexp extension to deal with that case. Ticket [406d3b2ef91c]. (check-in: 7acc8cd3 user: drh tags: trunk)
2013-07-17
21:08
Fix copy/paste errors in comments in the transitive_closure virtual table. No changes to code. (check-in: b1b0de29 user: drh tags: trunk)
18:12
Enhance the sqlite3_analyzer tool to give reports on the sizes of individual indices. (check-in: 3b4096cc user: drh tags: trunk)
11:54
Clear the error string pointer in sqlite3_vtab object after the error string is transferred to SQLite. Ticket [78588b938a11]. (check-in: 64bf8148 user: drh tags: trunk)
2013-07-16
23:26
Make sure the sqlite3_prepare16 and sqlite3_prepare16_v2 interfaces do not read past a zero-terminator if the nBytes parameter is too large. (check-in: 20dba3a7 user: drh tags: trunk)
21:31
Enhance the query planner so that it looks at multiple solutions to OR expressions in the WHERE clause. (check-in: 5e19d054 user: drh tags: trunk)
2013-07-15
17:02
Add the sqlite3_cancel_auto_extension(X) interface which will undo a prior call to sqlite3_auto_extension(X). (check-in: cdce87eb user: drh tags: trunk)
2013-07-12
21:09
Make sure the shell does not try to put a zero terminator on the end of an unallocated zero-length string when running ".import" on an empty file. (check-in: 92adaee5 user: drh tags: trunk)
2013-07-11
19:04
Change the description of how sqlite3_progress_handler() works so that the N parameter is "approximate". This aligns with the current implementation. This is a documentation change only. No changes to code. (check-in: 7d829bde user: drh tags: trunk)
15:31
Merge recent trunk changes (such as the query_only PRAGMA, the defer_foreign_keys PRAGMA, and the SQLITE_DBSTATUS_DEFERRED_FKS parameter to sqlite3_db_status()) into the sessions branch. (check-in: 8dfc0b78 user: drh tags: sessions)
15:22
Add the experimental "query_only" pragma. (check-in: 6557c407 user: drh tags: trunk)
15:03
Add the "defer_foreign_keys" pragma and the SQLITE_DBSTATUS_DEFERRED_FKS value for sqlite3_db_status(). This is a cherry-pick of a sequence of five checkins in the sessions branch between [1d44e5d3c2] and [d39e65fe70]. (check-in: 527121ac user: drh tags: trunk)
13:49
Remove the undocumented sqlite3_foreign_key_check() API and replace it with sqlite3_db_status(db, SQLITE_DBSTATUS_DEFERRED_FKS, ...). Add test cases for the new functionality. (check-in: d39e65fe user: drh tags: sessions)
12:19
Rename the SQLITE_DeferForeignKeys macro to shorter SQLITE_DeferFKs. Move the "defer_foreign_keys" pragma into the flagPragma() routine. (check-in: 3a2ab74c user: drh tags: sessions)
03:09
Environment variable names in nmake must be in all uppercase. (check-in: 0328e873 user: mistachkin tags: vsix2013)
2013-07-10
21:33
More corrections to VS 2013 integration. (check-in: 7a8b0e36 user: mistachkin tags: vsix2013)
19:53
Use the VisualStudioVersion variable instead of _MSC_VER. (check-in: 603e9db8 user: mistachkin tags: vsix2013)
19:39
More changes to support MSVC 18. (check-in: 29c458e2 user: mistachkin tags: vsix2013)
18:14
Fix harmless compiler warnings in the progress callback logic. (check-in: 908141d5 user: drh tags: trunk)
13:33
Experimental "PRAGMA query_only=BOOLEAN" statement that is able to turn write capabilities on and off. (Closed-Leaf check-in: ece960c4 user: drh tags: query_only)
03:05
Run progress callback checks less frequently in the main VDBE evaluation loop. This makes up for the extra CPU cycles used to increment the cycle counter for SQLITE_STMTSTATUS_VM_STEP. (check-in: 3e8b0201 user: drh tags: trunk)
2013-07-09
15:56
Adjust the costs in the xBestIndex function of the spellfix1 virtual table to force the use of the MATCH term if it is available. (check-in: f003bea9 user: drh tags: trunk)
13:05
Pull in all the latest changes from trunk. (check-in: af3ca4c6 user: drh tags: sessions)
12:36
Modify several extensions to use the new exported function naming. Fix some shared library compilation issues. (check-in: 1e39f850 user: drh tags: trunk)
03:04
Make sure the schema is verified prior to processing a "WHERE 0" on the first term of a compound SELECT statement. Fix for ticket [490a4b723562429] (check-in: 52a49cbc user: drh tags: trunk)
2013-07-08
22:33
Make sure an adequate number of digits are shown for binary-to-text rendering of very small floating point values. (check-in: 776e65f9 user: drh tags: trunk)
21:12
Fix an adverse interaction between the IS NOT NULL optimization (available only with SQLITE_ENABLE_STAT3) and the transitive constraint processing. Fix for ticket [d805526eae253] (check-in: 3b30b75b user: drh tags: trunk)
01:27
Add an optional 5th parameter to the next_char() function that is the collating sequence to use for comparison. (check-in: 9415db6e user: drh tags: trunk)
2013-07-06
18:07
Fixes for test cases running in the "mmap" permutation. (check-in: cdb97d41 user: dan tags: trunk)
17:57
Drop any existing mapping of the database file when exiting the pager "error state", as it may at this point be too large for the database file. Do not invoke file-control MMAP_SIZE if the database file handle does not support xFetch and xUnfetch (on the grounds that xUnfetch(0) calls to invalidate the mapping cannot be made). (check-in: 0ae7e75b user: dan tags: trunk)
2013-07-05
19:16
Fix two test script problems revealed by permutations.test. (check-in: 60cf7e44 user: dan tags: trunk)
16:54
Replace an erroneous SQLITE_OMIT_VIRTUAL_TABLE in vdbeaux.c with SQLITE_OMIT_WAL. Also fix some test script problems. (check-in: ff8c3f78 user: dan tags: trunk)
11:10
Add missing "static" qualifier to functions in where.c. (check-in: 5c906e91 user: dan tags: trunk)
10:46
Make a couple of implicit casts explicit to fix compiler warnings. (check-in: 9676280a user: dan tags: trunk)
2013-07-04
23:53
Modify several extensions to use the new exported function naming. Fix some shared library compilation issues. (Closed-Leaf check-in: f2ab8747 user: mistachkin tags: extRefactor)
15:22
Fix a bug preventing some FK constraint checking from being deferred until the end of changeset application. (check-in: 1452defb user: dan tags: sessions)
2013-07-03
19:53
Experimental change to the handling of foreign key constraint violations when applying a changeset: all foreign keys, immediate and deferred, are deferred until the end of the transaction (or sub-transaction) opened by the sqlite3changeset_apply(). A single call to the conflict-handler (if any) is made if any FK constraint violations are still present in the database at this point. The conflict-handler may choose to rollback the changeset or to apply it, constraint violations and all. (check-in: 1d44e5d3 user: dan tags: sessions)
2013-07-02
20:23
Fixes for the sessions module so that it works with sqlite3_extended_error_codes() set. (check-in: c2972b6a user: dan tags: sessions)
15:25
Remove a surplus local variable (check-in: 91bc840e user: drh tags: trunk)
10:06
Fix a minor typo in a comment in where.c. (check-in: 4a9d51e7 user: dan tags: trunk)
00:06
Fix harmless typos in comments of two extensions. (check-in: 1c3ed47b user: drh tags: trunk)
2013-07-01
20:02
Add a query planner test case submitted by Elan Feingold and based on the Plex project. (check-in: 3d49c593 user: drh tags: trunk)
17:27
Add a missing test that prevented double LEFT JOINs with transitive constraints from working correctly. Fix for ticket [868145d012]. (check-in: 72919ec3 user: drh tags: trunk)
11:05
Further minor comment corrections and enhancements in where.c. (check-in: 0d68d4d0 user: drh tags: trunk)
10:38
Make a trivial comment fix in where.c. (check-in: 0ffaab3b user: drh tags: trunk)
2013-06-30
20:24
Fix an issue in the command-line shell with CSV import of rows with empty columns. (check-in: 60b65e5e user: drh tags: trunk)
2013-06-29
15:40
Fix the build of the command-line shell on windows. Windows uses "_pclose" rather than "pclose" as the pointer to the function that closes a popen pipe. (check-in: b003b2b2 user: drh tags: trunk)
2013-06-28
23:55
Issue the new SQLITE_WARNING_AUTOINDEX warning on the SQLite log whenever an automatic index is created. (check-in: 338826ef user: drh tags: trunk)
21:12
Add the SQLITE_DEFAULT_AUTOMATIC_INDEX compile-time option, which if set to zero turns automatic indices off by default. Increase the estimated cost of an automatic index. Additional minor refactoring of the automatic index code. (check-in: 459b3179 user: drh tags: trunk)
19:41
Allow read transactions to be freely opened and closed by SQL statements run from within the implementation of user-functions if the user-function is called by a SELECT statement that does not access any database tables (e.g. "SELECT user_function();"). (check-in: f308c485 user: dan tags: trunk)
17:29
Add a bit to the SQLITE_TESTCTRL_OPTIMIZATIONS option for sqlite3_file_control() that will disable the use of SQLITE_STAT3 information in the query planner. (check-in: 60c19b86 user: drh tags: trunk)
13:43
Fix an issue with the OmitNoopJoin optimization and add test cases that are specifically for that optimization. (check-in: 5480d124 user: drh tags: trunk)
01:24
Refactor the Vdbe.noIO field as Vdbe.bIsReader. The meaning is inverted. (check-in: 59f98c5c user: drh tags: trunk)
2013-06-27
23:54
Refactor names of fields in the sqlite3 object: "activeVdbeCnt" becomes "nVdbeActive". Related fields becomes "nVdbeRead", "nVdbeWrite", and "nVdbeExec". (check-in: 14f79696 user: drh tags: trunk)
19:12
Fix an error in e_expr.test. (check-in: fd4ece18 user: dan tags: trunk)
17:40
Make sure that sqlite3_stmt_readonly reports false for PRAGMA journal_mode and PRAGMA wal_checkpoint. Ticket [a589ec069e3]. Also keep track of whether a prepared statement does no reading or writing. (check-in: 1937fd8e user: drh tags: trunk)
14:24
Add a test to ensure that if BEGIN IMMEDIATE fails with SQLITE_BUSY, it does not leave the user with an open read transaction (unless one was already open). (check-in: 22bced36 user: dan tags: trunk)
14:07
If the filename argument to the ".import" command in the command-line shell begins with '|' then treat it as an input pipe rather than a file. (check-in: 4c02b344 user: drh tags: trunk)
13:26
Improved handling of backslash escapes on double-quoted arguments to dot-commands in the command-line shell. (check-in: 656a1fe5 user: drh tags: trunk)
13:01
The undocumented and unsupported ".selftest" command in the command-line shell utility is now only available if compiled with SQLITE_DEBUG. Also fix a windows compiler warning in that command. (check-in: e88fd5b2 user: drh tags: trunk)
11:46
Add extended error code SQLITE_BUSY_SNAPSHOT - returned in WAL mode when a read-transaction cannot be upgraded to a write-transaction because it is reading from a snapshot other than the most recently committed. (check-in: 361c2296 user: dan tags: trunk)
2013-06-26
22:46
Update the ".import" command of the command-line shell so that it can accept field values that span multiple lines and so that it issues error messages if the input text does not strictly conform to RFC4180. (check-in: 93f63215 user: drh tags: trunk)
18:04
Add the "vtshim" extension, implementing a wrapper around the virtual table interface to make it Disposable for the CLR. No changes to the core. (check-in: 6c3839ef user: drh tags: trunk)
16:30
Update the boundary3.tcl script so that it can be run with tcl 8.5 or 8.6 to regenerate boundary3.test. (check-in: ebac5afa user: dan tags: trunk)
13:31
Bring the sessions branch up-to-date with all the latest trunk changes. (check-in: 086a1272 user: drh tags: sessions)
13:22
Add the SQLITE_STMTSTATUS_VM_STEPS option for sqlite3_stmt_status(). (check-in: bd4267f1 user: drh tags: trunk)
11:49
Omit tables from the FROM clause of a join if their presence makes no difference in the final output. (check-in: 6505e2ab user: drh tags: trunk)
11:43
Cut over the next generation query planner. Increase the version number to 3.8.0. (check-in: 0fe31f60 user: drh tags: trunk)
00:34
Fix an uninitialized variable detected by valgrind. Unclear whether or not this should apply to trunk. (Closed-Leaf check-in: 19ab4811 user: drh tags: nextgen-query-plan-exp)
2013-06-25
22:01
Add a new (experimental) sqlite3_stmt_status() verb that returns the number of VM steps. (Closed-Leaf check-in: f1366bab user: drh tags: status-vm-step)
2013-06-22
15:44
Add the ability to disable the omit-join-table optimization for testing purposes. (Closed-Leaf check-in: d929df9b user: drh tags: omit-join-table-opt)
2013-06-21
19:39
Enhance error message handling for the vtshim module. (Closed-Leaf check-in: b4a0d532 user: mistachkin tags: disposable-vtable)
19:29
Merge in the latest changes from trunk. Simplify the implementation of the tointeger() and toreal() functions. Fix test cases and put unambiguous labels on all testcase names. (check-in: 9b837b05 user: drh tags: toTypeFuncs)
18:36
Remove an unused function declaration from the FTS3 source code. (check-in: 096ae1d8 user: drh tags: trunk)
18:32
Merge updates from trunk. (check-in: fa2a91e6 user: mistachkin tags: toTypeFuncs)
18:29
Merge the fts4-notindexed branch with the trunk. (check-in: 361084e1 user: dan tags: trunk)
18:18
Add a few more tests for the fts4 notindexed option. (Closed-Leaf check-in: b53c0c41 user: dan tags: fts4-notindexed)
17:30
Add the "notindexed" option to fts4. (check-in: 8ff2b8f5 user: dan tags: fts4-notindexed)
07:54
Update comments and package flavor error message. (check-in: 9d1b9618 user: mistachkin tags: vsix2013)
02:15
Only eliminate inner loops of a JOIN if they are the RHS of a LEFT JOIN and if they give no more than a single result. This appears to give correct answers in all cases. (check-in: d7a25cc7 user: drh tags: omit-join-table-opt)
02:05
Attempt to disable inner loops of a join that do not generate output. This does not work, since the inner loops might run zero times and thus inhibit all output. Needs to be enhanced to work only for LEFT JOINs or when we know that the inner loop will always run at least once. (check-in: ca839723 user: drh tags: omit-join-table-opt)
00:35
Modify the query planner interface so that it always passes in the result set. This is the first step toward adding an optimization that will omit tables from a join that do not contribute to the result. (check-in: 2c2577e6 user: drh tags: omit-join-table-opt)
2013-06-20
19:55
Add tests for modifying the docid and languageid fields of an fts table with a non-zero languageid_bits field. (Closed-Leaf check-in: 949425d4 user: dan tags: fts-languageid-bits)
19:07
Use the target platorm version in the VS props file as well. (check-in: ce5a8cc1 user: mistachkin tags: vsix2013)
18:53
VSIX tooling changes to support Visual Studio 2013. (check-in: c5954c58 user: mistachkin tags: vsix2013)
18:32
Fix some issues related to ORDER BY and fts tables with a non-zero languageid_bits setting. (check-in: 81527768 user: dan tags: fts-languageid-bits)
17:32
Add a NEVER() macro and an explanation comment around an unreachable branch in the STAT3 logic. (check-in: 604c3c5d user: drh tags: nextgen-query-plan-exp)
16:22
Add extra tests for fts with a non-zero languageid_bits setting. Fix querying by docid with the same. (check-in: b1df00f3 user: dan tags: fts-languageid-bits)
14:17
Pull in the posix_fallocate() change from trunk. (check-in: d94db3fd user: drh tags: nextgen-query-plan-exp)
14:07
Disable posix_fallocate() for all systems, all the time, unless the HAVE_POSIX_FALLOCATE compile-time macro is supplied. (check-in: b6744622 user: drh tags: trunk)
11:48
Add tests (and a fix) for large and small fts docid values with various languageid_bits settings. (check-in: 8dc261b7 user: dan tags: fts-languageid-bits)
11:01
Fix fts handling of the case where both a rowid and docid are specified as part of an insert statement. (check-in: 610e7e96 user: dan tags: fts-languageid-bits)
01:27
The vtshim xCreate and xConnect functions need to store the pAux pointer into the newly created vtable object. Style fixes. (check-in: 43913c7b user: mistachkin tags: disposable-vtable)
00:20
Integration adjustments for the vtshim module. (check-in: bf2e28dd user: mistachkin tags: disposable-vtable)
2013-06-19
23:48
Merge in trunk changes to os_unix.c that allow the code to build on unix platforms that lack posix_fallocate(). (check-in: bf576406 user: drh tags: nextgen-query-plan-exp)
20:13
Add the languageid_bits= option to fts. Still some problems to work out. (check-in: d36d7e68 user: dan tags: fts-languageid-bits)
18:01
Add in the cost of doing a table lookup on OR searches. Make test case changes to deal with difference in STAT3 behavior. (check-in: d97898e8 user: drh tags: nextgen-query-plan-exp)
14:49
Only default HAVE_POSIX_FALLOCATE on for linux, and then only if it is not previously defined. (check-in: 2b2ade92 user: drh tags: trunk)
14:28
Only enable posix_fallocate by default on linux and mac. (check-in: b9b30d4f user: drh tags: trunk)
13:59
Additional compiler warning fixes. (check-in: 8d2ae8e2 user: drh tags: nextgen-query-plan-exp)
13:32
Fix a harmless uninitialized variable warning. (check-in: 9d3ef3bd user: drh tags: nextgen-query-plan-exp)
12:34
Simplify and add invariants to the WhereLoop merging logic inside of whereLoopInsert(). (check-in: 8f27f35f user: drh tags: nextgen-query-plan-exp)
03:27
Fix compiler warnings. Fix a harmless off-by-one error in the solver. (check-in: 10021941 user: drh tags: nextgen-query-plan-exp)
2013-06-18
20:06
Adjustments to testcase() macros for improved testability. (check-in: 4fbb0c4d user: drh tags: nextgen-query-plan-exp)
01:52
Remove some redundant and unreachable code. (check-in: 4c6d58d7 user: drh tags: nextgen-query-plan-exp)
2013-06-17
21:37
Add more testcase() macros. Fix a memory leak following OOM in the virtual table analysis logic. (check-in: b61402af user: drh tags: nextgen-query-plan-exp)
18:20
Simplifications to the NGQP. Add the queryplantest makefile target. Add testcase() macros in the NGQP. (check-in: eaf1f1b4 user: drh tags: nextgen-query-plan-exp)
14:18
Use automatic indices on subqueries of the FROM clause when appropriate. (check-in: e8f12428 user: drh tags: nextgen-query-plan-exp)
2013-06-15
15:11
Fix compiler warnings. (check-in: 3e8ac469 user: drh tags: nextgen-query-plan-exp)
2013-06-14
13:27
Comment tweaks in where.c. No changes to code. (check-in: cecc5fdd user: drh tags: nextgen-query-plan-exp)
02:51
Add a new ORDER BY optimization that bypasses ORDER BY terms that are constrained by == and IS NULL terms of the WHERE clause. (check-in: b920bb70 user: drh tags: nextgen-query-plan-exp)
2013-06-13
17:58
An index might be useful for ORDER BY if any indexed column is in the ORDER BY clause, not just the first indexed column. (check-in: ade473b5 user: drh tags: nextgen-query-plan-exp)
17:28
Make sure that disabling the covering index scan optimization does not prevent a covering index from being used to satisfy an ORDER BY clause. (check-in: e8b7ea82 user: drh tags: nextgen-query-plan-exp)
15:50
Restore the ability to do a BETWEEN query on the rowid. Also fix a nearby comment. (check-in: 459a7b90 user: drh tags: nextgen-query-plan-exp)
15:16
Make the MIN() and MAX() macros available in sqliteInt.h. Add TUNING comments to the NGQP and adjust costs slightly. (check-in: 3a72af2a user: drh tags: nextgen-query-plan-exp)
14:51
Fix an off-by-one error in the WhereCost to integer conversion. (check-in: b5ca80d9 user: drh tags: nextgen-query-plan-exp)
00:32
Add a prototype for an extension that sits in between the SQLite native code virtual table interface and a CLR IDisposable object. (check-in: 10bba8d0 user: drh tags: disposable-vtable)
2013-06-12
20:18
Activate the one-pass optimization. Update comments, especially the descriptions of the various objects. (check-in: e120c558 user: drh tags: nextgen-query-plan-exp)
17:55
Bug fixes in the handling of virtual tables. (check-in: 25c0f729 user: drh tags: nextgen-query-plan-exp)
17:17
Merge all changes from trunk. (check-in: f2e15b19 user: drh tags: nextgen-query-plan-exp)
17:08
"make test" now passing. (check-in: addd7f46 user: drh tags: nextgen-query-plan-exp)
14:52
Add the "queryplanner" test permutation. Continuing refinements to NGQP. (check-in: 25e2cde1 user: drh tags: nextgen-query-plan-exp)
03:48
Continue refining the NGQP (check-in: 40567fdd user: drh tags: nextgen-query-plan-exp)
02:53
Another attempt at disabling virtual tables. This one leaks memory. (Closed-Leaf check-in: 399e2828 user: drh tags: disable-vtab)
2013-06-11
22:41
Add the ability to disable future calls to virtual table methods by invoking sqlite3_create_module() with a NULL sqlite3_module pointer. (check-in: 6b77d61a user: drh tags: disable-vtab)
18:59
Improved processing of DISTINCT. (check-in: ba897100 user: drh tags: nextgen-query-plan-exp)
14:22
Add the SQLITE_FTS3_MAX_EXPR_DEPTH compile time option. (check-in: 24fc9d44 user: dan tags: trunk)
13:30
Fix the Parse.nQueryLoop state variable to work with NGQP. (check-in: f1cac24f user: drh tags: nextgen-query-plan-exp)
02:36
Use a logarithmic rather than linear cost and row-count measures. Do not report row count estimates in EQP output. (check-in: b777b109 user: drh tags: nextgen-query-plan-exp)
02:32
Fixes to EXPLAIN QUERY PLAN output. Change weights back to something closer to what they are in legacy. More test case fixes. (Closed-Leaf check-in: 36373b85 user: drh tags: nextgen-query-plan-logcost)
01:50
Handle virtual tables correctly when using logarithmic costs. Fixes to test cases. (check-in: e612664a user: drh tags: nextgen-query-plan-logcost)
2013-06-10
23:30
Fix test cases for the new EXPLAIN QUERY PLAN format. Add the wherecosttest tool. Other fixes to logarithm cost. (check-in: aa580e36 user: drh tags: nextgen-query-plan-logcost)
20:46
Fix some minor issues with logarithmic cost in NGQP. (check-in: 69cf8772 user: drh tags: nextgen-query-plan-logcost)
19:12
First attempt to store costs and row counts as a logarithm. (check-in: 9e810967 user: drh tags: nextgen-query-plan-logcost)
14:56
Simplification and performance tweak to the high-speed NGQP bypass. (check-in: 0f8a38ee user: drh tags: nextgen-query-plan-exp)
12:34
Performance improvements for whereScan methods. (check-in: aae14350 user: drh tags: nextgen-query-plan-exp)
12:17
Add a high-speed bypass for the NGQP for the common case of a simply query with quality constraints that outputs a single row. (check-in: 8d1ba309 user: drh tags: nextgen-query-plan-exp)
12:15
Minor problems in the high-speed NGQP fixed. (Closed-Leaf check-in: 20eeccf1 user: drh tags: nextgen-query-plan-fast)
2013-06-09
20:22
Fix the memory leak in CREATE TABLE that occurs if there are two or more COLLATE clauses on the same column. (check-in: 7e3820e5 user: drh tags: trunk)
20:16
Add test cases to demonstrate the memory leak on the COLLATE clause. (Closed-Leaf check-in: 0a60212c user: drh tags: memleak)
17:21
High-speed version of NGQP. Still has some minor problems. (check-in: db2415fa user: drh tags: nextgen-query-plan-fast)
2013-06-08
19:58
Candidate fix for a memory leak that occurs if a CREATE TABLE statement contains two or more COLLATE clauses on the same column definition. (check-in: 60fc77bc user: drh tags: memleak)
2013-06-07
22:12
Improve manual cleaning step performed by the multi-platform build tool for MSVC. (check-in: d5bc1fe1 user: mistachkin tags: trunk)
02:04
Must faster computation of estimated logarithm. (check-in: dfbca3ac user: drh tags: nextgen-query-plan-exp)
00:29
Further prepare-time performance improvements. (check-in: 02741d17 user: drh tags: nextgen-query-plan-exp)
2013-06-06
23:44
Performance improvements. (check-in: 9f8e84ab user: drh tags: nextgen-query-plan-exp)
23:02
Improved management of the space to hold WhereLoop.aLTerm[]. (check-in: d4141ecb user: drh tags: nextgen-query-plan-exp)
19:25
Remove some commented-out code that was mistakenly left in the previous check-in. (check-in: b4a5dbad user: drh tags: nextgen-query-plan-exp)
19:16
Clean up and reorganize the elements of the various objects in the analysis tree for the NGQP. (check-in: bfc76ae1 user: drh tags: nextgen-query-plan-exp)
2013-06-05
23:39
Move the definitions of the WhereLevel and WhereInfo objects out of sqliteInt.h and into where.c. This will facilitate future refactoring of the internal query planner data structures. (check-in: 1574653b user: drh tags: nextgen-query-plan-exp)
17:53
Performance improvement for the OR-clause analysis in the NGQP. (check-in: 9b1c4954 user: drh tags: nextgen-query-plan-exp)
16:19
Minor performance tuning of the NGQP. (check-in: cbef38c2 user: drh tags: nextgen-query-plan-exp)
16:17
Up until now the fts4 "unicode61" tokenizer has treated all private use codepoints except the first and last of each of the three ranges as alphanumeric (eligible to be part of tokens). This commit fixes this so that all private use codepoints are considered alphanumeric. In other words, it fixes the handling of codepoints 0xE000, 0xF8FF, 0xF0000, 0xFFFFD, 0x100000 and 0x10FFFD. (check-in: 6cfd9af5 user: dan tags: trunk)
12:47
Performance tweak to whereLoopInsert(). (check-in: 1c4a7880 user: drh tags: nextgen-query-plan-exp)
12:18
Add a test case contributed on the mailing list that works in NGQP but fails in legacy. (check-in: 96afe508 user: drh tags: nextgen-query-plan-exp)
2013-06-04
23:40
Update some variable names and comments in the ORDER BY optimizer. Fix a bug in the ORDER BY optimizer dealing with IS NULL constraints. Updates to test cases. (check-in: cf96eb59 user: drh tags: nextgen-query-plan-exp)
18:27
Restore the PRAGMA reverse_unordered_selects behavior. (check-in: f49cd6c4 user: drh tags: nextgen-query-plan-exp)
18:03
Get the index-only optimization working for OR queries. (check-in: 774d5ff8 user: drh tags: nextgen-query-plan-exp)
15:31
Test case updates. (check-in: 0360fec7 user: drh tags: nextgen-query-plan-exp)
13:37
Better determination of when an index is UNIQUE. (check-in: 63fd025a user: drh tags: nextgen-query-plan-exp)
13:07
Increase the estimated full-scan cost for an FTS3 table. (check-in: 8d9f29f8 user: drh tags: nextgen-query-plan-exp)
12:58
Fix a display issue with EXPLAIN QUERY PLAN. (check-in: ff2fa407 user: drh tags: nextgen-query-plan-exp)
12:42
Refactor the ORDER BY optimizer in the NGQP so that it is easier to maintain and so that it can support optimizing out GROUP BY and DISTINCT clauses. (check-in: e605c468 user: drh tags: nextgen-query-plan-exp)
2013-06-03
22:08
Remove more vestiges of sqlite_query_plan from the test cases. (check-in: eb27086e user: drh tags: nextgen-query-plan-exp)
21:25
Adjust the xBestIndex methods on both the fuzzer and transitive_closure virtual tables so that an unused MATCH operator gets a really large cost. Remove ambiguities from the fuzzer test cases. (check-in: e2c1af78 user: drh tags: nextgen-query-plan-exp)
20:46
Pull in recent trunk changes. Fix the ORDER BY optimizer so that it is better able to deal with COLLATE clauses. Clean up ambiguities in the descidx1.test script. (check-in: 6bc71dfc user: drh tags: nextgen-query-plan-exp)
20:39
Fix a typo in a collating function inside the e_reindex.test script. (check-in: 4d74fccf user: drh tags: trunk)
19:17
Do not use an index fullscan for an UPDATE or DELETE or if disabled by sqlite3_test_control() or sqlite3_config(). (check-in: fabb2185 user: drh tags: nextgen-query-plan-exp)
19:01
Resolve ambiguities in test cases in collate2.test. (check-in: dcbbcb2e user: drh tags: nextgen-query-plan-exp)
18:50
Fix a bug in the transitive_closure virtual table that NGQP exposes. Update between.test module to avoid using sqlite_query_plan. (check-in: aa66b864 user: drh tags: nextgen-query-plan-exp)
18:14
Fix EXPLAIN QUERY PLAN row counts for the rtree virtual table tests. (check-in: 15328987 user: drh tags: nextgen-query-plan-exp)
17:35
Update the NGQP to make use of STAT3 information if it is available. (check-in: ff134e6e user: drh tags: nextgen-query-plan-exp)
16:56
Honor the orderByConsumed boolean returned from virtual table query planner. (check-in: aaf7f589 user: drh tags: nextgen-query-plan-exp)
16:03
Fix to the logic that disables constraints on virtual tables. (check-in: 62d38240 user: drh tags: nextgen-query-plan-exp)
15:34
Fix an issue that was causing ORDER BY DESC to come out in ascending order. (check-in: 02984012 user: drh tags: nextgen-query-plan-exp)
15:24
Virtual tables now always report 25 rows instead of 0 rows in the EXPLAIN QUERY PLAN output. Adjust tests accordingly. (check-in: 7d91f688 user: drh tags: nextgen-query-plan-exp)
15:07
Set the WHERE_UNIQUE flag on loops that can only run once. (check-in: 510f4d8e user: drh tags: nextgen-query-plan-exp)
14:15
Add test cases to verify that ticket [bc1aea7b725f2761] has been fixed in the NGQP. (check-in: 9b97af94 user: drh tags: nextgen-query-plan-exp)
12:47
Enhance the shell to provide more flexibility when entering numeric arguments on dot-commands. In particular, allow hexadecimal arguments to .wheretrace and .testctrl commands. Cherrypick from [b9578c371ee5]. (check-in: 3bd5ad09 user: drh tags: trunk)
12:34
Further improvements to error handling of the run-time loading of SQLite into TCL. (check-in: 7cc0c4ee user: drh tags: trunk)
2013-05-31
20:43
The NGQP might not find a solution if INDEXED BY constraints on the query are set wrong. If that is the case, print a "no query solution" error and abort before trying to use the non-existant solution. (check-in: 42511a7e user: drh tags: nextgen-query-plan-exp)
20:28
Do not search using ON clause constraints of LEFT JOINs to the right of the table. (check-in: 723f901a user: drh tags: nextgen-query-plan-exp)
20:00
Make sure a unique cursor number is allocated for automatic indices. (check-in: 433d1aec user: drh tags: nextgen-query-plan-exp)
19:14
Do not attempt to generate code in the NGQP if there have been prior errors, since with prior errors some of the expressions might not be fully named resolved. (check-in: 665e4291 user: drh tags: nextgen-query-plan-exp)
18:20
Fix a problem with code generation on LEFT JOIN of tables without an index. (check-in: 0b1bee92 user: drh tags: nextgen-query-plan-exp)
18:13
Another virtual table fix in NGQP. (check-in: 2f2ce416 user: drh tags: nextgen-query-plan-exp)
17:55
Fix problems in the virtual table logic for NGQP. (check-in: 23af28e2 user: drh tags: nextgen-query-plan-exp)
15:50
Remove the definitions of objects that are no longer used: WhereCost, WherePlan, and WhereBestIdx. (check-in: 816f8add user: drh tags: nextgen-query-plan-exp)
15:36
Improved handling of errors when doing run-time loading of an SQLite shared-library into TCL. (check-in: b3f23d18 user: drh tags: trunk)
15:18
Allow tracing of whereLoopInsert() when the 0x8 bit is set on ".wheretrace". Remove the use of sqlite_query_plan from where2.test. Fix a bug in the code generator for OR clause optimizations. (check-in: 707f0323 user: drh tags: nextgen-query-plan-exp)
14:31
Enhance the shell to provide more flexibility when entering numeric arguments on dot-commands. In particular, allow hex arguments to .wheretrace. (check-in: b9578c37 user: drh tags: nextgen-query-plan-exp)
13:36
Futher enhancements to the ORDER BY optimizer. (check-in: d8efa5f8 user: drh tags: nextgen-query-plan-exp)
12:43
Improved detection of unnecessary ORDER BY clauses. (check-in: 58805eb3 user: drh tags: nextgen-query-plan-exp)
11:57
Fix the constructAutomaticIndex() routine so that it works with NGQP. (check-in: 5e1e6139 user: drh tags: nextgen-query-plan-exp)
2013-05-30
23:21
Improvements to the ORDER BY suppressor in the NGQP. (check-in: 24a2e9dd user: drh tags: nextgen-query-plan-exp)
22:27
Incremental check-in with various NGQP fixes. Many tests still fail. (check-in: a51d8c92 user: drh tags: nextgen-query-plan-exp)
19:29
Futher simplifications to the NGQP. Fix some test cases to use EXPLAIN QUERY PLAN rather than the (now obsolete) sqlite_query_plan global variable. (check-in: ae985db4 user: drh tags: nextgen-query-plan-exp)
19:28
The expected result in a test case can be of the form "*glob*" or "~*glob*" to match or not match the GLOB pattern. This is useful for matching EXPLAIN QUERY PLAN output that contains regular expression syntax characters like "?", "(", and ")". (check-in: a3b4e261 user: drh tags: nextgen-query-plan-exp)
17:43
Cut over the NGQP query planner. Remove lots of legacy code. This check-in compiles but does not work. The test suite gets incorrect answers and crashes. (check-in: 001539df user: drh tags: nextgen-query-plan-exp)
11:48
Merge recent trunk changes into the NGQP branch. (check-in: aebe1f26 user: drh tags: nextgen-query-plan-exp)
2013-05-29
17:48
Updates to the Codec interface to support codecs on attached databases and to allow rekeying in the middle of a transaction. These changes are only applicable if SQLite is compiled with SQLITE_HAS_CODEC. (check-in: d5b084e9 user: drh tags: trunk)
14:22
Add tests for running FTS 'merge' and 'optimize' commands in shared cache mode. (check-in: 09e5a7ad user: dan tags: trunk)
2013-05-28
20:25
Add the percentile() SQL function as a loadable extension in the ext/misc directory. (check-in: a64d760d user: drh tags: trunk)
17:30
Finish removing the sqlite3.inTrans field. In the previous check-in, it was merely commented out because I failed to select File->Save on my text editor. (check-in: 2f97e38a user: drh tags: trunk)
17:25
Remove the obsolete and unused sqlite3.inTrans field. (check-in: c3381cd4 user: drh tags: trunk)
12:11
Many small harmless comment changes. Removal of obsolete comments and fixing misspelled words. No changes to code. (check-in: a0d5cc93 user: drh tags: trunk)
10:52
Merge autoconf-package branch with trunk. (check-in: a72f50ef user: dan tags: trunk)
2013-05-27
18:37
Add the "dist" target to main.mk. For building the amalgamation autoconf package. (Closed-Leaf check-in: 3fdc8b56 user: dan tags: autoconf-package)
17:59
Update the NGQP to record which loops need be run in reverse order to satisfy ORDER BY clauses. (check-in: 211f7a53 user: drh tags: nextgen-query-plan-exp)
17:19
Add the files used to build the amalgamation-autoconf package. (check-in: 048865e8 user: dan tags: autoconf-package)
10:11
When writing to an FTS table, take an exclusive shared-cache lock on the %_segdir table before writing. Otherwise, an xCommit() call may report an SQLITE_LOCKED error. (check-in: 3cd2da42 user: dan tags: trunk)
2013-05-24
14:52
Record in the WhereLoop object the set of virtual table constraints that need not be separately checked. (check-in: b49fa745 user: drh tags: nextgen-query-plan-exp)
13:55
Merge the latest trunk changes into the NGQP branch. (check-in: 7c8f992c user: drh tags: nextgen-query-plan-exp)
12:47
Set _XOPEN_SOURCE to 600 so that fchmod() will (hopefully) work on FreeBSD. (check-in: 61a10452 user: drh tags: trunk)
11:57
Fix harmless compiler warnings in the shell. (check-in: 9e2c17c5 user: drh tags: trunk)
2013-05-23
20:52
Add OGC GeoPackage files to the magic.txt database. (check-in: dab6a328 user: drh tags: trunk)
10:15
Have the "make fulltest" command run the "mmap" permutation test. (check-in: 82ad373f user: dan tags: trunk)
10:13
Avoid unnecessary calls to FCNTL_SIZE_HINT. Return an error to the user if the file-control invoked by "PRAGMA mmap_size" returns a value other than SQLITE_OK or SQLITE_NOTFOUND. (check-in: 40cfde8b user: dan tags: trunk)
01:40
Cause the mmap_size PRAGMA to immediately change the mmap space if the database connection is already active. In particular, reducing mmap_size will immediately free up process address space. (check-in: 76117792 user: drh tags: trunk)
2013-05-22
20:49
Use the NGQP plan for EXPLAIN QUERY PLAN output. This change causes 207 errors in veryquick.test, many of which are benign. (check-in: f783e8e6 user: drh tags: nextgen-query-plan-exp)
17:01
Allow the rowid at the end of an index to be used in a constraint on that index. (check-in: 9bf0524d user: drh tags: nextgen-query-plan-exp)
02:06
Improvements to ORDER BY handling in the NGQP. Fix an "exit" mistakenly left in a test script during the previous check-in. (check-in: 12c709b4 user: drh tags: nextgen-query-plan-exp)
2013-05-21
19:23
Enhanced "wheretrace" output in the NGQP solver routine. (check-in: 04dfb85a user: drh tags: nextgen-query-plan-exp)
15:52
Work toward improving the NGQP's ability to optimize out ORDER BY clauses. (check-in: 67367f1e user: drh tags: nextgen-query-plan-exp)
2013-05-20
15:14
Merge in all trunk changes up through the 3.7.17 release. (check-in: 14ab6675 user: drh tags: nextgen-query-plan-exp)
13:01
Update the sessions branch to the official 3.7.17 release code. (check-in: fc88f731 user: drh tags: sessions)
00:56
Version 3.7.17 (check-in: 118a3b35 user: drh tags: trunk, release, version-3.7.17)
2013-05-17
20:16
Remove a stray tab character from the transitive_closure extension source code. (check-in: 7a9aa21c user: drh tags: trunk)
17:15
Fix a bug in SQLITE_TRACE_SIZE_LIMIT that was introduced by check-in [1a1cf5aa86734c8]. That check-in was to remove harmless compiler warnings. So once again, we have introduced a real bug into SQLite by attempting to eliminate a harmless compiler warning. (check-in: cec2bcb4 user: drh tags: trunk)
16:41
In test file test_syscall.c, include sqliteInt.h before any tcl or system include files. This ensures that the magical defines in sqliteInt.h really do enable large file support (and set things up so that sizeof(off_t)==8). (check-in: 0f355bb1 user: dan tags: trunk)
12:52
Use sum() instead of total() in mptest/multiwrite01.test too. (check-in: d0c2288c user: drh tags: trunk)
12:51
Use sum() instead of total() in the mptest/crash01.test script. (check-in: 8ba0fc98 user: drh tags: trunk)
12:25
Add extra "PRAGMA mmap_size = N" statements to mmap1.test and mmap2.test. (check-in: cec0a06c user: dan tags: trunk)
12:10
In os_unix.c and os_win.c, initialize the default mmap-limit of a new file descriptor to the current global default mmap-limit, not the current global maximum allowable mmap-limit. (check-in: 1def4ea3 user: dan tags: trunk)
10:58
Update the sessions branch to the latest 3.7.17 beta. (check-in: af8057ef user: drh tags: sessions)
2013-05-16
19:15
Fix minor test script issues causing releasetest.tcl to fail. (check-in: d8ded9d8 user: dan tags: trunk)
18:33
Fix a typo in Makefile.in preventing compilation with the --disable-amalgamation option. (check-in: 8ffbefe7 user: dan tags: trunk)
14:28
Several releasetest.tcl related fixes to test cases. No code changes. (check-in: e97d744b user: dan tags: trunk)
12:41
Fix compilation with SQLITE_OMIT_WAL on Win32. (check-in: 6d45a79f user: mistachkin tags: trunk)
11:57
In sqlite3_close_v2(), do not attempt to roll back a transaction if there exist active statement objects. Any open transaction will be rolled back when the last of these statement objects is finalized. (check-in: d11e7607 user: dan tags: trunk)
01:02
Treat identifiers in the HAVING clause the same as in the WHERE clause. Only consider AS names from the result set to match if there are no other matches. Continuation of the fix for [2500cdb9be05]. This check-in fixes a bug found by SqlLogicTest during release testing for version 3.7.17. (check-in: 9ffff3d0 user: drh tags: trunk)
2013-05-15
20:35
Apply compilation fix from [a58af81483] to the other makefiles as well. (check-in: 7e76889d user: mistachkin tags: trunk)
18:45
Update the sessions branch with the latest trunk changes. (check-in: d0935505 user: drh tags: sessions)
18:34
Fixes to allow testfixture to be compiled with SQLITE_OMIT_VIRTUAL_TABLE defined. (check-in: 00231fb0 user: dan tags: trunk)
17:47
The sqlite3ExprCollSeq() function can no longer be called while parse the schema, so remove the code path inside of sqlite3ExprCollSeq() that dealt with that case. (check-in: 867b3e3b user: drh tags: trunk)
17:08
Make sure an sqlite3_close() or a rollback on one shared-cache connection does not disrupt the operation of other connections using the same shared cache. Fix for ticket [e636a050b709]. (check-in: 5cc1cc55 user: drh tags: trunk)
16:24
Extra test for commit [6dae62c4e5]. (check-in: b10b9e75 user: dan tags: trunk)
16:16
Add main.c to the list of files compiled with SQLITE_TEST defined when building testfixture. (check-in: a58af814 user: dan tags: trunk)
16:08
Fix the sharedA.test module so that it does not attempt to run TCL callbacks on a different thread from where the interpreter was originally created. (Closed-Leaf check-in: 65ff754e user: drh tags: shared-cache-fixes)
15:53
Do not run sharedA.test if the system is not threadsafe. (check-in: d484eaf8 user: dan tags: shared-cache-fixes)
15:42
Merge latest trunk changes with this branch. (check-in: 47dd65a8 user: dan tags: shared-cache-fixes)
15:16
When loading a database schema that contains an index definition that includes a COLLATE clause for which the collation sequence is unavailable, do not assume that that index uses BINARY instead. Fix for [0fc59f908b]. (check-in: 6dae62c4 user: dan tags: trunk)
13:05
Add the rot13.c loadable extension. (check-in: 8f9bd8e7 user: drh tags: trunk)
10:21
When closing a connection, avoid tripping active cursors belonging to a different shared-cache client. Also, if sqlite3_close() is called while there are still active statements belonging to the connection, return SQLITE_BUSY and do not roll back any active transaction. Proposed fix for ticket [e636a050b709]. (check-in: 6071b7cc user: dan tags: shared-cache-fixes)
08:00
Merge updates from trunk. (check-in: 6fbad957 user: mistachkin tags: toTypeFuncs)
2013-05-14
23:13
Merge together the fork in this branch. (check-in: 164e3d4d user: drh tags: shared-cache-fixes)
23:12
Fix an assert() in unlockBtreeIfUnused() so that it checks for the existance of an untripped cursor, not for the existance of any cursor at all. (check-in: a6f851d0 user: drh tags: shared-cache-fixes)
20:36
Avoid deleting a b-tree "has-content" vector belonging to another shared-cache connection from within sqlite3_close(). (check-in: 93462df7 user: dan tags: shared-cache-fixes)
15:31
First attempt to get ORDER BY optimization working in NGQP. (check-in: 9fe20292 user: drh tags: nextgen-query-plan-exp)
2013-05-13
18:23
Candidate fixes for problems revealed by notify2.test. Notify2.test is still failing at this point. (check-in: ea0428f9 user: dan tags: shared-cache-fixes)
2013-05-11
00:06
Minor fixes to the OR-clause processing in the NGQP. (check-in: d6946f33 user: drh tags: nextgen-query-plan-exp)
2013-05-10
20:26
Now generating OR-clause plans. (check-in: e17003fc user: drh tags: nextgen-query-plan-exp)
15:16
Update the NGQP so that it can produce plans that include automatic indices. (check-in: 586b55d8 user: drh tags: nextgen-query-plan-exp)
03:30
Factor out common operations into whereLoopAddAll(). Add stubs for missing features. (check-in: 0278e420 user: drh tags: nextgen-query-plan-exp)
02:11
Merge in the latest trunk changes. (check-in: 5ed31c82 user: drh tags: nextgen-query-plan-exp)
02:00
Free up bits of wsFlags for reuse. Install the ORDER BY optimization infrastructure for the NGQP. (check-in: 82d50e19 user: drh tags: nextgen-query-plan-exp)
2013-05-09
23:40
Merge trunk changes into the sessions branch. (check-in: 512f8a1e user: drh tags: sessions)
18:12
Add assert()s to the implementation of xRead() in the built-in VFSes to verify that the offset parameter is always non-negative. (check-in: cf5c3642 user: drh tags: trunk)
14:20
Do not move WHERE clause terms inside OR expressions that are contained within an ON clause of a LEFT JOIN. Fix for ticket [f2369304e47167e3e]. (check-in: 1128575d user: drh tags: trunk)
00:40
Refine and reform all Windows OSTRACE macro usage. Replace all usage of sqlite3TestErrorName() with sqlite3ErrName() and add missing return codes. (check-in: 610425f1 user: mistachkin tags: trunk)
2013-05-08
20:05
Fix memory leaks in the NGQP logic for virtual tables. (check-in: 3c2e83a4 user: drh tags: nextgen-query-plan-exp)
18:50
Merge all recent trunk changes into the sessions branch. (check-in: ae6c4a09 user: drh tags: sessions)
17:06
Fix a couple of harmless compiler warnings in the fts3_tokenize virtual table. (check-in: 1fa8c457 user: drh tags: trunk)
16:57
Make sure the ORDER BY collating sequences are compatible with the comparison collations before using the merge algorithm for compound SELECT statements. Fix for ticket [6709574d2a8d8]. (check-in: ce853a75 user: drh tags: trunk)
14:20
Fix the wholenumber virtual table so that it returns higher costs for unconstrained usage. Cherrypick from [ceff8955020cd13]. (check-in: 7227b615 user: drh tags: trunk)
14:14
NGQP working with virtual tables, though many legacy tests fail and there are yet some memory leaks. (check-in: bd9327a9 user: drh tags: nextgen-query-plan-exp)
14:13
Fix the wholenumber virtual table so that it returns higher costs for unconstrained usage. (check-in: ceff8955 user: drh tags: nextgen-query-plan-exp)
04:22
More bug fixes to the WhereLoop generator and the solver in NGQP. Now finds the best plan for TPC-H Q8. This seems to prove the concept, but there is still much work to be done. (check-in: 8e5aad37 user: drh tags: nextgen-query-plan-exp)
03:22
Bug fixes in the solver. (check-in: b36034bb user: drh tags: nextgen-query-plan-exp)
03:05
Add the NGQP solver. (check-in: 5d37587c user: drh tags: nextgen-query-plan-exp)
2013-05-07
23:06
Continued progress on generating good WhereLoop objects for the new query planner. (check-in: 15cc8a16 user: drh tags: nextgen-query-plan-exp)
19:44
Inserting a few WhereLoop objects without leaking memory. Costs are not correct. Inequality and IN constraints are not implemented. (check-in: e8881a8b user: drh tags: nextgen-query-plan-exp)
17:49
Make sure the ORDER BY collating sequences are compatible with the comparison collations before using the merge algorithm for compound SELECT statements. Candidate fix for ticket [6709574d2a8d8]. (Closed-Leaf check-in: fc3630cd user: drh tags: tkt-6709574)
12:16
Modify the fts3tokenize table implementation so that it does not use the SQL function fts3_tokenizer. The user may have installed an authorizer callback that prohibits this. (check-in: 0ba67b64 user: dan tags: trunk)
2013-05-06
21:01
In the command-line shell, output the elements of the schema in the order that they appear in the sqlite_master table. This is necessary in some cases to make the schema parsable. (check-in: e5b3cd74 user: drh tags: trunk)
20:28
In the command-line shell, make sure the output of dot-commands goes to the same redirected output stream as the result of queries. Ticket [2f96536e7ff7dba] (check-in: b72d3659 user: drh tags: trunk)
14:57
Add an assert() to fts3_expr.c in order to silence a clang warning. (check-in: d8dc2c5f user: drh tags: trunk)
13:22
Make sure the authorizer callback gets a valid pointer to "ROWID" for the column-name parameter when doing an UPDATE that changes the rowid. Fix for ticket [0eb70d77cb05bb2272]. (check-in: 26a59bb8 user: drh tags: trunk)
2013-05-04
20:25
In where.c, make findTerm() a wrapper around methods to a new WhereScan object which is capable of finding all suitable matching terms, not just the first. This check-in includes some prototype functions for building WhereLoop objects. (check-in: dd92b8fa user: drh tags: nextgen-query-plan-exp)
2013-05-03
20:08
Add magic numbers for Bentley Systems application files. (check-in: 9314b080 user: drh tags: trunk)
18:29
Merge all recent trunk changes into the sessions branch. (check-in: 3879ab1b user: drh tags: sessions)
15:23
Allocate meta(8) in the header as the "application ID" and add the "PRAGMA application_id" command to query and set it. (check-in: b2efe4f2 user: drh tags: trunk)
2013-05-02
17:37
Minor fixes for compilation with SQLITE_OMIT_WAL defined. (check-in: b81e87e7 user: dan tags: trunk)
00:15
Begin inserting some experimental code for the next generation query planner. (check-in: ccaf4c3f user: drh tags: nextgen-query-plan-exp)
2013-05-01
20:40
Fix comments in the magic number file. (Closed-Leaf check-in: 5a500848 user: drh tags: application-id)
20:36
Preserve the application-ID across VACUUM. Updates to the magic number file. (check-in: 4a190bea user: drh tags: application-id)
19:49
Allocate 4 bytes of unused header space for an "Application ID". Add the "PRAGMA application_id" command to set and query this identifier. Add the "magic.txt" file to show how the posix file command might use this application id. (check-in: 28c9e7fd user: drh tags: application-id)
17:58
Do not use a transitive constraint to an IN operator where the RHS is a constant if there exists a direct == operator to another table in an outer loop. (check-in: faedaeac user: drh tags: trunk)
17:22
Avoid redundant constraint checking due to transitive constraints. (check-in: 329478cb user: drh tags: trunk)
2013-04-30
14:25
Update the documentation to explain that when the 3rd parameter to sqlite3_bind_text() and friends is NULL the result is to bind a NULL SQL value. Ticket [19b44e35753ba] (check-in: bd92de0e user: drh tags: trunk)
14:06
Make sure extra parentheses around subqueries in the FROM clause are harmless. Ticket [28c6e830f239ea5]. (check-in: 1c795692 user: drh tags: trunk)
07:58
Add the #ifdefs for sqlite3ErrName() to sqliteInt.h as well. (Closed-Leaf check-in: 400fc4c3 user: mistachkin tags: winOsTrace)
07:54
Define the sqlite3ErrName() function only when necessary. More robust handling of unknown return codes. (check-in: e47cd314 user: mistachkin tags: winOsTrace)
2013-04-29
18:07
Improve the error message issued when an FTS query exceeds the maximum allowable tree depth. (check-in: f480b1fe user: dan tags: trunk)
17:12
Fix an off-by-one in the code for limiting the depth of FTS expression trees. (check-in: 72ac7318 user: dan tags: trunk)
09:20
Merge mmap test fix from trunk. (check-in: 95811877 user: mistachkin tags: winOsTrace)
09:17
Fix mmap1.test so that it passes on windows as well as unix. (check-in: 52417eac user: dan tags: trunk)
08:58
Adjust a WAL test result due to changes in the corresponding return code name. (check-in: 9272009f user: mistachkin tags: winOsTrace)
08:56
Merge updates from trunk. (check-in: 3a245a83 user: mistachkin tags: winOsTrace)
07:01
Update 'fuzzerfault' test for its new module loading command. Fix several test names in 'io.test' and make sure the database gets closed between tests. (check-in: e81e9ca1 user: mistachkin tags: trunk)
03:09
More refinements to Windows OSTRACE usage. Replace all usage of sqlite3TestErrorName() with sqlite3ErrName() and add missing return codes. (check-in: 05ba5e23 user: mistachkin tags: winOsTrace)
2013-04-28
01:44
Initial work on reforming usage of OSTRACE by the Windows VFS. (check-in: b347b5d1 user: mistachkin tags: winOsTrace)
2013-04-27
18:06
Remove spellfix virtual table documentation from the source tree. Reference the separate documentation on the website instead. (check-in: adcf7890 user: drh tags: trunk)
12:13
Untested fix for building on VxWorks. (check-in: f14d55cf user: drh tags: trunk)
2013-04-26
19:33
Fix a formatting typo in a comment. No changes to code. (check-in: 7a97226f user: drh tags: trunk)
18:36
Avoid unnecessarily reseting the pager cache after committing a transaction that takes advantage of the SQLITE_IOCAP_ATOMIC related optimization. (check-in: c47144e9 user: dan tags: trunk)
17:00
Avoid using posix_fallocate() in WAL mode, as it is not supported by all file-systems. (check-in: 1bbb4be1 user: dan tags: trunk)
16:09
Avoid using posix_fallocate() in WAL mode, as it is not supported by all file-systems. (Closed-Leaf check-in: 9c7523da user: dan tags: avoid-fallocate)
15:55
Update documentation with new hyperlinks. No changes to code. (check-in: 640eb54a user: drh tags: trunk)
14:13
Rebalance FTS expressions after parsing to limit recursion during evaluation. Avoid recursion when deleting FTS expression trees. Enforce a limit (currently 12) on the depth of an expression tree. (check-in: 49d23ef6 user: dan tags: trunk)
14:04
Merge another trunk change. (Closed-Leaf check-in: 2648966f user: dan tags: fts3-expr-rebalance)
13:14
Fix harmless compiler warnings in the FTS expression parser. (check-in: 3c78af8c user: drh tags: fts3-expr-rebalance)
12:08
Reduce the default SQLITE_MAX_MMAP_SIZE slightly so that it fits in a signed 32-bit integer. (check-in: 460752b8 user: drh tags: trunk)
06:58
Merge latest trunk changes. (check-in: 4d08e74d user: dan tags: fts3-expr-rebalance)
2013-04-25
20:34
Rebalance FTS expressions after parsing to limit recursion during evaluation. Avoid recursion when deleting FTS expression trees. Enforce a limit on the depth of an expression tree. (check-in: f968d43f user: dan tags: fts3-expr-rebalance)
19:31
Added the nextchar.c extension. Minor changes to the spellfix.c extension so that it can be appended to an amalgamation and compiled without duplicating symbols. (check-in: 56b9a417 user: drh tags: trunk)
17:27
Fix the tool/build-shell.sh script to remove references to files that are now loadable extensions. (check-in: aabeea98 user: drh tags: trunk)
17:07
Add wiki documentation files for the spellfix1 virtual table. (check-in: 381564e9 user: drh tags: trunk)
16:52
Merge the std-ext branch into trunk. This merge adds several new extensions to the ext/misc folder, including transitive_closure, ieee754, and amatch, and it converts some older src/test_*.c file into extensions in the ext/misc folder. (check-in: bbe607c7 user: drh tags: trunk)
16:42
Added the transitive_closure, ieee754, and amatch extensions. (Closed-Leaf check-in: 84018099 user: drh tags: std-ext)
14:59
Move the test_spellfix.c module to ext/misc/spellfix.c. (check-in: de556add user: drh tags: std-ext)
14:36
Fix the MSVC makefile so that it works with the ext/misc/*.c extensions. (check-in: 680822e8 user: drh tags: std-ext)
14:31
Convert the fuzzer virtual table into a loadable extension and move it to the ext/misc/fuzzer.c file. (check-in: c8c69307 user: drh tags: std-ext)
11:58
Make test_wholenumber.c into a loadable extension and move it to ext/misc/wholenumber.c. (check-in: efcc9dd0 user: drh tags: std-ext)
00:57
Make sure the affinity and datatype of sub-subqueries are initialized prior to subqueries as the latter relies on the former. (check-in: 39b4e6ff user: drh tags: trunk)
2013-04-24
13:50
Fix a simple comment typo. No changes to code. (check-in: f136bd95 user: drh tags: trunk)
2013-04-23
20:10
Make "test_regexp.c" into a loadable extension and move it over to ext/misc/regexp.c. Add the "load_static_extension" command for testing purposes. (check-in: 860fc393 user: drh tags: std-ext)
2013-04-22
23:59
Merge the latest trunk changes into the sessions branch. (check-in: 6994826c user: drh tags: sessions)
23:38
Fix harmless compiler warnings. (check-in: 1a1cf5aa user: drh tags: trunk)
19:56
Do not allow a virtual table to cancel the ORDER BY clause unless all outer loops are guaranteed to return no more than one row result. Candidate fix for ticket [ba82a4a41eac1]. (check-in: 49cfa14f user: drh tags: trunk)
17:07
Update MSVC makefile for the fts3tokenize virtual table. Clear some harmless compiler warnings in the fts3tokenize code. (check-in: 2b3fed09 user: drh tags: trunk)
15:30
Add virtual table module 'fts3tokenize' to fts3. fts3tokenize provides SQL access to FTS tokenizer implementations. (check-in: c5a4b21a user: dan tags: trunk)
13:51
Enhanced documentation for the SQLITE_CONFIG_SQLLOG mechanism and the test_sqllog.c demonstration file. No changes to code. (check-in: 206caf21 user: drh tags: trunk)
02:39
Use transitivity to move constraints into the outer loops of a join whenever possible, thereby reducing the amount of work that needs to occur in inner loops. (check-in: 5f4907e1 user: drh tags: trunk)
2013-04-19
12:32
Add the "warning" command to the TCL test infrastructure. Fix problems with the loadext.test module. (check-in: 514adbbd user: drh tags: trunk)
02:47
Enhance the extension loading mechanism so that the same source code can be used for run-time loadable extensions and statically linked extensions, and to mask architectural differences in shared libraries. (check-in: a85b6ece user: drh tags: trunk)
01:23
Make the SQLITE_EXTENSION_INIT1 and SQLITE_EXTENSION_INIT2 macros into no-ops if the extension is statically linked. (Closed-Leaf check-in: 86eb3eed user: drh tags: loadext)
2013-04-18
22:56
Experiments in making loadable extensions easier to program. The shared library filename tries various operating-system specific extensions if the bare library name does not work. And the entry point is derived from the filename is the legacy entry point name "sqlite3_extension_init" is not found. (check-in: 6cfa1d73 user: drh tags: loadext)
20:33
Fix an incorrect comment (a copy/paste error) in the mptester. No code changes. (check-in: e94783f3 user: drh tags: trunk)
15:11
Add the --breakpoint and --show-sql-errors commands to mptester. (check-in: d0898fd7 user: drh tags: trunk)
03:10
Fix a compiler warning in sqlite3_compileoption_used(). (check-in: e9f9d84b user: drh tags: trunk)
02:55
Do not suppress the ORDER BY clause on a virtual table query if an IN constraint is used. Fix for ticket [f69b96e3076e]. Testing done on TH3 using cov1/where37.test. (check-in: 61b2a7be user: drh tags: trunk)
2013-04-17
19:42
Fix the --match command in mptester so that it checks the entire result, not just a prefix of the result. (check-in: 3e3ecad2 user: drh tags: trunk)
18:56
In the mptester, add --glob and --notglob and --testcase. Make --exit work on the main thread. Enable the load_extension() SQL function. (check-in: c273c171 user: drh tags: trunk)
17:33
In the command-line shell, allow a dot-command to occur after a multi-line c-style comment. (check-in: e2c94ab9 user: drh tags: trunk)
14:04
Improvements to some of the comments that are used to render documentation concerning loadable extensions. No changes to code. (check-in: 76f4e312 user: drh tags: trunk)
12:19
Update the command-line shell to give an exit code of 0 when the ".quit" command is run from the command-line. (check-in: 467e2181 user: drh tags: trunk)
2013-04-16
18:24
Omit sqlite3_compileoption_used() entries that are not explicitly stated on the compiler command-line, except keep SQLITE_THREADSAFE around so that there is always at least one compilation option. (check-in: 109d6767 user: drh tags: trunk)
14:58
Remove the unused SQLITE_CURDIR macro. (check-in: 16f7ba4a user: drh tags: trunk)
14:52
Disable memory-mapped I/O when the codec is enabled. (check-in: 340cca30 user: drh tags: trunk)
2013-04-15
20:08
Expand scope of the SQLITE_MAX_MMAP_SIZE define for the Win32 VFS. (check-in: f4b8faab user: mistachkin tags: trunk)
17:03
Refactoring the mmap interface. The controlling pragma is now "mmap_size" instead of "mmap_limit". Also change SQLITE_CONFIG_MMAP_LIMIT and SQLITE_FCNTL_MMAP_LIMIT to SQLITE_CONFIG_MMAP_SIZE and SQLITE_FCNTL_MMAP_SIZE, respecctively. The default mmap_size is now always 0, meaning that memory mapped I/O is off by default. There is a new compile-time option SQLITE_MAX_MMAP_SIZE that determines a hard upper bound on the mmap_size. Setting SQLITE_MAX_MMAP_SIZE to zero disables the memory-mapped I/O logic and causes it to be omitted from the build. An extra argument is added to SQLITE_CONFIG_MMAP_SIZE that can optionally lower the SQLITE_MAX_MMAP_SIZE at start-time. The SQLITE_MAX_MMAP_SIZE is zero for platforms where we know that it does not work, meaning that it cannot be turned on by mistake on those platforms. (check-in: ea1404a1 user: drh tags: trunk)
13:10
Fix a formatting typo in a comment. No changes to code. (check-in: 34124249 user: drh tags: trunk)
2013-04-14
23:51
Only consider AS names from the result set as candidates for resolving identifiers in the WHERE clause if there are no other matches. In the ORDER BY clause, AS names take priority over any column names. Fix for ticket [2500cdb9be]. (check-in: d0d5af79 user: drh tags: trunk)
2013-04-13
19:59
Only consider AS names from the result set as candidates for resolving identifiers in the WHERE clause if there are no other matches. In the ORDER BY clause, AS names take priority over any column names. Candidate fix for ticket [2500cdb9be]. (Closed-Leaf check-in: ad53924d user: drh tags: tkt-2500cdb9be)
2013-04-12
16:53
Add a test case for detaching a database referenced by an fts4aux table created in the temp schema. (check-in: 6d6f0592 user: dan tags: trunk)
16:47
Change the fts4aux virtual table module so that fts4aux tables created in the temp database may report on fts3/fts4 tables in any attached database. (check-in: 546a187f user: dan tags: trunk)
13:53
Fix the xCheckReservedLock() method on the windows VFS so that it cannot return a false positive when two or more processes use it at the same time on the same file. Ticket [7ff3120e4fa54abb55]. Update to version 3.7.16.2. (check-in: 67b3c0ef user: drh tags: sessions)
11:52
Version 3.7.16.2 (Leaf check-in: cbea02d9 user: drh tags: release, version-3.7.16.2, branch-3.7.16)
01:04
In mptester: improve the way that child processes are dispatched. Pass the --vfs option through to children. Log the command used to start child processes when the tracing level is high enough. (check-in: 55718ae3 user: drh tags: trunk)
2013-04-11
22:52
Expand scope of the SQLITE_DISABLE_MMAP define for the Win32 VFS. (Closed-Leaf check-in: daa168f3 user: mistachkin tags: winDisableMmap)
21:13
For the multi-process tester on Win32, make use of the GetCurrentProcessId API. (check-in: f1b524b9 user: mistachkin tags: trunk)
19:04
Increase the version number to 3.7.16.2 and cherrypick the fix for ticket [7ff3120e4fa54abb55]. This check-in is a release candidate. (check-in: 86f26f91 user: drh tags: branch-3.7.16)
18:28
Fix the xCheckReservedLock() method on the windows VFS so that it cannot return a false positive when two or more processes use it at the same time on the same file. Ticket [7ff3120e4fa54abb55] (check-in: dd3510bb user: drh tags: trunk)
13:26
Fix pragma code generation so that it always outputs an OP_Trace opcode so that pragmas are shown in sqlite3_trace() output. (check-in: 663f04bd user: drh tags: trunk)
11:53
Show the process-id on log messages from mptester. (check-in: 6748a83d user: drh tags: trunk)
01:16
Have the UNIX VFS issue warnings via sqlite3_log() if a database file is renamed or unlinked or linked to more than one name while the file is open. (check-in: e238dcf9 user: drh tags: trunk)
00:45
Correct minor typo in two regular expressions. (check-in: f1eed92b user: mistachkin tags: sessions)
00:13
Experimental changes to support a Win32 VSIX package flavor. (Closed-Leaf check-in: abedd7cb user: mistachkin tags: vsixWin32)
00:09
Enhance multi-process tester integration with the Win32 API. (check-in: 0fdc7435 user: mistachkin tags: trunk)
2013-04-10
23:48
Add new primary error codes SQLITE_NOTICE and SQLITE_WARNING for use with sqlite3_log(). Add new extended error codes SQLITE_NOTICE_RECOVER_WAL and SQLITE_NOTICE_RECOVER_ROLLBACK to use with sqlite3_log() messages that occur on each recovery. (check-in: be7d2c54 user: drh tags: trunk)
16:13
Add the sqlite3_strglob() interface. (check-in: 41d6ff32 user: drh tags: trunk)
15:01
Designate the beginning and the end of the sqlite3session.h file in the constructed sqlite3.h file. (check-in: 53f5be74 user: drh tags: sessions)
12:01
Use symbolic names for tasks in mptester. (check-in: f0d95afc user: drh tags: trunk)
03:22
Backport the multi-process tester to the last released version. (Leaf check-in: bf6ca21b user: mistachkin tags: branch-3.7.16)
03:06
Fix typo in name of mptest executable files in clean targets. (check-in: 4c7d9e1e user: mistachkin tags: trunk)
02:56
Correct test numbering on several rtree tests. (check-in: 0adf8a3a user: mistachkin tags: trunk)
2013-04-09
20:04
Limit integrity_check output to 10 lines in mptester scripts. (check-in: 67ee0dc0 user: drh tags: trunk)
19:19
Check in the instrumented code for the mptest test case that appears to show a spontaneously disappearing journal file. (Closed-Leaf check-in: 96f04d99 user: dan tags: missing-journal-file)
18:36
Change the rollback journal so that it invokes sqlite3_log() make a record of a recovery, just as the WAL journal does. (check-in: 7cd3f6cd user: drh tags: trunk)
16:19
Add extra #ifndef statements in os_unix.c and os_win.c to make sure the memory mapped I/O really is disabled when SQLITE_DISABLE_MMAP is set. (check-in: c1e2523c user: drh tags: trunk)
2013-04-08
20:47
Disable the use of memory-mapped I/O if the SQLITE_DISABLE_MMAP macro is defined. Automatically define this macro for OpenBSD and QNX. Other systems are likely to be added to the disabled list over time. (check-in: 8a4314a3 user: drh tags: trunk)
19:13
In mptester, handle startScript no-change commits using a retry rather than grabbing an exclusive transaction. (check-in: ae8bb24b user: drh tags: trunk)
18:58
Still more tests using mptester. Added test cases that leave rollback journals that must be recovered by other threads. (check-in: 437b674f user: drh tags: trunk)
17:57
Adding tests to the mptester scripts. (check-in: e121adce user: drh tags: trunk)
15:36
Change mptester to avoid reporting SQLITE_BUSY errors if the busy handler is turned off and the tracing level is set low. (check-in: d77407ae user: drh tags: trunk)
15:30
Handle the case in os_unix.c where SQLITE_FCNTL_MMAP_LIMIT requests that the mmap limit be set to a value smaller than the current mapping. (check-in: 36047349 user: dan tags: trunk)
14:41
Merge the multi-process tester into trunk. (check-in: ea53c45d user: drh tags: trunk)
14:28
Add the "mptester" target to the makefiles. Make mptester run with synchronous off by default. (Closed-Leaf check-in: 1397830b user: drh tags: mptest)
13:59
Fix harmless compiler warnings in mptest.c. (check-in: 59bdbb10 user: drh tags: mptest)
13:48
Add the vfsname() and eval() SQL functions to mptest.c. Enhancements to the test/config01.test script. (check-in: 91397a14 user: drh tags: mptest)
13:13
Add --if, --else, --endif processing to mptest.c. (check-in: 51265aca user: drh tags: mptest)
10:38
Fix an incorrect type cast in an assignment in vdbe.c. (check-in: 320b5295 user: dan tags: trunk)
2013-04-06
18:35
Fix the --source command so that its argument is relative to the script. Verify that the SQLite header and library match. Print SQLite version and compile-time configuration information on startup. (check-in: 15cb0db7 user: drh tags: mptest)
18:10
Merge trunk changes into the mptest branch. The mptest needs the SQLITE_MAX_SCHEMA_RETRY fix in particular. (check-in: fb7a7773 user: drh tags: mptest)
18:06
Increase the default SQLITE_MAX_SCHEMA_RETRY to 50. Make sure that macro covers every case where a prepared statement might need to be reprepared due to a schema change. The sqlite3_exec() interface now uses sqlite3_prepare_v2(). (check-in: c1d7304c user: drh tags: trunk)
14:30
Add SQLITE_CONFIG_LOG error logging to the mptest program. (check-in: 716c25bd user: drh tags: mptest)
14:16
Get the build of mptest working on mac. (check-in: a0bae686 user: drh tags: mptest)
14:04
Get the mptest program running on windows. (check-in: 3966b332 user: drh tags: mptest)
13:09
Many improvements to the mptest program. Added a simple test script. (check-in: 07b0401a user: drh tags: mptest)
11:03
Add tests to "permutations.test coverage-pager" to cover uncovered branches. (check-in: 07a0e4e9 user: dan tags: trunk)
00:19
Add a prototype TH3-script-style test harness that starts multiple processes operating on the same database file at the same time. (check-in: c318fafe user: drh tags: mptest)
2013-04-05
20:40
Improve the code coverage of "permutations.test coverage-pager". (check-in: b095e2cd user: dan tags: trunk)
2013-04-04
19:32
Add further multi-client tests to mmap1.test. (check-in: a107f75d user: dan tags: trunk)
17:28
Disable memory-mapped I/O for the win32lock.test module (check-in: 2b3d9805 user: drh tags: trunk)
01:54
Updates to the file-control documentation. No changes to code. (check-in: 51fab480 user: drh tags: trunk)
00:51
Increase the version number to 3.7.17. (check-in: 5c8c5a2a user: drh tags: trunk)
00:40
Try to use mmap() to speed access to the database file on windows, linux, and mac. (check-in: fff2be60 user: drh tags: trunk)
2013-04-03
21:23
Release resources prior to bailing out of the btreeCreateTable() routine following an OOM error. (Closed-Leaf check-in: b2a72be9 user: drh tags: experimental-mmap)
20:04
Remove an unreachable branch in the direct blob I/O logic of btree.c. (check-in: f97d7274 user: drh tags: experimental-mmap)
13:38
Fix a bug in the detection of iOS when setting the default mmap_limit. (check-in: ac1432b3 user: drh tags: experimental-mmap)
13:09
Change the mmap_limit pragma to report the new limit, or to report the existing limit if called with no arguments. Report the default mmap_limit as part of PRAGMA compile_options. Set the default mmmap_limit to 0 for all systems other than linux, mac, windows, and solaris. (check-in: 2d9f1327 user: drh tags: experimental-mmap)
11:52
Remove the restriction on using xFetch to load the root pages of tables and indexes. It appears to have been based on a misconception. (check-in: 5b082efe user: dan tags: experimental-mmap)
11:38
When moving a page to make way for the root page of a new table or index in an auto-vacuum database, save the positions of any cursors that may be holding xFetch references to the page being moved. (check-in: 9d9b1da5 user: dan tags: experimental-mmap)
11:17
In btree.c, save the positions of other cursors open on the same table when writing via an incremental blob handle. Otherwise, they may be left holding an out-of-date xFetch page reference. (check-in: 3f09fba1 user: dan tags: experimental-mmap)
10:50
Initialize the mmap_limit of temporary files to the configured mmap_limit. (check-in: 24bab759 user: drh tags: experimental-mmap)
03:53
Make use of xFetch, if it is available when doing a VACUUM or a backup. (check-in: 83bc37af user: drh tags: experimental-mmap)
01:26
Add the -mmap option to the command-line shell, for setting the default mmap_limit. (check-in: fc30d06c user: drh tags: experimental-mmap)
00:42
Fix the unix driver to check defined(_BSD_SOURCE) rather than just the plain _BSD_SOURCE macro. This fixes the build for OpenBSD. (check-in: 1dd42ef4 user: drh tags: experimental-mmap)
2013-04-02
20:55
Fix a resource leak in os_unix.c. (check-in: b29cda03 user: dan tags: experimental-mmap)
20:29
Adjustments to mmap1.test so that it works better on windows. It still gets some answers wrong, but it no longer crashes. (check-in: ee8d3cee user: drh tags: experimental-mmap)
20:19
Fix a bug in mmap2.test that was leaving an invalid sqlite3_log() callback installed, causing a crash. (check-in: c0cdaa07 user: dan tags: experimental-mmap)
20:13
Add assert to the Windows VFS pertaining to the size of the SIZE_T type. (check-in: 4eeea583 user: mistachkin tags: experimental-mmap)
18:33
Add test cases to mmap1.test and pagerfault.test. (check-in: 3050136b user: dan tags: experimental-mmap)
18:31
Change an assert in pager.c to acknowledge that it is possible for sqlite3PagerRollback() to return SQLITE_CORRUPT. (check-in: d641d3d2 user: dan tags: experimental-mmap)
18:25
Fix the build for Mac. (check-in: d36ce0bb user: drh tags: experimental-mmap)
15:37
Add new test file btreefault.test. (check-in: 7fe908af user: dan tags: experimental-mmap)
14:37
Fix a faulty assert() in the os_win.c VFS. (check-in: fd6ee549 user: drh tags: experimental-mmap)
13:56
If the SQLITE_TRACE_SIZE_LIMIT compile-time parameter is set to a positive integer then limit the expansion of strings and blobs in trace output to approximately that many bytes. (check-in: e5b71084 user: drh tags: trunk)
12:04
Add test cases for errors in mmap() or mremap() is os_unix.c. (check-in: 3098a3c1 user: dan tags: experimental-mmap)
10:29
Proposed template preprocessor magic for activating mmap only on platforms where we know it works. (check-in: d96272f0 user: drh tags: experimental-mmap)
01:45
Reorder two conditions to make coverage testing easier. (check-in: 793ba4e9 user: drh tags: experimental-mmap)
00:41
Remove an unreachable condition from pager.c. (check-in: 3628e86b user: drh tags: experimental-mmap)
00:15
Always send the SQLITE_FCNTL_MMAP_LIMIT pragma to the VFS, even if the limit is zero and even if the VFS does not support xFetch(). (check-in: 01ffdabb user: drh tags: experimental-mmap)
2013-04-01
22:42
Remove a debugging printf() accidently left in the previous check-in. (check-in: 8198cdd8 user: drh tags: experimental-mmap)
22:38
Add the SQLITE_CONFIG_MMAP_LIMIT configuration option for overriding the SQLITE_DEFAULT_MMAP_LIMIT compile-time setting. Enhance "PRAGMA mmap_limit" so that without a specific database name, it sets the limit on all database files and changes the default for any future databases that might be added using ATTACH. (check-in: 78141d0a user: drh tags: experimental-mmap)
18:25
Add a comment to xUnfetch on windows to say that the call to winUnmapfile() might be unnecessary. (check-in: e3c63c31 user: drh tags: experimental-mmap)
18:15
In windows, round down the size of the memory mapped region to the next smaller multiple of the page size. (check-in: 0e44ed1b user: drh tags: experimental-mmap)
17:58
Merge accidental fork. (check-in: 5f4437c0 user: dan tags: experimental-mmap)
17:56
Attempt to emulate mremap() on non-Linux systems by allocating a second mapping immediately following the first in virtual memory. (check-in: 4d67433d user: dan tags: experimental-mmap)
17:56
Bug fix in the winMapfile() subroutine: Be sure to record the map object handle in the sqlite3_file object. (check-in: ee4d188e user: drh tags: experimental-mmap)
17:22
Add xFetch and xUnfetch methods to the os_win.c VFS. (check-in: a1653a25 user: drh tags: experimental-mmap)
16:56
Ensure that a checkpoint does not use an out-of-date mapping. (check-in: a1040f03 user: dan tags: experimental-mmap)
14:35
Fix a typo in a log message in wal.c. (check-in: 83fc48d1 user: dan tags: experimental-mmap)
14:29
Fix a problem in btree.c that could cause a crash following an OOM. (check-in: b724aa58 user: dan tags: experimental-mmap)
14:20
Minor changes to unixMapfile() function. (Leaf check-in: 80c63443 user: dan tags: two-mappings)
2013-03-29
19:52
For the clean target, tidy up a couple more generated (or copied) source files. (check-in: 5687e5ee user: mistachkin tags: trunk)
19:38
Further fixes for test scripts. (check-in: 23ffa4f9 user: dan tags: two-mappings)
18:52
Fix a problem in btree.c that could cause a crash following an OOM. Also various test script problems. (check-in: e8bcdf93 user: dan tags: two-mappings)
13:44
Version 3.7.16.1 (check-in: 527231bc user: drh tags: trunk, release, version-3.7.16.1)
11:24
Avoid assuming the page-size is 4096 bytes in os_unix.c. (check-in: 3b7ec8d7 user: dan tags: two-mappings)
2013-03-28
11:40
Adjustment to an extreme corner case in the sqlite3Atoi64() routine. (check-in: 39534b4b user: drh tags: trunk)
01:19
Merge the changes for the 3.7.16.1 release candidate into the sessions branch. (check-in: ee35a897 user: drh tags: sessions)
2013-03-27
20:41
Fix harmless compiler warnings coming from MSVC64 in test code. No changes to the core. (check-in: 274d2a22 user: drh tags: trunk)
19:53
Modify various test cases so that they work if the file is extended in units of the system page-size. (check-in: 0e3d5119 user: dan tags: two-mappings)
19:46
Increment the version number to 3.7.16.1. (check-in: 7e32eb7b user: drh tags: trunk)
17:20
In order to optimize out the ORDER BY clause, outer loops must generate values for ORDER BY terms that are unique or else the inner loops must generate no more than a single row. Fix for ticket [a179fe7465]. (check-in: 2936f746 user: drh tags: trunk)
16:42
Restore additional ORDER BY optimizations that where broken by the recent ORDER BY fix. (Closed-Leaf check-in: c77ee6e2 user: drh tags: orderby-fix)
16:05
Improved optimization of ORDER BY. (check-in: 97e5c70f user: drh tags: orderby-fix)
15:04
A fix and test-case for the ORDER BY problem identified by ticket [a179fe7465]. This change causes sorting to occur in some cases where it is not strictly necessary. Further work is needed to avoid those extra sorts. (check-in: 488089e6 user: drh tags: orderby-fix)
03:15
Candidate fix for ticket [6bfb98dfc0c]: Make sure invalid cursors drop all references to database pages prior to doing any insert or update. (check-in: 322a5f08 user: drh tags: trunk)
2013-03-26
20:32
Change os_unix.c to use either one or two mappings internally. (check-in: e7698cba user: dan tags: two-mappings)
18:48
Fix a comment in os_unix.c. No code changes. (check-in: 72813b8e user: drh tags: experimental-mmap)
14:36
Change the name of the Pager.pFree field to Pager.pMmapFreelist. (check-in: 611bd824 user: drh tags: experimental-mmap)
14:16
In btree.c, save the positions of any open cursors before moving any pages around to auto-vacuum the database on commit. (check-in: 30c0a693 user: dan tags: experimental-mmap)
01:07
Previous check-in accidently left mmap turned off by default. This checkin fixes that. Unfortunately, shared.test is now segfaulting. All other veryquick tests appear to work, however. (check-in: a850c731 user: drh tags: experimental-mmap)
2013-03-25
23:09
Memory-mapped I/O is now on by default. The "PRAGMA mmap_limit(N)" can be used to issue a hint to the VFS to limit mmap space to N bytes. The VFS is free to ignore that hint if desired. However, if "PRAGMA mmap_limit(0)" is used, xFetch is never called. (check-in: 1b37c4ef user: drh tags: experimental-mmap)
20:50
Add munmap and mremap to the set of os interfaces that can be overloaded in os_unix.c. (check-in: 8776047b user: drh tags: experimental-mmap)
20:30
Use mremap() on Linux. (check-in: 431aecc8 user: dan tags: experimental-mmap)
19:57
Merge all recent trunk changes into the experimental-mmap branch. (check-in: a607d63f user: drh tags: experimental-mmap)
19:05
Add a test that simulates an error in mmap(). (check-in: 6ec7367d user: dan tags: experimental-mmap)
18:25
Simulate OOM errors in the sqlite3OsFetch() function. Run malloc.test as part of the "mmap" permutation. (check-in: 77443ef2 user: dan tags: experimental-mmap)
17:00
Change the signature of the xUnfetch method to "int (*xUnfetch)(sqlite3_file*, sqlite3_int64 iOfst, void *p)". (check-in: 115b8305 user: dan tags: experimental-mmap)
16:28
Remove unnecessary code to round the size of a memory mapping to 4KB from os_unix.c. Rename SQLITE_IOERR_MREMAP to SQLITE_IOERR_MMAP. Fix other small issues in os_unix.c. (check-in: dce35c01 user: dan tags: experimental-mmap)
14:31
Do not return SQLITE_IOERR when the user attempts to open a small file that is not a database with mmap enabled. Instead return SQLITE_NOTADB. (check-in: bbcaab3e user: dan tags: experimental-mmap)
13:50
Fix a case in the pager where an xFetch() reference was being leaked following an OOM error. (check-in: 5885ba6c user: dan tags: experimental-mmap)
12:02
Add a second test for [38b1ae018f]. (check-in: 5062db67 user: dan tags: trunk)
11:38
In fts3, when filtering lists for hits in a specific column, edit the list in place in the same way as it is for NEAR filtering. Fix for [38b1ae018f]. (check-in: f85f9103 user: dan tags: trunk)
2013-03-24
22:56
Remove the SQLITE_OMIT_MERGE_SORT compile-time option and its related code. The merge sorter is now a required component. (check-in: 8b44d6fb user: drh tags: trunk)
2013-03-23
21:00
Replace the sqlite3_io_methods.xMremap interface with sqlite3_io_methods.xFetch and xUnfetch. (check-in: 1431be95 user: dan tags: experimental-mmap)
17:29
Improve a comment in wal.c. No code changes. (check-in: 60b9f5e4 user: dan tags: experimental-mmap)
14:20
Fix a case where a checkpoint operation could write to an invalid part of a memory mapped region. (check-in: 8dbe89d0 user: dan tags: experimental-mmap)
12:15
In the winMremap VFS function, unmap the region prior to attempting to truncate the file. (check-in: 8870c4cc user: mistachkin tags: experimental-mmap)
10:09
Do not unmap the mapped file region in winTruncate as there may be outstanding pointers to it. (check-in: f57a9c91 user: mistachkin tags: experimental-mmap)
09:56
Preliminary changes to support the xMremap VFS method on Windows. (check-in: 75a85a1c user: mistachkin tags: experimental-mmap)
2013-03-22
20:15
Update wal mode tests so that they work with the mmap test permutation. (check-in: f7295872 user: dan tags: experimental-mmap)
19:56
Fix a potential NULL-pointer dereference in btreeSwapOutMmap(). (check-in: e81ccdcd user: drh tags: experimental-mmap)
19:17
Fix a case where the mapped part of a database file may be written during a backup operation. (check-in: c8d67aef user: dan tags: experimental-mmap)
18:20
Allow the database file to be memory mapped in wal mode. (check-in: d190ddab user: dan tags: experimental-mmap)
17:46
Add a fix for the assert() statements added by the previous commit. (check-in: 19345416 user: dan tags: experimental-mmap)
08:58
Add assert statements to os_unix.c to ensure that any mapped region of the database file is not being read or written using the xRead() or xWrite() methods. (check-in: 765615f9 user: dan tags: experimental-mmap)
2013-03-21
21:20
Many spelling fixes in comments. No changes to code. (check-in: 6f6e2d50 user: mistachkin tags: trunk)
20:39
Fix cases where xRead() was being used to read from a memory mapped part of the database file. (check-in: 5c9e9df2 user: dan tags: experimental-mmap)
20:00
Avoid calling xRead() on a part of the database file that is memory mapped. (check-in: c8eac290 user: dan tags: experimental-mmap)
15:57
Fix a problem when opening a write-transaction while there exist read-only b-tree cursors in mmap mode. (check-in: 32e0bbb7 user: dan tags: experimental-mmap)
14:47
Do not use the Linux mremap() call. Use the same strategy for xMremap() as on OSX instead. (check-in: 5ed8ad78 user: dan tags: experimental-mmap)
2013-03-20
18:25
Optimize the xMremap method in os_unix.c some. (check-in: 9529ed88 user: dan tags: experimental-mmap)
14:26
When possible, use memory mapping when appending new pages to a database file. (check-in: 14135da3 user: dan tags: experimental-mmap)
12:04
Fix text-to-numeric type casting so that it works correctly on UTF16 strings that contain characters where the LSB is numeric but the MSB is non-zero. Ticket [689137afb6da41] (check-in: 5b22053f user: drh tags: trunk)
10:07
Add test file mmap1.test. (check-in: aee1f53a user: dan tags: experimental-mmap)
2013-03-19
19:28
Add the sqlite3_io_methods.xMremap() method to the VFS interface. Also "PRAGMA mmap_size". (check-in: 6183f1bd user: dan tags: experimental-mmap)
17:10
Also export the sqlite3changeset interfaces in the amalgamated version of the sessions extension. (check-in: 5b399f2b user: drh tags: sessions)
16:12
Bring makefiles and build scripts into alignment with the sessions branch. No changes to code. (check-in: d1f41089 user: drh tags: trunk)
15:23
Include the sqlite3session.h header file in with sqlite3.h. Make sure the session APIs are all public. (check-in: ec490336 user: drh tags: sessions)
2013-03-18
17:18
Clarifications to the documentation for the sqlite3_aggregate_context() API. Also, shorten an over-length source line in sqlite.h.in. (check-in: 4fe2db1d user: drh tags: trunk)
16:24
Adjust the MSVC makefile so that it correctly handles the sessions extension being included in the amalgamation. Import the test case changes that appeared in 3.7.16 final. (check-in: 9bac09a9 user: drh tags: sessions)
11:39
Version 3.7.16 (check-in: 66d5f2b7 user: drh tags: trunk, release, version-3.7.16)
2013-03-16
20:19
When possible, use memcpy() to and from the mapped region instead of xWrite() and xRead(). (check-in: f8ca5622 user: dan tags: experimental-mmap)
2013-03-15
19:13
Fix a dropped error code in pager.c. (check-in: 022fdc98 user: dan tags: experimental-mmap)
18:29
Allow read-only cursors to use mmap pages even if there is an open write transaction. (check-in: b387e2f9 user: dan tags: experimental-mmap)
2013-03-14
18:34
Use mmap() to read from the database file in rollback mode. This branch is unix only for now. (check-in: 6f21d9cb user: dan tags: experimental-mmap)
2013-03-13
20:52
Merge updates from trunk. (check-in: d63fa039 user: mistachkin tags: toTypeFuncs)
19:02
Fix typos in MSVC makefile. (check-in: 2d15c268 user: mistachkin tags: sessions)
12:20
Fix main.mk so that it builds the amalgamation correctly. (check-in: 0b84e277 user: drh tags: sessions)
11:42
Fix a compiler warning in sqlite3VdbePreUpdateHook(). Add sqlite3session.c to the amalgamation. Fix the Makefile.in to work with sessions. (check-in: e54b0225 user: drh tags: sessions)
07:02
Enhance tests for ticket [4dd95f6943]. (check-in: 0b452734 user: dan tags: trunk)
06:48
Rename the experimental todouble() function to toreal(), update comments. (check-in: 12c318ef user: mistachkin tags: toTypeFuncs)
06:34
Merge latest trunk changes into this branch. (check-in: d6cd3c78 user: dan tags: sessions)
00:13
Fix the ORDER BY with IN constraint logic so that it works with all combinations of DESC on the ORDER BY clause, on the RHS of the IN operator, and in the index used by ORDER BY and IN. Fix for ticket [4dd95f6943fbd18]. (check-in: 839aa91f user: drh tags: trunk)
2013-03-12
23:58
Add a single new test case to the ORDER BY with IN logic verify that if the RHS of the IN is a descending index that it still works. Add testcase() macros to the ORDER BY with IN logic to help verify that corner cases are tested. (Closed-Leaf check-in: 7e7356f1 user: drh tags: desc-orderby-fix-1)
23:03
Fix typo in sqlite3_close() function documentation reported on the mailing list. (check-in: c9a75d89 user: mistachkin tags: trunk)
22:13
Fix a test case that had an ambiguous result. (check-in: 38c6bddf user: drh tags: desc-orderby-fix-1)
20:58
Fix typo in sqlite3_close() function documentation reported on the mailing list. (Closed-Leaf check-in: 7232093d user: mistachkin tags: docTypo)
20:38
Fix the ORDER BY optimization with IN constraints when the RHS of the IN constraint is a descending index. (check-in: 62316eba user: drh tags: desc-orderby-fix-1)
18:49
Revise the patch to make it easier to understand. (check-in: 3ce7eb02 user: drh tags: desc-orderby-fix-1)
18:44
Add test cases for [4dd95f6943]. (check-in: 723c144c user: dan tags: desc-orderby-fix-1)
18:40
Revised fix for the DESC ORDER BY and IN constraint bug, ticket [4dd95f6943fbd18]. The previous check-in was incorrect. (check-in: 8b2eb7a4 user: drh tags: desc-orderby-fix-1)
18:34
A proposed fix for the DESC ORDER BY bug of ticket [4dd95f6943fbd18]. Seems to work, but lots more testing is needed prior to moving to trunk. (check-in: 614a038a user: drh tags: desc-orderby-fix-1)
11:38
Merge recent changes to trunk into sessions branch. (check-in: 62adb0e0 user: dan tags: sessions)
09:07
Increase strictness of the new experimental functions and add more tests. (check-in: 05c4463e user: mistachkin tags: toTypeFuncs)
2013-03-11
13:37
Define _BSD_SOURCE when building on OpenBSD. This is required for fchmod(). (check-in: f9027cb4 user: dan tags: trunk)
11:57
Fixes for compiling with SQLITE_OMIT_AUTOVACUUM and/or SQLITE_OMIT_TRIGGER defined. (check-in: 1da15adb user: dan tags: trunk)
11:49
Fixes for compiling with SQLITE_OMIT_AUTOVACUUM and/or SQLITE_OMIT_TRIGGER defined. (Closed-Leaf check-in: 938b91e8 user: dan tags: omit-fixes)
06:24
Add more tests. (check-in: f9468e33 user: mistachkin tags: toTypeFuncs)
01:23
Add experimental tointeger() and todouble() SQL functions. (check-in: 465fd853 user: mistachkin tags: toTypeFuncs)
2013-03-09
14:49
Add a test case for the problem fixed by the previous commit. (check-in: e899b058 user: dan tags: trunk)
14:40
Fix a problem with resolving "db.view.column" references that appear in UPDATE or DELETE statements executed against views. (check-in: ddee56c9 user: dan tags: trunk)
2013-03-08
18:16
If SQLITE_OMIT_UTF16 is defined, avoid setting the 'enc' field of Schema objects to any value except SQLITE_UTF8. Otherwise, assert() statements may fail or spurious SQLITE_NOMEM errors may be returned at the vdbe level later on. (check-in: f2fecfb2 user: dan tags: trunk)
07:10
If SQLITE_OMIT_UTF16 is defined, avoid setting the 'enc' field of Schema objects to any value except SQLITE_UTF8. Otherwise, assert() statements may fail or spurious SQLITE_NOMEM errors may be returned at the vdbe level later on. (Closed-Leaf check-in: 69746ef7 user: dan tags: experimental)
2013-03-07
14:00
Fix the char() function so that it works even if SQLITE_OMIT_UTF16 is defined. (check-in: af542c82 user: drh tags: trunk)
09:39
Skip tests that require UTF-16 support when compiled with SQLITE_OMIT_UTF16. (check-in: e3939142 user: mistachkin tags: trunk)
06:42
Fix two compilation issues, one warning and one error, that occur only when SQLITE_OMIT_UTF16 is defined. (check-in: 10ace06b user: mistachkin tags: trunk)
2013-03-06
11:44
Fix a problem in incrvacuum_ioerr.test. Do not run ioerr6.test with an in-memory journal. (check-in: 66576b45 user: dan tags: trunk)
02:12
Merge all the latest trunk changes into the sessions branch. (check-in: d69d2190 user: drh tags: sessions)
01:55
Fix a bug (ticket [fc7bd6358f59]) that caused incorrect query results in three way queries that involved comparing INTEGER and TEXT columns for equality. (check-in: 7097241c user: drh tags: trunk)
01:48
Add the SQLITE_READONLY_ROLLBACK extended error code. Do not try to set the permissions on journal or wal files except if the filesize is initially zero (indicating that it is a new file.) (check-in: ce4ac66a user: drh tags: trunk)
01:41
Fix an operator precedence problem on the [1d8086902e] check-in. (Closed-Leaf check-in: 4f5f3aeb user: drh tags: ex-robust-open)
2013-03-05
16:54
Failed merge experimental branch with trunk. (check-in: 4e6e07a6 user: dan tags: ex-robust-open)
15:27
Do not attempt to set the permissions on an existing journal or wal file. Do this only immediately after creating a new file (or opening one zero bytes in size). (Closed-Leaf check-in: 1d808690 user: dan tags: experimental)
15:09
Add extended error code SQLITE_READONLY_ROLLBACK. Returned if a read-only connection cannot read the database because doing so would require it to roll back a hot-journal. (check-in: 39247b14 user: dan tags: experimental)
11:27
Fix a bug in the recent incremental-vacuum related changes. (check-in: 717863fc user: dan tags: trunk)
01:46
Simplified error message on the showdb utility. (check-in: 8e0ced1a user: drh tags: trunk)
2013-03-04
17:41
Omit a test that uses the progress handler callback from view.test if OMIT_PROGRESS_HANDLER is defined. (check-in: f40552ad user: dan tags: trunk)
16:35
Remove an assert() statement that has been incorrect since the recent incremental-vacuum related changes in [26e235b7a4]. (check-in: 090a4712 user: dan tags: trunk)
2013-03-03
20:26
Add the test_fs.c test module to Makefile.in. Adjust the success criteria on index5-1.3 so that it works under auto_vacuum configurations. (check-in: b457c887 user: drh tags: trunk)
2013-03-02
03:25
Update comments on the free-page allocator to accurately reflect the latest implementation. Add new asserts to the free-page allocator. (check-in: 9a135e37 user: drh tags: trunk)
2013-03-01
23:40
Complete the initialization of the loadable extension thunk table. Also fix other (harmless) compiler warnings. (check-in: 780d06c5 user: drh tags: trunk)
23:24
Update the cygwin interface to use the newer 1.7 APIs instead of the 1.5 APIs. Also shorten over-length source code lines in os_win.c. (check-in: 6b283833 user: drh tags: trunk)
23:13
Prevent Tcl file encoding issues in the tests for the unicode() and char() functions. (check-in: c9c2b82c user: mistachkin tags: trunk)
21:01
Fix an overly restrictive assert() in the pager. (check-in: f476eace user: drh tags: trunk)
15:02
Fix the handling of UTF16 surrogate pairs in the char() function. (check-in: ff67d878 user: drh tags: trunk)
01:07
Always use strncmp() rather than memcmp() when comparing strings where one or other string might be less than the length parameter, since optimized versions of memcmp() might read past the first difference and in so doing generate an access violation. (check-in: d7343558 user: drh tags: trunk)
2013-02-26
18:54
In the incrvacuum3 test, add missing call to the Tcl close command. (check-in: cd806723 user: mistachkin tags: trunk)
12:57
When comparing names during name resolution, make sure the names match exactly and that one name isn't merely a prefix of the other. Fix for ticket [7a31705a7e6c95d51]. (check-in: c2d5a23b user: drh tags: trunk)
06:14
Change the way test script incrvacuum3.test copies database files in order to avoid trying to read the (locked) 512 byte 'pending-byte' region. (check-in: fa1842e4 user: dan tags: trunk)
05:44
Prevent Tcl file encoding issues in the tests for the unicode() and char() functions. (Closed-Leaf check-in: d2e7dfca user: mistachkin tags: funcTestEncoding)
05:42
Remove extra use of the sqlite3_value_int64() function. (check-in: 6d797352 user: mistachkin tags: trunk)
2013-02-25
14:39
Add new SQL functions unicode() and char(). (check-in: be249390 user: drh tags: trunk)
13:55
Strengthen the final test case in index5.test. Also provide additional diagnostic information out the output. (check-in: 47b64182 user: drh tags: trunk)
13:44
Fix an error in test script index5.test. (check-in: d87e5acf user: dan tags: trunk)
13:31
Merge the incr-vacuum-opt branch with the trunk. (check-in: 26e235b7 user: dan tags: trunk)
12:06
Add test file incrvacuum3.test. No code changes. (Closed-Leaf check-in: bf575341 user: dan tags: incr-vacuum-opt)
07:12
Catch a dropped error code in backup.c. (check-in: ac8ca3ec user: dan tags: incr-vacuum-opt)
2013-02-24
11:50
Fix a case where database corruption may cause an assert() to fail. (check-in: ba33bb05 user: dan tags: incr-vacuum-opt)
2013-02-23
19:43
Fix a case in the incremental vacuum code where database corruption was going unreported. (check-in: 4cd30c72 user: dan tags: incr-vacuum-opt)
19:11
Fix a cut-and-paste bug causing the library to fail to report database corruption in a few cases. (check-in: f921df59 user: dan tags: incr-vacuum-opt)
18:58
Enhancements to test scripts. No code changes. (check-in: ccab94c1 user: dan tags: incr-vacuum-opt)
17:49
Fix off-by-one bug in [c3939d2491] uncovered by th3. (check-in: 66f9faa9 user: dan tags: incr-vacuum-opt)
16:40
If a rollback mode transaction reduces the size of the database file, avoid actually truncating the file until after the transaction has been committed (but before the db has been unlocked). This means pages that are removed from the database by truncating the file need not be journalled. (check-in: b73847f1 user: dan tags: incr-vacuum-opt)