SQLite

Timeline
Login

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

661 check-ins using file test/auth.test version 9bea2904

2015-08-13
21:43
Convert the hint expression of the CursorHint opcode into a string for display by EXPLAIN. (Leaf check-in: 12640cb2 user: drh tags: cursor-hints-displayP4)
2014-07-15
11:59
Add simple tests for new sqlite3BtreeCursorHint() functionality. (check-in: 1efa6ed5 user: dan tags: cursor-hints)
2014-07-14
19:04
In the expression passed to sqlite3BtreeCursorHint() for the inner loops of joins, replace any TK_COLUMN references to columns in the outer loops with TK_REGISTER expressions (Expr.iTable indicates the specific register containing the value). There are no automated tests for this yet. (check-in: f9dddd00 user: dan tags: cursor-hints)
2014-01-28
00:49
Provide hints to the btree layer Next and Previous primitives to let them know if they can be no-ops if the underlying index is unique. (Leaf check-in: a2c347fa user: drh tags: branch-3.8.2)
2014-01-16
21:59
Tweaks to error message text. (check-in: 090a77d9 user: drh tags: common-table-expr)
21:02
Improve the error messages used to report illegal recursive cte references. (check-in: 54eee9fe user: dan tags: common-table-expr)
18:34
Allow only a single recursive reference in a recursive CTE. Also require that this reference is not part of a sub-query. (check-in: a296b733 user: dan tags: common-table-expr)
15:31
Always use available indices to optimize LIKE operators even if the pattern of the LIKE operator has a COLLATE modifier. This fixes an ineffiency that was introduced into 3.7.15 by check-in [8542e6180d4] on 2012-12-08. (check-in: 16bd5478 user: drh tags: trunk)
10:58
Disable the flattening optimization if the parent query is the recursive part of a recursive CTE and the sub-query is a compound query. (check-in: 6bfa387e user: dan tags: common-table-expr)
04:37
Merge trunk changes. Fix a possible NULL-pointer deference in WITH clause name resolution. (check-in: 7f953b56 user: drh tags: common-table-expr)
2014-01-15
20:10
Remove an ALWAYS() that is no longer always true. (check-in: c95823cd user: drh tags: common-table-expr)
19:42
Fixes so that SQLITE_OMIT_CTE builds work. (check-in: 3908e2ea user: dan tags: common-table-expr)
18:35
Further comments on WITH-clause processing routines in select.c. (check-in: c948384d user: drh tags: common-table-expr)
18:23
Add a header comment to the searchWith() routine. (check-in: d9ae0f5d user: drh tags: common-table-expr)
18:21
Disable automatic indices on recursive CTE references. (check-in: 28aa6db8 user: dan tags: common-table-expr)
18:12
When resolving names, consider a reference to a recursive CTE column as equivalent to a reference to the outermost name-context. This ensures that correlated sub-queries are correctly identified as such. (check-in: 61be2da0 user: dan tags: common-table-expr)
15:27
Return an error if a CTE specifies a different number of columns than its SELECT statement returns. (check-in: 9a514b50 user: dan tags: common-table-expr)
14:40
Don't try to verify the schema of transient table (such as generated inside a WITH clause) when generating code for "IN table" operators. (check-in: 860aa936 user: drh tags: common-table-expr)
14:17
Disable the flattening optimization if the sub-query is a recursive CTE. (check-in: 9472f6d8 user: dan tags: common-table-expr)
02:40
Use the user-supplied table name in WITH RECURSIVE tables as the internal name of the table and the name of the table in VDBE comments. (check-in: a2933023 user: drh tags: common-table-expr)
00:24
Merge recent fixes from trunk. Cherrypick of [c43b59dac1], [a221aa82bb], [e1eba1fb09], and [1e131094b5]. (check-in: c697d2f8 user: mistachkin tags: branch-3.8.2)
2014-01-14
20:14
Add code to handle recursive CTEs. (check-in: a5c2a54a user: dan tags: common-table-expr)
10:17
Fix harmless compiler warning in LEMON. (check-in: f61a7058 user: mistachkin tags: trunk)
10:17
For the Win32 VFS, defining winShmMutexHeld should be controlled by NDEBUG, not SQLITE_DEBUG. (check-in: 1e131094 user: mistachkin tags: trunk)
2014-01-13
20:38
In the command-line shell, defend against a NULL-pointer dereference in the case where sqlite3_column_name() returns NULL (as might happen following an OOM error). (check-in: ac15455a user: drh tags: trunk)
20:32
For statements of just an unadorned VALUES clause, assign column names as "columnN" for increasing whole numbers N. (check-in: 260587d2 user: drh tags: trunk)
16:36
Fix some memory leaks and crashes that could follow an OOM condition during WITH clause parsing. (check-in: 8839850c user: dan tags: common-table-expr)
15:12
Add code to handle non-recursive CTEs in the same way as SQL views. (check-in: a26f399b user: dan tags: common-table-expr)
2014-01-11
19:19
Update the parser so that sub-queries and CTEs may have WITH clauses. (check-in: 704d3931 user: dan tags: common-table-expr)
13:22
Parse common table expressions. But do not do anything with them (yet). (check-in: da98b720 user: drh tags: common-table-expr)
12:52
In LEMON, limit the size of the grammar file to 100MB. This ensures that the program will never experience integer overflow. To be doubly sure, use calloc() instead of malloc() when allocating arrays. (check-in: 29ba458d user: drh tags: trunk)
03:54
Optimizations to the SQL language grammar that result in a small size reduction and speed increase. (check-in: cb5d1f83 user: drh tags: trunk)
03:27
Add the "%token_class" directive to the LEMON parser generator. This opens up the possibility of simplifying the parser. Also remove all calls to sprintf(), strcpy(), and strcat() from LEMON to avoid compiler warnings on OpenBSD. (Aside: It is this change to avoid harmless compiler warnings that was the cause of the reason spat of bugs.) (check-in: 8eb48c04 user: drh tags: trunk)
03:13
Add the "%token_class" directive to the LEMON parser generator. This opens up the possibility of simplifying the parser. Also remove all calls to sprintf(), strcpy(), and strcat() from LEMON to avoid compiler warnings on OpenBSD. (Closed-Leaf check-in: 4e4483b2 user: drh tags: buggy-lemon)
03:06
In LEMON, fix a bug in the text formatter introduced by the previous commit. Also add the new "%token_class" directive for defining symbolic names that stand any one of a collection of tokens. (Closed-Leaf check-in: da7890ca user: drh tags: lemon-updates)
2014-01-10
23:21
Do not use sprintf(), strcpy() or strcat() in the implementation of the lemon parser generator tool, to avoid compiler warnings in OpenBSD. (check-in: e43c522d user: drh tags: lemon-updates)
20:51
Remove unused structure definition from parse.y. (check-in: 7f1e7ae3 user: drh tags: trunk)
20:46
Allow a VALUES clause to be used any place that a SELECT statement can be used. (check-in: c9ea7d19 user: drh tags: trunk)
20:38
Fix CREATE TABLE ... AS so that it works with column names that are empty strings. (check-in: 632045f2 user: drh tags: trunk)
16:40
Fix another harmless compiler warning in unixUnfetch(). (check-in: 0484549b user: dan tags: trunk)
2014-01-09
13:39
Fix harmless compiler warning in unixUnfetch(). (check-in: 618f248f user: drh tags: trunk)
2014-01-06
18:32
Start a new experimental branch for support of Oracle-style CONNECT BY syntax. (Closed-Leaf check-in: 4365ddd6 user: drh tags: connect-by)
2014-01-04
20:00
Fix an typo that breaks the build when SQLITE_ENABLE_TREE_EXPLAIN is defined. (check-in: f461e2b3 user: drh tags: trunk)
19:58
Add the usual "fts3" prefix to new static method setEstimatedRows() in fts3.c. This fixes a problem when compiling the amalgamation, as the r-tree module also contains a static method named setEstimatedRows. (check-in: d6fcfc88 user: dan tags: trunk)
19:27
Avoid redundant register loads during index key generation when doing a DELETE or INTEGRITY_CHECK on a table with multiple indices. (check-in: 8f6e6149 user: drh tags: trunk)
16:49
Omit OP_Close operations that occur immediately prior to OP_Halt and which cannot be jumped over. (check-in: 874b7e99 user: drh tags: trunk)
15:17
Improvements to the column-cache for nested AND/OR operators. (check-in: 4e725f53 user: drh tags: trunk)
14:46
Have FTS assign extremely high costs to plans that feature unusable MATCH constraints. This discourages the planner from choosing such plans, which lead to "unable to use function MATCH in the requested context" errors. (check-in: fa8be488 user: dan tags: trunk)
14:42
Instead of having the planner ignore plans with unusable MATCH constraints, have FTS assign extremely high costs to such plans in order to discourage the planner from using them. (Closed-Leaf check-in: 24f84b38 user: dan tags: avoid-unusable-match)
14:16
Have the planner detect cases where a MATCH constraint is applied to a virtual table, and ignore any plans that do not allow the virtual table implementation to implement the MATCH filtering. (check-in: 19f3208b user: dan tags: avoid-unusable-match)
2014-01-03
16:03
Avoid some unnecessary OP_SCopy operations when inserting into a table with multiple indices. (check-in: 429018b1 user: drh tags: trunk)
2014-01-02
21:05
Try to factor constant subcomponents of the WHERE clause out of the loop. (check-in: 9d05777f user: drh tags: trunk)
19:35
Avoid unnecessary affinity transformations when building indices using data from a table. (check-in: 10d85135 user: drh tags: trunk)
17:57
Be more aggressive in optimizing constant conditional expressions. (check-in: b7e39851 user: drh tags: trunk)
2014-01-01
15:18
Try to detect process ID changes due to fork() calls in os_unix.c and reset the PRNG when a process ID change is detected. (check-in: e1eba1fb user: drh tags: trunk)
14:00
Enhance sqlite3_randomness(N,P) such that it resets the internal PRNG if N is less than 1. Subsequent calls to sqlite3_randomness() will reinitialize the internal PRNG by calling the xRandomness() method of the default VFS. (check-in: a221aa82 user: drh tags: trunk)
2013-12-24
12:09
Merge the latest trunk changes into the sessions branch. (check-in: cfd110bf user: drh tags: sessions)
12:04
Add -I. to the main.mk makefile for building sqlite3.o and speedtest1. (check-in: cc72c5ae user: drh tags: trunk)
2013-12-23
19:09
Move elements of the Vdbe object that are only used during statement preparation out into the Parse object. (check-in: c289a253 user: drh tags: trunk)
15:35
Make sure the WhereLoop.aLTerm[] array is large enough when processing the skip-scan optimization. Fix for ticket [520070ec7fbaac]. (check-in: ac5852d6 user: drh tags: branch-3.8.2)
11:33
Remove a stray tab character. (check-in: 25b8a1c9 user: drh tags: trunk)
2013-12-22
22:45
Remove a condition that is always in the logic that handles reading default values for columns. (check-in: 895af097 user: drh tags: trunk)
20:44
Make sure the WhereLoop.aLTerm[] array is large enough when processing the skip-scan optimization. Fix for ticket [520070ec7fbaac]. (check-in: 46d04059 user: drh tags: trunk)
2013-12-21
17:14
Fix speedtest1.c so that in --explain mode it only outputs non-explain text for DDL statements. (check-in: 2d2b3c49 user: drh tags: trunk)
17:07
Avoid compiler warnings by only enabling sqlite3ErrName() when SQLITE_TEST is defined. (check-in: 862228e5 user: drh tags: trunk)
16:06
Fix harmless compiler warnings in FTS4. This involved corrupting Martin Porter's beautifully written and elegant stemmer code, making it a little less beautiful and a little less elegant. Today is a sad day. But the warnings from GCC grow increasingly verbose and irksome with each new release and so something had to be done. (check-in: df056798 user: drh tags: trunk)
15:46
Fix the ".echo on" dot-command of the shell so that it echos comments in addition to SQL statements and dot-commands. Add the --explain option to speedtest1 so that the output can be piped into the command-line shell to show nicely-formated VDBE code for the entire test. (check-in: 96397263 user: drh tags: trunk)
00:04
Add a case to speedtest1.c that demonstrates the need to factor OP_Column operators out of inner loops. (check-in: 69a17336 user: drh tags: trunk)
2013-12-20
18:57
Fix compiler harmless warnings in tclsqlite.c that appeared with GCC 4.8.x. (check-in: d93ae683 user: drh tags: trunk)
18:44
Code simplification in sqlite3GenerateIndexKey() by making use of a subroutine found over in expr.c. (check-in: 0026d335 user: drh tags: trunk)
15:59
Combine adjacent single-register OP_Copy instructions into a single multi-register OP_Copy, where possible. Fix the Synopsis comment for multi-register OP_Copy instructions to show the correct register ranges. (check-in: 2ae22dc0 user: drh tags: trunk)
14:48
Allow any arbitrary expression as the filename in an ATTACH statement, including functions and subqueries. (check-in: df70a1f3 user: drh tags: trunk)
13:11
Simplify the accumulator reset for aggregate query processing so that it uses a single multi-register OP_Null rather than a separate OP_Null for each register. (check-in: 2c7fd9b0 user: drh tags: trunk)
2013-12-19
17:04
Do not inject OOM faults into SQLITE_FCNTL_COMMIT_PHASE_TWO file-control invocations. It causes problems for test scripts. (check-in: 8eb28d23 user: dan tags: trunk)
16:26
Make sure errors encountered while initializing extensions such as FTS4 get reported out from sqlite3_open(). This fixes a bug introduced by check-in [9d347f547e7ba9]. Also remove lots of forgotten "breakpoint" commands left in test scripts over the years. (check-in: ca3fdfd4 user: drh tags: trunk)
14:34
Remove an unneeded column-cache flush in aggregate SELECT and an unreachable branch in the INSERT logic. (check-in: ffa092e1 user: drh tags: trunk)
02:56
Omit an unnecessary OP_Null opcode from UPDATE. (check-in: 72d11133 user: drh tags: trunk)
02:23
Omit one or more pointless instructions that occur in between OP_NoConflict and OP_Halt. (check-in: 61e2f357 user: drh tags: trunk)
2013-12-18
18:44
Remove an unnecessary column-cache flush operation. Add code to trace the column cache when compiled with SQLITE_DEBUG and using PRAGMA vdbe_addoptrace=ON. (check-in: 58704ed1 user: drh tags: trunk)
16:27
Remove an unnecessary column-cache flush. Add another test case to the speedtest1.c program to accentuate the benefit of not flushing the cache at that point. (Closed-Leaf check-in: 97fdfc6b user: drh tags: column-cache-debug)
15:11
Show changes to the column cache when PRAGMA vdbe_addoptrace=ON is set. (check-in: 4c6a659c user: drh tags: column-cache-debug)
2013-12-17
16:32
Add evidence marks and additional test cases for the printf() SQL function. (check-in: 93121d30 user: drh tags: trunk)
16:10
Add the printf() SQL function. (check-in: a1bb62f9 user: drh tags: trunk)
15:58
Fix the formatting of %c in the printf() SQL function. (Closed-Leaf check-in: 3375571a user: drh tags: printf-sql-function)
15:03
Add the printf() SQL function. (check-in: 6db7052e user: drh tags: printf-sql-function)
2013-12-14
18:24
Merge in all recent preformance enhancements from trunk. (check-in: 32477642 user: drh tags: sessions)
13:44
Allow the SQLITE_DETERMINISTIC flag to be ORed into the preferred text encoding of application-defined functions, to mark the function as deterministic. (check-in: 5716fc23 user: drh tags: trunk)
2013-12-13
20:45
Performance optimizations in the pager_write() routine of pager.c. (check-in: bc5febef user: drh tags: trunk)
19:48
Reduce the number of calls to the subjRequiresPage() routine inside of pager. (check-in: e50ff39a user: drh tags: trunk)
19:35
Create and use a new pager interface sqlite3PagerUnrefNotNull() that works just like sqlite3PagerUnref() but guarantees that its argument is not a NULL pointer. (check-in: e00f37e2 user: drh tags: trunk)
18:50
Enhance the pcache1PinPage() routine so that it called much less often and runs much faster in the cases when it is actually called. (check-in: a845779c user: drh tags: trunk)
16:42
Avoid unnecessary calls to sqlite3_free() from within sqlite3VXPrintf(). (check-in: e2a8b280 user: drh tags: trunk)
16:23
Simplication and optimization of error message handling. (check-in: 9d347f54 user: drh tags: trunk)
2013-12-11
15:47
Add the SQLITE_FCNTL_SYNC and SQLITE_FCNTL_COMMIT_PHASETWO file-controls and have the pager call them at appropriate times. This is needed in order to enable ZIPVFS to do multi-file atomic commits. (check-in: 552f94d5 user: drh tags: trunk)
14:17
Merge in the latest trunk changes. (Closed-Leaf check-in: 9ff4dfe1 user: drh tags: zipvfs-multifile-commit)
14:00
Fix a bug in the shell ".import" command: Do not end the field when an escaped double-quote occurs at the end of a CRNL line. (check-in: 5e239ecd user: drh tags: trunk)
12:02
Remove an unreachable conditional inserted by the previous check-in. (check-in: 3e1d55f0 user: drh tags: trunk)
11:03
Have the crash-test infrastructure code in test6.c read and write the 512-byte block containing the pending-byte lock as normal. Earlier versions did not access this part of the file in order to avoid triggering an assert in os_unix.c. But the assert() has since been removed. And not reading/writing this part of the file causes problems for multiplexor tests. (check-in: fdc3f3fa user: dan tags: zipvfs-multifile-commit)
11:00
Fix harmless compiler warnings. (check-in: a7e5fcd6 user: drh tags: trunk)
02:21
Fix harmless compiler warning. (check-in: 2525296d user: mistachkin tags: trunk)
00:59
Do not run the tool/vdbe-compress.tcl script that generates the vdbeExecUnion object that reduces the size of the sqlite3VdbeExec() stack frame unless the SQLITE_SMALL_STACK compile-time option is specified as on of the OPTS in the makefile. The vdbeExecUnion object gets in the way of C-compiler optimizer and results in slightly slower code. (check-in: 4d078147 user: drh tags: trunk)
2013-12-10
21:38
Avoid unnecessary calls to sqlite3VdbeSerialType() from within sqlite3VdbeSerialPut(). (check-in: 079c04a5 user: drh tags: trunk)
20:53
In the OP_MakeRecord opcode, factor out affinity changes into separate loop, for a slight performance advantage. (check-in: 1c6ee9b8 user: drh tags: trunk)
19:49
Simplify and improve the performance of the sqlite3VdbeMemGrow() routine. (check-in: 48ecf187 user: drh tags: trunk)
17:34
Use SQLITE_FCNTL_SYNC instead of SQLITE_FCNTL_SYNC_OMITTED. Add documentation in for FCNTL_SYNC and FCNTL_COMMIT_PHASETWO. (check-in: 46231af9 user: dan tags: zipvfs-multifile-commit)
16:35
Merge changes from the trunk. (check-in: 3ee736a3 user: dan tags: zipvfs-multifile-commit)
16:27
Fix handling of errors returned by the SQLITE_FCNTL_OMIT_SYNCED file-control. (check-in: d9a5f44f user: dan tags: zipvfs-multifile-commit)
2013-12-09
23:17
Simplifications to the OP_MakeRecord opcode and the sqlite3VdbeSerialPut() helper function. (check-in: 7277a769 user: drh tags: trunk)
21:48
Correct the VFS name as reported by the file control when explicitly using the 'win32-longpath' VFS. (check-in: c43b59da user: mistachkin tags: trunk)
21:06
Reduce the number of times that OP_Column calls sqlite3VdbeMemMakeWriteable(). (check-in: 6b518635 user: drh tags: trunk)
20:43
Simplify the sqlite3BtreeKeyFetch() and sqlite3BtreeDataFetch() interfaces to the storage engine. (check-in: bf975985 user: drh tags: trunk)
20:42
Modify the way some internal file-controls are invoked. In order to support multi-file transactions in the zipvfs extension. (check-in: 32fb1784 user: dan tags: zipvfs-multifile-commit)
19:25
Minor performance optimizations in pager.c. (check-in: ba9eef5f user: drh tags: trunk)
19:03
Performance optimizations for sqlite3VXPrintf(). (check-in: 9227ad48 user: drh tags: trunk)
12:24
Fix an incorrect test number in the output of the speedtest1.c program. No changes to the test algorithms. (check-in: fbfc075a user: drh tags: trunk)
03:07
Avoid unnecessary (no-op) calls to sqlite3DbFree() from sqlite3VdbeMemRelease(). (check-in: 2d6dd7c2 user: drh tags: trunk)
02:32
Use memmove() rather than a home-made copy loop in insertCell() too. (check-in: a3d796b1 user: drh tags: trunk)
01:58
Use memmove() rather than a home-made copy loop in dropCell() of btree.c, for a size reduction and performance improvement. (check-in: 78e17068 user: drh tags: trunk)
01:04
Avoid unnecessary no-op calls from getAndInitPage() to btreeInitPage() in the btree.c logic. (check-in: 81f5ae13 user: drh tags: trunk)
00:47
Use putVarint32() instead of putVarint() for a quantity that can never exceed 2GiB - 1. (check-in: 6996fb34 user: drh tags: trunk)
2013-12-08
23:33
Another simplification to the OP_MakeRecord opcode, making it slightly faster and very slightly smaller. (check-in: f2f5a3ce user: drh tags: trunk)
22:59
Avoid unnecessary calls to sqlite3VarintLen() from the OP_MakeRecord opcode. (check-in: 7a234fc3 user: drh tags: trunk)
19:54
Interchange two conditions in an "if" statment in sqlite3PagerAcquire() for very slight (0.06%) overall performance increase. (check-in: fbcc1a3e user: drh tags: trunk)
2013-12-07
23:35
Do not allow cursor hints to use expressions containing subqueries. This change fixes the problem seen in the previous check-in. (check-in: bfefc575 user: drh tags: cursor-hints)
20:39
If the SQLITE_ENABLE_CURSOR_HINTS macro is defined, then invoke the sqlite3BtreeCursorHint() interface to provide hints to the storage engine about rows that need not be returned. Hints can be disabled using SQLITE_TESTCTRL_OPTIMIZATIONS with SQLITE_CursorHints (0x2000). Cursor hints are not used by the built-in storage engine of SQLite but might be useful to applications that provide their own storage engine. The current code is work-in-progrss and contains bugs. (check-in: 3a9bec52 user: drh tags: cursor-hints)
17:01
Increase the version number to 3.8.3. (check-in: 23d00f22 user: drh tags: trunk)
16:56
At the start of each journaled write transaction, check to see if the database file has been moved, and if it has refuse to start the transaction, returning an SQLITE_READONLY_DBMOVED error code. Writing to a moved or renamed database is still allowed when journal_mode is OFF or MEMORY. (check-in: 369a23e0 user: drh tags: trunk)
16:45
Back out the new device capability. The determination of whether or not a file has moved is now done strictly using a file-control. (Closed-Leaf check-in: 9c59f5af user: drh tags: detect-moved-db)
12:29
Actually look at i-node numbers to determine whether or not the database file has moved. (check-in: 2b1884dc user: drh tags: detect-moved-db)
2013-12-06
23:25
Performance optimization to the moveToRoot() subroutine in btree.c. (check-in: b5842a70 user: drh tags: trunk)
22:45
Use memcmp() instead of the BINARY collating function where possible, for a performance boost. (check-in: c5a3a1af user: drh tags: trunk)
22:44
Remove some commented-out code from sqlite3BtreeMovetoUnpacked() to try to make it more readable. (check-in: 2d62d113 user: drh tags: trunk)
19:58
Add the SQLITE_READONLY_DBMOVED error code to the sqlite3ErrName() function. (check-in: 7789f801 user: mistachkin tags: detect-moved-db)
17:23
Only error out on a database file move when attempting to start a write transaction. Assume read transactions are still safe. And make the error SQLITE_READONLY_DBMOVED instead of SQLITE_IOERR_NODB. (check-in: 28348f2a user: drh tags: detect-moved-db)
15:49
Update to the 3.8.2 release. (check-in: e579661a user: drh tags: sessions)
15:37
Add code to detect if the database file is moved or deleted out from under SQLite and return an SQLITE_IOERR_NODB. (check-in: 8759a8e4 user: drh tags: detect-moved-db)
14:53
Version 3.8.2 (check-in: 27392118 user: dan tags: trunk, release, version-3.8.2)
2013-12-05
17:12
Fix harmless compiler warnings and improve the MSVC makefile. (check-in: c6325670 user: drh tags: trunk)
16:41
Fix two potential (and apparently harmless) shift overflows discovered by the -fcatch-undefined-behavior option of clang. (check-in: e19eead8 user: drh tags: trunk)
2013-12-03
23:33
Make use of the CC nmake macro even when cross-compiling (with MSVC). (Closed-Leaf check-in: aae7b30e user: mistachkin tags: memTests)
22:33
Fix harmless compiler warnings. (check-in: a12d214e user: mistachkin tags: memTests)
22:32
Add memory subsystem related defines to the compile-time options list. (check-in: 52a44146 user: mistachkin tags: memTests)
20:51
Merge in trunk changes. (check-in: a2914d6b user: drh tags: sessions)
19:49
Remove a branch in STAT4 logic that is no longer reachable after the previous change. (check-in: eca7d3f1 user: drh tags: trunk)
19:16
Fix a possible (and probably harmless) uninitialized variable in STAT3/4. (check-in: 33ad4f91 user: drh tags: trunk)
18:26
Fix an alignment problem in the stat3/stat4 code affecting 32-bit platforms. (check-in: 14f9bc79 user: dan tags: trunk)
17:09
Fix a typo in fts3varint.test preventing the valgrind permutation test from running. (check-in: b654a4ec user: dan tags: trunk)
10:35
Modify test file conflict2.test so that it works with the "inmemory_journal" permutation. (check-in: e4164fd8 user: dan tags: trunk)
10:14
Remove an unnecessary branch from the UPDATE logic - one that was also unreachable except following an OOM on x64. (check-in: 72f97277 user: drh tags: trunk)
09:49
Add a "database_may_be_corrupt" directive to test file fuzz3.test. Reformat an assert() statement in vdbeaux.c to make its intent clearer. (check-in: 9d8a0e13 user: dan tags: trunk)
02:52
Change some unreachable test conditions to NEVER(). (check-in: 7d99858b user: drh tags: trunk)
00:11
Fix a harmless compiler warning on MacOS. (check-in: 74328de1 user: drh tags: trunk)
2013-12-02
21:58
Merge all recent 3.8.2 beta changes from trunk. (check-in: 67c34ccf user: drh tags: sessions)
21:25
Another #if SQLITE_VERSION_NUMBER macro in speedtest1.c for compatibility with older versions of SQLite. (check-in: bc8eacc7 user: drh tags: trunk)
01:24
Still more #if SQLITE_VERSION_NUMBER macros in test/speedtest1.c to enable compilation against older versions of SQLite. (check-in: 4b20cf42 user: drh tags: trunk)
2013-12-01
18:10
Add some #if SQLITE_VERSION_NUMBER macros to test/speedtest1.c in order to make it compatible with older versions of SQLite so that it can be used for historical speed comparisons. (check-in: a9e1627a user: drh tags: trunk)
01:18
Fix typos in the header comment on the sqlite3Atoi64() routine. (check-in: c85e0c54 user: drh tags: trunk)
2013-11-30
12:49
Detect a corrupt UnpackedRecord and return SQLITE_CORRUPT prior to calling sqlite3BtreeMovetoUnpacked(). (check-in: 55ec474d user: drh tags: trunk)
2013-11-29
15:39
Change the name of the CORRUPTIBLE macro to CORRUPT_DB. (check-in: f865be10 user: drh tags: trunk)
15:06
Add a new sqlite3_test_control() that indicates that database files are always well-formed. Use this during testing to enable assert() statements that prove conditions that are always true for well-formed databases. (check-in: 15e4f63d user: drh tags: trunk)
2013-11-28
19:28
Update a few test cases to account for the new error message formats. (check-in: 65a5bce3 user: dan tags: trunk)
14:14
Remove an assert() condition that may not be true if the database file is corrupt. Update a test case in corruptC.test. (check-in: 0bcf7551 user: dan tags: trunk)
06:17
Fix a test case in temptrigger.test so that it works in auto-vacuum mode. (check-in: c3b7a0e6 user: dan tags: trunk)
2013-11-27
21:53
Merge all recent trunk changes. (check-in: 3a2a1bd4 user: drh tags: sessions)
21:07
Remove unnecessary local variables from sqlite3VdbeExec() in order to reduce stack-space requirements of that routine. (check-in: 81891288 user: drh tags: trunk)
19:17
Update documentation of sqlite3_column() for clarity. Update evidence marks on test cases. (check-in: ec2d47a1 user: drh tags: trunk)
18:00
Fix spelling typo in speedtest1.exe. (check-in: ae90300e user: mistachkin tags: trunk)
14:50
Fix some harmless compiler warnings in speedtest1.exe. (check-in: c75f561f user: drh tags: trunk)
13:48
Additional test cases for skip-scan. (check-in: ce70803f user: drh tags: trunk)
13:24
Make sure the colWidth array is correctly initialized in the ".explain" command of the shell. (check-in: ceebcdca user: drh tags: trunk)
04:22
Lower the threshold for using skip-scan from 50 to 18, based on experiments that show that 18 is the approximate break-even point for a variety of schemas. (check-in: 83c0bb99 user: drh tags: trunk)
04:00
Avoid using the GetVersionEx functions if they are considered deprecated. (check-in: afdca299 user: mistachkin tags: trunk)
03:01
Avoid using the GetVersionEx functions if they are considered deprecated. (Closed-Leaf check-in: 0ea9e472 user: mistachkin tags: vs2013)
01:23
Add additional test cases for skip-scan. (check-in: 1ae4915d user: drh tags: trunk)
00:45
Add additional test cases and requirements evidence marks for WITHOUT ROWID. (check-in: b408d788 user: drh tags: trunk)
2013-11-26
23:27
Make sure the update hook is not invoked for WITHOUT ROWID tables, as the documentation specifies. This bug was found while adding requirements marks, so a few extraneous requirements marks are included in this check-in. (check-in: 0978bac6 user: drh tags: trunk)
22:46
Add requirements test cases for determining when an expression is true and when it is false. (check-in: 838654e5 user: drh tags: trunk)
21:18
Changing the CAST behavior of REAL values actually changed a documented requirement. So we also have to change the requirement evidence text to match. (check-in: d84aa44e user: drh tags: trunk)
18:22
Reduce the amount of code used to implement OP_SeekGe and similar. (check-in: 8b12a15a user: dan tags: trunk)
18:00
Merge in performance enhancements from trunk. (check-in: fc9ae839 user: drh tags: sessions)
16:51
Fix a possible NULL pointer deference in the wordcount test program. (check-in: 6f91dca0 user: drh tags: trunk)
16:48
Change tclsqlite3.c so that it never invokes ctype macros with signed character arguments. (check-in: c07caabf user: drh tags: trunk)
16:20
Do not try to run the atof1.test test script on ARM hardware which lacks the "long double" type. (check-in: fafca560 user: drh tags: trunk)
15:45
Change the REAL-to-INTEGER casting behavior so that if the REAL value is greater than 9223372036854775807.0 then it is cast to the latest possible integer, 9223372036854775807. This is sensible and the way most platforms work in hardware. The former behavior was that oversize REALs would be cast to the smallest possible integer, -9223372036854775808, which is the way Intel hardware works. (check-in: 6f53fc71 user: drh tags: trunk)
01:13
Fix comment. (check-in: 8364af39 user: mistachkin tags: winHdr)
01:00
Further work on Windows header file reform. (check-in: 540f5525 user: mistachkin tags: winHdr)
00:33
Merge updates from trunk. (check-in: c5ab4378 user: mistachkin tags: winHdr)
00:28
Better support for UTF-8 paths on Cygwin. (check-in: 9954327c user: mistachkin tags: trunk)
2013-11-25
23:42
Add SQLITE_CONFIG_WIN32_HEAPSIZE option to configure the maximum isolated heap size on Windows. (check-in: 914e6c9d user: mistachkin tags: trunk)
22:24
Change a while-loop into a do-loop in sqlite3VdbeRecordCompare() and add an assert() to verify that the do-loop really is appropriate. This gives about a 10% performance boost in that routine, or a 0.9% boost overall. (check-in: 011a6be4 user: drh tags: trunk)
21:49
Clarify docs for the SQLITE_CONFIG_WIN32_HEAPSIZE option. (Closed-Leaf check-in: 51e87607 user: mistachkin tags: winHeapSize)
21:41
Remove a NEVER() from a branch that is now reachable during OOM faults. (check-in: 18bdcb05 user: drh tags: trunk)
20:50
Optimizations to the sqlite3BtreeMovetoUnpacked() routine in storage engine making it about 17.8% faster, which in turn makes SQLite over 1.2% faster overall. (check-in: 032e8993 user: drh tags: trunk)
20:14
Return an SQLITE_CORRUPT error if the content size field of a table record extends off the end of a page. (Closed-Leaf check-in: b48c4e40 user: drh tags: btree-optimization)
17:38
Uses shifts rather than division for arithmetic on the cell indices, since those indices are always non-negative. (check-in: 5bf2a3fe user: drh tags: btree-optimization)
16:52
Optimize the skipping of the payload size field when doing a binary search for a rowid. (check-in: 55e5bfa2 user: drh tags: btree-optimization)
16:23
Arrange for sqlite3BtreeMovetoUnpacked() to always leave the cursor cell parse cache invalidated. This fixes issues with previous check-ins on this branch and also runs faster. (check-in: a7467560 user: drh tags: btree-optimization)
15:01
More optimizations to sqlite3BtreeMovetoUnpacked(). But there are failures in TH3. Committing this intermediate state to facilitate bisecting. (check-in: f80497be user: drh tags: btree-optimization)
14:10
More improvements to sqlite3BtreeMovetoUnpacked() performance. (check-in: 88680698 user: drh tags: btree-optimization)
09:37
Correct line-endings in the new header file. (check-in: 94219b9f user: mistachkin tags: winHdr)
09:36
Initial work on isolating usage of the Windows header file. (check-in: 0d42c6b8 user: mistachkin tags: winHdr)
02:38
Performance improvements in sqlite3BtreeMovetoUnpacked(). (check-in: d0fb7ace user: drh tags: btree-optimization)
2013-11-24
23:18
Better support for UTF-8 paths on Cygwin. (Closed-Leaf check-in: 484162b6 user: mistachkin tags: cygUtf8)
01:14
Add the --scratch parameter to speedtest1. Improved error messages when misconfiguring memory parameters in speedtest1. (check-in: 8f3c767a user: drh tags: trunk)
00:46
The MEMSYS5 algorithm does not have to return the block with the lowest address. Any block of the appropriate size will do. Use the first block found on the freelist for the appropriate size for a performance improvement. (check-in: 12e612e8 user: drh tags: trunk)
2013-11-23
22:45
A much simpler fix is to simply change MEMSYS5 so that it takes any free block of the appropriate size (the first on the list of free blocks) rather than searching for the one with the smallest address. This is also faster than using the min-heap algorithm. Need to research to verify that the allocator still satisfies the Robson proof, however. (Closed-Leaf check-in: 8191b512 user: drh tags: memsys5-performance)
21:30
Use a heap-based primary queue rather than a linked list to store the available free blocks of each size in MEMSYS5, since this provides faster access to the first available block. (Closed-Leaf check-in: 7d2cdfad user: drh tags: memsys5-performance)
21:29
Add newlines at the end of some error messages in speedtest1. (check-in: 6b98f0af user: drh tags: trunk)
11:45
Report errors from sqlite3_exec() and sqlite3_config() in speedtest1. Fix a bug in the main testing logic that was found by these error reports. (check-in: 659f1a98 user: drh tags: trunk)
04:32
Fix the order of parameters to SQLITE_CONFIG_PAGECACHE in the speedtest1.exe program. (check-in: dbe85ef6 user: drh tags: trunk)
04:22
Adjust MSVC makefile to avoid using forward slashes in file names. (check-in: facf6dea user: mistachkin tags: trunk)
04:16
Add the "speedtest1.exe" test program. (check-in: fb6f0c6d user: drh tags: trunk)
00:27
Add experimental sqlite3_config option to control the native Win32 heap size. (check-in: f09f11e9 user: mistachkin tags: winHeapSize)
2013-11-22
21:32
Fix harmless compiler warning. (check-in: f336c18f user: mistachkin tags: trunk)
00:49
Minor correction to the batch build tool for MSVC. (check-in: 22144c9d user: mistachkin tags: trunk)
2013-11-21
23:37
Fix a harmless clang warning in the command-line shell. (check-in: 3d47a556 user: drh tags: trunk)
22:02
Slight change to the --timer output on wordcount for better display on windows: Avoid showing the full pathname of the executable. (check-in: b9e047b9 user: drh tags: trunk)
21:59
Changes some offset and amount parameters from "int" to "u32" to avoid harmless signed/unsigned comparison warnings. (check-in: 4e8c5d07 user: drh tags: trunk)
21:40
Modify wordcount so that timer information appears on standard error instead of standard output. Rename the run-wordcount.bash script to run-wordcount.sh and simplify it so that it stands a better chance of running on non-GNU systems. (check-in: 586c11ed user: drh tags: trunk)
21:23
Do not reuse factored constants that might have had their encodings changed. (check-in: 487f2036 user: drh tags: trunk)
20:48
Fix the code generator to honor turning off constant expression factoring. (check-in: 88262266 user: drh tags: trunk)
19:27
Add the --timer option to the wordcount test program. (check-in: a89fdf87 user: drh tags: trunk)
19:05
Remove a test from sqlite3VdbeMemFromBtree() which was unnecessary, and after the recent OP_Column refactoring, unreachable. (check-in: 23667f3b user: drh tags: trunk)
17:24
Make sure the OP_Next and OP_NextIfOpen opcodes are numbered close together for efficiency in switch() statements. OP_Prev and OP_PrevIfOpen too. (check-in: d4ccf0f5 user: drh tags: trunk)
16:08
When one or more arguments to a function are constants, try to factor out just those arguments into initialization code. (check-in: 50d350ab user: drh tags: trunk)
14:44
Remove the obsolete TK_CONST_FUNC token type. (check-in: 9b4217f0 user: drh tags: trunk)
14:33
Add the ability to factor constant functions out of inner loops. But do not factor out non-constant functions, like random(). (check-in: 1b0f779e user: drh tags: trunk)
04:18
Another improvement to OP_Function and an improvement to OP_Move. (check-in: 70b056fb user: drh tags: trunk)
03:43
A simple change to the OP_Function opcode improves overall performance by about 0.5%. (check-in: b890eefd user: drh tags: trunk)
03:12
Performance optimization to the OP_Next and OP_Prev opcodes. (check-in: ecaac28a user: drh tags: trunk)
01:33
Refactor the OP_Column opcode to make it clearer and easier to maintain. Overall, performance tests show about a 1% speed increase with this change. (check-in: 972881c6 user: drh tags: trunk)
01:04
Reduce the size of VdbeCursor again, this time without a performance hit. (Closed-Leaf check-in: 93393993 user: drh tags: OP_Column-refactor)
00:10
Unpack some fields, adding some space back to the VdbeCursor object, in order to help the code to run a little faster. (check-in: f8d5efcd user: drh tags: OP_Column-refactor)
2013-11-20
21:51
Reduce the size of the VdbeCursor object from 144 to 120 bytes. (check-in: 5f9d5068 user: drh tags: OP_Column-refactor)
20:58
Improved comments on the OP_Column changes. Optimize out loading of overflow pages for content with zero length. Add test cases for the latter. (check-in: 0e05679d user: drh tags: OP_Column-refactor)
19:28
Further performance tweaks to OP_Column. (check-in: 0e3f5df6 user: drh tags: OP_Column-refactor)
17:25
Refactoring the OP_Column opcode for improved performance and maintainability. (check-in: 7c914e39 user: drh tags: OP_Column-refactor)
02:53
Simplifications to the VdbeCursor object. (check-in: 5562cd34 user: drh tags: trunk)
00:59
Performance improvement for the OP_MustBeInt opcode in the VDBE. (check-in: 96a65388 user: drh tags: trunk)
2013-11-19
18:17
Fix a harmless MSVC compiler warning. (check-in: 6cc023bb user: drh tags: trunk)
13:55
Minor performance improvement to sqlite3SerialTypeGet(). (check-in: 17e8524f user: drh tags: trunk)
12:33
Change Noop-comments in where.c into Module-comments, so that they are omitting without SQLITE_ENABLE_MODULE_COMMENTS. (check-in: 3e577f40 user: drh tags: trunk)
02:34
Avoid seeking on the main data table during the first loop of an UPDATE if an index is sufficient to check the WHERE clause. (check-in: 57158d9d user: drh tags: trunk)
00:31
Fix an requirement mark in a test script so that it matches the typo-corrected requirement. No changes to code. (check-in: 072412d5 user: drh tags: trunk)
2013-11-18
19:32
Add comments identifing where the skip-scan option is decided in the query planner, to aid in tuning that decision. No changes to code. (check-in: e9df04ce user: drh tags: trunk)
18:48
Fix documentation typos. No changes to code. (check-in: 7caeb09c user: drh tags: trunk)
11:20
Fix harmless compiler warnings from clang scan-build. (check-in: 8d002740 user: drh tags: trunk)
08:41
Fix a problem with the shell tool EXPLAIN indentation code and VDBE sub-programs. (check-in: 9c8d6856 user: dan tags: trunk)
03:11
Enable the ONEPASS optimization for DELETE, for both rowid and WITHOUT ROWID tables. (check-in: 44a07afd user: drh tags: trunk)
2013-11-17
02:42
Make sure one-pass DELETE for WITHOUT ROWID tables correctly positions the PRIMARY KEY cursor. Make the same fix for UPDATE. (Closed-Leaf check-in: 6bd5750b user: drh tags: optimize-delete)
2013-11-16
23:16
Fix a couple of minor problems with the new delete logic. (check-in: a11243f8 user: drh tags: optimize-delete)
23:03
Fix an OOM-recovery problem in the DELETE code generator. (check-in: dc7be158 user: drh tags: optimize-delete)
22:48
Combine the rowid and WITHOUT ROWID paths for DELETE into a single path. (check-in: c4734b88 user: drh tags: optimize-delete)
20:45
The one-pass optimization is now working for DELETE on WITHOUT ROWID tables. (check-in: e4d220a3 user: drh tags: optimize-delete)
20:13
Enhance the DELETE logic so that it can make use of WHERE_ONEPASS_DESIRED for rowid tables. (check-in: 8f479a72 user: drh tags: optimize-delete)
15:35
Fully constraint the ORDER BY on the top-10 line of the --summary output from the wordcount test program. Add the run-wordcount.bash script for running wordcount in various configurations. (check-in: 7edf39eb user: drh tags: trunk)
14:03
Avoid unnecessary OP_IfNull checks when doing a range query where there is a constraint on the lower bound of the range. (check-in: de08a7e7 user: drh tags: trunk)
13:55
Simplification and performance improvement to the logic that factors constant expressions ouf of inner loops. (check-in: ee9353fd user: drh tags: trunk)
12:56
Fix testcase misc7-16 so that it works with the new UNIQUE constraint error message format. (check-in: c7f2ed9f user: drh tags: trunk)
2013-11-15
20:06
Add ALWAYS and NEVER macros to currently unreachable but important branches in sqlite3ExprCompare(). (Closed-Leaf check-in: cee835fe user: drh tags: expr-codegen-enhancement)
19:00
Merge the operator comment fixes from trunk. (check-in: 9f14f55c user: drh tags: expr-codegen-enhancement)
18:58
Fix comments on the OP_Divide and OP_Remainder operators, especially the "Synopsis:" comment, so that they agree with the actual implementation. (check-in: cc17f1f0 user: drh tags: trunk)
18:15
Changes to make the new constant expression factoring logic more general and more testable. (check-in: d10fb49a user: drh tags: expr-codegen-enhancement)
16:48
Add test cases for INSERT INTO ... DEFAULT VALUES on tables with numeric constants in CHECK constraints. (check-in: 79ec485b user: drh tags: expr-codegen-enhancement)
15:52
Improvements to the Expr comparison routine to make it more general. Improvements to unary-minus code generation so that it can make use of a global constant register with a zero value. (check-in: 835be656 user: drh tags: expr-codegen-enhancement)
13:12
Add the --query option to the wordcount test program. (check-in: 5960d11e user: drh tags: trunk)
12:41
Simplify the range scan code generate while also avoiding an unnecessary OP_Affinity opcode. (check-in: 372686bf user: drh tags: expr-codegen-enhancement)
03:30
Merge EXPLAIN fixes from trunk. (check-in: cd579727 user: drh tags: expr-codegen-enhancement)
03:21
Fix a typo in the "synopsis" for the OP_Lt opcode that causes an incorrect comment to be added to EXPLAIN output. (check-in: d99a30a2 user: drh tags: trunk)
03:16
Another adjustment to the EXPLAIN indentation logic, in order to deal with the sorter loop on a CREATE INDEX statement. (check-in: cbe85cc2 user: drh tags: trunk)
01:10
Rework the logic that factors constant expressions out of inner loops, making it both simpler and faster. (check-in: 8dc5c76c user: drh tags: expr-codegen-enhancement)
2013-11-14
23:59
Adjust the command-line shell EXPLAIN indentation logic to handle the second loop of an UPDATE that reads out a RowSet. (check-in: ea141a9b user: drh tags: trunk)
19:34
Remove an unused local variable. (check-in: 10d59226 user: drh tags: trunk)
19:18
Merge the skip-scan optimization into the sessions branch. (check-in: 7596d1bf user: drh tags: sessions)
15:35
An experimental virtual tables for showing the content of internal schema objects. (Leaf check-in: d1fbc6ca user: drh tags: schema2-vtab)
00:09
Simplification to the progress callback check. One branch removed. (check-in: 24ef1654 user: drh tags: trunk)
2013-11-13
23:48
Make sure the progress callback is invoked prior to an SQLITE_ROW return if it is overdue to be called. (check-in: 21f59b04 user: drh tags: trunk)
20:46
Merge the skip-scan enhancement into trunk. (check-in: b0bb975c user: drh tags: trunk)
19:01
Import the "PRAGMA vdbe_eqp" enhancement and the enhanced EXPLAIN formatting the shell from trunk. Fix a bug in skip-scan and add a test case to prevent a regression. (Closed-Leaf check-in: f668616a user: drh tags: skip-scan)
18:35
In the shell tool, if an "EXPLAIN" command is executed in ".explain on" mode, attempt to automatically indent the bodies of loops in the output VDBE program. (check-in: e7d34ec6 user: dan tags: trunk)
17:58
Add the "PRAGMA vdbe_eqp" command, only available with SQLITE_DEBUG. Simplify some of the other debugging logic. (check-in: 8ce33f4c user: drh tags: trunk)
17:24
Add VDBE comments to the beginning and end of skip-scan loops. (check-in: 0c85d93b user: drh tags: skip-scan)
16:58
Improve the way that skip-scan loops are constructued. Add test cases. Improved the scoring of skip-scan loops. (check-in: 5e75ab93 user: drh tags: skip-scan)
15:32
Add test cases for skip-scan. Enhance "do_test" so that if the expected result is of the form "/*..*/" or "~/*..*/" it treats the expected result as a glob pattern rather than as a regular expression. Fix a bug in ANALYZE result loading associated with WITHOUT ROWID tables. (check-in: d3e6e9b2 user: drh tags: skip-scan)
12:27
Add the ability to use an index even if the left-most columns of the index are unconstrainted, provided that the left-most columns have few distinct values. (check-in: 27dd5993 user: drh tags: skip-scan)
08:55
Avoid an unnecessary OP_IfNull while doing an indexed search. (check-in: 51960009 user: drh tags: trunk)
2013-11-12
21:37
Adjust the SQLITE_MALLOCSIZE defines, primarily to make sure _msize gets used with MSVC when appropriate. (check-in: 4e7e805e user: mistachkin tags: trunk)
21:10
Fix harmless compiler warning. (check-in: ddacd101 user: mistachkin tags: trunk)
20:18
Minor enhancements to the auxiliary information added to EXPLAIN output with SQLITE_EXPLAIN_ENABLE_COMMENTS. (check-in: 0d1328e3 user: drh tags: trunk)
18:37
Break out the structure and macro definitions of where.c into a separate header file whereInt.h for easier editing and debugging. (check-in: c4446712 user: drh tags: trunk)
17:46
When possible, have FTS use 32-bit operations to read varints from the database. (check-in: aa7ba302 user: dan tags: trunk)
15:39
Import recent bug fixes from trunk. (check-in: 20eeee4c user: drh tags: sessions)
15:33
A better (simpler) fix to the count(*) problem addressed in the previous check-in. (check-in: 0f924c6e user: drh tags: trunk)
14:55
Make sure the count(*) optimization works correctly on WITHOUT ROWID tables. (check-in: 91174779 user: drh tags: trunk)
12:30
Update test command [explain_i] to handle the opcodes used by virtual tables (VNext, VFilter etc.). (check-in: 1b215ee3 user: dan tags: trunk)
12:17
Fix for [4065ac8595]: Do not order CROSS or LEFT joins, even if the right-hand-side is a virtual table. (check-in: e2684ece user: dan tags: trunk)
01:11
Fix an error message in the spellfix extension so that it conforms to the style of error messages in the core. (check-in: b896ae3d user: drh tags: trunk)
2013-11-11
23:26
Add a comment to the sqlite3_index_info structure indicating that the new field is only available in SQLite 3.8.2 or later. (check-in: 239648f8 user: drh tags: trunk)
23:02
Fix two test cases (due to changes in the formatting of constraint errors) so that all tests now pass. (check-in: 129e2b69 user: drh tags: sessions)
22:55
Merge in the WITHOUT ROWID changes. A few tests are failing now. They will be fixed in a follow-on check-in. (check-in: 5addd123 user: drh tags: sessions)
19:56
Fix typos in compile and run-time tests of the sqlite library version number in rtree.c. (check-in: f58d5701 user: dan tags: trunk)
19:01
Add a way for virtual tables to return the expected number of rows for a scan (not just the overall cost) to SQLite. Have the rtree module make use of this. (check-in: 5a3cfd74 user: dan tags: trunk)
16:55
Remove unreachable code, replacing it in most cases with assert() or NEVER() macros. (check-in: 924d63b2 user: drh tags: trunk)
03:37
Fix issue with several memory allocation tests due to KeyInfo allocations now being shared. (check-in: 569fedd6 user: mistachkin tags: trunk)
03:24
Convert several ALWAYS() macros in vdbe.c into assert() statements. (check-in: acc40ff6 user: drh tags: trunk)
02:46
Fix several harmless compiler warnings. (check-in: e6ff492f user: mistachkin tags: trunk)
01:42
Modify a HeapValidate assert in the Win32 native allocator. (check-in: aaed7d1d user: mistachkin tags: trunk)
00:43
Fix a problem in OP_IdxDelete as used by REPLACE conflict resolution that comes up due to recent enhancements that reduce the work required for UNIQUE NOT NULL indices. (check-in: 61d7d475 user: drh tags: trunk)
2013-11-10
00:03
Fix typo in comment and remove superfluous blank line. No changes to code. (check-in: 023233f1 user: mistachkin tags: trunk)
2013-11-09
23:55
Fix compilation errors with some compilers that do not reference recent Windows SDK header files. (check-in: a5805976 user: mistachkin tags: trunk)
23:44
Fix memory type mismatch when compiled with MEMDEBUG. (check-in: 2c32bd6d user: mistachkin tags: trunk)
22:08
Add the sqlite3_win32_compact_heap() function for cleaning up memory allocations on Win32 system. Also cleanup the winGetTempname() function. Changes to the Win32 VFS only. (check-in: d06d9fdb user: drh tags: trunk)
21:19
Updates to documentation on sqlite3_last_insert_rowid(). No changes to code. (check-in: a4c5804e user: drh tags: trunk)
21:11
Use the UNICODE_STRING_MAX_CHARS constant from WinNT.h. (Closed-Leaf check-in: 3fefe4dd user: mistachkin tags: win32heap)
21:10
Furhter cleanup of the winGetTempname function. (check-in: 674de36b user: mistachkin tags: win32heap)
19:47
Updates to requirements marks. No changes to code. (check-in: 8a036628 user: drh tags: trunk)
18:15
Throw an error if AUTOINCREMENT appears in a WITHOUT ROWID table. Updates to API documentation to discuss WITHOUT ROWID. (check-in: b1abb2b0 user: drh tags: trunk)
2013-11-08
20:10
Add more assert() statements and fix compilation issues when the Win32 native heap is not enabled. (check-in: fbf8c382 user: mistachkin tags: win32heap)
19:51
Disable use of HeapCompact on Windows CE as it is not available on all versions. (check-in: e9694b87 user: mistachkin tags: win32heap)
18:52
Adjust the winMemInit return code handling used when resetting the Win32 native heap. (check-in: 37853665 user: mistachkin tags: win32heap)
18:37
Minor corrections to logging for sqlite3_win32_compact_heap(). (check-in: 71347d02 user: mistachkin tags: win32heap)
18:13
Enhancements to the Win32 native heap integration. (check-in: c54dc967 user: mistachkin tags: win32heap)
17:13
Fix harmless compiler warnings. (check-in: 0077c077 user: drh tags: trunk)
17:03
Merge the Cygwin directory separator fix. Also fix a C++-ism in the multiplexor code so that it will compile on MSVC. (check-in: 830629d3 user: drh tags: trunk)
16:54
Performance improvement: Avoid unnecessary seeks on REPLACE INTO for a WITHOUT ROWID table. (check-in: fd11afa5 user: drh tags: trunk)
15:19
Performance improvements: Avoid unnecessary seeks when doing a single-row UPDATE on a WITHOUT ROWID table. (check-in: 6f187a0f user: drh tags: trunk)
12:14
Merge change to drop the mutex on the multiplexor before entering the xRead VFS call, in order to enhance parallelizability. (check-in: 3c566e41 user: drh tags: trunk)
01:09
Optimize out a NotExists/NotFound opcode that occurs in UPDATE processing after constraint checks if there is no possiblity that the constraint checking code might have moved the cursor. (check-in: 74e3ee2e user: drh tags: trunk)
00:16
On the --summary output of wordcount, add the a PRAGMA integrity_check and a 64-bit checksum of the entire table. (check-in: 1d1d13b8 user: drh tags: trunk)
2013-11-07
23:23
Add many new options to the wordcount test program: --delete, --pagesize, --cachesize, --commit, --nosync, and --journal. (check-in: e938112d user: drh tags: trunk)
22:11
Fix temporary directory separator handling for Cygwin. (Closed-Leaf check-in: 9d870d5f user: mistachkin tags: cygDirSep)
21:32
Fix a compiler warning introduced by the previous check-in. (check-in: 404bd98f user: drh tags: trunk)
21:25
Enable the WHERE_ONEPASS_DESIRED optimization for UPDATE operations on WITHOUT ROWID tables. (check-in: 21530798 user: drh tags: trunk)
19:43
Add the --stats and --summary options to the wordcount.c test program. (check-in: 8aa21e67 user: drh tags: trunk)
18:40
Increase the version number to 3.8.2. (check-in: 9ad5b74c user: drh tags: trunk)
18:37
Add the "wordcount.c" test program. (check-in: f02ee546 user: drh tags: trunk)
16:08
Add support for WITHOUT ROWID tables. This change also includes (1) standardization of the error message returned from run-time constraint errors, (2) improved EXPLAIN comments, (3) the SQLITE_ENABLE_EXPLAIN_COMMENTS option, (4) the SQLITE_ENABLE_MODULE_COMMENTS option, and (5) a bug fix (see [573cc27427]) in the handling of REPLACE on the rowid when secondary indices use FAIL or IGNORE. (check-in: c80e229d user: drh tags: trunk)
14:09
Make sure cached KeyInfo objects are only valid for a single database connection. Clear all cached KeyInfo objects on any collating sequence change. (Closed-Leaf check-in: 55eea178 user: drh tags: omit-rowid)
2013-11-06
19:59
Reference count the KeyInfo object. Cache a copy of an appropriate KeyInfo for each index in the Index object, and reuse that one copy as much as possible. (check-in: defd5205 user: drh tags: omit-rowid)
16:28
Have the OP_NoConflict opcode set the VdbeCursor.seekResult variable. This speeds up subsequent OP_Insert and OP_IdxInsert opcodes. (check-in: 47455500 user: dan tags: omit-rowid)
14:52
Use ansi escape codes to use different colored text for opcode names in the output of [explain_i]: Red for opcodes that insert or delete b-tree elements, blue for opcodes that move cursors and green for the ResultRow opcode. (check-in: 4be2b64b user: dan tags: omit-rowid)
14:36
Allocate extra stack space for UnpackedRecord objects, reducing the need to malloc for them as often, and thereby get a performance improvement. (check-in: a725a75f user: drh tags: omit-rowid)
14:05
Minor optimization to the OP_Halt opcode. (check-in: d70c7881 user: drh tags: omit-rowid)
12:56
Improved ORDER BY optimization for WITHOUT ROWID tables. (check-in: 8f1709ff user: drh tags: omit-rowid)
12:05
Disable the OR optimization for WITHOUT ROWID tables, since it relies on the use of rowids. (check-in: 6055dad2 user: drh tags: omit-rowid)
11:46
Remove an incorrect test case from conflict2.test. (check-in: 427612ef user: drh tags: omit-rowid)
02:36
Remove an unused variable. (check-in: e9c1e419 user: drh tags: omit-rowid)
2013-11-05
22:39
Make sure the query planner knows that the PRIMARY KEY index of a WITHOUT ROWID table is always a covering index. (check-in: 03e7019e user: drh tags: omit-rowid)
19:41
Fix conflict handling for the case when the rowid uses REPLACE but other unique constraints use FAIL or IGNORE. (check-in: 573cc274 user: drh tags: omit-rowid)
17:30
Fix a bug in secondary index initialization when the secondary index is a superset of the PRIMARY KEY for a WITHOUT ROWID table. (check-in: 52a3d885 user: drh tags: omit-rowid)
16:56
Remove an "explain" command from test script without_rowid1.test that was accidentally committed. (check-in: 4b41d989 user: dan tags: omit-rowid)
16:39
Unless the destination table is completely empty, disable the xfer optimization for WITHOUT ROWID tables. (check-in: 3877c9f5 user: dan tags: omit-rowid)
15:02
Updates to the backcompat.test test script so that it works with really old (3.6.*) versions. (check-in: ace7e7b6 user: dan tags: omit-rowid)
14:19
Add tests for updates of without-rowid tables that use non-BINARY collation sequences for the primary key columns. And a minor bugfix to the same. (check-in: 99b1fa4b user: dan tags: omit-rowid)
13:33
Standardize the error messages generated by constraint failures to a format of "$TYPE constraint failed: $DETAIL". This involves many changes to the expected output of test cases. (check-in: 54b22192 user: drh tags: omit-rowid)
01:59
Add the conflict2.test script. Fix issues discovered by this script. (check-in: 294ed337 user: drh tags: omit-rowid)
2013-11-04
22:04
Add the index7.test script for testing partial indices with WITHOUT ROWID tables. Fix bugs in ANALYZE located by that script. (check-in: 79befe3a user: drh tags: omit-rowid)
21:44
Bug fixes in the INSERT constraint checker. Refactor the Rowid handling logic for ANALYZE with STAT3/4. (check-in: 1ea43c0f user: drh tags: omit-rowid)
18:34
Add another test case file for WITHOUT ROWID and fix the bugs that the new test file uncovered. (check-in: bc2a06eb user: drh tags: omit-rowid)
17:00
Fix a problem with processing INTEGER PRIMARY KEY on a WITHOUT ROWID table. (check-in: 89098e6d user: drh tags: omit-rowid)
15:23
Correctly handle changing counting when inserting and deleting on WITHOUT ROWID tables. Add more FOREIGN KEY test cases. (check-in: d072bcd0 user: drh tags: omit-rowid)
13:56
Correctly handle self-referential foreign keys on WITHOUT ROWID tables. (check-in: af128862 user: drh tags: omit-rowid)
08:56
Fix a bug preventing FTS from correctly processing bracket tokens that are immediately preceded by characters that are neither whitespace or token characters. (check-in: 49be646c user: dan tags: trunk)
2013-11-03
02:27
Improved comments on foreign key logic. (check-in: 1315d910 user: drh tags: omit-rowid)
2013-11-02
22:29
Improved Synopsis on register comparison operators. Fix a bug on the constraint check generator. (check-in: a7a18b65 user: drh tags: omit-rowid)
22:09
Many new test cases added, that mostly work. Currently 18 errors in without_rowid3.test. Also there is a hack marked by a /*FIXME*/ comment on at fkey.c:547 that needs fixing. (check-in: 39e32187 user: drh tags: omit-rowid)
19:34
Change the "idx" name of the primary key index for WITHOUT ROWID tables in sqlite_statN statistics tables to be the name of the table rather than the fabricated index name (ex: sqlite_autoindex_xyz_1). This makes it consistent with sqlite_master table. (check-in: 4ee4d310 user: drh tags: omit-rowid)
18:46
Update the ANALYZE logic so that it works with WITHOUT ROWID tables. (check-in: 9075770e user: drh tags: omit-rowid)
14:37
Store the root page of the PRIMARY KEY index for a WITHOUT ROWID table in the sqlite_master entry for the main table and omit the sqlite_master entry for the PRIMARY KEY. (check-in: b7544bb2 user: drh tags: omit-rowid)
11:43
Import the sqlite3_analyzer fixes from trunk. (check-in: ac711459 user: drh tags: omit-rowid)
11:34
A pair of sqlite3_analyzer bug fixes: (1) quote strings in the SQL at the end of the output. (2) Fix test_stat.c so that it no longer misses some overflow pages on internal index pages. (check-in: 42a11e74 user: drh tags: trunk)
2013-11-01
22:02
Size KeyInfo objects so that IdxInserts always compare the correct number of fields. (check-in: 302a8139 user: drh tags: omit-rowid)
20:30
Fix sqlite3_analyzer so that it works with WITHOUT ROWID tables. Fix index generation for secondary indices that include fields from the PRIMARY KEY. (check-in: f9769d70 user: drh tags: omit-rowid)
18:14
Additional UPDATE test cases for WITHOUT ROWID. (check-in: 65384ae0 user: drh tags: omit-rowid)
17:59
Fix an invalid cast operation in the WITHOUT ROWID parsing logic. (check-in: 845153be user: drh tags: omit-rowid)
17:21
Merge all changes from trunk, and disable a pair of corruption tests that are no longer valid since sqlite_master.rootpage can now be NULL for tables. (check-in: dd5d57b9 user: drh tags: omit-rowid)
17:08
Change the interface to sqlite3GenerateConstraintChecks() for improved lucidity and to fix issues in dealing with UPDATEs for WITHOUT ROWID tables. Make sure iDataCur and iIdxCur are initialized when processing DELETEs of a VIEW. UPDATE processing distinguishes between changes to ROWID and PRIMARY KEY. (check-in: c525ac56 user: drh tags: omit-rowid)
14:03
Improved VDBE comments on the constraint checker. Fix a missing write lock in the UPDATE logic. (check-in: 3bed599e user: drh tags: omit-rowid)
12:42
Some UPDATE statements now working in WITHOUT ROWID tables. (check-in: 5c0eaea6 user: drh tags: omit-rowid)
01:45
A couple of bug fixes. (check-in: cdf00248 user: drh tags: omit-rowid)
2013-10-31
20:34
Fix the Synopsis on OP_Concat. Added test_addop_breakpoint() during SQLITE_DEBUG. Enhanced sqlite3VdbeChangeToNoop() to omit the instruction if it is the most recent added. Continue to fix problems with UPDATE and WITHOUT ROWID. (check-in: 9b6d9e10 user: drh tags: omit-rowid)
18:49
Fix a problem in os_unix.c causing compilation failure if SQLITE_DEBUG and SQLITE_MAX_MMAP_SIZE=0 are both defined. (check-in: 090db8c8 user: dan tags: trunk)
17:38
Fix issues with quering from an auxiliary index that must refer back to the PRIMARY KEY index of a WITHOUT ROWID table. (check-in: cff1f55c user: drh tags: omit-rowid)
15:37
Improved comments and variable names in infrastructure routines of UPDATE, DELETE, and INSERT. (check-in: ad90e762 user: drh tags: omit-rowid)
12:13
Moving UPDATE towards the iDataCur/iIdxCur representation. Still not working for WITHOUT ROWID, though. (check-in: deacbd21 user: drh tags: omit-rowid)
11:15
Refactor the INSERT, DELETE, and UPDATE code generators to distinguish between the "data cursor" and the "first index cursor", which are no longer consecutive in the case of a WITHOUT ROWID table. (check-in: 1adfca60 user: drh tags: omit-rowid)
06:39
Update comments in the MSVC batch build tool. (check-in: 0414bb73 user: mistachkin tags: trunk)
06:13
Enable some more tests on Windows. (check-in: 72389c29 user: mistachkin tags: trunk)
06:11
Fix harmless compiler warnings. (check-in: 1a0a8865 user: mistachkin tags: trunk)
2013-10-30
20:22
Continue working to get UPDATE operational for WITHOUT ROWID tables. Fix PRAGMA integrity_check so that it works on WITHOUT ROWID tables. (check-in: 0d4fea74 user: drh tags: omit-rowid)
15:52
Make sure KeyInfo objects on multi-column indices of WITHOUT ROWID tables have the correct nField and nXField values. Also, add the SQLITE_ENABLE_MODULE_COMMENT compile-time option and the VdbeModuleComment() macro and use it to label entry and exit points of some key routines. (check-in: 6d9af606 user: drh tags: omit-rowid)
13:46
In the P4 column of the EXPLAIN listing, abbreviate "keyinfo" as just "k" and "BINARY" as just "B". (check-in: 72d45eb7 user: drh tags: omit-rowid)
12:43
Enhance the timer in the shell to show wall-clock time in addition to user and kernel CPU time. (check-in: 908e2c21 user: drh tags: trunk)
12:30
Have the shell ".timer on" command cause the shell to report wall-clock time for each query (as well as user and system CPU time). (Leaf check-in: 5530cdc4 user: dan tags: shell-wall-clock)
03:25
Add the "Esri Spatially-Enabled Database" file format to the magic.txt file. (check-in: 8530a18f user: drh tags: trunk)
02:37
Merge EXPLAIN enhancements from trunk. (check-in: 2fcac056 user: drh tags: omit-rowid)
02:28
Add the SQLITE_ENABLE_EXPLAIN_COMMENTS compile-time option to enable extra commentary in the EXPLAIN output. Formerly, this was only available with SQLITE_DEBUG. (check-in: e1a89b56 user: drh tags: trunk)
00:25
Enhanced display of register ranges in the auxiliary comments added to EXPLAIN. (check-in: d6b0c392 user: drh tags: trunk)
2013-10-29
20:47
Import the automatic comment generating changes from trunk. (check-in: 8bb51da1 user: drh tags: omit-rowid)
20:40
Automatically generated comments on many VDBE opcodes when in SQLITE_DEBUG mode. Comments derive from the "Synopsis:" field added to each opcode definition in vdbe.c. (check-in: 5f310c6a user: drh tags: trunk)
16:14
Improved comments on the constraint checking logic. (check-in: 141a38a7 user: drh tags: omit-rowid)
2013-10-28
22:47
Merge all trunk changes since 3.8.1 into the sessions branch. (check-in: aa72ea8a user: drh tags: sessions)
22:39
Merge recent fixes from trunk. (check-in: 9f8191d1 user: drh tags: omit-rowid)
22:33
Formatting improvements to the WHERE-clause constraint display in the wheretrace debugging logic. (check-in: 3a9e3ed9 user: drh tags: trunk)
20:38
Add regression tests for ticket [c620261b5b5]. (check-in: 05a35b09 user: drh tags: trunk)
20:15
Do not use transitive WHERE-clause constraints on LEFT JOINs. Fix for ticket [c620261b5b5dc]. (check-in: 9aac4e58 user: drh tags: trunk)
19:59
More wheretrace debugging support: Show a listing of all WHERE clause terms (on wheretrace bit 0x100) and include important flags such as TERM_VIRTUAL, WO_EQUIV, and EP_FromJoin. (check-in: 92ccd705 user: drh tags: trunk)
19:03
Bug fix and enhancements to the improved wheretrace logic that shows the constraint expressions. (check-in: 10f125f5 user: drh tags: trunk)
14:34
Improved "wheretrace" capabilities: Show the constraint expression if the wheretrace flag has the 0x100 bit set and if compiled with SQLITE_ENABLE_TREE_EXPLAIN. (check-in: 710a18ac user: drh tags: trunk)
2013-10-26
15:40
Work on the UPDATE and INSERT logic. This is an incremental check-in so that can switch over to trunk to work on an unrelated issue there. (check-in: 086ec2a1 user: drh tags: omit-rowid)
13:36
Replace the OP_IsUnique opcode with OP_NoConflict. This code simplification might be useful to move onto trunk even if this branch is never merged. (check-in: e6650e16 user: drh tags: omit-rowid)
00:58
Minor refactoring of variable names and fixes to comments in insert.c. (check-in: ae61a343 user: drh tags: omit-rowid)
2013-10-25
19:17
Progress toward getting UPDATE to work in WITHOUT ROWID tables. (check-in: e557b7d8 user: drh tags: omit-rowid)
14:46
Basic DELETE operations now working on WITHOUT ROWID tables. (check-in: 9eafafa3 user: drh tags: omit-rowid)
2013-10-24
19:48
Update the interface to the sqlite3GenerateRowDelete() utility so that it is able to handle WITHOUT ROWID tables. The implementation still needs to be completed. (check-in: 85daf517 user: drh tags: omit-rowid)
15:20
Add the ".open" command to the command-line shell. (check-in: 21eccb91 user: drh tags: trunk)
14:16
Delete PRIMARY KEY index entries last. Only construct the unique prefix of an index key when deleting entries from an index. (check-in: 0e56ba69 user: drh tags: omit-rowid)
11:55
Remove an obsolete comment from the VDBE. No code changes. (check-in: 53bb070c user: drh tags: omit-rowid)
00:18
Correctly handle queries that use secondary indices of WITHOUT ROWID tables. (check-in: d8bc8595 user: drh tags: omit-rowid)
2013-10-23
23:37
Change the sqlite3OpenTable() utility to open the PRIMARY KEY index when reading a WITHOUT ROWID table. (check-in: 247f3899 user: drh tags: omit-rowid)
22:23
Construct secondary indices on WITHOUT ROWID tables. (check-in: 2c028ddc user: drh tags: omit-rowid)
17:39
Report an error when trying to resolve column name "rowid" in a WITHOUT ROWID table. (check-in: 36bcc9cb user: drh tags: omit-rowid)
16:03
Get VACUUM and the xfer optimization working with WITHOUT ROWID. (check-in: 579815ff user: drh tags: omit-rowid)
13:30
Some inserts and queries working for multi-column primary keys and WITHOUT ROWID. (check-in: b21d831b user: drh tags: omit-rowid)
01:57
Some simple inserts and queries working on WITHOUT ROWID tables. (check-in: 3f8016de user: drh tags: omit-rowid)
00:32
Build internal data structures appropriately for WITHOUT ROWID tables. (check-in: 35a36060 user: drh tags: omit-rowid)
2013-10-22
18:01
The Index object now has nKeyCol and nColumn. nColumn is the total number of columns and nKeyCol is the number of key columns. Currently these always differ by one. Refactor aiColumn[] to be of type i16 instead of int. (check-in: a106ce86 user: drh tags: omit-rowid)
14:28
Add a procedure to handle the messy details of allocating an Index object from the heap. (check-in: 45efc94f user: drh tags: omit-rowid)
10:23
Extra backwards-compatibility tests verify that UNIQUE and PRIMARY KEY indices are created in the correct order. Other backwards-compatibility tests already cover this, but it does not hurt to double up. (check-in: 5ca0ea2e user: drh tags: omit-rowid)
01:18
Previous refactor is not going to be helpful because implied indices must be created in the same order that they appear in the CREATE TABLE statement for backwards compatibility. This is a much smaller change to clean up a few loose ends. (check-in: 824b549f user: drh tags: omit-rowid)
2013-10-21
23:55
Minor refactoring of the PRIMARY KEY parsing logic to facilitate enhancements. (Closed-Leaf check-in: 4e69dd5f user: drh tags: omit-rowid)
23:17
Improve support for the SQLITE_OMIT_FLAG_PRAGMAS compile-time option. (check-in: f1d8c3b0 user: mistachkin tags: trunk)
13:15
Drop the mutex on the multiplexor before entering the xRead VFS call. (Closed-Leaf check-in: a00d2ed4 user: drh tags: multiplex-parallel-read)
02:14
Simplification of the syntax: Merely append "WITHOUT rowid" to the end of the table definition. (check-in: 131cc6e1 user: drh tags: omit-rowid)
2013-10-19
23:31
Experimental changes toward "index only" tables. Add the ability to specify options on CREATE TABLE statements using the WITH clause modeled after PostgreSQL and SQL Server. Only the "omit_rowid" option is currently recognized and that option is currently a no-op. (check-in: 0248ec5e user: drh tags: omit-rowid)
16:51
Improved header comment with better instructions on the vfslog.c extension. (check-in: 4bd592c8 user: drh tags: trunk)
15:07
Fix a bug causing an "malformed database schema error" error if a temp table with the same name as an existing table that has at least one temp trigger attached to it is created. (check-in: 56dca4a6 user: dan tags: trunk)
2013-10-18
20:03
Add the SQLITE_FCNTL_TRACE file control and generate it for OP_Trace when compiled with SQLITE_USE_FCNTL_TRACE. Update vfslog.c to make use of the new file control. Also update vfslog.c to log UNLOCK events before the fact, rather than afterwards. (check-in: e801f35a user: drh tags: trunk)
17:42
Further enhance the vfslog extension to record the number of freelist pages and the first freelist page in CHNGCTR-READ and CHNGCTR-WRITE records. (check-in: 08157524 user: drh tags: trunk)
14:37
In the vfslog extension for FILECONTROL records, show the pragma name for SQLITE_FCNTL_PRAGMAs and the requested size for SQLITE_FCNTL_SIZE_HINT. (check-in: f0629695 user: drh tags: trunk)
2013-10-17
12:57
Version 3.8.1 (check-in: c78be6d7 user: drh tags: trunk, release, version-3.8.1)
2013-10-16
23:58
Fix a typo in a requirements mark comment. No changes to code. (check-in: e5a439cf user: drh tags: trunk)
14:32
Merge the latest trunk changes. (check-in: 58065468 user: drh tags: sessions)
11:39
Clear a valgrind error by zeroing the first 4 bytes of the temp-space allocation used by the b-tree module. (check-in: 8651aba1 user: dan tags: trunk)
11:31
Fix memory and resource leaks for WinCE and Cygwin, and a compiler warning on windows with SQLITE_THREADSAFE=0. (check-in: 9905cea9 user: drh tags: trunk)
09:49
Fix memory/resource leaks for WinCE and Cygwin. (Closed-Leaf check-in: 2470d1bb user: mistachkin tags: wince-fixes)
2013-10-15
19:06
Add the "languageid" hidden column to fts4aux. (check-in: 891df358 user: dan tags: trunk)
15:35
Changes to test code to make sure no server threads are left running after server1.test finishes. (check-in: 1086e00b user: dan tags: trunk)
14:29
Fix an 8-byte alignment problem on the "crash test" harness (test code, not in the core) that causes problems on Sparc. (check-in: bcbc6503 user: drh tags: trunk)
14:10
Merge the latest trunk changes into the sessions branch. This merge should fix the build for WinRT. (check-in: e111e4ed user: drh tags: sessions)
11:58
Fix harmless macro redefinition warnings in the totype extension. (check-in: c9c1f8d6 user: drh tags: trunk)
10:43
Fix harmless macro redefinition warnings in the totype extension. (Closed-Leaf check-in: a38adeb7 user: mistachkin tags: noWarnings)
2013-10-14
22:35
Fix harmless compiler warning in the totype extension. Include all standard whitespace characters in totypeIsspace. Minor adjustments to style and comments. (check-in: 73238f65 user: mistachkin tags: trunk)
21:14
Move the tointeger() and toreal() functions out of core and make them into a run-time loadable extension. (check-in: 9f66dd7e user: drh tags: trunk)
20:30
Fix a crash in FTS incremental phrase processing that can occur if the second or subsequent token is much more common in the dataset than the first. (check-in: 0bf438fc user: dan tags: trunk)
19:35
Add implementations for the toInteger() and toReal() SQL functions. (check-in: a0f7cbc0 user: drh tags: trunk)
15:41
Fix for building with SQLITE_OMIT_FOREIGN_KEY. (check-in: b8b5f6c8 user: dan tags: trunk)
14:30
Update the foreign_key_check pragma so that when a parent table is undefined it is treated as an empty table. (check-in: 208b259a user: drh tags: trunk)
14:21
Corrects to comments on the STAT4 implementation. (check-in: e06f74d3 user: drh tags: trunk)
13:21
Make subroutines sampleCopy() and valueFromExpr() have file scope. (check-in: 1660efbe user: drh tags: trunk)
10:46
Add a new application_id for GeoPackage version 1.0. (check-in: 98ddfe45 user: drh tags: trunk)
2013-10-12
23:39
Merge updates from trunk. (Closed-Leaf check-in: a88b5be0 user: mistachkin tags: toTypeFuncs)
20:22
Restore the index_list pragma back to its former operation. Create a new PRAGMA stats used to access the table and index widths and heights. (check-in: f0cf8c85 user: drh tags: trunk)
19:06
In "PRAGMA foreign_key_check", treat missing parent tables as empty (instead of as errors). (Closed-Leaf check-in: 8c13a7fd user: dan tags: fkc-missing-parent-tables)
15:12
Fix handling of "DROP TABLE" commands when "PRAGMA defer_foreign_keys=1" is set. (check-in: 27001356 user: dan tags: trunk)
13:16
Add tests that demonstrate that PRAGMA defer_foreign_keys will reset to off at the conclusion of the next transaction. (check-in: 67e28a11 user: drh tags: trunk)
09:32
Changes to the new initial row of PRAGMA index_list results. (Closed-Leaf check-in: 0c4dd9ff user: mistachkin tags: indexList)
02:33
Fix harmless compiler warning. (check-in: 4b130f88 user: mistachkin tags: trunk)
02:31
Permit the creation of VSIX packages for Win32. (check-in: 035d03e9 user: mistachkin tags: trunk)
00:56
Fix Unicode character encoding issues on Windows in the fts4unicode test file. (check-in: c9310c9a user: mistachkin tags: trunk)
2013-10-11
23:37
Identify requirements text in the SQLITE_CONFIG_ documentation. Fix a typo (a duplicated word) in part of that documentation. Add some requirements marks for DETACH to the test scripts. No code changes. (check-in: 1be0a3ad user: drh tags: trunk)
23:02
The split amalgamation option should be disabled by default. (check-in: 7c24d22f user: mistachkin tags: trunk)
23:01
Enhance debugging support for the split amalgamation files when compiling with MSVC. (check-in: 8ff17c55 user: mistachkin tags: trunk)
23:01
Fix a harmless compiler warning in lemon.c. (check-in: 62959c0c user: drh tags: trunk)
22:19
Add -no-undefined option when linking the shared libraries. (check-in: 977d2b12 user: mistachkin tags: trunk)
22:17
Fix test numbering. (check-in: cef39f69 user: mistachkin tags: trunk)
20:14
Add requirements marks. No code changes. (check-in: 5e0d43ab user: drh tags: trunk)
16:35
Additional test cases and requirements marks for the unlikely(), likelihood() and instr() functions. (check-in: 5f01cd36 user: drh tags: trunk)
15:05
Fix various harmless compiler warnings. Change the "warnings.sh" script to work with STAT4 instead of STAT3. (check-in: 7df06684 user: drh tags: trunk)
13:27
Make sure the sqlite3.h file occurs at the very top of the sqlite3.c amalgamation. (check-in: 03593817 user: drh tags: trunk)
05:51
Fix compilation issue for WinRT. (check-in: 7a2006ca user: mistachkin tags: trunk)
2013-10-10
20:13
Synchronize with the trunk. (check-in: 136445ba user: drh tags: sessions)
17:33
Add a rule to the main.mk makefile for building showdb. (check-in: fc5552da user: drh tags: trunk)
15:04
Enhancements to the vfslog.c module to show all change-counter changes and to show the hostname and pid of the process that creates each log file. (check-in: af7abebe user: drh tags: trunk)
13:41
Another fix to the hash signature algorithm in vfslog.c. (check-in: 34212aa8 user: drh tags: trunk)
13:38
Fix the hash signature algorithm in vfslog.c. Add a utility program to show the hash signatures for every page of a database file. (check-in: eaf4de13 user: drh tags: trunk)
13:04
Add ext/misc/vfslog.c, a VFS shim for unix that keeps a log of method calls made by SQLite. (check-in: 24a827b8 user: dan tags: trunk)
12:38
Estimate row sizes for tables and indices and use those estimates during query planning. Enhance the index_info pragma to show the estimated row sizes and to show the estimated row size for the main table as well. Allow an alternative row size estimate to be specified in the sqlite_stat1 table. (check-in: d27b88b8 user: drh tags: trunk)
2013-10-09
19:07
Make sure the correct printf format is used for type tRowcnt regardless of whether 32-bit or 64-bit row counts are specified at compile-time. (Closed-Leaf check-in: e97d7d30 user: drh tags: row-size-est)
2013-10-08
23:16
Move a conditional inside of an #ifdef in order to make all branches reachable regardless of compile-time options used. (check-in: f7cc30d4 user: drh tags: row-size-est)
22:25
Fix test cases for the new information in PRAGMA index_list. (check-in: dd03be10 user: drh tags: row-size-est)
20:42
Rollback some of the previous changes in the branch such that the estimated row sizes are now only used as a tie-breaker for index scans. (check-in: 65553ff3 user: drh tags: row-size-est)
20:01
Use #ifdefs to omit unused code in the columnType() routine depending on compile-time options. (check-in: 3fd5e332 user: drh tags: row-size-est)
18:40
Further refinement of the idea of multiplying run-time cost estimates by the estimated row size. (check-in: 18bd6ba9 user: drh tags: row-size-est)
2013-10-07
21:49
Fix compilation issue with MSVC. (check-in: 36d64dc3 user: mistachkin tags: trunk)
17:32
Multiply all cursor step cost estimates by the estimated size of the row in bytes, in order to get the query planner ot make use of estimated row sizes. This check-in uses magic numbers in a few places (for example, estimates of the size of output rows) and needs lots of refinement. Consider this a proof-of-concept only. (check-in: cb34cfe5 user: drh tags: row-size-est)
16:53
Try to remember statistics from ANALYZE using LogEst instead of u64. (Leaf check-in: 8e78557a user: drh tags: log-stats)
10:48
Merge bug fixes from trunk. (check-in: 1d7b2dc0 user: drh tags: row-size-est)
00:36
Restore the hexrekey pragma which was accidently deleted during the pragma refactoring. Make sure the hexkey and hexrekey pragmas do not overflow buffers with a over-length key. (check-in: 0aca31e1 user: drh tags: trunk)
2013-10-06
22:52
Remove an incorrect debugging assert() that was accidently added during the STAT4 enhancement. (check-in: 2bb7f74b user: drh tags: trunk)
22:12
Accept the sz=N parameter on table-only lines of sqlite_stat1. (check-in: e9e932aa user: drh tags: row-size-est)
2013-10-05
20:18
Fix an issue in the test8.c test module that arises because of the change to PRAGMA index_list(). Remove an unused local variable. (check-in: 029430c5 user: drh tags: row-size-est)
19:18
Completely remove the iScanRatio field. The PRAGMA index_list(TABLE) command shows the estimated row size in the forth column. It also generates a row for the table with an index name of NULL. The query planner still does not take row size estimates into account - that is the next step. (check-in: 8b4aa0c7 user: drh tags: row-size-est)
18:32
Improvements to the LogEst command-line tool used to convert between ordinary numbers and the LogEst representation. (check-in: 5252aeb6 user: drh tags: row-size-est)
18:16
Begin an experimental refactoring to estimate the average number of bytes in table and index rows and to use that information in query planner. Begin by renaming WhereCost to LogEst and making that type and its conversion routines available outside of where.c. (check-in: 66c4a251 user: drh tags: row-size-est)
02:56
In the index_list pragma, make sure the "r" column is the same on output as it was on input in the sqlite_stat1 table. (Closed-Leaf check-in: de78250a user: drh tags: index-scan-rate)
2013-10-04
20:39
Merge trunk changes. (check-in: c6ac80ed user: drh tags: index-scan-rate)
18:29
Further refinements of the index scanning speed logic. (check-in: e5d9371d user: drh tags: index-scan-rate)
18:17
If an "INSERT INTO ... SELECT" can use the xfer optimization, pass the OPFLAG_BULKCSR hint to btree cursors used to update indices. This results in a tighter key packing. (check-in: 087af29e user: dan tags: trunk)
15:58
Fix test cases so that they work when the query planner uses index size estimates to determine whether or not to try an covering index scan. (check-in: 2f394de8 user: drh tags: index-scan-rate)
15:30
Improved estimates of the relative speed of index scans based on declared datatypes of columns in the table. Add "r" column to PRAGMA index_info, showing the estimated relative scan rate. (check-in: 07462bb6 user: drh tags: index-scan-rate)
02:36
Progress toward using the iScanRatio information on indices. Many tests are still failing. (check-in: 6c352edb user: drh tags: index-scan-rate)
00:00
Make sure the count(*) optimization works correctly even when partial indices are present. Ticket [a5c8ed66cae]. (check-in: 9f2f4c0a user: drh tags: trunk)
2013-10-03
20:41
Have FTS take advantage of "docid<?" constraints when they are present. Extend the FTS "incremental doclist" optimization so that it is used for tokens within multi-token phrases. (check-in: baf8ce59 user: dan tags: trunk)
20:28
Merge latest trunk changes. (Closed-Leaf check-in: 24aa20da user: dan tags: fts4-docid-range-constraints)
19:27
Allow FTS4 multi-token phrases to use a combination of in-memory and incrementally loaded doclists. This allows phrases to (partially) benefit from incremental doclists without disabling the deferred token optimization. (check-in: f6819c5f user: dan tags: fts4-docid-range-constraints)
19:21
Experimental branch allowing different postulated scan rates for each index. (check-in: d59d97b0 user: drh tags: index-scan-rate)
15:39
The sqlite3FixInit() routine cannot fail. So change the return type from "int" to "void". (check-in: 500c5932 user: drh tags: trunk)
14:08
Rework the PRAGMA implementation to only call sqlite3ReadSchema() from a single place, based on a flag in the pragma table, rather than separately from each case which needs the schema. (check-in: 8338232a user: drh tags: trunk)
12:29
Return an error if an attempt is made to create a trigger with an SQL variable embedded within it. If such a variable reference is found within a trigger definition loaded from the sqlite_master table, silently replace it with a NULL. (check-in: f35f6ae3 user: dan tags: trunk)
11:27
Remove unnecessary memset() calls from test code. (check-in: eec3187b user: drh tags: trunk)
2013-10-02
20:46
In the lemon parser generator, change all hashes to unsigned to avoid potential problems with signed integer overflow. (check-in: 8d399a03 user: drh tags: trunk)
08:04
Add a test to check that the new multi-token phrase optimization is actually helping. (check-in: bc3a2ed5 user: dan tags: fts4-docid-range-constraints)
2013-10-01
20:29
Bring some file format comments in btreeInt.h up to date. (check-in: 012d54d0 user: drh tags: trunk)
20:10
Merge trunk changes with this branch. (check-in: 65d9c6fa user: dan tags: fts4-docid-range-constraints)
20:02
Allow multi-token phrases to load doclists from the database incrementally. This allows queries that feature such phrases to benefit from the "docid<?" optimization. (check-in: ea543f08 user: dan tags: fts4-docid-range-constraints)
19:36
Fix comments in the fast_vacuum.c demonstration program. (check-in: e0db7b38 user: drh tags: trunk)
19:02
Add the "fast_vacuum.c" demonstration program to the tool/ subdirectgory. (check-in: 2b60320d user: drh tags: trunk)
15:30
Change the ".dump" command in the command-line shell so that it COMMITs if there are database corruption errors but invokes ROLLBACK on any other kind of error. (check-in: 47323463 user: drh tags: trunk)
2013-09-30
19:33
Fix a minor typo in a comment in where.c. (check-in: 9c9fa151 user: drh tags: trunk)
19:05
Add some timing tests to the amatch test script. (check-in: ad71c72b user: drh tags: trunk)
18:16
Merge trunk changes with this branch. (check-in: e294a9c7 user: dan tags: fts4-docid-range-constraints)
18:14
Fix a performance problem in the FTS4 auxiliary functions triggered by an OR clause in the full-text query. (check-in: fa0f2f0e user: dan tags: trunk)
17:37
Fix memory leaks in the amatch extension. Add a few simple test cases. (check-in: 60413473 user: drh tags: trunk)
11:42
Have fts4 full-text queries consider "docid<?" and similar constraints. (check-in: 6622424a user: dan tags: fts4-docid-range-constraints)
11:01
Update and modernize an obsolete comment associated with VACUUM. No changes to code. (check-in: 94c914e3 user: drh tags: trunk)
2013-09-29
04:56
Fix typo in comment. No changes to code. (check-in: 0b7bd468 user: mistachkin tags: trunk)
2013-09-28
16:43
Add new test file fts3defer3.test. (check-in: a6cd14ef user: dan tags: trunk)
13:28
In the nextchar.c extension, allow the second argument to the next_char() function to be a subquery. (check-in: 59b9fa22 user: drh tags: trunk)
12:40
Updates to the sqlite3_analyzer utility: Change the names of some labels, especially change "Fragmentation" to "Non-sequential pages". Revise the computation of non-sequential pages so that it ignores itercalated non-leaf pages (overflow and index pages). (check-in: 3e5c7771 user: drh tags: trunk)
2013-09-26
15:21
Obtain the required shared-cache write-lock when executing "DELETE FROM tbl" statements. Fix for [1e1321ee98]. (check-in: 1f8f4fdf user: dan tags: trunk)
11:04
Fix a faulty assert() in sqlite3BtreeBeginTrans() that may fail in shared-cache mode. (check-in: 1e1321ee user: dan tags: trunk)
2013-09-24
19:07
Merge updates from trunk. (check-in: 435ce3b3 user: mistachkin tags: toTypeFuncs)
2013-09-18
11:16
Test that the unicode61 tokenchars= and separators= options work with the fts3tokenize virtual table. (check-in: ed240514 user: dan tags: trunk)
2013-09-17
23:36
Clear the current time value on prepared statements when the prepared statement is reset. (check-in: cebd6fc5 user: drh tags: trunk)
2013-09-16
20:46
Readability improvements to the Win32 RC file. (check-in: e6459062 user: mistachkin tags: trunk)
19:27
Minor consistency fixes to the Win32 RC file. (check-in: 619c5211 user: mistachkin tags: trunk)
12:57
The date and time functions use the exact same notion of "now" for every invocation within the same call to sqlite3_step(). (check-in: daf6ba41 user: drh tags: trunk)
2013-09-13
23:27
Fix Windows SDK compiler warning. (check-in: d5fc3f1d user: mistachkin tags: trunk)
23:26
Fix test issues for Windows portability. (check-in: 650b3282 user: mistachkin tags: trunk)
22:38
VSIX tooling changes to support Visual Studio 2013. (check-in: d56fac40 user: mistachkin tags: trunk)
21:03
Fix the "const" qualifiers on the pragma name table. (check-in: b74e6be8 user: drh tags: trunk)
21:01
Add the soft_heap_limit pragma. (check-in: c326356f user: drh tags: trunk)
19:00
Tweak the new PRAGMA name parser to achieve full branch test coverage. (check-in: c82e05c4 user: drh tags: trunk)
18:15
Remove one unreachable branch and add asserts() to dupedExprStructSize(). New asserts verify that removed branch is unused and that constants that are ORed together in the output do not overlap. (check-in: 86ad358b user: drh tags: trunk)
17:47
Adjust the query planner to take into account WHERE clause terms that do not drive indices. Add the unlikely() and likelihood() functions used to give hints to the query planner about the selectivity of WHERE clause terms. (check-in: bc446449 user: drh tags: trunk)
16:56
Enhance the pragma lookup table generator script to output a comment that gives the number of pragmas. (check-in: ca052050 user: drh tags: trunk)
16:36
Change the PRAGMA parser to use a binary search for the pragma name. Also: Minor performance enhancement to sqlite3DbFree() and to the token dequoter. (check-in: 870c030b user: drh tags: trunk)
12:10
Add tests for the fts4 unicode61 tokenchars and separators options. (check-in: 9ce6f40d user: dan tags: trunk)
2013-09-12
23:42
Refactor the ExprSetIrreducible() macro into ExprSetVVAProperty(*,EP_NoReduce). This is a naming change only. The logic is the same. (Closed-Leaf check-in: 695aee46 user: drh tags: unlikely-func)
23:12
Fix typo in a macro name: "GlogUpperToLower" should be "GlobUpperToLower" (check-in: 73634ca4 user: drh tags: trunk)
17:29
Merge in the Expr.flags expansion to 32-bits. Use an extra bit to help optimize the sqlite3ExprSkipCollate() routine. (check-in: 4c84d1b4 user: drh tags: unlikely-func)
16:50
Increase the number of bits available in Expr.flags. Other tweaks aimed at making expression processing more robust. (Closed-Leaf check-in: 579a5125 user: drh tags: expr-tuning)
02:09
For error log messages generated by the Win32 native allocator, make sure the correct format specifier is used for the value returned by GetLastError(). (check-in: 75a8a8c1 user: mistachkin tags: trunk)
01:47
Fix a couple more harmless compiler warnings. (check-in: 59708674 user: mistachkin tags: trunk)
01:33
Remove two obsolete fields from the sqlite3 object. (check-in: 117fa5fb user: drh tags: trunk)
00:54
Fix harmless compiler warning. (check-in: 2b510614 user: mistachkin tags: trunk)
00:40
Merge updates from trunk. (Closed-Leaf check-in: fca799f0 user: mistachkin tags: vsix2013)
2013-09-11
17:39
Improvements to likelihood processing so that commuting an unindexed term in the WHERE clause does not change the query plan. (check-in: 6e6bded0 user: drh tags: unlikely-func)
14:57
Add test cases to cover TPC-H Q8. (check-in: eb5cef83 user: drh tags: trunk)
14:34
Additional unlikely() test cases. Logic tweaks to support test coverage. (check-in: 5d00cce7 user: drh tags: unlikely-func)
11:38
Change the name of the two-argument unlikely() function to likelihood(). Add test cases. (check-in: 29a359b8 user: drh tags: unlikely-func)
03:53
Tweaks to the index selection logic. (check-in: 52d52688 user: drh tags: unlikely-func)
2013-09-10
01:53
Merge trunk fixes into the unlikely-func branch. (check-in: a51d7515 user: drh tags: unlikely-func)
01:41
Deterministically initialize the PRNG used as a tie-breaker in the ANALYZE command, so that the analysis is always the same given the same database. This simplifies testing. (check-in: 48ed8b56 user: drh tags: trunk)
2013-09-09
19:37
Make sure that the transitive constraint optimization does not cause WHERE clause terms to be disabled prematurely. We are unable to find a test case that fails because of this, but it seems prudent to make this preventative change nevertheless. (check-in: d6e361d7 user: drh tags: trunk)
2013-09-07
00:29
Continuing refinements of the logic to take WHERE clause terms not used for indexing into account when computing the number of output rows from each table. (check-in: b65dc534 user: drh tags: unlikely-func)
2013-09-06
22:27
Merge updates from trunk. (check-in: 8922be1a user: mistachkin tags: toTypeFuncs)
21:41
Add the ability to generate assembly listing files using the MSVC makefile. (check-in: 6caa2cd1 user: mistachkin tags: toTypeFuncs)
20:30
When converting from a BLOB value in the tointeger() and toreal() SQL functions, make sure that endianness of the machine does not matter. (check-in: 94c4cdc5 user: mistachkin tags: toTypeFuncs)
17:45
Enhance the plan solver to take into account the number of output rows when computing the set of paths to retain for the next cycle. (check-in: 1a46a724 user: drh tags: unlikely-func)
15:23
Initial implementation of the unlikely() SQL function used as a hint to the query planner. (check-in: 036fc37a user: drh tags: unlikely-func)
13:10
Combine the FuncDef.iPrefEnc and FuncDef.flags fields into a single new FuncDef.funcFlags field. (check-in: 97b10e66 user: drh tags: trunk)
00:40
Make sure the destination WhereLoop is left in a sane state when an OOM fault occurs inside of whereLoopXfer(). (check-in: a99a53b8 user: drh tags: trunk)
2013-09-05
18:40
When preparing an UPDATE statement, avoid generating VDBE code for those foreign key related actions and constraint checks that may be seen to be unnecessary by considering the subset of table columns potentially modified by the UPDATE. (check-in: e940b5de user: dan tags: trunk)
2013-09-04
18:14
Rearrange the order of conditions in an "if" statement to facilitate testing. (check-in: 8462fb43 user: drh tags: trunk)
16:38
Add tests to improve coverage when SQLITE_ENABLE_STAT3 is defined. (check-in: f929e9b4 user: dan tags: trunk)
16:08
Fix a bug in the command-line shell for ".mode insert" on UTF16 databases with BLOB values. (check-in: d8fdc782 user: drh tags: trunk)
15:15
The sqlite3Stat4ProbeSetValue() routine should always return results using the database encoding. (check-in: eb216632 user: drh tags: trunk)
04:04
Fix out-of-order variable declaration. Fix harmless compiler warning. (check-in: 8df95bb0 user: mistachkin tags: trunk)
02:07
Conditionally exclude code from analyze.c that is not used by STAT3. (check-in: a48948a1 user: drh tags: trunk)
00:58
Additional test cases for the tointeger() and toreal() SQL functions when converting from a BLOB. (check-in: e1814452 user: mistachkin tags: toTypeFuncs)
2013-09-03
19:26
Harden the STAT4 logic in where.c against OOM faults. (check-in: 91d2cfbc user: drh tags: trunk)
14:49
Merge in all the latest trunk changes, including the win32-longpath VFS and the fix for the segfault in the omit-left-join optimization. (check-in: cdd3838b user: drh tags: sessions)
14:43
Fix another problem in stat4 sample selection. (check-in: d59f5809 user: dan tags: trunk)
14:03
Make sure the omit-noop-left-join optimization is not applied if columns of the LEFT JOIN are used in the ORDER BY clause. Ticket [be84e357c035] (check-in: 0303d6bc user: drh tags: trunk)
2013-09-02
23:40
Add the experimental SQLITE_DEFAULT_INDEX_SHAPE=1 compile-time option that makes a much more pessimistic guess at the effectiveness of unanalyzed indices. (Leaf check-in: d8daaba7 user: drh tags: index-shape-1)
20:22
Simplify branch coverage testing by interchanging the order of two tests in the whereLoopInsert() function. (check-in: f7079b53 user: drh tags: trunk)
18:58
Further stat4 related tests. (check-in: 0a702c4b user: dan tags: trunk)
11:52
Add tests to check if ANALYZE is choosing common non-periodic samples for the stat4 table. (check-in: 17584299 user: dan tags: trunk)
07:16
Fix a problem with using stat4 data to estimate the number of rows scanned by a range constraint on the second or subsequent column of any index where an affinity transformation must be applied to the constraint argument. (check-in: c21f58d8 user: dan tags: trunk)
2013-09-01
23:36
Merge updates from trunk. (check-in: 2982725e user: mistachkin tags: toTypeFuncs)
2013-08-31
21:41
Handle BLOBs specially, treating them as binary, in the tointeger() and toreal() SQL functions. (check-in: c4c53acb user: mistachkin tags: toTypeFuncs)
18:36
Cleanup of the windows VFS, including added support for Cygwin, fixes for compiler warnings under unusual configurations, and improved diagnostic error messages. (check-in: c94933f1 user: drh tags: trunk)
18:06
Revise the amalgamation tool to allow 'duplicate' include files to be retained manually while still preserving the existing line numbers. (Closed-Leaf check-in: aa482846 user: mistachkin tags: cygwinTempPath)
17:21
Fix a problem causing SQLite not to use stat4 or stat3 data to analyze constraints of the form "column = expr COLLATE collation" (those with an explicit COLLATE on the non-column side of the comparison operator). (check-in: 1e86d81d user: dan tags: trunk)
17:01
Enhancements to the Win32 API definition macros. (check-in: b1811baa user: mistachkin tags: cygwinTempPath)
14:56
Reenable a test accidentally disabled when the stat4 branch was merged. (check-in: d9fadc8f user: dan tags: trunk)
05:46
Avoid commenting out #include statements when building the amalgamation source code file. (check-in: 2fca6d78 user: mistachkin tags: cygwinTempPath)
05:13
Fix harmless MSVC compiler warning with MEMDEBUG defined. (check-in: b48cfd2d user: mistachkin tags: cygwinTempPath)
02:48
Improve the consistency of the diagnostic messages on Windows. (check-in: c6f174a0 user: mistachkin tags: cygwinTempPath)
2013-08-30
21:52
Add support for Cygwin when handling temporary file names. Improve error codes and diagnostic messages for temporary file name handling on Windows. Rename winConvertUtf8Filename to winConvertFromUtf8Filename. Improve placement and comments for forward function declarations. (check-in: a411df72 user: mistachkin tags: cygwinTempPath)
20:19
Fix compiler warnings in analyze.c. (check-in: 5bbd2ccb user: dan tags: trunk)
19:59
Fix comment typo in analyze.c. No changes to code. (check-in: dbc31750 user: mistachkin tags: trunk)
17:50
Fix comment typos in the where.c module. No code changes. (check-in: 1e0b77cf user: drh tags: trunk)
17:35
If the cost of two whereLoop objects is the same in every way except that one has fewer expected output rows than the other, then choose the one with fewer output rows. (check-in: 79e458ef user: drh tags: trunk)
14:24
Add the SQLITE_MINIMUM_FILE_DESCRIPTOR compile-time option, for control over exactly which low-numbered file descriptors SQLite will use. (check-in: ba519053 user: drh tags: trunk)
13:29
Add a test for fts4 unicode61 option remove_diacritics=0. (check-in: 6bf7ae6f user: dan tags: trunk)
06:20
Improvements to the robust_open() logic in the unix VFS so that if an attempt is made to open a repository on file descriptors 0, 1, or 2, and blocking that file descriptor by opening it on /dev/null fails, then the open will fail. (check-in: d9c018f8 user: drh tags: trunk)
2013-08-29
23:36
Make the unix VFS defensive against the error of having a database file open on file descriptors 1 or 2, as an error message might easily be written onto those file descriptors and thus overwrite and corrupt the database. (check-in: 30d38cc4 user: drh tags: trunk)
23:34
Change the unix VFS so that it refuses to open a database file using a file descriptor less than 3. (Closed-Leaf check-in: 66dddda0 user: drh tags: overwrite-avoidance)
21:26
Never leave an open file descriptor pointing into the middle of the database file if the file descriptor number is 2 or less. (check-in: 3426673e user: drh tags: overwrite-avoidance)
15:08
Merge from trunk: (1) Recent bug fixes (2) STAT4 support (3) win32-longpath support. (check-in: e7ebc8f7 user: drh tags: sessions)
14:56
Restore fix [f15591f802], which was accidentally clobbered by the stat4 merge. (check-in: d4b6ad33 user: dan tags: trunk)
10:46
Candidate fix for [9f2eb3abac]: Have the whereShortCut() planner ignore indexes with more than four columns. (check-in: c1152bdc user: dan tags: trunk)
02:27
Disable several toreal() tests that require high floating point precision when it is unavailable. (check-in: b724219b user: mistachkin tags: toTypeFuncs)
01:17
Prevent the implementation of the toreal() SQL function from being 'optimized' by MSVC. (check-in: 047bd1c2 user: mistachkin tags: toTypeFuncs)
01:11
Merge updates from trunk. (check-in: 375dfe28 user: mistachkin tags: toTypeFuncs)
01:09
Small enhancements to unit testing infrastructure. (check-in: 9229aeb3 user: mistachkin tags: trunk)
01:03
Enable finer control of optimizations when compiling with the MSVC makefile. Also, several modularity enhancements to the MSVC makefile. (check-in: 6c709338 user: mistachkin tags: trunk)
01:01
Fix boundary case for the toreal() SQL function. (check-in: abe82c63 user: mistachkin tags: toTypeFuncs)
2013-08-28
19:01
Re-enable test file wild001.test. (check-in: 4f182ddc user: dan tags: trunk)
18:56
Merge updates from trunk. (check-in: ffc6e682 user: mistachkin tags: toTypeFuncs)
18:18
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. (check-in: 12d0a885 user: drh tags: trunk)
16:27
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]. (check-in: caab361e user: drh tags: trunk)
13:46
Increase the version number to 3.8.1 due to the addition of STAT4 support. (check-in: 41c089e2 user: drh tags: trunk)
13:33
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. (check-in: b5617e4f user: drh tags: trunk)
11:57
Add a test case for empty quoted field in CSV import in the shell. (check-in: 3df56e84 user: drh tags: trunk)
11:43
Label a certain branch as NEVER() only for non-STAT3/4 builds. (check-in: b5ccf6e9 user: drh tags: trunk)
2013-08-27
23:15
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. (check-in: 67a9a392 user: drh tags: trunk)
20:16
Reduce the amount of code run and memory used for ANALYZE in the common case where neither STAT3 and STAT4 are enabled. (check-in: 9d1424c9 user: drh tags: trunk)
15:41
Update sqlite3.pc.in to use @PACKAGE_VERSION@ instead of @RELEASE@. (check-in: 2460dfd8 user: dan tags: trunk)
14:14
In the ANALYZE command implementation make statInit() a 2-value function since the 3rd parameter was always the same constant. (check-in: 959bb5ac user: drh tags: trunk)
2013-08-26
23:18
Merge the STAT4 capability into trunk. (check-in: a32af0ab 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)
2013-08-16
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
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)
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)
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)