SQLite

Timeline
Login

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

100 ancestors of 68a6d5e2f43702c7

2014-08-06
01:25
Merge the latest 3.8.6 beta changes from trunk. (check-in: 68a6d5e2f4 user: drh tags: sessions)
01:08
Fix typos in the opcode documentation. Comment changes only. No changes to code. (check-in: 717245d487 user: drh tags: trunk)
00:29
A simpler fix for ticket [3a88d85f36704eebe1] - one that uses less code. The error message is not quite as good, but as this error has apparently not previously occurred in over 8 years of heavy use, that is not seen as a serious problem. (check-in: 0ad1ed8ef0 user: drh tags: trunk)
2014-08-05
21:31
Ensure that aggregate functions are not used when evaluating a default value for a table column. Candidate fix for ticket [3a88d85f36704eebe134f7]. (check-in: 29ba812825 user: drh tags: trunk)
19:16
Add the ability to evaluate IN operators as a sequence of comparisons as an alternative to the long-standing algorithm of building a lookup table. Use the new implementation in circumstances where it is likely to be faster, such as when the RHS of the IN changes between successive evaluations. (check-in: 9528682168 user: drh tags: trunk)
11:04
Rename the internal Schema.flags field to Schema.schemaFlags. (check-in: 5ae80b3c8f user: drh tags: trunk)
00:53
Improved VdbeCoverage() macros. A few minor simplifications to generated VDBE code. (Closed-Leaf check-in: 01f60027ad user: drh tags: IN-operator-improvements)
2014-08-04
21:26
Part of the change in the previous check-in was incorrect and can result in an incorrect UPDATE for WITHOUT ROWID tables. This check-in fixes the problem. (check-in: ee5f6eae57 user: drh tags: IN-operator-improvements)
18:50
Further enhancements to IN-operator processing. (check-in: 7fdf26da1d user: drh tags: IN-operator-improvements)
16:39
Refinements to the enhanced IN-operator logic. (check-in: 92ba282146 user: drh tags: IN-operator-improvements)
2014-08-02
21:03
Enhancements to the code generator for the IN operator that result in much faster queries in some cases, for example when the RHS of the IN operator changes for each row of a large table scan. (check-in: 436e884215 user: drh tags: IN-operator-improvements)
20:44
Remove (newly) incorrect preprocessor check to fix build on WinRT. (check-in: ba78265429 user: mistachkin tags: trunk)
2014-08-01
21:12
A better comment on the generated code for the NULL-in-RHS-of-IN detection logic. (check-in: 9bc1c730a3 user: drh tags: trunk)
21:00
Improved detection and handling of NULL values on the RHS of a IN operator. (check-in: 468e730036 user: drh tags: trunk)
18:00
Remove an unnecessary OP_Null in the IN-operator logic. Attempt to clarify comments explaining the IN-operator code, though it is not clear that the comments are correct even yet - more work to be done. (check-in: c11e55fabb user: drh tags: trunk)
15:51
Clean up the IN operator code generation logic to make it easier to reason about. In the process, improve code generation to omit some unused OP_Null operations. (check-in: 7c6fbcfe6e user: drh tags: trunk)
15:34
The idea of coding IN operator with a short list on the RHS as an OR expression turns out to be helpful. If the list is of length 1 or 2, the OR expression is very slightly faster, but the ephemeral table approach is clearly better for all list lengths greater than 2. Better to keep the code simple. (Closed-Leaf check-in: e13175d357 user: drh tags: IN-operator-improvements)
14:46
Begin making changes to the IN operator in an attempt to make it run faster and to make the code easier to understand. (check-in: ee0fd6aaf9 user: drh tags: IN-operator-improvements)
01:40
Enhance the PRAGMA integrity_check command to detect UNIQUE and NOT NULL constraint violations. (check-in: 9abcf2698c user: drh tags: trunk)
2014-07-31
22:59
Refactoring: Change "pIndex->onError!=OE_None" to use a macro: "IsUniqueIndex(pIndex)". Easier to understand that way. (check-in: e75b26ee35 user: drh tags: trunk)
20:16
Omit a pointless OP_Null when processing a value-list RHS of an IN operator where the LHS is a rowid. (check-in: 1361450a9d user: drh tags: trunk)
18:54
Optimizations to the OS sub-type checking in the Win32 VFS. (check-in: 1e5489faff user: mistachkin tags: trunk)
18:14
Add a missing call to "test_sqlite3_log" to multiplex.test. (check-in: 0708f9df23 user: dan tags: trunk)
17:35
Fix a leaked database handle in pager2.test. (check-in: 47457b0488 user: dan tags: trunk)
15:44
Deactivate the DISTINCT in a SELECT on the right-hand side of an IN operator, since it should not make any difference in the output but dues consume extra memory and CPU time. (check-in: f4cb53651b user: drh tags: trunk)
2014-07-30
23:11
Re-integrate the recent changes from the 'winMutex' branch back into the Win32 mutex subsystem. (check-in: 5360ecb0b8 user: mistachkin tags: trunk)
21:10
Add three new static mutexes for use by the application. This is a partial import of changes from the threads branch. (check-in: 3aad01960f user: drh tags: trunk)
15:43
Add the "eForce" parameter to the sqlite3_multiplex_shutdown() entry point in test_multiplex.c. Shutdown is forced if true. Shutdown is not done if there are pending database connections and eForce is false, but an error log entry is made instead. (check-in: c7303d0139 user: drh tags: trunk)
14:29
Merge the fix for the CREATE UNIQUE INDEX problem into the sessions branch. (check-in: 43401ee624 user: drh tags: sessions)
13:56
Ensure that the correct number of columns in a UNIQUE index are checked for uniqueness, regardless of whether or not the original table has a ROWID or if the columns are NOT NULL, etc. Ticket [9a6daf340df99ba93c]. (check-in: 6b785e92f2 user: drh tags: trunk)
2014-07-29
19:54
Enhancements and updates to the Win32 mutex subsystem. (check-in: ca9868cdae user: mistachkin tags: trunk)
18:03
Merge updates from trunk. (Closed-Leaf check-in: 08c9a4ea63 user: mistachkin tags: winMutex)
14:09
Add the SQLITE_TESTCTRL_ISINIT file control. (check-in: 8b651d4d6c user: drh tags: trunk)
12:40
Merge recent trunk changes, and especially the fix for the R-Tree problem described in ticket [d2889096e7bdeac6]. (check-in: 8f1beeade0 user: drh tags: sessions)
11:54
Have calls to the xFilter() method of rtree virtual tables ensure that cursor is initialized before proceeding. Fix for [d2889096e7bdeac]. (check-in: 8cc41b0bf3 user: dan tags: trunk)
05:49
Enhancements and updates to the Win32 mutex subsystem. (check-in: 18984c3210 user: mistachkin tags: winMutex)
2014-07-26
20:12
Remove an unreachable branch from the sqlite3_value_numeric_type() interface. (check-in: 5350229b52 user: drh tags: trunk)
16:47
Avoid unnecessary no-op calls to applyNumericAffinity() for a small performance improvement. (check-in: 413d728797 user: drh tags: trunk)
2014-07-25
21:35
Try to fix harmless compiler warnings reported by Fortify. (check-in: e0fa6fdc14 user: drh tags: trunk)
18:37
Improved comments on VDBE opcodes, for better documentation. No code or logic changes. (check-in: 2d32e4876e user: drh tags: trunk)
18:01
Add constraints (enforced only when SQLITE_DEBUG is enabled) on the use of OP_Next and OP_Prev. (check-in: 2230c74f1e user: drh tags: trunk)
2014-07-24
23:23
Improve the performance of the ANALYZE command by taking advantage of UNIQUE constraints on indices. (check-in: 114dcf3367 user: drh tags: trunk)
22:41
Fix a bug in the whereRangeSkipScanEst() procedure (added by check-in [d09ca6d5efad3e4cfa]) where it fails to consider the possibility of a ROWID column when computing the affinity of a table column. (check-in: 6aea2258dd user: drh tags: trunk)
20:25
Avoid trying to allocation zero bytes when analyzing a unique non-null index. (Closed-Leaf check-in: 85e2badeeb user: drh tags: faster-analyze)
19:54
Avoid change tests when analyzing single-column unique indexes after getting past the initial NULL entries. (check-in: 4690e99c07 user: drh tags: faster-analyze)
16:23
Merge recent trunk changes into the sessions branch. (check-in: a9db017eab user: drh tags: sessions)
12:39
Add the readfile(FILENAME) and writefile(FILENAME,CONTENT) SQL functions to the command-line shell. (check-in: fb1048cb2b user: drh tags: trunk)
12:19
Add support for hexadecimal integer literals in the parser. (check-in: f8f79f2878 user: drh tags: trunk)
12:09
In the command-line shell, in CSV output mode, terminate rows with CRNL but do not expand NL characters in data into CRNL. Provide the extra -newline command-line option and the extra argument to .separator to designate an alternative newline character sequence for CSV output. (check-in: 16c8ce10e1 user: drh tags: trunk)
2014-07-23
23:57
Add experimental "costmult" logic. Only enabled when compiled with -DSQLITE_ENABLE_COSTMULT. (check-in: 729ece4088 user: drh tags: trunk)
19:37
Ugh. Consecutive UNIQUE index entries are only distinct if the index is on NOT NULL columns. So the previous version was not quite right. This check-in fixes the problem. (check-in: 30033f9650 user: drh tags: faster-analyze)
19:04
Enhancements to the hex literal tests. (Closed-Leaf check-in: a3cc027fa7 user: mistachkin tags: hex-literal)
18:36
Improve the performance of the ANALYZE command by taking advantage of the fact that every row of a UNIQUE index is distinct. (check-in: 3e1e79e133 user: drh tags: faster-analyze)
15:51
Updated documentation on sqlite3_temp_directory. No changes to code. (check-in: e6225a7bf7 user: drh tags: trunk)
14:52
Remove a surplus function prototype. #ifdef code that is not used when hex integers are omitted at compile time. (check-in: a5b383e077 user: drh tags: hex-literal)
13:40
Change the hex literal processing so that only the SQL parser understands hex literals. Casting and coercing string literals into numeric values does not understand hexadecimal integers. This preserves backwards compatibility. Also: Throw an error on any hex literal that is too big to fit into 64 bits. (check-in: 6c6f0de59b user: drh tags: hex-literal)
02:07
Casting hex literals directly from string to float always results in a positive number. (check-in: 4b86ccdf4f user: drh tags: hex-literal)
01:59
Reformatting a few test cases for clarity. (check-in: 7e1bbacb11 user: drh tags: hex-literal)
01:56
Test cases for hex literals. (check-in: 19054339c4 user: drh tags: hex-literal)
01:26
Add support for parsing C-style hexadecimal literals. (check-in: 34a1f38b7a user: drh tags: hex-literal)
2014-07-22
22:46
When running ANALYZE, it is not necessary to check the right-most key column for changes since that column will always change if none of the previous columns have. (check-in: 48f40861db user: drh tags: trunk)
20:02
Add the OP_ReopenIdx opcode that works like OP_OpenRead except that it becomes a no-op if the cursor is already open on the same index. Update the OR-optimization logic to make use of OP_ReopenIdx in order to avoid unnecessary cursor open requests sent to the B-Tree layer. (check-in: 77f412caf0 user: drh tags: trunk)
19:14
The optimization of check-in [b67a6e33f2] does not work (it generates incorrect VDBE code) if an OR term is AND-ed with a constant expression. So back that optimization out and add a test case to make sure it does not get added back in. (check-in: eed754fe93 user: drh tags: trunk)
16:00
Fix the index name for the shadow tables in the spellfix1 extension so that multiple instances of the spellfix1 virtual table can each have their own index. (check-in: 438c348a40 user: drh tags: trunk)
15:33
Correction: The maximum SQLITE_MAX_ATTACHED value to avoid overflowing a signed 8-bit integer is 125, not 127. (check-in: 48e3780295 user: drh tags: trunk)
14:58
Enhance the sqlite_stat1.stat parsing to allow additional text parameters at the end. Unrecognized parameters are silently ignored. (check-in: ca2a5a2c77 user: drh tags: trunk)
14:42
Expire prepared statements after running ANALYZE. (check-in: b083a961f8 user: drh tags: trunk)
12:05
Enhance the comment on whereLoopAddBtree(). No changes to code. (check-in: b22dd165da user: drh tags: trunk)
00:40
For the OR-optimization, avoid generating OP_OpenRead opcodes that reopen exactly the same index. (check-in: b67a6e33f2 user: drh tags: trunk)
2014-07-21
20:07
Limit the maximum SQLITE_MAX_ATTACHED to 127, since a signed character is sometimes used to store the database index. (check-in: f1c76c7c4c user: drh tags: trunk)
15:44
Allow the SQLITE_MAX_ATTACHED compile-time option to be larger than 62. The default limit on the number of attached databases remains 10. (check-in: 1a817ae2f3 user: drh tags: trunk)
2014-07-19
17:57
Update the sqlite3_stmt_busy() function so that it correctly returns true for "ROLLBACK" statements that have been stepped but not yet reset. (check-in: 61cee3c067 user: dan tags: trunk)
17:49
Fix harmless compiler warnings in the showdb and showwal tools and in the unicode tokenizer of FTS3. (check-in: 574cc8eb14 user: drh tags: trunk)
15:44
Fix some harmess compiler warnings in the FTS3 Unicode module. (Closed-Leaf check-in: c01caea5d6 user: mistachkin tags: toolWarnings)
15:40
Fix warnings related to having a 64-bit size_t. (check-in: 29ac9336db user: mistachkin tags: toolWarnings)
15:30
Fix warnings caused by the previous commit. (check-in: 89634a419d user: mistachkin tags: toolWarnings)
2014-07-18
21:16
Fix harmless compiler warnings for MSVC in the showdb/showwal command line tools. (check-in: 6dc7b2f119 user: mistachkin tags: toolWarnings)
21:02
Update clean targets with the recently added command-line tools. (check-in: 2beefa68c0 user: mistachkin tags: trunk)
19:06
Improved documentation for checkpoints and the busy handler. No changes to code. (check-in: ca92c02406 user: drh tags: trunk)
17:39
SQLite has long accepted some unadvertised and non-standard join syntax. Add a test to ensure that future versions continue to accept this non-standard syntax, to avoid breaking legacy applications that use the undefined syntax. (check-in: 824dde7fc4 user: drh tags: trunk)
14:43
Improvements to the ".fullschema" command in the command-line shell. (check-in: fa80c64caa user: drh tags: trunk)
2014-07-07
18:03
Fix harmless compiler warnings in the fts3view utility program that can occur with MSVC. (check-in: 1cec1e0300 user: mistachkin tags: trunk)
17:57
Add the fts3view utility program to the MSVC makefile. (check-in: b04751bd59 user: mistachkin tags: trunk)
16:07
Fix a division-by-zero error in the fts3view utility program. Add the fts3view utility program to the "main.mk" makefile. (check-in: 64f02699b4 user: drh tags: trunk)
2014-07-03
12:18
Change fts3/4 so that the "unicode61" is included in builds by default. It may now be excluded by defining SQLITE_DISABLE_FTS3_UNICODE. (check-in: 0cc0230ae9 user: dan tags: trunk)
2014-07-01
15:22
Add another test to verify that SQLite is using stat4 data for composite primary keys on WITHOUT ROWID tables. (check-in: 0df1fe72f8 user: dan tags: trunk)
11:54
Ensure that all fields are loaded from the stat4 table for records that correspond to indexes on WITHOUT ROWID tables with composite primary keys. (check-in: 21981e3506 user: dan tags: trunk)
2014-06-30
20:02
Merge the latest trunk enhancements into the sessions branch. (check-in: a5d94eaba6 user: drh tags: sessions)
19:28
Bump the version number to 3.8.6. (check-in: f925e9baaf user: drh tags: trunk)
19:07
Attempt to use STAT4 information to estimate the selectivity of WHERE clause terms when using the skip-scan optimization. (check-in: d09ca6d5ef user: drh tags: trunk)
18:57
Fix for ticket [b2fa5424e6fcb15]: Better define the format of the sqlite_stat4 file for WITHOUT ROWID tables and make sure the ANALYZE command generates a file in the appropriate format. Use the sqlite_stat4 data to enable the use of WHERE terms that cover all indexed columns plus some prefix of columns in the primary key. (check-in: bc2de8095f user: drh tags: trunk)
18:02
Fix a problem in where.c with using the stat4 sample data of an index on a WITHOUT ROWID table. (Closed-Leaf check-in: 053a210e31 user: dan tags: stat4-without-rowid)
17:07
Fix the STAT4 information for WITHOUT ROWID tables. (check-in: 5d8628fdff user: drh tags: stat4-without-rowid)
15:23
Fix where.c so that the primary key values appended to every index entry on a WITHOUT ROWID table may be used when useful. (check-in: 6624a61d16 user: dan tags: stat4-without-rowid)
13:56
Omit non-primary-key columns from the STAT4 samples for WITHOUT ROWID tables. Indexes, both rowid and without-rowid, still hold an exact copy of the index entry. (check-in: de826c3158 user: drh tags: stat4-without-rowid)
13:32
Generate complete samples for sqlite_stat4 on WITHOUT ROWID tables. Ticket [b2fa5424e6fcb15b5] (check-in: 8cb43eddab user: drh tags: stat4-without-rowid)
11:14
Add makefile targets for various diagnostic tools, such as showstat4. Fix harmless compiler warnings in diagnostic tools. (check-in: 6f86d89b88 user: drh tags: trunk)
2014-06-28
19:06
Add an OOM fault injection test for the new code on this branch. (Closed-Leaf check-in: c96de490ac user: dan tags: stat4-skipscan)
17:35
Add further tests to skipscan5.test. (check-in: 4b8230e8fe user: dan tags: stat4-skipscan)
16:06
Add header comments on new routines. Rework the sqlite3Stat4Column() routine so that is (in theory) able to deal with corrupt samples. (check-in: ef5cdf949b user: drh tags: stat4-skipscan)
15:26
Fix a problem with using stat4 samples of type text when estimating the rows visited by a range-query/skip-scan loop. (check-in: dfb09db6d4 user: dan tags: stat4-skipscan)