SQLite
Timeline
Not logged in

200 descendants and 200 ancestors of [71effa59c9]

2013-08-29
23:34
[66dddda068] Leaf: Change the unix VFS so that it refuses to open a database file using a file descriptor less than 3. (user: drh, tags: overwrite-avoidance)
21:26
[3426673e46] Never leave an open file descriptor pointing into the middle of the database file if the file descriptor number is 2 or less. (user: drh, tags: overwrite-avoidance)
17:35
[352362bc01] Version 3.8.0.1 (user: drh, tags: release, version-3.8.0.1, branch-3.8.0)
15:08
[e7ebc8f74f] Merge from trunk: (1) Recent bug fixes (2) STAT4 support (3) win32-longpath support. (user: drh, tags: sessions)
14:56
[d4b6ad3333] Restore fix f15591f802, which was accidentally clobbered by the stat4 merge. (user: dan, tags: trunk)
13:47
[c5857808c0] Update sqlite3.pc.in to use @PACKAGE_VERSION@ instead of @RELEASE@. Cherrypick of 2460dfd8825d25. (user: drh, tags: branch-3.8.0)
13:27
[125b04de7b] Increase the version number to 3.8.0.1. (user: drh, tags: branch-3.8.0)
13:23
[43aa7d2353] Fix an off-by-one error that causes a quoted empty string at the end of a CRNL-terminated line of CSV input to be misread by the shell. Cherrypick of b5617e4fdadc4c. (user: drh, tags: branch-3.8.0)
13:21
[cb667449d0] In the query optimizer, when converting BETWEEN and LIKE/GLOB expressions into simpler forms for processing, be sure to transfer the LEFT JOIN markings. Fix for ticket [bc878246eafe0f52c]. Cherrypick of caab361ebe. (user: drh, tags: branch-3.8.0)
13:15
[c3f75941e5] Cherrypick of c1152bdcbb and fix for [9f2eb3abac]: Have the whereShortCut() planner ignore indexes with more than four columns. (user: drh, tags: branch-3.8.0)
10:46
[c1152bdcbb] Candidate fix for [9f2eb3abac]: Have the whereShortCut() planner ignore indexes with more than four columns. (user: dan, tags: trunk)
02:27
[b724219b00] Disable several toreal() tests that require high floating point precision when it is unavailable. (user: mistachkin, tags: toTypeFuncs)
01:17
[047bd1c245] Prevent the implementation of the toreal() SQL function from being 'optimized' by MSVC. (user: mistachkin, tags: toTypeFuncs)
01:11
[375dfe288f] Merge updates from trunk. (user: mistachkin, tags: toTypeFuncs)
01:09
[9229aeb361] Small enhancements to unit testing infrastructure. (user: mistachkin, tags: trunk)
01:03
[6c709338bc] Enable finer control of optimizations when compiling with the MSVC makefile. Also, several modularity enhancements to the MSVC makefile. (user: mistachkin, tags: trunk)
01:01
[abe82c634c] Fix boundary case for the toreal() SQL function. (user: mistachkin, tags: toTypeFuncs)
2013-08-28
19:01
[4f182ddc36] Re-enable test file wild001.test. (user: dan, tags: trunk)
18:56
[ffc6e68283] Merge updates from trunk. (user: mistachkin, tags: toTypeFuncs)
18:18
[12d0a8859d] Add the win32-longpath VFS allowing windows filenames up to 32K characters in length. Remove unused code when -DSQLITE_MAX_MMAP_SIZE=0. Fix some compiler warnings on windows. (user: drh, tags: trunk)
18:06
[ecd52ccf65] Closed-Leaf: Update list of supported Tcl shells to include 8.6. Remove stray OS2 references. (user: mistachkin, tags: mmapDisabled)
17:59
[945cb89ecb] Fix a couple comments. (user: mistachkin, tags: mmapDisabled)
16:27
[caab361ebe] In the query optimizer, when converting BETWEEN and LIKE/GLOB expressions into simpler forms for processing, be sure to transfer the LEFT JOIN markings. Fix for ticket [bc878246eafe0f52c]. (user: drh, tags: trunk)
13:46
[41c089e2a2] Increase the version number to 3.8.1 due to the addition of STAT4 support. (user: drh, tags: trunk)
13:33
[b5617e4fda] Fix an off-by-one error that causes a quoted empty string at the end of a CRNL-terminated line of CSV input to be misread by the shell. (user: drh, tags: trunk)
11:57
[3df56e8491] Add a test case for empty quoted field in CSV import in the shell. (user: drh, tags: trunk)
11:43
[b5ccf6e995] Label a certain branch as NEVER() only for non-STAT3/4 builds. (user: drh, tags: trunk)
07:42
[5cead293bb] In the win32longpath test, move the journal mode change down where it was intended to be. (user: mistachkin, tags: mmapDisabled)
05:49
[37e85e444c] Support database file names longer than 260 characters using the new 'win32-longpath' VFS variant. (user: mistachkin, tags: mmapDisabled)
02:37
[c3b82c5bf9] Make names of private functions in the Win32 VFS consistent. Fix comment typo in Win32 mutex implementation. (user: mistachkin, tags: mmapDisabled)
02:26
[fc98092f4b] Remove hard-coding of the directory separator in the Win32 VFS. Fixes to OSTRACE macros. (user: mistachkin, tags: mmapDisabled)
01:54
[8917e9f9a0] Fix several harmless compiler warnings. Fix a couple compiler issues with the shell. (user: mistachkin, tags: mmapDisabled)
2013-08-27
23:15
[67a9a392ed] Adjust ANALYZE for improved test coverage. Use the SQLITE_ENABLE_STAT3_OR_STAT4 macro (created in sqliteInt.h) to conditionally include code, instead of a boolean specifying both macros separately. (user: drh, tags: trunk)
20:16
[9d1424c91a] Reduce the amount of code run and memory used for ANALYZE in the common case where neither STAT3 and STAT4 are enabled. (user: drh, tags: trunk)
15:41
[2460dfd882] Update sqlite3.pc.in to use @PACKAGE_VERSION@ instead of @RELEASE@. (user: dan, tags: trunk)
14:14
[959bb5acdc] In the ANALYZE command implementation make statInit() a 2-value function since the 3rd parameter was always the same constant. (user: drh, tags: trunk)
2013-08-26
23:18
[ec99224b0c] Preparation for further Windows path name handling changes. (user: mistachkin, tags: mmapDisabled)
23:18
[a32af0abe5] Merge the STAT4 capability into trunk. (user: drh, tags: trunk)
20:45
[0a497083e9] Change MAX_PATH related defines to use character lengths where WCHARs are used. (user: mistachkin, tags: mmapDisabled)
19:36
[9d6860098f] Merge updates from trunk. (user: mistachkin, tags: mmapDisabled)
14:30
[edd5dbdc32] Fix for builds with both SQLITE_OMIT_WAL and SQLITE_MAX_MMAP_SIZE=0 defined. (user: dan, tags: trunk)
04:50
[f64cd21e2e] Version 3.8.0 (user: drh, tags: trunk, release, version-3.8.0)
2013-08-24
23:55
[bda4c47df8] Several modifications to the use of the MAX_PATH macro on Windows to improve consistency. (user: mistachkin, tags: mmapDisabled)
01:12
[25b029d8f3] Fix a couple compilation issues on Unix. (user: mistachkin, tags: mmapDisabled)
00:59
[032c31593d] Unify the result of PRAGMA mmap_size when mmap support is disabled. (user: mistachkin, tags: mmapDisabled)
2013-08-23
17:54
[6cc54de88b] Merge recent trunk changes. (user: dan, tags: sessions)
17:43
[b7e4dd889d] Add the sqlite3session_table_filter API to the sessions extension. (user: dan, tags: sessions)
17:33
[ed31020162] Adjust #ifdefs to get SQLITE_OMIT_AUTOMATIC_INDEX and SQLITE_OMIT_PAGER_PRAGMAS to build. (user: drh, tags: trunk)
16:47
[3ad1f998e5] Fix a requirements comment in a test case. No changes to the testcase itself nor to any code. (user: drh, tags: trunk)
12:04
[375b4e3db0] Modify script mkautoconfamal.sh to use the download.html naming convention for the tar.gz it creates. (user: dan, tags: trunk)
2013-08-22
15:07
[831492dca8] Merge in minor bug fixes and performance tweaks from trunk leading up to the version 3.8.0 release. (user: drh, tags: sessions)
02:56
[0775501acf] Defer the creation of automatic indices until the index is actually used. (user: drh, tags: trunk)
2013-08-21
23:42
[617e23ec28] Simplify the btreeGetPage() routine so that it uses a single flag parameter in place of two boolean parameters. (user: drh, tags: trunk)
22:54
[9ae1f9ce7e] Minor performance tweaks to the pager. (user: drh, tags: trunk)
22:09
[4144dffb57] Refactor the sqlite3_randomness() implementation for improved performance. (user: drh, tags: trunk)
21:12
[700dbbea86] Simplification to the StrAccum object and the sqlite3StrAccumAppend() method that also results in slightly better performance. (user: drh, tags: trunk)
20:04
[ef2a6a3736] Minor fixes for test cases. No code changes. (user: dan, tags: trunk)
19:59
[f9859fe93b] Fix typo in test. (user: mistachkin, tags: trunk)
19:13
[b25bac7919] Update sqlite3MemCompare() to try common cases first, for a modest speed improvement. (user: drh, tags: trunk)
17:35
[854ba30490] If a virtual table xSync() returns an error message, copy it into a buffer allocated by sqlite3DbMalloc() before transfering it to Vdbe.zErrMsg. (user: dan, tags: trunk)
15:52
[a17190a229] Performance enhancement in btreeParseCellPtr(). (user: drh, tags: trunk)
15:45
[5f35c8cb8f] Fix an FTS4 problem introduced by 361084e1eb. (user: dan, tags: trunk)
12:04
[781592f32c] Candidate fix for [d666d600a6]. (user: dan, tags: trunk)
07:25
[a95ae93b32] Fix a minor problem in progress.test. No code changes. (user: dan, tags: trunk)
2013-08-20
20:25
[356c6c5931] Fix a couple of test scripts to work with DEFAULT_AUTOVACUUM and OMIT_VIRTUALTABLE. (user: dan, tags: trunk)
17:14
[ef192abb82] Fix an invalid assert() in where.c. Also a crash that can occur in the EXPLAIN QUERY PLAN code under obscure circumstances. (user: dan, tags: trunk)
17:00
[e476408e3c] Ignore IS NOT NULL and NOT NULL constraints on NOT NULL columns. (user: drh, tags: trunk)
16:08
[0cede9f898] Test script changes to support testing sqlite3_interrupt(). (user: dan, tags: trunk)
13:02
[3e4033285d] Merge performance enhancements and compiler warning fixes from trunk. (user: drh, tags: sessions)
09:26
[5e1e9fd5e4] Add test cases for tointeger() and toreal() functions. Fixes for several tests. (user: mistachkin, tags: toTypeFuncs)
03:13
[7f72fc4f47] Performance optimizations in the VDBE and especially to the OP_Next and related opcodes and in the sqlite3BtreeNext() and sqlite3BtreePrevious() routines. This is a cherrypick of 6f99b54aedeb, d2efea1682a7, and d78c5d89de4b. (user: drh, tags: trunk)
02:07
[4438b98658] Fix compiler warnings and boundary cases for the tointeger() and toreal() functions. (user: drh, tags: toTypeFuncs)
00:42
[d78c5d89de] Performance optimizations in the VDBE and especially to the OP_Next and related opcodes. (user: drh, tags: toTypeFuncs)
2013-08-19
23:18
[d2efea1682] Performance improvement to SQL function calls in the VDBE. (user: drh, tags: toTypeFuncs)
22:22
[6f99b54aed] Additional performance improvements in sqlite3BtreeNext() and sqlite3BtreePrevious(). (user: drh, tags: toTypeFuncs)
21:15
[af49707211] Add tointeger() and toreal() SQL functions. (user: mistachkin, tags: toTypeFuncs)
20:04
[dc65ad8c4c] Performance improvement in sqlite3BtreeNext() and sqlite3BtreePrevious() for the common case of a valid cursor. (user: drh, tags: trunk)
19:29
[d6c4d48a00] 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. (user: dan, tags: trunk)
18:37
[6acf728100] Fix test script pragma2.test so that it works with ENABLE_MEMORY_MANAGEMENT. (user: dan, tags: trunk)
18:17
[1c63e9515b] Add some extra assert() statements to silence a few clang warnings. (user: dan, tags: trunk)
14:23
[753a402e90] Remove unused variables from the command-line shell sources. (user: drh, tags: trunk)
14:19
[f15591f802] Fix a potential reference off the end of an array in the query planner. (user: drh, tags: trunk)
12:49
[67587a3348] Merge in all the latest updates and enhancements from trunk. (user: drh, tags: sessions)
11:15
[a0d9ca4f07] Fixes for harmless compiler warnings. (user: drh, tags: trunk)
2013-08-17
18:57
[f86b75b6c7] Closed-Leaf: 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. (user: drh, tags: sqlite_stat4)
16:37
[65a85a156f] Add the cache_spill pragma. Change the fullfsync and checkpoint_fullfsync pragmas to apply to all attached databases. (user: drh, tags: trunk)
15:42
[d07c4331a2] Closed-Leaf: The fullfsync, checkpoint_fullfsync, and cache_spill pragmas apply to all files of a database connection, including those opened by future ATTACH statements. (user: drh, tags: cache_spill)
00:25
[b85c9ec5e0] Test cases for the cache_spill pragma. (user: drh, tags: cache_spill)
2013-08-16
20:42
[cdb181c04f] Add the cache_spill pragma. (user: drh, tags: cache_spill)
17:46
[5c59110481] Add a test for the problem fixed by 91733bc485. (user: dan, tags: sqlite_stat4)
17:18
[91733bc485] 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. (user: drh, tags: sqlite_stat4)
14:51
[b7fe4f362b] Merge the fork that resulted from a check-in race. (user: drh, tags: sqlite_stat4)
14:49
[dc1ccd09c4] Fix valueFromExpr() so that it returns SQLITE_NOMEM following an OOM when changing text encodings. Also fix some asserts to accommodate OOM errors. (user: drh, tags: sqlite_stat4)
14:48
[fe99494d99] Fixes for test code that was not working with utf16 databases. Run the analyze*.test scripts as part of the 'utf16' permutation test. (user: dan, tags: sqlite_stat4)
14:23
[949127d53e] Add extra tests. No code changes. (user: dan, tags: sqlite_stat4)
14:09
[9f85b6a52a] Avoid buffer overreads and false OOM error reports that could be caused by corrupted sample records in the sqlite_stat4 table. (user: dan, tags: sqlite_stat4)
13:34
[0118797823c] Fix a potential segfault following an OOM while running ANALYZE. (user: drh, tags: sqlite_stat4)
12:26
[c69b512af2] Merge recent trunk changes into the STAT4 branch. (user: drh, tags: sqlite_stat4)
2013-08-15
22:40
[f2d175f975] Make sure that GROUP BY terms select input column names in preference to output column names, in compliance with the SQL standard. Ticket [1c69be2dafc28]. (user: drh, tags: trunk)
20:24
[c78b357c00] 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]. (user: drh, tags: trunk)
20:05
[53cd9ebfaf] Make it easy to attach a debugger the test fixture process prior to any tests being run. (user: mistachkin, tags: trunk)
19:56
[d51df8a8fc] Fix a crash that can occur if the sqlite_stat3 or sqlite_stat4 table is corrupt. (user: dan, tags: sqlite_stat4)
18:43
[9f80b26870] Fix a crash that can occur following an OOM fault. (user: dan, tags: sqlite_stat4)
16:18
[71070c9fce] 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. (user: dan, tags: sqlite_stat4)
16:15
[46fec9b1a1] Make sure the ANALYZE command allocates enough VDBE registers. (user: drh, tags: sqlite_stat4)
14:39
[1fb4d9d6f2] Add tests for sqlite_stat4 sample selection. And a fix for the same. (user: dan, tags: sqlite_stat4)
14:27
[f30abdf9d8] Clarification and typo fixes in comments related to name resolution. No changes to code. (user: drh, tags: trunk)
08:06
[c23acba11b] Closed-Leaf: Make it easy to attach a debugger the test fixture process prior to any tests being run. (user: mistachkin, tags: dbgTestFixture)
2013-08-14
19:54
[bdce612b35] Change the way ANALYZE works to use a single cursor when scanning indices. (user: dan, tags: sqlite_stat4)
00:20
[9e999081a5] Fix a few more minor comment typos. No changes to code. (user: mistachkin, tags: trunk)
2013-08-13
22:33
[ac33695949] Fix an outdated comment and a comment typo. No changes to code. (user: mistachkin, tags: trunk)
2013-08-12
20:14
[cca8bf4372] If ENABLE_STAT3 is defined but ENABLE_STAT4 is not, have ANALYZE create and populate the sqlite_stat3 table instead of sqlite_stat4. (user: dan, tags: sqlite_stat4)
17:31
[2a41736728] If there is data in both the sqlite_stat4 and sqlite_stat3 tables for a single index, ignore the sqlite_stat3 records. (user: dan, tags: sqlite_stat4)
17:00
[fa1588adab] Handle a NULL input to decodeIntArray() that can result from a prior OOM. (user: drh, tags: sqlite_stat4)
16:34
[6d45078e62] Re-enable reading from the sqlite_stat3 table (as well as sqlite_stat4). (user: dan, tags: sqlite_stat4)
11:21
[ec3ffb1748] Fix a bug in calculating the average number of entries for keys not present in the sqlite_stat4 table. (user: dan, tags: sqlite_stat4)
09:29
[088d1ff948] Fix minor problems caused by adding the rowid to the records in stat4. (user: dan, tags: sqlite_stat4)
2013-08-10
19:08
[3a5e8ab7dd] Add the rowid field to the end of sample records stored in the sqlite_stat4 table. (user: dan, tags: sqlite_stat4)
2013-08-09
19:04
[5bcccb93df] Fix a couple of typos in a comment in analyze.c. No code changes. (user: dan, tags: sqlite_stat4)
14:07
[4d97809d6b] Update the header comment on analyze.c to describe the sqlite_stat4 table format. (user: drh, tags: sqlite_stat4)
2013-08-08
19:38
[9228aaf54d] 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. (user: dan, tags: sqlite_stat4)
16:17
[e50dc30523] Use a binary search instead of a linear scan when comparing a sample key against data from the sqlite_stat4 table. (user: dan, tags: sqlite_stat4)
14:38
[e2b597cafe] If the SQLITE_EXTRA_INIT function is defined, make sure it is called only once by the effective sqlite3_initialize() call. (user: drh, tags: trunk)
12:21
[9fec3e3828] 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. (user: dan, tags: sqlite_stat4)
11:48
[f783938ea9] Fix a bug in using stat4 data to estimate the number of rows selected by a range constraint. (user: dan, tags: sqlite_stat4)
2013-08-07
23:15
[3adb6c1bfd] 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. (user: drh, tags: trunk)
19:46
[7b70b419c4] Replace variable Index.avgEq (average number of rows in keys for which there is no sample in sqlite_stat4) with vector Index.aAvgEq. (user: dan, tags: sqlite_stat4)
18:42
[08f74c45ec] Merge latest trunk changes with this branch. (user: dan, tags: sqlite_stat4)
18:07
[c78b0d302c] Closed-Leaf: Merge in the latest changes from trunk. (user: drh, tags: uri-enhancement)
16:38
[812ed0c58f] Fix typos in a comment in analyze.c. No code changes. (user: dan, tags: sqlite_stat4)
16:15
[13ed5ac135] Change the way samples for the sqlite_stat4 table are collected. (user: dan, tags: sqlite_stat4)
16:04
[1e80c4b12d] Fix the ".dump" command on the command-line shell so that it works for "sqlite_stat4" in addition to "sqlite_stat1". (user: drh, tags: sqlite_stat4)
15:57
[9159b43eb2] Remove the unused sqlite3Utf8to16() utility function. (user: drh, tags: sqlite_stat4)
15:52
[353950a526] 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. (user: dan, tags: sqlite_stat4)
14:18
[0ad83ceb79] 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. (user: drh, tags: trunk)
01:18
[f8d8790ede] Fix typos and add clarification to comments in where.c. No code changes. (user: drh, tags: trunk)
2013-08-06
20:15
[84999e27cc] Fixes for builds without SQLITE_ENABLE_STAT4. (user: dan, tags: sqlite_stat4)
20:01
[2973f5ca73] When possible, use the multi-column samples in sqlite_stat4 to estimate the number of index rows scanned by a query plan. (user: dan, tags: sqlite_stat4)
19:18
[153c645025] Fix a test case related to partial indices so that it works even if STAT3 is disabled. (user: drh, tags: trunk)
18:35
[89930ea3c3] 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. (user: drh, tags: trunk)
18:21
[52e8ec5e24] Update the configure script to use the latest version number (3.8.0). (user: drh, tags: trunk)
17:24
[d43dcbc488] Add a testcase() macro to verify OOM coverage. (user: drh, tags: trunk)
16:56
[9103c27ceb] Remove unreachable branches in expr.c, replacing them with assert() and testcase() statements. (user: drh, tags: trunk)
14:52
[69d5bed017] Merge in the latest changes from trunk. (user: drh, tags: sessions)
14:36
[5dcc2d91bd] For the ".import" command of the command-line shell, start a transaction if there is not one active already. (user: drh, tags: trunk)
14:01
[2b1743d601] Clean up the input reader in the command-line shell for improved legibility and performance. (user: drh, tags: trunk)
07:45
[924f7e4d7a] 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. (user: drh, tags: trunk)
2013-08-05
22:05
[c589b2fed7] Performance optimization: Avoid calling convertCompoundSelecctToSubquery() on queries that do not use the UNION, EXCEPT, or INTERSECT operators. (user: drh, tags: trunk)
21:54
[240f7252c6] For the vtshim module, always zero out the xChildDestroy function pointer after calling it. (user: mistachkin, tags: trunk)
19:11
[7301bedd94] 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. (user: drh, tags: trunk)
19:04
[4a51cf289f] Modify the vdbe code generated by ANALYZE to use fewer memory cells and cursor slots. (user: dan, tags: sqlite_stat4)
18:00
[3a71afe674] 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. (user: dan, tags: sqlite_stat4)
15:32
[28979dcd16] 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. (user: drh, tags: trunk)
12:31
[4b8b426f10] Add a missing '#include "tcl.h"' to test_rtree.c. (user: drh, tags: trunk)
05:34
[badd24d987] Fix a couple of problems in code related to sqlite_stat4. (user: dan, tags: sqlite_stat4)
2013-08-03
20:24
[2beea303a1] Begin adding experimental sqlite_stat4 table. This commit is buggy. (user: dan, tags: sqlite_stat4)
2013-08-02
23:40
[213020769f] Updates to requirements marks. No code changes. (user: drh, tags: trunk)
20:44
[7e1acb3907] Merge in the latest trunk changes, including partial indexes, the MAX_PATH fix in os_win.c, and the sqlite3_cancel_auto_extension() API. (user: drh, tags: sessions)
20:11
[c5c0a8ab6c] Add NEVER() and ALWAYS() macros on some unreachable yet prudent branches. (user: drh, tags: trunk)
16:41
[478113f18b] Add support for partial indices. (user: drh, tags: trunk)
14:18
[2e8c845eb5] Closed-Leaf: Silently ignore database name qualifiers in CHECK constraints and in partial index WHERE clauses. (user: drh, tags: partial-indices)
13:31
[f3efbfcd51] Fix typos in documentation for SQLITE_DBSTATUS_DEFERRED_FKS . No changes to code. (user: drh, tags: trunk)
2013-08-01
22:27
[e3c8935f87] Fix the CREATE INDEX statement so that trying to create a TEMP index on a non-TEMP table throws an error rather than segfaulting. (user: drh, tags: trunk)
22:26
[6913831ad2] Fix an incorrect expected result in a test case in corruptG.test. (user: drh, tags: trunk)
20:26
[e436b2f4e5] 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. (user: drh, tags: trunk)
19:17
[c3baca99f4] 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. (user: drh, tags: trunk)
17:43
[65816718b5] Add test case for the problem fixed by 127a5b776d. (user: dan, tags: trunk)
17:21
[127a5b776d] 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. (user: drh, tags: trunk)
16:52
[31b4e63b3c] 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. (user: drh, tags: trunk)
16:02
[2e3df0bc90] Fix bug in the logic that determines the end of a CREATE INDEX statement. Added a VACUUM test case that exposed the bug. (user: drh, tags: partial-indices)
15:09
[0c8cfdfae2] More test cases and corresponding bug fixes. (user: drh, tags: partial-indices)
13:04
[8e07aa2ad5] Fill out an initial implementation of the sqlite3ExprImpliesExpr() function. (user: drh, tags: partial-indices)
12:21
[81834c3023] Refactor internal function name sqlite3VdbeGetValue() to sqlite3VdbeGetBoundValue(). (user: drh, tags: partial-indices)
04:39
[60353124f4] Fix the ANALYZE command to work with partial indices. (user: drh, tags: partial-indices)
03:36
[6b73ae7c12] Test cases and bug fixes for the partial index logic. (user: drh, tags: partial-indices)
01:14
[fb9044d15a] 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. (user: drh, tags: partial-indices)
2013-07-31
23:28
[136fc2931b] Limit the number of memset() calls used when determining a temporary file name on Windows. Also, fix a harmless compiler warning. (user: mistachkin, tags: trunk)
23:22
[8ca3eac111] 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. (user: drh, tags: partial-indices)
22:39
[33ba1f4c5d] Slight modifications to path name translation handling for Cygwin. (user: mistachkin, tags: trunk)
22:27
[c93d891b03] Use a new error code to represent a failure to get the configured temporary directory on Windows. (user: mistachkin, tags: trunk)
19:55
[bb06e15790] 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. (user: drh, tags: trunk)
19:05
[f2aa7842c8] 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. (user: drh, tags: partial-indices)
18:12
[6794b2dcb4] 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. (user: drh, tags: partial-indices)
2013-07-30
15:10
[eb6d4278b8] Reduce the size of the stack required by the codeOneLoopStart() function in where.c. (user: drh, tags: trunk)
2013-07-29
19:03
[9e819f0f12] For the MSVC makefile, recompile vdbe.lo and parse.lo first. (user: mistachkin, tags: trunk)
15:54
[c0809b5e32] Comment and preprocessor macro cleanup. (user: drh, tags: trunk)
13:51
[a94a66d10f] 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. (user: drh, tags: trunk)
2013-07-25
17:07
[8bcbb33fd0] In the command-line shell, work around the fact that popen() and pclose() are not defined in stdio.h. in C89 and later. (user: drh, tags: trunk)
16:41
[cc78e21c77] Fix a typo in main.c: SQLITE_DEAULT_AUTOMATIC_INDEX -> SQLITE_DEFAULT_AUTOMATIC_INDEX (user: dan, tags: trunk)
16:27
[4698a82ef8] 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. (user: drh, tags: trunk)
2013-07-24
14:54
[de05eb75ec] Another attempt at generalizing the URI parsing so that it works with a wider variety of file URIs and yet remains backwards compatible. (user: drh, tags: uri-enhancement)
2013-07-23
22:28
[0165789f08] Closed-Leaf: Get the new URI logic working for Windows. (user: drh, tags: uri-enhancement)
20:54
[74c12dee17] 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. (user: drh, tags: uri-enhancement)
2013-07-20
00:39
[dd4b77c82a] Merge updates from trunk. (user: mistachkin, tags: toTypeFuncs)
00:34
[ad0551e039] Add 'queryplantest' target to the MSVC makefile. (user: mistachkin, tags: trunk)
2013-07-19
23:58
[f755b4b21c] Fixes to test numbering. (user: mistachkin, tags: trunk)
2013-07-18
20:28
[37abfe0c1e] Remove unused "codec" code from the command-line shell. (user: drh, tags: trunk)
18:45
[62465ecba7] Improved documentation for sqlite3_set_auxdata(). Ticket [406d3b2ef91c]. (user: drh, tags: trunk)
18:29
[153deac8fa] Ensure that all auxiliary data registered by calls to sqlite3_set_auxdata() is destroyed when the VM is halted. (user: dan, tags: trunk)
18:28
[cd9096e64b] Closed-Leaf: Fix a typo in the previous commit. (user: dan, tags: typo)
17:12
[71effa59c9] 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. (user: dan, tags: typo)
14:50
[5dcffa671f] Fix a 8-byte alignment problem in the query planner that might cause problems on sparc when compiled with -m32. (user: drh, tags: trunk)
14:16
[7acc8cd32d] 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]. (user: drh, tags: trunk)
2013-07-17
21:08
[b1b0de29fd] Fix copy/paste errors in comments in the transitive_closure virtual table. No changes to code. (user: drh, tags: trunk)
18:12
[3b4096cc8a] Enhance the sqlite3_analyzer tool to give reports on the sizes of individual indices. (user: drh, tags: trunk)
11:54
[64bf8148b8] Clear the error string pointer in sqlite3_vtab object after the error string is transferred to SQLite. Ticket [78588b938a11]. (user: drh, tags: trunk)
2013-07-16
23:26
[20dba3a7fb] Make sure the sqlite3_prepare16 and sqlite3_prepare16_v2 interfaces do not read past a zero-terminator if the nBytes parameter is too large. (user: drh, tags: trunk)
21:31
[5e19d05410] Enhance the query planner so that it looks at multiple solutions to OR expressions in the WHERE clause. (user: drh, tags: trunk)
2013-07-15
17:02
[cdce87eb88] Add the sqlite3_cancel_auto_extension(X) interface which will undo a prior call to sqlite3_auto_extension(X). (user: drh, tags: trunk)
2013-07-12
21:09
[92adaee5bd] 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. (user: drh, tags: trunk)
2013-07-11
19:04
[7d829bdea3] 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. (user: drh, tags: trunk)
15:22
[6557c40798] Add the experimental "query_only" pragma. (user: drh, tags: trunk)
15:03
[527121ac3c] 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. (user: drh, tags: trunk)
2013-07-10
18:14
[908141d5bf] Fix harmless compiler warnings in the progress callback logic. (user: drh, tags: trunk)
13:33
[ece960c496] Closed-Leaf: Experimental "PRAGMA query_only=BOOLEAN" statement that is able to turn write capabilities on and off. (user: drh, tags: query_only)
03:05
[3e8b02011d] 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. (user: drh, tags: trunk)
2013-07-09
15:56
[f003bea9fe] Adjust the costs in the xBestIndex function of the spellfix1 virtual table to force the use of the MATCH term if it is available. (user: drh, tags: trunk)
12:36
[1e39f85077] Modify several extensions to use the new exported function naming. Fix some shared library compilation issues. (user: drh, tags: trunk)
03:04
[52a49cbc16] 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] (user: drh, tags: trunk)
2013-07-08
22:33
[776e65f98c] Make sure an adequate number of digits are shown for binary-to-text rendering of very small floating point values. (user: drh, tags: trunk)
21:12
[3b30b75b34] 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] (user: drh, tags: trunk)
01:27
[9415db6ef2] Add an optional 5th parameter to the next_char() function that is the collating sequence to use for comparison. (user: drh, tags: trunk)
2013-07-06
18:07
[cdb97d41ab] Fixes for test cases running in the "mmap" permutation. (user: dan, tags: trunk)
17:57
[0ae7e75b21] 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). (user: dan, tags: trunk)
2013-07-05
19:16
[60cf7e4487] Fix two test script problems revealed by permutations.test. (user: dan, tags: trunk)
16:54
[ff8c3f7840] Replace an erroneous SQLITE_OMIT_VIRTUAL_TABLE in vdbeaux.c with SQLITE_OMIT_WAL. Also fix some test script problems. (user: dan, tags: trunk)
11:10
[5c906e914b] Add missing "static" qualifier to functions in where.c. (user: dan, tags: trunk)
10:46
[9676280a93] Make a couple of implicit casts explicit to fix compiler warnings. (user: dan, tags: trunk)
2013-07-04
23:53
[f2ab874782] Closed-Leaf: Modify several extensions to use the new exported function naming. Fix some shared library compilation issues. (user: mistachkin, tags: extRefactor)
2013-07-02
15:25
[91bc840eea] Remove a surplus local variable (user: drh, tags: trunk)
10:06
[4a9d51e792] Fix a minor typo in a comment in where.c. (user: dan, tags: trunk)
00:06
[1c3ed47b71] Fix harmless typos in comments of two extensions. (user: drh, tags: trunk)
2013-07-01
20:02
[3d49c593dc] Add a query planner test case submitted by Elan Feingold and based on the Plex project. (user: drh, tags: trunk)
17:27
[72919ec34f] Add a missing test that prevented double LEFT JOINs with transitive constraints from working correctly. Fix for ticket [868145d012]. (user: drh, tags: trunk)
11:05
[0d68d4d018] Further minor comment corrections and enhancements in where.c. (user: drh, tags: trunk)
10:38
[0ffaab3b9c] Make a trivial comment fix in where.c. (user: drh, tags: trunk)
2013-06-30
20:24
[60b65e5ee3] Fix an issue in the command-line shell with CSV import of rows with empty columns. (user: drh, tags: trunk)
2013-06-29
15:40
[b003b2b2b6] 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. (user: drh, tags: trunk)
2013-06-28
23:55
[338826ef3f] Issue the new SQLITE_WARNING_AUTOINDEX warning on the SQLite log whenever an automatic index is created. (user: drh, tags: trunk)
21:12
[459b317902] 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. (user: drh, tags: trunk)
19:41
[f308c48517] 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();"). (user: dan, tags: trunk)
17:29
[60c19b8679] 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. (user: drh, tags: trunk)
13:43
[5480d124b7] Fix an issue with the OmitNoopJoin optimization and add test cases that are specifically for that optimization. (user: drh, tags: trunk)
01:24
[59f98c5c24] Refactor the Vdbe.noIO field as Vdbe.bIsReader. The meaning is inverted. (user: drh, tags: trunk)
2013-06-27
23:54
[14f7969634] Refactor names of fields in the sqlite3 object: "activeVdbeCnt" becomes "nVdbeActive". Related fields becomes "nVdbeRead", "nVdbeWrite", and "nVdbeExec". (user: drh, tags: trunk)
19:12
[fd4ece18c9] Fix an error in e_expr.test. (user: dan, tags: trunk)
17:40
[1937fd8eec] 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. (user: drh, tags: trunk)
14:24
[22bced36f0] 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). (user: dan, tags: trunk)
14:07
[4c02b344f5] 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. (user: drh, tags: trunk)
13:26
[656a1fe5dd] Improved handling of backslash escapes on double-quoted arguments to dot-commands in the command-line shell. (user: drh, tags: trunk)
13:01
[e88fd5b221] 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. (user: drh, tags: trunk)
11:46
[361c22969a] 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. (user: dan, tags: trunk)
2013-06-26
22:46
[93f632152e] 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. (user: drh, tags: trunk)
18:04
[6c3839ef31] Add the "vtshim" extension, implementing a wrapper around the virtual table interface to make it Disposable for the CLR. No changes to the core. (user: drh, tags: trunk)
16:30
[ebac5afa47] Update the boundary3.tcl script so that it can be run with tcl 8.5 or 8.6 to regenerate boundary3.test. (user: dan, tags: trunk)
13:22
[bd4267f17b] Add the SQLITE_STMTSTATUS_VM_STEPS option for sqlite3_stmt_status(). (user: drh, tags: trunk)
11:49
[6505e2ab02] Omit tables from the FROM clause of a join if their presence makes no difference in the final output. (user: drh, tags: trunk)
11:43
[0fe31f60ca] Cut over the next generation query planner. Increase the version number to 3.8.0. (user: drh, tags: trunk)
00:34
[19ab4811d5] Closed-Leaf: Fix an uninitialized variable detected by valgrind. Unclear whether or not this should apply to trunk. (user: drh, tags: nextgen-query-plan-exp)
2013-06-25
22:01
[f1366bab73] Closed-Leaf: Add a new (experimental) sqlite3_stmt_status() verb that returns the number of VM steps. (user: drh, tags: status-vm-step)
2013-06-22
15:44
[d929df9b1b] Closed-Leaf: Add the ability to disable the omit-join-table optimization for testing purposes. (user: drh, tags: omit-join-table-opt)
2013-06-21
19:39
[b4a0d5327a] Closed-Leaf: Enhance error message handling for the vtshim module. (user: mistachkin, tags: disposable-vtable)
18:36
[096ae1d8f9] Remove an unused function declaration from the FTS3 source code. (user: drh, tags: trunk)
18:29
[361084e1eb] Merge the fts4-notindexed branch with the trunk. (user: dan, tags: trunk)
18:18
[b53c0c41f9] Closed-Leaf: Add a few more tests for the fts4 notindexed option. (user: dan, tags: fts4-notindexed)
17:30
[8ff2b8f594] Add the "notindexed" option to fts4. (user: dan, tags: fts4-notindexed)
02:15
[d7a25cc797] 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. (user: drh, tags: omit-join-table-opt)
02:05
[ca839723a2] 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. (user: drh, tags: omit-join-table-opt)
00:35
[2c2577e69c] 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. (user: drh, tags: omit-join-table-opt)
2013-06-20
17:32
[604c3c5de6] Add a NEVER() macro and an explanation comment around an unreachable branch in the STAT3 logic. (user: drh, tags: nextgen-query-plan-exp)
14:17
[d94db3fd92] Pull in the posix_fallocate() change from trunk. (user: drh, tags: nextgen-query-plan-exp)
14:07
[b674462243] Disable posix_fallocate() for all systems, all the time, unless the HAVE_POSIX_FALLOCATE compile-time macro is supplied. (user: drh, tags: trunk)
01:27
[43913c7bd5] The vtshim xCreate and xConnect functions need to store the pAux pointer into the newly created vtable object. Style fixes. (user: mistachkin, tags: disposable-vtable)
00:20
[bf2e28ddb2] Integration adjustments for the vtshim module. (user: mistachkin, tags: disposable-vtable)
2013-06-19
23:48
[bf5764067a] Merge in trunk changes to os_unix.c that allow the code to build on unix platforms that lack posix_fallocate(). (user: drh, tags: nextgen-query-plan-exp)
18:01
[d97898e8e3] Add in the cost of doing a table lookup on OR searches. Make test case changes to deal with difference in STAT3 behavior. (user: drh, tags: nextgen-query-plan-exp)
14:49
[2b2ade9278] Only default HAVE_POSIX_FALLOCATE on for linux, and then only if it is not previously defined. (user: drh, tags: trunk)
14:28
[b9b30d4f98] Only enable posix_fallocate by default on linux and mac. (user: drh, tags: trunk)
13:59
[8d2ae8e2f3] Additional compiler warning fixes. (user: drh, tags: nextgen-query-plan-exp)
13:32
[9d3ef3bd2c] Fix a harmless uninitialized variable warning. (user: drh, tags: nextgen-query-plan-exp)
12:34
[8f27f35f28] Simplify and add invariants to the WhereLoop merging logic inside of whereLoopInsert(). (user: drh, tags: nextgen-query-plan-exp)
03:27
[10021941d0] Fix compiler warnings. Fix a harmless off-by-one error in the solver. (user: drh, tags: nextgen-query-plan-exp)
2013-06-18
20:06
[4fbb0c4d26] Adjustments to testcase() macros for improved testability. (user: drh, tags: nextgen-query-plan-exp)
01:52
[4c6d58d75d] Remove some redundant and unreachable code. (user: drh, tags: nextgen-query-plan-exp)
2013-06-17
21:37
[b61402af69] Add more testcase() macros. Fix a memory leak following OOM in the virtual table analysis logic. (user: drh, tags: nextgen-query-plan-exp)
18:20
[eaf1f1b405] Simplifications to the NGQP. Add the queryplantest makefile target. Add testcase() macros in the NGQP. (user: drh, tags: nextgen-query-plan-exp)
14:18
[e8f124284e] Use automatic indices on subqueries of the FROM clause when appropriate. (user: drh, tags: nextgen-query-plan-exp)
2013-06-15
15:11
[3e8ac46918] Fix compiler warnings. (user: drh, tags: nextgen-query-plan-exp)
2013-06-14
13:27
[cecc5fdd5d] Comment tweaks in where.c. No changes to code. (user: drh, tags: nextgen-query-plan-exp)
02:51
[b920bb70bb] Add a new ORDER BY optimization that bypasses ORDER BY terms that are constrained by == and IS NULL terms of the WHERE clause. (user: drh, tags: nextgen-query-plan-exp)
2013-06-13
17:58
[ade473b5ae] An index might be useful for ORDER BY if any indexed column is in the ORDER BY clause, not just the first indexed column. (user: drh, tags: nextgen-query-plan-exp)
17:28
[e8b7ea8202] Make sure that disabling the covering index scan optimization does not prevent a covering index from being used to satisfy an ORDER BY clause. (user: drh, tags: nextgen-query-plan-exp)
15:50
[459a7b9068] Restore the ability to do a BETWEEN query on the rowid. Also fix a nearby comment. (user: drh, tags: nextgen-query-plan-exp)
15:16
[3a72af2a95] Make the MIN() and MAX() macros available in sqliteInt.h. Add TUNING comments to the NGQP and adjust costs slightly. (user: drh, tags: nextgen-query-plan-exp)
14:51
[b5ca80d924] Fix an off-by-one error in the WhereCost to integer conversion. (user: drh, tags: nextgen-query-plan-exp)
00:32
[10bba8d082] Add a prototype for an extension that sits in between the SQLite native code virtual table interface and a CLR IDisposable object. (user: drh, tags: disposable-vtable)
2013-06-12
20:18
[e120c558a5] Activate the one-pass optimization. Update comments, especially the descriptions of the various objects. (user: drh, tags: nextgen-query-plan-exp)
17:55
[25c0f7292a] Bug fixes in the handling of virtual tables. (user: drh, tags: nextgen-query-plan-exp)
17:17
[f2e15b1974] Merge all changes from trunk. (user: drh, tags: nextgen-query-plan-exp)
17:08
[addd7f466d] "make test" now passing. (user: drh, tags: nextgen-query-plan-exp)
14:52
[25e2cde105] Add the "queryplanner" test permutation. Continuing refinements to NGQP. (user: drh, tags: nextgen-query-plan-exp)
03:48
[40567fddd4] Continue refining the NGQP (user: drh, tags: nextgen-query-plan-exp)
2013-06-11
18:59
[ba897100fe] Improved processing of DISTINCT. (user: drh, tags: nextgen-query-plan-exp)
14:22
[24fc9d4438] Add the SQLITE_FTS3_MAX_EXPR_DEPTH compile time option. (user: dan, tags: trunk)
13:30
[f1cac24f06] Fix the Parse.nQueryLoop state variable to work with NGQP. (user: drh, tags: nextgen-query-plan-exp)
02:36
[b777b1097d] Use a logarithmic rather than linear cost and row-count measures. Do not report row count estimates in EQP output. (user: drh, tags: nextgen-query-plan-exp)
02:32
[36373b85f9] Closed-Leaf: Fixes to EXPLAIN QUERY PLAN output. Change weights back to something closer to what they are in legacy. More test case fixes. (user: drh, tags: nextgen-query-plan-logcost)
01:50
[e612664aa2] Handle virtual tables correctly when using logarithmic costs. Fixes to test cases. (user: drh, tags: nextgen-query-plan-logcost)
2013-06-10
23:30
[aa580e368e] Fix test cases for the new EXPLAIN QUERY PLAN format. Add the wherecosttest tool. Other fixes to logarithm cost. (user: drh, tags: nextgen-query-plan-logcost)
20:46
[69cf877283] Fix some minor issues with logarithmic cost in NGQP. (user: drh, tags: nextgen-query-plan-logcost)
19:12
[9e8109673c] First attempt to store costs and row counts as a logarithm. (user: drh, tags: nextgen-query-plan-logcost)
14:56
[0f8a38ee54] Simplification and performance tweak to the high-speed NGQP bypass. (user: drh, tags: nextgen-query-plan-exp)
12:34
[aae14350a3] Performance improvements for whereScan methods. (user: drh, tags: nextgen-query-plan-exp)
12:17
[8d1ba30921] Add a high-speed bypass for the NGQP for the common case of a simply query with quality constraints that outputs a single row. (user: drh, tags: nextgen-query-plan-exp)
12:15
[20eeccf1f2] Closed-Leaf: Minor problems in the high-speed NGQP fixed. (user: drh, tags: nextgen-query-plan-fast)
2013-06-09
20:22
[7e3820e5b9] Fix the memory leak in CREATE TABLE that occurs if there are two or more COLLATE clauses on the same column. (user: drh, tags: trunk)
20:16
[0a60212c9c] Closed-Leaf: Add test cases to demonstrate the memory leak on the COLLATE clause. (user: drh, tags: memleak)
17:21
[db2415fa67] High-speed version of NGQP. Still has some minor problems. (user: drh, tags: nextgen-query-plan-fast)
2013-06-08
19:58
[60fc77bc53] Candidate fix for a memory leak that occurs if a CREATE TABLE statement contains two or more COLLATE clauses on the same column definition. (user: drh, tags: memleak)
2013-06-07
22:12
[d5bc1fe1c4] Improve manual cleaning step performed by the multi-platform build tool for MSVC. (user: mistachkin, tags: trunk)
02:04
[dfbca3acae] Must faster computation of estimated logarithm. (user: drh, tags: nextgen-query-plan-exp)
00:29
[02741d177b] Further prepare-time performance improvements. (user: drh, tags: nextgen-query-plan-exp)
2013-06-06
23:44
[9f8e84ab98] Performance improvements. (user: drh, tags: nextgen-query-plan-exp)
23:02
[d4141ecbea] Improved management of the space to hold WhereLoop.aLTerm[]. (user: drh, tags: nextgen-query-plan-exp)
19:25
[b4a5dbad36] Remove some commented-out code that was mistakenly left in the previous check-in. (user: drh, tags: nextgen-query-plan-exp)
19:16
[bfc76ae1e9] Clean up and reorganize the elements of the various objects in the analysis tree for the NGQP. (user: drh, tags: nextgen-query-plan-exp)
2013-06-05
23:39
[1574653b9b] 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. (user: drh, tags: nextgen-query-plan-exp)
17:53
[9b1c4954e4] Performance improvement for the OR-clause analysis in the NGQP. (user: drh, tags: nextgen-query-plan-exp)
16:19
[cbef38c2d1] Minor performance tuning of the NGQP. (user: drh, tags: nextgen-query-plan-exp)
16:17
[6cfd9af525] 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. (user: dan, tags: trunk)
12:47
[1c4a78807b] Performance tweak to whereLoopInsert(). (user: drh, tags: nextgen-query-plan-exp)
12:18
[96afe50866] Add a test case contributed on the mailing list that works in NGQP but fails in legacy. (user: drh, tags: nextgen-query-plan-exp)
2013-06-04
23:40
[cf96eb5945] 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. (user: drh, tags: nextgen-query-plan-exp)
18:27
[f49cd6c4e7] Restore the PRAGMA reverse_unordered_selects behavior. (user: drh, tags: nextgen-query-plan-exp)
18:03
[774d5ff857] Get the index-only optimization working for OR queries. (user: drh, tags: nextgen-query-plan-exp)
15:31
[0360fec7c0] Test case updates. (user: drh, tags: nextgen-query-plan-exp)
13:37
[63fd025ad9] Better determination of when an index is UNIQUE. (user: drh, tags: nextgen-query-plan-exp)
13:07
[8d9f29f847] Increase the estimated full-scan cost for an FTS3 table. (user: drh, tags: nextgen-query-plan-exp)
12:58
[ff2fa40755] Fix a display issue with EXPLAIN QUERY PLAN. (user: drh, tags: nextgen-query-plan-exp)
12:42
[e605c468e3] 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. (user: drh, tags: nextgen-query-plan-exp)
2013-06-03
22:08
[eb27086e8a] Remove more vestiges of sqlite_query_plan from the test cases. (user: drh, tags: nextgen-query-plan-exp)
21:25
[e2c1af78b6] 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. (user: drh, tags: nextgen-query-plan-exp)
20:46
[6bc71dfcf0] 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. (user: drh, tags: nextgen-query-plan-exp)
20:39
[4d74fccf02] Fix a typo in a collating function inside the e_reindex.test script. (user: drh, tags: trunk)
19:17
[fabb21854e] Do not use an index fullscan for an UPDATE or DELETE or if disabled by sqlite3_test_control() or sqlite3_config(). (user: drh, tags: nextgen-query-plan-exp)
19:01
[dcbbcb2e6c] Resolve ambiguities in test cases in collate2.test. (user: drh, tags: nextgen-query-plan-exp)
18:50
[aa66b86420] Fix a bug in the transitive_closure virtual table that NGQP exposes. Update between.test module to avoid using sqlite_query_plan. (user: drh, tags: nextgen-query-plan-exp)
18:14
[15328987cc] Fix EXPLAIN QUERY PLAN row counts for the rtree virtual table tests. (user: drh, tags: nextgen-query-plan-exp)
17:35
[ff134e6ee9] Update the NGQP to make use of STAT3 information if it is available. (user: drh, tags: nextgen-query-plan-exp)
16:56
[aaf7f5896d] Honor the orderByConsumed boolean returned from virtual table query planner. (user: drh, tags: nextgen-query-plan-exp)
16:03
[62d382406b] Fix to the logic that disables constraints on virtual tables. (user: drh, tags: nextgen-query-plan-exp)
15:34
[029840124022387a] Fix an issue that was causing ORDER BY DESC to come out in ascending order. (user: drh, tags: nextgen-query-plan-exp)
15:24
[7d91f68881] Virtual tables now always report 25 rows instead of 0 rows in the EXPLAIN QUERY PLAN output. Adjust tests accordingly. (user: drh, tags: nextgen-query-plan-exp)
15:07
[510f4d8ecf] Set the WHERE_UNIQUE flag on loops that can only run once. (user: drh, tags: nextgen-query-plan-exp)
14:15
[9b97af94ae] Add test cases to verify that ticket [bc1aea7b725f2761] has been fixed in the NGQP. (user: drh, tags: nextgen-query-plan-exp)
12:47
[3bd5ad095b] 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. (user: drh, tags: trunk)
12:34
[7cc0c4ee11] Further improvements to error handling of the run-time loading of SQLite into TCL. (user: drh, tags: trunk)
2013-05-31
20:43
[42511a7e12] 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. (user: drh, tags: nextgen-query-plan-exp)
20:28
[723f901a63] Do not search using ON clause constraints of LEFT JOINs to the right of the table. (user: drh, tags: nextgen-query-plan-exp)
20:00
[433d1aecd3] Make sure a unique cursor number is allocated for automatic indices. (user: drh, tags: nextgen-query-plan-exp)
19:14
[665e4291c6] 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. (user: drh, tags: nextgen-query-plan-exp)
18:20
[0b1bee92a0] Fix a problem with code generation on LEFT JOIN of tables without an index. (user: drh, tags: nextgen-query-plan-exp)
18:13
[2f2ce41677] Another virtual table fix in NGQP. (user: drh, tags: nextgen-query-plan-exp)
17:55
[23af28e24b] Fix problems in the virtual table logic for NGQP. (user: drh, tags: nextgen-query-plan-exp)
15:50
[816f8add7e] Remove the definitions of objects that are no longer used: WhereCost, WherePlan, and WhereBestIdx. (user: drh, tags: nextgen-query-plan-exp)
15:36
[b3f23d1864] Improved handling of errors when doing run-time loading of an SQLite shared-library into TCL. (user: drh, tags: trunk)
15:18
[707f032326] 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. (user: drh, tags: nextgen-query-plan-exp)
14:31
[b9578c371e] Enhance the shell to provide more flexibility when entering numeric arguments on dot-commands. In particular, allow hex arguments to .wheretrace. (user: drh, tags: nextgen-query-plan-exp)
13:36
[d8efa5f8b6] Futher enhancements to the ORDER BY optimizer. (user: drh, tags: nextgen-query-plan-exp)
12:43
[58805eb36b] Improved detection of unnecessary ORDER BY clauses. (user: drh, tags: nextgen-query-plan-exp)
11:57
[5e1e613995] Fix the constructAutomaticIndex() routine so that it works with NGQP. (user: drh, tags: nextgen-query-plan-exp)
2013-05-30
23:21
[24a2e9ddce] Improvements to the ORDER BY suppressor in the NGQP. (user: drh, tags: nextgen-query-plan-exp)
22:27
[a51d8c9249] Incremental check-in with various NGQP fixes. Many tests still fail. (user: drh, tags: nextgen-query-plan-exp)
19:29
[ae985db4fa] Futher simplifications to the NGQP. Fix some test cases to use EXPLAIN QUERY PLAN rather than the (now obsolete) sqlite_query_plan global variable. (user: drh, tags: nextgen-query-plan-exp)
19:28
[a3b4e261bd] 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 ")". (user: drh, tags: nextgen-query-plan-exp)
17:43
[001539df4b] 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. (user: drh, tags: nextgen-query-plan-exp)
11:48
[aebe1f2603] Merge recent trunk changes into the NGQP branch. (user: drh, tags: nextgen-query-plan-exp)
2013-05-29
17:48
[d5b084e9d8] 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. (user: drh, tags: trunk)
14:22
[09e5a7ad85] Add tests for running FTS 'merge' and 'optimize' commands in shared cache mode. (user: dan, tags: trunk)
2013-05-28
20:25
[a64d760d92] Add the percentile() SQL function as a loadable extension in the ext/misc directory. (user: drh, tags: trunk)
17:30
[2f97e38a66] 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. (user: drh, tags: trunk)
17:25
[c3381cd495] Remove the obsolete and unused sqlite3.inTrans field. (user: drh, tags: trunk)
12:11
[a0d5cc9315] Many small harmless comment changes. Removal of obsolete comments and fixing misspelled words. No changes to code. (user: drh, tags: trunk)
10:52
[a72f50ef76] Merge autoconf-package branch with trunk. (user: dan, tags: trunk)
2013-05-27
18:37
[3fdc8b5649] Closed-Leaf: Add the "dist" target to main.mk. For building the amalgamation autoconf package. (user: dan, tags: autoconf-package)
17:59
[211f7a5374] Update the NGQP to record which loops need be run in reverse order to satisfy ORDER BY clauses. (user: drh, tags: nextgen-query-plan-exp)
17:19
[048865e8fd] Add the files used to build the amalgamation-autoconf package. (user: dan, tags: autoconf-package)
10:11
[3cd2da42e9] 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. (user: dan, tags: trunk)
2013-05-24
14:52
[b49fa74561] Record in the WhereLoop object the set of virtual table constraints that need not be separately checked. (user: drh, tags: nextgen-query-plan-exp)
13:55
[7c8f992c04] Merge the latest trunk changes into the NGQP branch. (user: drh, tags: nextgen-query-plan-exp)
12:47
[61a1045239] Set _XOPEN_SOURCE to 600 so that fchmod() will (hopefully) work on FreeBSD. (user: drh, tags: trunk)
11:57
[9e2c17c535] Fix harmless compiler warnings in the shell. (user: drh, tags: trunk)
2013-05-23
20:52
[dab6a32847] Add OGC GeoPackage files to the magic.txt database. (user: drh, tags: trunk)
10:15
[82ad373f85] Have the "make fulltest" command run the "mmap" permutation test. (user: dan, tags: trunk)
10:13
[40cfde8b4a] 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. (user: dan, tags: trunk)
01:40
[761177927c] 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. (user: drh, tags: trunk)
2013-05-22
20:49
[f783e8e6b1] Use the NGQP plan for EXPLAIN QUERY PLAN output. This change causes 207 errors in veryquick.test, many of which are benign. (user: drh, tags: nextgen-query-plan-exp)
17:01
[9bf0524df7] Allow the rowid at the end of an index to be used in a constraint on that index. (user: drh, tags: nextgen-query-plan-exp)
02:06
[12c709b436] Improvements to ORDER BY handling in the NGQP. Fix an "exit" mistakenly left in a test script during the previous check-in. (user: drh, tags: nextgen-query-plan-exp)
2013-05-21
19:23
[04dfb85a2a] Enhanced "wheretrace" output in the NGQP solver routine. (user: drh, tags: nextgen-query-plan-exp)
15:52
[67367f1e1f] Work toward improving the NGQP's ability to optimize out ORDER BY clauses. (user: drh, tags: nextgen-query-plan-exp)