SQLite
Timeline
Not logged in

50 most recent check-ins

2017-02-23
16:30
[a8fd7052] Leaf: Save a few bytes and a few cycles by setting Vdbe.expmask to zero for statements prepared using legacy interface sqlite3_prepare(). (user: dan, tags: trunk)
02:15
[7a959f6d] Leaf: Add two NEVER() operators in the sqlite3BtreeRowCountEst() routine. (user: drh, tags: auto-analyze)
00:58
[188300a3] Do a single OP_Expire at the very end of "PRAGMA optimize", and omit the OP_Expire on ANALYZE commands invoked by the pragma. (user: drh, tags: auto-analyze)
2017-02-22
20:24
[9fced545] Change the name of the analyze_as_needed pragma to "optimize". Enhance the comment (which will become documentation, assuming these changes land on trunk) to explain that the optimize pragma is likely to be enhanced in various ways in future releases and that applications should not depend upon the current behavior. (user: drh, tags: auto-analyze)
19:49
[fe073905] Merge integrity_check and other improvements from trunk. (user: drh, tags: auto-analyze)
19:41
[d6afd98d] Move a branch condition in analyze.c inside an #ifdef SQLITE_ENABLE_STAT4 block. (user: dan, tags: trunk)
19:27
[737a8244] Improve the performance of ANALYZE when SQLITE_ENABLE_STAT4 is defined. (user: dan, tags: trunk)
18:53
[aa02bd3c] Improvements to PRAGMA integrity_check. Verify CHECK constraints. Verify NOT NULL constraints even on table that lack indexes. Verify CHECK and NOT NULL constraints with PRAGMA quick_check. (user: drh, tags: trunk)
18:04
[5af7d72e] Closed-Leaf: Cleanup and simplification of the output row count limit control of PRAGMA integrity_check. (user: drh, tags: integrity-check-improvements)
15:11
[5264844b] Fix integrity_check so that it verifies NOT NULL constraints even for tables that have no indexes. Enhance quick_check so that it verifies NOT NULL and CHECK constraints. (user: drh, tags: integrity-check-improvements)
14:15
[549bae08] Enhance "PRAGMA integrity_check" so that it verifies CHECK constraints. (user: drh, tags: integrity-check-improvements)
2017-02-21
21:24
[80adc0cb] In sqlite3VdbeHalt(), return as soon as possible if Vdbe.magic!=VDBE_MAGIC_RUN. This makes sqlite3_reset() slightly faster in some cases. (user: dan, tags: trunk)
17:52
[e400909f] Fix an FTS5 problem that could cause a crash when certain queries were interrupted using sqlite3_interrupt(). (user: dan, tags: trunk)
15:27
[3c3228ed] Very small enhancement to dispatch speed for SQL functions. (user: drh, tags: trunk)
14:04
[7a62fc6a] Leaf: The VDBE cycle counts for the sqlite3_progress_handler() callback are now cumulative. Leftovers from the previous statement are applied to the next statement. (user: drh, tags: cumulative-progress-count)
13:29
[9626b41e] Leaf: Proof of concept for a "PRAGMA vdbe_cycle_limit=N" command. When N>0, invoke sqlite3_interrupt() whenever any byte code program uses more than N virtual machine cycles. (user: drh, tags: vdbe_cycle_limit)
2017-02-20
23:32
[1589db01] Correct a harmless typo in the previous check-in. (user: mistachkin, tags: trunk)
19:13
[96b6a98e] Avoid unsigned integer overflows for SQLITE_WIN32_HEAP_INIT_SIZE when the Win32 heap subsystem is used with very large values of SQLITE_DEFAULT_CACHE_SIZE and/or SQLITE_DEFAULT_PAGE_SIZE. (user: mistachkin, tags: trunk)
14:30
[0d8a868a] Small grammar simplification. (user: drh, tags: trunk)
13:11
[ff213f2e] Merge fixes from trunk. (user: drh, tags: auto-analyze)
2017-02-18
22:52
[e842ad39] Updated comments. No code changes. (user: drh, tags: auto-analyze)
20:05
[c1adf959] Leaf: Add an optimization to OP_Column to speed up sequential OP_Column instructions that read earlier fields from the same cursor. Attempt to reorder OP_Column opcodes so as to take advantage of this. (user: dan, tags: sort-column-opcodes)
15:58
[d386015f] Add the OP_SqlExec opcode and use it to implement "PRAGMA analyze_as_needed", invoking ANALYZE subcommands as necessary. This simplifies the implementation. (user: drh, tags: auto-analyze)
13:47
[49181427] Add the SQLITE_BUG_COMPATIBLE_20160819 compile-time option to omit the error message when an unrecognized argument is provided to the VACUUM command. (user: drh, tags: trunk)
02:42
[4229caec] Fix errors in the table resize detection. (user: drh, tags: auto-analyze)
02:19
[882599a4] In the analyze_as_needed pragma, avoid running unnecessary OP_LoadAnalysis and OP_Expire opcodes. Make the analyze_as_needed pragma responsive to the schema name. (user: drh, tags: auto-analyze)
2017-02-17
23:52
[8cc9d74c] Fix the #endif location for an #ifndef SQLITE_UNTESTABLE macro in the command-line shell. (user: drh, tags: trunk)
21:23
[38298ef9] Leaf: Increase the estimated cost of sorting when sorting wide results sets, to account for the extra storage space and I/O required for the external sort. (user: drh, tags: apple-increased-sorting-cost)
19:24
[bfbdd074] The analyze_as_needed pragma now responds to table size growth and will automatically rerun the analysis after each 10x size increase. (user: drh, tags: auto-analyze)
16:26
[e93db237] Add the "PRAGMA analyze_as_needed" command. (user: drh, tags: auto-analyze)
15:26
[fb2b8ae8] Set the TF_StatsUsed flag on tables when the query planner outcome is affected by the sqlite_stat1 data. Also, change the column names of the "PRAGMA stats" command so that they are not keywords. (user: drh, tags: auto-analyze)
13:38
[85026c8e] Enhance the Index and Table objects so that they remember if their stats come from the sqlite_stat1 table. Make the "PRAGMA stats" an SQLITE_DEBUG only pragma. Add the flags column to "PRAGMA stats". These are all preliminary steps toward a "PRAGMA analyze_ifneeded;" feature. (user: drh, tags: auto-analyze)
02:07
[662e8ccf] Leaf: Merge fixes from trunk. (user: drh, tags: increased-sorting-cost)
02:04
[218b2bbb] Fix a test case that was made to fail by the LIKE optimization enhancement in check-in [158290c0ab] but which went unnoticed because test builds were running with ICU enabled and ICU disables the LIKE optimization. (user: drh, tags: trunk)
01:43
[8a03be1d] Enable the ".wheretrace" and ".selecttrace" extensions in the command-line shell when compiled on Windows using DEBUG=3 or higher. Fix a harmless warning in the shell that comes up when compiled this way. (user: drh, tags: trunk)
2017-02-16
21:29
[aa0703e5] Increase the estimated cost of sorting when sorting wide results sets, to account for the extra storage space and I/O required for the external sort. (user: drh, tags: increased-sorting-cost)
20:52
[9fc5cd50] Change the name of WhereInfo.pDistinctSet to pResultSet, since it is now used for more than just DISTINCT processing. (user: drh, tags: trunk)
17:18
[ff5e733c] Change two MallocZero() calls into MallocRaw() to avoid unnecessary memset(). (user: drh, tags: trunk)
16:26
[bb8e2642] Fix a comment on a field of the ExprList object. No changes to code. (user: drh, tags: trunk)
15:57
[7e14044c] Increase Table.tabFlags from 8 to 32 bits. (user: drh, tags: trunk)
15:06
[6bd82b95] Remove two redundant initializations from the virtual table logic. (user: drh, tags: trunk)
14:48
[6affb1c8] Always use the IsVirtual() macro to determine if a Table object is a virtual table. Slightly smaller and faster code. (user: drh, tags: trunk)
14:02
[325ccfa9] Leaf: Merge recent enhancements from trunk. (user: drh, tags: est_count_pragma)
2017-02-15
22:36
[58797e9b] Query planner optimization to detect empty tables in a join early and bail out without doing excess work. (user: drh, tags: trunk)
18:30
[830b9235] Minor enhancement to mutex tracing on Win32. (user: mistachkin, tags: trunk)
17:47
[1d4759c1] Leaf: simple test cases for carray_asc. (user: drh, tags: carray_asc)
16:11
[a2b4f60b] Add the companion "carray_asc" table-valued function to the carray extension. (user: drh, tags: carray_asc)
16:04
[396b9d99] Closed-Leaf: Bummer. Checked this in as a branch off of the wrong branch.... Was: Add the companion "carray_asc" table-valued function to the carray extension. (user: drh, tags: mistake)
15:11
[8d3f485d] Leaf: Remove the CLANG_VERSION macro, since we have learned that version numbers in clang are "marketing" and are inconsistent and unreliable. Builds using clang will still use the GCC_VERSION macro since clang works hard to be gcc compatible. (user: drh, tags: branch-3.17)
15:09
[810d2932] Remove the CLANG_VERSION macro, since we have learned that version numbers in clang are "marketing" and are inconsistent and unreliable. Builds using clang will still use the GCC_VERSION macro since clang works hard to be gcc compatible. (user: drh, tags: trunk)