SQLite
Timeline
Not logged in

17404 ancestors of [e3038fbf]

2017-06-16
10:15
Failed version 3.18.1. Somehow I managed to omit the bug fix which was the entire purpose of 3.18.1 in the first place! Leaf check-in: e3038fbf user: drh tags: mistake
2017-06-15
07:47
Increase the version number to 3.18.1. check-in: 4be2eba8 user: drh tags: branch-3.18
2017-03-28
18:48
Version 3.18.0 check-in: 424a0d38 user: drh tags: release, branch-3.18, version-3.18.0
2017-03-25
19:16
Add the new sqlite3_set_last_insert_rowid() interface to the extension loader thunk. check-in: 8469fc0d user: drh tags: trunk
18:31
Do not run tests for ".dump --preserve-rowids" when testing SQLITE_OMIT_VIRTUALTABLE builds. check-in: 55df410b user: dan tags: trunk
18:15
Disable the new --preserve-rowids option on the CLI ".dump" command if compiled with SQLITE_OMIT_VIRTUALTABLE. check-in: bd5bbe4e user: drh tags: trunk
18:03
Make the default value for SQLITE_DEFAULT_SYNCHRONOUS a simple integer literal, so that it does not show up goofy in the output of "PRAGMA compile_options;". check-in: 833ab321 user: drh tags: trunk
12:08
Fix two harmless compiler warnings. check-in: 32be9c3f user: drh tags: trunk
2017-03-24
19:45
Fix a harmless compiler warning in the JSON1 extension. check-in: c2c3dd84 user: drh tags: trunk
18:38
Previous check-in was not correct. This is a better fix for the OP_Once problem of ticket [06796225f59c057cd120f1]. check-in: 8194dd28 user: drh tags: trunk
17:59
Fix the OP_Once opcode so that it works correctly for recursive triggers. Ticket [06796225f59c057cd120f1]. check-in: 25560145 user: drh tags: trunk
13:31
Add the RFC-7396 Appendix A test cases for json_patch(). check-in: c5441d2d user: drh tags: trunk
12:35
Fix an error in the new json_patch() routine discovered by Ralf Junker. check-in: 9d535041 user: drh tags: trunk
2017-03-23
23:44
Add the json_patch() SQL function to the JSON1 extension. check-in: 47608848 user: drh tags: trunk
20:33
Change the name of the json_merge_patch() function to just json_patch(). Closed-Leaf check-in: 04d41004 user: drh tags: json_mergepatch
19:51
Improvement to the amalgamation configure.ac file contributed by Bob Friesenhahn. check-in: bf28a55d user: drh tags: trunk
17:22
Do not run test file autoanalyze1.test if OMIT_VIRTUALTABLE is defined. check-in: e1d06a57 user: dan tags: trunk
17:03
Remove an invalid assert() statement failing when VACUUMing a database that contains an index on a column explicitly declared "COLLATE BINARY". check-in: 9f2e04d3 user: dan tags: trunk
12:56
Avoid redundant edits in the json_merge_patch() function. check-in: 4a8e6437 user: drh tags: json_mergepatch
00:46
Fix harmless compiler warnings in the new json_merge_patch() logic. check-in: 5d2cf5a2 user: drh tags: json_mergepatch
00:13
Various fixes to the json_merge_patch() function. check-in: f49fd255 user: drh tags: json_mergepatch
2017-03-22
21:45
Change the name of the new function to "json_merge_patch()". check-in: 53bf70f3 user: drh tags: json_mergepatch
21:24
Initial implementation of the json_mergepatch(A,B) SQL function. check-in: a2674440 user: drh tags: json_mergepatch
12:51
Fix harmless compiler warnings in the shell. check-in: a7868297 user: drh tags: trunk
2017-03-21
20:17
New simplified memory initialization for MacOS. check-in: 055b36f1 user: drh tags: trunk
18:56
Fix an incorrect assert in the ANALYZE logic for STAT4 on WITHOUT ROWID tables. check-in: ad741976 user: drh tags: trunk
17:19
Add short script ext/fts3/tool/fts3cov.sh. To help measure test-coverage of fts3 source code. check-in: ee9588e8 user: dan tags: trunk
10:45
Do not run sync2.test as part of the "inmemory_journal" permutation. check-in: 9f680bc7 user: dan tags: trunk
2017-03-20
22:58
Add the --native-malloc option to fuzzcheck. Fix ossfuzz.c and fuzzcheck.c so that they both deallocate the temp_store_directory before closing. check-in: 0dd18ec8 user: drh tags: trunk
20:42
Fix the fuzzcheck program so that it can create new databases again. check-in: 021e8874 user: drh tags: trunk
19:35
Avoid passing NULL as the second argument to memcpy() in fts3. check-in: 49b93d97 user: dan tags: trunk
19:26
Avoid a technically undefined right-shift of a signed value in rtree.c. check-in: a144875f user: dan tags: trunk
18:53
Fix some problems in fts3 found by address-sanitizer. check-in: 16a8e84f user: dan tags: trunk
16:34
Avoid the possibility of signed integer overflow with oversized precisions in %d conversions in the printf() implementation. check-in: ef3a7c87 user: drh tags: trunk
16:06
Do not run sync2.test as part of the "journaltest" permutation, as it uses "PRAGMA synchronous = off". check-in: 285005a9 user: dan tags: trunk
15:29
Ensure that a "--" prefix is added to sqlite3_trace_v2() output for nested SQL statements. check-in: 673a7b67 user: drh tags: trunk
15:11
Only run sync2.test on unix, as it depends on instrumentation in os_unix.c. check-in: ecb9321e user: dan tags: trunk
14:44
Fix the check.test script so that it works on Windows. check-in: 8822eb5d user: drh tags: trunk
13:03
Documentation fix: SQLITE_SOURCE_ID is a now a SHA3-256 hash. check-in: 2aa22509 user: drh tags: trunk
2017-03-18
13:59
Only do the specialized MacOS single-core zone_malloc initialization if compiled with the SQLITE_MIGHT_BE_SINGLE_CORE flag. This avoids a (harmless) warning about OSAtomicCompareAndSwapPtrBarrier() being deprecated. check-in: 4e6a03d9 user: drh tags: trunk
2017-03-17
23:08
Fix an error in the newly revised documentation for SQLITE_LIMIT_VDBE_OP. No changes to code. check-in: f4cf8635 user: drh tags: trunk
22:51
Set a reasonable limit on the number of opcodes in a prepared statement for ossfuzz.c. This should prevent timeouts in OSS-Fuzz when it generates totally unreasonable queries. check-in: f74899ed user: drh tags: trunk
22:50
Begin enforcing the SQLITE_LIMIT_VDBE_OP. The documentation warned that this day might come. check-in: ef591461 user: drh tags: trunk
14:59
Add the --show-errors and --show-max-delay command-line options to the ossshell test program. check-in: 626bdca9 user: drh tags: trunk
14:15
Fix the Makefile.in so that it builds the ossshell test program correctly. check-in: 36f5602e user: drh tags: trunk
13:59
Fix a buffer overread in debugging routine sqlite3VdbeMemPrettyPrint(). Problem discovered by OSS-Fuzz. check-in: f336fba7 user: dan tags: trunk
03:21
Fix a problem in the enhanced PRAGMA integrity_check where it verifies CHECK constraints: Do not be confused by the reuse of the Table.pCheck field by VIEWs with named columns. Problem discovered by OSS-Fuzz. check-in: 019dd3d5 user: drh tags: trunk
2017-03-16
18:55
If the user has not set it explicitly, set the "PRAGMA synchronous" setting to SQLITE_DEFAULT_SYNCHRONOUS when a database connection changes from wal to rollback journal mode. check-in: 5c604479 user: dan tags: trunk
18:54
Fix a typo causing the build to fail if SQLITE_DEFAULT_SYNCHRONOUS==SQLITE_DEFAULT_WAL_SYNCHRONOUS. Closed-Leaf check-in: df39adea user: dan tags: default-synchronous-fix
18:14
If the user has not set it explicitly, set the "PRAGMA synchronous" setting to SQLITE_DEFAULT_SYNCHRONOUS when a database connection changes from wal to rollback journal mode. check-in: 78030c0f user: dan tags: default-synchronous-fix
14:28
Simplified OOM detection in the instr() SQL function. check-in: 6d85eb57 user: drh tags: trunk
13:30
Fix an uninitialized variable reference in the text generator for "PRAGMA vdbe_trace=ON" output. Problem discovered by OSS-Fuzz. check-in: e3d48716 user: drh tags: trunk
13:14
Fix a problem in the "showdb" utility that prevents it from correctly decoding cells with no content beyond the record header. check-in: eb7680a1 user: drh tags: trunk
12:11
Fix a crash that could follow an OOM condition in the instr() SQL function. Problem discovered by OSS-Fuzz. check-in: 6e59e903 user: dan tags: trunk
2017-03-15
20:27
Updates to README files under the ext/ hierarchy. No changes to code. check-in: 029bc5d2 user: drh tags: trunk
19:11
Add the "Obtaining The Code" subsection in the top-level README.md file. No changes to code. check-in: b1b1aa8b user: drh tags: trunk
14:20
Mention the ".selftest" command in the ".help" output of the CLI. check-in: 37f766db user: drh tags: trunk
14:04
Make "PRAGMA temp.synchronous=N" a no-op to ensure that the TEMP schema always has synchronous=OFF. This fixes an issue discovered by OSS-Fuzz. check-in: bcf6bb08 user: drh tags: trunk
13:47
Improved header comment on the shathree.c extension. No changes to code. check-in: 84f2e3d5 user: drh tags: trunk
2017-03-14
15:27
Updates to the MSVC makefiles. check-in: 1e4b9e7c user: mistachkin tags: trunk
2017-03-13
22:10
Add the dbdump.c extension that implements functionality similar to the ".dump" command of the CLI, though in a separate library. check-in: 2b9980a2 user: drh tags: trunk
22:02
Add dbdump.exe to the MSVC makefile. Closed-Leaf check-in: 59241a50 user: drh tags: dbdump
21:49
Fixes to the dump logic. All appears to be working in preliminary tests. check-in: 007b11e3 user: drh tags: dbdump
21:26
First draft of the complete dbdump.c library. check-in: 84ea4fcc user: drh tags: dbdump
19:26
Infrastructure for an extension C-library to implement sqlite3_db_dump() and a corresponding "dbdump" command-line utility - both of which do the same work as the ".dump" command of the CLI. check-in: 74c5ace4 user: drh tags: dbdump
18:24
In the output of the ".dump" command in the CLI, quote newline and carriage-return characters using the char() function, so that they do not get eaten by end-of-line processing logic in the OS or in other command-line utilities and/or libraries. check-in: 68f6dc7a user: drh tags: trunk
17:37
Fix the sqlite3TreeViewSelect() routine so that it works with a null pointer to the Select object. check-in: 9034cf7e user: drh tags: trunk
14:30
Fix a segfault that could occur following an OOM error in the flattenSubquery() routine. check-in: c6dda3f7 user: dan tags: trunk
13:45
In the OSSFuzz test module, invoke the progress handler much more frequently so that timeouts are detected punctually even if the test script is running opcodes that individually take a long time (for example, an OP_Function opcode that invokes "randomblob(1.5e6)"). check-in: f3b6959c user: drh tags: trunk
2017-03-12
20:28
Fix a possible NULL pointer dereference in following an OOM error in sqlite3ExprIsInteger(). Problem found by OSS-Fuzz. check-in: 5ec655e8 user: drh tags: trunk
19:39
Remove an obsolete assert() in the IN operator code generation. check-in: 18bf6aca user: drh tags: trunk
2017-03-11
13:02
Make sure the translateColumnToCopy() routine in the query planner does not try to access an array that failed to be fully allocated due to a prior OOM. This fixes an issue discovered by OSSFuzz. check-in: 3299a261 user: drh tags: trunk
01:56
The output of the ".dump" command in the CLI quotes newline and carriage-return characters using "char(10)" and "char(13)". Closed-Leaf check-in: 8b2954dd user: drh tags: string-quoting-dump
00:46
Increase the number of significant digits in floating point literals on ".dump" output from the shell. check-in: 7359fcac user: drh tags: trunk
2017-03-10
18:36
Remove the rbu_round_trip.tcl script. It is now part of project "test-dbs". check-in: b5bf2957 user: dan tags: trunk
17:03
Fix an error in the SQLITE_MAX_MEMORY implementation resulting from a bad merge. Update the OSSFuzz interface so that it times out after running the byte-code engine for 10 seconds. check-in: f8560c60 user: drh tags: trunk
16:22
Add the -DSQLITE_MAX_MEMORY=N compile-time option. The default is no limit. check-in: eabd4ef4 user: drh tags: trunk
15:55
Add the SQLITE_MAX_MEMORY compile-time option that provides a hard upper bound on the amount of memory that SQLite will use, per process. Closed-Leaf check-in: 77dfe2ab user: drh tags: max-memory-option
14:36
Enhance the ".stats" dot-command in the CLI to use sqlite3_status64() instead of sqlite3_status(). check-in: 118f5c05 user: drh tags: trunk
01:05
Improvements to ".selftest --init". Tests are number in increments of 10 starting with 100. The tests are generated inside a SAVEPOINT. Errors are reported during test generation. Tests can be appended to existing tests. Add a test case to verify the schema. check-in: b044b152 user: drh tags: trunk
2017-03-09
22:00
Remove the test/dbselftest.c program. In its place, add the ".selftest" command to the CLI. The new CLI version is .selftest is slightly different in that it uses SHA3 hashing instead of SHA1, so the new is subtly incompatible with the old. check-in: f4fcd46f user: drh tags: trunk
18:13
Fix the ".dump" command to correctly extract tail data from corrupt WITHOUT ROWID tables. check-in: 6c627e50 user: drh tags: trunk
13:50
Begin moving separate boolean variables in the ShellState object of the CLI into the shellFlgs bitmask. check-in: 50eec5d9 user: drh tags: trunk
2017-03-08
18:06
Make sure the database connection is open prior to running the ".sha3sum" command. check-in: 2ea300fb user: drh tags: trunk
17:56
In the ".sha3sum" command, if there is a LIKE pattern, show the hashes for each table separately. Without a LIKE pattern, show a single hash over the entire database. check-in: 30f87883 user: drh tags: trunk
16:10
Add the ".sha3sum" command to the CLI - used to compute a cryptographic hash of the content of a database file or of individual tables with in that file. check-in: fc663799 user: drh tags: trunk
15:03
Improved comments explaining the sha3_query() format. Fix a performance #ifdef error in the sha3 implementation. check-in: 54ef7abd user: drh tags: trunk
13:50
Add the shathree.c extension for implementing SHA3() and SHA3_QUERY() SQL functions. check-in: f7ca9193 user: drh tags: trunk
12:25
In the CLI, avoid unnecessary identifier quoting in the ".dump" output. Also add new ".dump" test cases. check-in: de65f907 user: drh tags: trunk
11:44
Add the --preserve-rowids option to the ".dump" command in the CLI. check-in: c60aee24 user: drh tags: trunk
2017-03-07
20:03
Add test script ext/rbu/rbu_round_trip.tcl. Uses "dbselftest" to test that "rbu" and "sqldiff" work together. check-in: 961e79da user: dan tags: trunk
14:38
Performance optimization in the tokenizer/parser loop. check-in: 2cb71583 user: drh tags: trunk
12:18
Minor comment typo fixes. No changes to code. check-in: 01cd9fb1 user: drh tags: trunk
03:40
More size and speed improvements in the expression name resolver. check-in: e0a3d39f user: drh tags: trunk
03:25
Small size reduction and performance increase in the name resolver routine for expressions. check-in: 1a3554e1 user: drh tags: trunk
2017-03-06
23:51
Make the default MASK argument for "PRAGMA optimize" be 0xfffe, to allow for future expansion of up to 14 new default-on optimizations. check-in: 73019a8b user: drh tags: trunk
20:44
Fix a typo in a comment. No changes to code. check-in: ec529bf1 user: drh tags: trunk
17:33
Add an initial implementation of the "PRAGMA optimize" command. check-in: 137aeb2b user: drh tags: trunk
11:39
Merge updates from trunk. Closed-Leaf check-in: 5f7fc79a user: drh tags: auto-analyze
2017-03-03
21:51
If a reprepare is needed after binding to a variable with a number larger than 32, set only the high-order bit of the Vdbe.expmask rather than setting all bits. This could potentially result in fewer false-positive reprepares. check-in: 45797fee user: drh tags: trunk
21:36
Remove an redundant function call from the date/time function implementation. check-in: 4a04c48a user: drh tags: trunk
20:43
Fix another corner-case for the 'start of ...' modifier in the date/time functions. Related to ticket [6097cb92745327a1]. check-in: 8831f439 user: drh tags: trunk
20:02
Fix a case introduced by [4cd2a967] where a corrupt database could cause a buffer overwrite. check-in: 5d0455fe user: dan tags: trunk
16:51
Before beginning an incremental checkpoint in RBU, sync the directory containing the target database file. This ensures that the new directory entry created by renaming the *-oal file to *-wal is synced to disk. check-in: 915a9a28 user: dan tags: trunk
2017-03-02
23:40
Fix a bug in the 'start of ...' date/time modifiers when they follow a julian day number. Fix for ticket [6097cb92745327a1]. check-in: 081dbcfb user: drh tags: trunk
16:56
Fix another RBU case similar to the previous. This one for systems where the sector-size is larger than the page-size. check-in: 4012bb3a user: dan tags: trunk
14:51
When saving the state of an RBU update in the incremental-checkpoint phase, sync the database file. Otherwise, if a power failure occurs and the RBU update resumed following system recovery, the database may become corrupt. check-in: edee6a80 user: dan tags: trunk
14:17
Add an optional bitmask of allowed optimizations on the "PRAGMA optimize" command. The 0x01 bit is Debug Mode. check-in: a35388ee user: drh tags: auto-analyze
13:22
Merge recent trunk enhancements. check-in: c60cdb47 user: drh tags: auto-analyze
13:13
Make sure the Vdbe.expmask value is set correctly in sqlite3VdbeSwap(). This fixes a problem introduced by [a8fd7052]. check-in: 29f54b89 user: drh tags: trunk
2017-03-01
11:30
Fix a use-after-free problem in the shell tool code that could occur if an SQL statement were executed after an ".open" command with invalid options. check-in: ac760db0 user: dan tags: trunk
2017-02-27
17:16
Make PATH handling more robust in the batch tools for MSVC. check-in: 23a8917e user: mistachkin tags: trunk
17:06
Improve performance of fts5 writes by writing the "averages" record once at the end of each transaction instead of every time the table is updated. check-in: 2b210d69 user: dan tags: trunk
16:15
Add an sqlite3_set_last_insert_rowid() method. Use it to work around fts4 and fts5 modifying the last-insert-rowid unintuitively from within commit processing. check-in: 952a3906 user: dan tags: trunk
14:52
Add an sqlite3_set_last_insert_rowid() method. Use it to work around fts4 and fts5 modifying the last-insert-rowid unintuitively from within commit processing. Closed-Leaf check-in: fe41bb56 user: dan tags: set-last-insert-rowid
12:23
Remove references to special handling in virtual table methods from the documentation for sqlite3_last_insert_rowid(). check-in: 660f9569 user: dan tags: trunk
2017-02-25
20:57
Add an 'extern "C"' block to header file sqlite3userauth.h. check-in: ffd61fb4 user: dan tags: trunk
17:47
Optimize defragmentPage() in the case where the page contains either one or two free-blocks and a small number of fragmented bytes. check-in: 4cd2a967 user: dan tags: trunk
16:24
Tweak the code on this branch to detect b-tree page corruption in the same cases as the trunk. Closed-Leaf check-in: f9863b39 user: dan tags: defragmentpage-opt
2017-02-24
19:58
Optimize defragmentPage() in the case where the page contains either one or two free-blocks and a small number of fragmented bytes. check-in: 202b1c02 user: dan tags: defragmentpage-opt
2017-02-23
16:30
Save a few bytes and a few cycles by setting Vdbe.expmask to zero for statements prepared using legacy interface sqlite3_prepare(). check-in: a8fd7052 user: dan tags: trunk
02:15
Add two NEVER() operators in the sqlite3BtreeRowCountEst() routine. check-in: 7a959f6d user: drh tags: auto-analyze
00:58
Do a single OP_Expire at the very end of "PRAGMA optimize", and omit the OP_Expire on ANALYZE commands invoked by the pragma. check-in: 188300a3 user: drh tags: auto-analyze
2017-02-22
20:24
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. check-in: 9fced545 user: drh tags: auto-analyze
19:49
Merge integrity_check and other improvements from trunk. check-in: fe073905 user: drh tags: auto-analyze
19:41
Move a branch condition in analyze.c inside an #ifdef SQLITE_ENABLE_STAT4 block. check-in: d6afd98d user: dan tags: trunk
19:27
Improve the performance of ANALYZE when SQLITE_ENABLE_STAT4 is defined. check-in: 737a8244 user: dan tags: trunk
18:53
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. check-in: aa02bd3c user: drh tags: trunk
18:04
Cleanup and simplification of the output row count limit control of PRAGMA integrity_check. Closed-Leaf check-in: 5af7d72e user: drh tags: integrity-check-improvements
15:11
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. check-in: 5264844b user: drh tags: integrity-check-improvements
14:15
Enhance "PRAGMA integrity_check" so that it verifies CHECK constraints. check-in: 549bae08 user: drh tags: integrity-check-improvements
2017-02-21
21:24
In sqlite3VdbeHalt(), return as soon as possible if Vdbe.magic!=VDBE_MAGIC_RUN. This makes sqlite3_reset() slightly faster in some cases. check-in: 80adc0cb user: dan tags: trunk
17:52
Fix an FTS5 problem that could cause a crash when certain queries were interrupted using sqlite3_interrupt(). check-in: e400909f user: dan tags: trunk
15:27
Very small enhancement to dispatch speed for SQL functions. check-in: 3c3228ed user: drh tags: trunk
2017-02-20
23:32
Correct a harmless typo in the previous check-in. check-in: 1589db01 user: mistachkin tags: trunk
19:13
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. check-in: 96b6a98e user: mistachkin tags: trunk
14:30
Small grammar simplification. check-in: 0d8a868a user: drh tags: trunk
13:11
Merge fixes from trunk. check-in: ff213f2e user: drh tags: auto-analyze
2017-02-18
22:52
Updated comments. No code changes. check-in: e842ad39 user: drh tags: auto-analyze
15:58
Add the OP_SqlExec opcode and use it to implement "PRAGMA analyze_as_needed", invoking ANALYZE subcommands as necessary. This simplifies the implementation. check-in: d386015f user: drh tags: auto-analyze
13:47
Add the SQLITE_BUG_COMPATIBLE_20160819 compile-time option to omit the error message when an unrecognized argument is provided to the VACUUM command. check-in: 49181427 user: drh tags: trunk
02:42
Fix errors in the table resize detection. check-in: 4229caec user: drh tags: auto-analyze
02:19
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. check-in: 882599a4 user: drh tags: auto-analyze
2017-02-17
23:52
Fix the #endif location for an #ifndef SQLITE_UNTESTABLE macro in the command-line shell. check-in: 8cc9d74c user: drh tags: trunk
19:24
The analyze_as_needed pragma now responds to table size growth and will automatically rerun the analysis after each 10x size increase. check-in: bfbdd074 user: drh tags: auto-analyze
16:26
Add the "PRAGMA analyze_as_needed" command. check-in: e93db237 user: drh tags: auto-analyze
15:26
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. check-in: fb2b8ae8 user: drh tags: auto-analyze
13:38
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. check-in: 85026c8e user: drh tags: auto-analyze
02:04
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. check-in: 218b2bbb user: drh tags: trunk
01:43
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. check-in: 8a03be1d user: drh tags: trunk
2017-02-16
20:52
Change the name of WhereInfo.pDistinctSet to pResultSet, since it is now used for more than just DISTINCT processing. check-in: 9fc5cd50 user: drh tags: trunk
17:18
Change two MallocZero() calls into MallocRaw() to avoid unnecessary memset(). check-in: ff5e733c user: drh tags: trunk
16:26
Fix a comment on a field of the ExprList object. No changes to code. check-in: bb8e2642 user: drh tags: trunk
15:57
Increase Table.tabFlags from 8 to 32 bits. check-in: 7e14044c user: drh tags: trunk
15:06
Remove two redundant initializations from the virtual table logic. check-in: 6bd82b95 user: drh tags: trunk
14:48
Always use the IsVirtual() macro to determine if a Table object is a virtual table. Slightly smaller and faster code. check-in: 6affb1c8 user: drh tags: trunk
2017-02-15
22:36
Query planner optimization to detect empty tables in a join early and bail out without doing excess work. check-in: 58797e9b user: drh tags: trunk
18:30
Minor enhancement to mutex tracing on Win32. check-in: 830b9235 user: mistachkin tags: trunk
15:09
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. check-in: 810d2932 user: drh tags: trunk
04:16
Further reforms to Tcl_*Alloc() usage. check-in: ee1e6896 user: mistachkin tags: trunk
01:39
In the blob test code, avoid crashing on low-memory systems by using Tcl_AttemptAlloc(). check-in: 1d267757 user: mistachkin tags: trunk
2017-02-14
21:47
Clarification of the help text for the command-line shell. check-in: ca4f1e49 user: drh tags: trunk
20:00
Enable the SQLITE_ENABLE_NULL_TRIM option for WITHOUT ROWID tables. check-in: 54836270 user: drh tags: trunk
16:30
More realistic lengths of string values in speedtest1 with --testset orm. check-in: e4731fd6 user: drh tags: trunk
15:58
Fix a testcase number on the ORM testset of speedtest1. check-in: 58b2f911 user: drh tags: trunk
15:57
Add the new "--testset orm" to the speedtest1 utility. check-in: 1836adc1 user: drh tags: trunk
2017-02-13
13:35
Change all legacy instances of "#if SQLITE_DEBUG" to "#ifdef SQLITE_DEBUG" for consistency. check-in: 670f10b2 user: drh tags: trunk
13:26
Fix typos in using the MSVC_VERSION macro. check-in: f3b65926 user: drh tags: trunk
13:20
Avoid a duplication #define in FTS5 check-in: c447441c user: drh tags: trunk
2017-02-11
14:59
Fix indexes on expressions so that they can be actually used with a COLLATE clause. check-in: e464b919 user: drh tags: trunk
13:51
Ensure that indexed expressions with collating sequences are handled correctly. Proposed fix for ticket [eb703ba7b50c1a5]. check-in: 9689d04b user: drh tags: trunk
2017-02-10
21:40
Bump the version number up to 3.18.0. check-in: 7520c238 user: drh tags: trunk
21:37
Enhance the LIKE optimization so that it works for arbitrary expressions on the LHS as long as the pattern on the RHS does not begin with a digit or a minus sign. check-in: 158290c0 user: drh tags: trunk
19:38
Add the "," flag to printf(). check-in: 064445b1 user: drh tags: trunk
2017-02-09
17:12
Cleanup the usage of the SQLITE_DISABLE_INTRINSIC compile-time option. Remove the SQLITE_RUNTIME_BYTEORDER compile-time option. Use -DSQLITE_BYTEORDER=0 instead. Fix a bug in R-Tree that occurs when compiling on a known little-endian machine without the use of intrinsic byteswapping functions. check-in: 798fb9d7 user: drh tags: trunk
2017-02-08
19:12
Avoid preparing a SELECT statement each time an UPDATE or DELETE by docid is executed against an fts3 table. check-in: 1afec575 user: dan tags: trunk
19:10
Avoid preparing a SELECT statement each time an UPDATE or DELETE by docid is executed against an fts3 table. Leaf check-in: 9962c10a user: dan tags: fts3-seekstmt-cache
18:13
Typo fixes in comment. No changes to code. check-in: c09dd5c0 user: mistachkin tags: trunk
16:01
Always invoke the xRoundup() method of the memory allocator before calling xMalloc(). check-in: 77b470b0 user: drh tags: trunk
12:18
Round up the size of all memory allocations to a multiple of 8 bytes when using the system memory allocator. check-in: c46e06fa user: drh tags: trunk
2017-02-07
21:44
When generating the hash on the sqlite_master table in dbselftest, use an ORDER BY clause, since the sqlite_master table is reordered by VACUUM. check-in: c8bfd99b user: drh tags: trunk
21:09
MSVC makefile enhancments for several command line tools and the session extensions. check-in: fc1dfe87 user: mistachkin tags: trunk
21:00
Fix harmless compiler warnings in dbfuzz. check-in: 61242267 user: drh tags: trunk
20:57
Fix harmless compiler warnings in kvtest.c check-in: db6b3993 user: drh tags: trunk
20:51
The dbselftest utility now generates hashes in the selftest table with --init. It also accepts multiple database files on the command-line. check-in: e68829c9 user: drh tags: trunk
19:36
Omit fts5fault1.test from the inmemory_journal permutation. check-in: cb1e83f9 user: dan tags: trunk
19:23
Update a test parameter in malloc5.test to account for the increase in default lookaside buffer size. check-in: be82d5ae user: dan tags: trunk
17:36
Add the initial version of the "dbselftest" utility program. check-in: 1fcac836 user: drh tags: trunk
16:15
Update an error message in corruptC.test. check-in: 722e57fe user: dan tags: trunk
14:45
Fix a build problem affecting non-amalgamation rtree builds. check-in: bb7f445b user: dan tags: trunk
14:22
Fix a test case to account for the fact that sqlite3_blob_reopen() now returns SQLITE_IOERR_NOMEM instead of SQLITE_NOMEM if an OOM occurs in the VFS layer. check-in: e11cc523 user: dan tags: trunk
13:51
Fix SQLITE_BYTEORDER #defines in R-Tree when compiled separately from the amalgamation. check-in: a136609c user: drh tags: trunk
12:58
Make the cellMargin() routine of R-Tree slightly smaller and faster while also fixing a harmless compiler warning. check-in: 07fe6228 user: drh tags: trunk
03:44
Back out [ec8ff892ac] which is causing missed OOM errors on some tests. check-in: 0611770d user: drh tags: trunk
00:55
Fix a minor typo in a comment in R-Tree. No changes to code. check-in: f77ee9e9 user: drh tags: trunk
2017-02-06
16:52
Remove a small amount of unnecessary code from R-Tree. check-in: e5aea894 user: drh tags: trunk
15:27
Add the "max-limits" utility program to the tools/ subdirectory. check-in: c54173b6 user: drh tags: trunk
07:37
Fix a bug in kvtest causing "init --variance 0" runs to generate single byte blob values only. check-in: 6b0276f9 user: dan tags: trunk
01:19
Remove incorrect testcase() macros from R-Tree. check-in: 853a58a7 user: drh tags: trunk
2017-02-04
20:15
Simplification to the error handling to extension loading in sqlite3_open(). check-in: ec8ff892 user: drh tags: trunk
17:33
Allow sqlite3session_apply() to apply changesets to tables that have been extended using ALTER TABLE ADD COLUMN. check-in: b20ff81f user: dan tags: trunk
14:24
In RTREE, use an sqlite3_blob object rather than an sqlite3_stmt object for reading content out of the %_node shadow table. check-in: 97ccf3e4 user: drh tags: trunk
13:12
Close sqlite3_blob objects on xSync rather than waiting until xCommit. Closed-Leaf check-in: 95ee745f user: drh tags: rtree-blob-agressive-release
2017-02-03
20:54
Improved performance and stack usage when processing VALUES clauses with a very large number of rows. check-in: 5706d470 user: drh tags: trunk
19:16
Avoid a performance problem when very large "VALUES(..), (..), (..)" terms are used in queries. Closed-Leaf check-in: f5306ad6 user: dan tags: recursive-selectdup
15:16
Improved tests for the carray() table-valued function. check-in: 83a099f1 user: drh tags: trunk
14:44
Modify the sqlite3SelectDup() routine to avoid recursing on Select.pPrior. check-in: a7674ead user: dan tags: recursive-selectdup
2017-02-02
20:32
Ensure that all cursors have their positions saved prior to rolling back a savepoint. check-in: 8e03a8e9 user: drh tags: trunk
19:24
Fix issues in the sha1 extension seen with MSVC. check-in: 5a0da77c user: mistachkin tags: trunk
16:30
Remove the unused pReadNode prepared statement from each RTREE object. check-in: e51dc0ec user: drh tags: rtree-sqlite3_blob
16:08
Fix a potential uninitialized (though harmless) variable in RTREE. check-in: a1c74e09 user: drh tags: rtree-sqlite3_blob
15:35
The sqlite3_blob_close() interface can cause recursive invocations of nodeBlobReset() in RTREE. Make sure that does not cause problems. check-in: 88333441 user: drh tags: rtree-sqlite3_blob
14:40
Change RTREE so that the sqlite3_blob object is closed whenever the cursor count drops to zero and there is not a pending write transaction. check-in: 9bb4eafe user: drh tags: rtree-sqlite3_blob
02:28
Use the sqlite3_blob interface for reading values from the %_node shadow table in RTREE. This is a work in progress. There are still some minor problems. check-in: fc4917d7 user: drh tags: rtree-sqlite3_blob
00:46
This is an experimental patch that ensures that all cursors have their position saved prior to starting a ROLLBACK TO. Closed-Leaf check-in: 01d97e5b user: drh tags: savepoint-rollback
2017-02-01
23:06
Fix harmless compiler warnings seen with MSVC. check-in: 0c66cf0f user: mistachkin tags: trunk
23:03
Backout the change in [02f6293f27] as it causes MSVC to complain. check-in: aaae74d0 user: mistachkin tags: trunk
22:59
Fix C99-style variable declaration issue seen with older versions of MSVC. check-in: 54d28546 user: mistachkin tags: trunk
22:43
Fix harmless compiler warnings seen with MSVC. Closed-Leaf check-in: 997f765b user: mistachkin tags: msvcWarn
22:32
Add an option to the MSVC makefile to enable treating warnings as errors. check-in: 6a378c29 user: mistachkin tags: trunk
17:08
Unwind the RTREE dimension loop inside of rtreeCallbackConstraint(). check-in: 4854ea9c user: drh tags: trunk
16:41
Completely unroll the dimension loop inside of cellArea() in RTREE. check-in: 3c4c0126 user: drh tags: trunk
15:49
Precompute the nDim2 value in the Rtree object and use that to make loops over coordinates faster. check-in: f1f3c8cc user: drh tags: trunk
15:24
Use compiler intrinsic functions (when available) for byteswapping in RTREE. check-in: 82fcd54a user: drh tags: trunk
15:19
Fix the build by making the OPFLAG_ISNOOP macro available unconditionally. check-in: 510933cb user: drh tags: trunk
14:19
Update the documentation comment in sqlite.h.in for sqlite3_preupdate_hook(). check-in: 7f857020 user: dan tags: trunk
14:10
Changes so that the pre-update hook and the sessions module work with WITHOUT ROWID tables. check-in: 964bdc27 user: dan tags: trunk
02:25
More RTREE performance optimizations related to decoding values. check-in: c5395e74 user: drh tags: trunk
01:34
Improved comments on the statGet() implementation in ANALYZE. No changes to code. check-in: 9663eea2 user: drh tags: trunk
2017-01-31
21:22
R-TREE optimization: unwrap the coordinate decode loop in rtreeCallbackConstraint(). check-in: 0bf7b518 user: drh tags: trunk
19:10
Very small performance improvements and size reductions in sqlite3VdbeExec() and blobSeekToRow(). check-in: 85dddf2b user: drh tags: trunk
19:02
Simplifications to blobSeekToRow(). Closed-Leaf check-in: 495ea824 user: drh tags: micro-optimizations
17:31
Add a speed-test program for the sessions module. Closed-Leaf check-in: 25f1275f user: dan tags: preupdate-without-rowid
16:49
Remove a C99-style comment. Fixes to the kvtest-speed.sh script. check-in: 91eb6b62 user: drh tags: micro-optimizations
16:43
Remove another unnecessary local variable initialization from sqlite3VdbeExec() check-in: 2361b03b user: drh tags: micro-optimizations
16:34
Remove an unnecessary initialization of the pOp variable in sqlite3VdbeExec(). check-in: 02f6293f user: drh tags: micro-optimizations
15:29
Add the "stat" command to kvtest.c. Also add the --variance option to the "init" command. Add the tool/kvtest-speed.sh script used for doing performance testing on key/value access patterns. check-in: b63deed6 user: drh tags: trunk
15:27
Fix a typo in a comment. check-in: bd22bf9c user: drh tags: trunk
14:08
Merge latest trunk with this branch. check-in: 4a592abb user: dan tags: preupdate-without-rowid
12:41
Further minor enhancement and size reduction in sqlite3ExprAssignVarNumber(). check-in: eacfdcf2 user: drh tags: trunk
03:52
Performance optimization in sqlite3ExprAssignVarNumber(). check-in: 5987ca1f user: drh tags: trunk
2017-01-30
19:44
Experimental change to invoke the preupdate hook when WITHOUT ROWID tables are written. check-in: 856f8604 user: dan tags: preupdate-without-rowid
11:38
Fix building with SQLITE_OMIT_FOREIGN_KEY defined. check-in: e93d2c49 user: dan tags: trunk
2017-01-28
20:46
In the amalgamation, allocate the parser engine object from stack rather than from heap, for improved performance. This only happens in the amalgamation, since otherwise the sqlite3RunParser() routine does not know the object size. check-in: 4fe879d4 user: drh tags: trunk
19:53
Fix a couple comment typos. No changes to code. check-in: 2a2e7d86 user: mistachkin tags: trunk
19:45
Avoid redundant table b-tree cursor seeks in UPDATE statements that use the two-pass strategy. check-in: dc555b10 user: dan tags: trunk
15:26
Updates to the sqlite3_blob documentation. No changes to code. check-in: 426b440a user: drh tags: trunk
13:40
In the speed-check.sh script, automatically invoke "fossil test-diff --tk" on the cachegrind output against trunk, if not generating a trunk run. check-in: aa1ab371 user: drh tags: trunk
06:50
Fix a typo in the docs for sqlite3_update_hook(). check-in: 7c029655 user: dan tags: trunk
2017-01-27
19:27
Add the sha1.c loadable extension that implements the sha1() and sha1_query() SQL functions. check-in: 24e77c1c user: drh tags: trunk
17:02
Fix a problem causing the pre-update hook to be invoked by DROP TABLE statements. check-in: fbb6bf1b user: dan tags: trunk
13:14
Alternative ICU fix (compare to check-in [50e60cb4]) that avoids casting integers to pointers. check-in: d9752c8f user: drh tags: trunk
01:52
In the command-line shell, enhance the ".mode" command so that it restores the default column and row separators for modes "line", "list", "column", and "tcl". check-in: 58f02e6e user: drh tags: trunk
01:25
Another micro-optimization in accessPayload(). Slightly smaller and faster. check-in: c012619b user: drh tags: trunk
01:13
Performance optimization in accessPayload(). check-in: ebb1fd98 user: drh tags: trunk
00:31
Simplify the accessPayload() routine so that it always populates the overflow page cache. In the one case where populating the page cache can lead to problems, simply invalidate the cache as soon as accessPayload() returns. This simplification reduces code size and helps accessPayload() to run a little faster. This backs out the eOp==2 mode of accessPayload() added by check-in [da59198505]. check-in: 68e7a8c6 user: drh tags: trunk
2017-01-26
21:30
Remove an unreachable branch in the error handling logic for sqlite3BtreePayloadChecked(). check-in: 293bf3ed user: drh tags: trunk
18:00
Improvement to the OP_Permutation opcode to prevent it from using CPU cycles for initialization in prepared statements that do not use that opcode. check-in: b4a98f65 user: drh tags: trunk
17:26
Remove the obsolete lastRowid cache from the sqlite3VdbeExec() for a size reduction and performance improvement. check-in: b4803184 user: drh tags: trunk
17:11
Performance optimization in sqlite3VdbeCloseStatement(). check-in: 1e96e5ec user: drh tags: trunk
16:54
Performance optimization to sqlite3_blob_read(). check-in: 7459f4b7 user: drh tags: trunk
16:27
Minor simplification and performance optimization for Direct Overflow Read. check-in: 3e96d6ef user: drh tags: trunk
02:26
Make SQLITE_DIRECT_OVERFLOW_READ work for in WAL mode as long as the page being read is not in the the -wal file. check-in: 9879be18 user: drh tags: trunk
01:54
Enhancements to the kvtest utility program. Add the --jmode option. Improved output formatting. check-in: 62a4851c user: drh tags: trunk
00:58
Modify the ICU extension to use a static initializer, as VC++ complains about a dynamic initialization. Maybe the dynamic structure initialization is a GCC extension. This fixes a problem identified on the SQLite mailing list by Ziemowit Laski. check-in: 50e60cb4 user: drh tags: trunk
2017-01-25
20:55
Trim NULL values off the end of records when the SQLITE_ENABLE_NULL_TRIM compile-time option is used. Increase the size of the P5 operand to 16 bits. Fix a problem with short records in the sessions extension. check-in: 4801bd59 user: drh tags: trunk
18:53
Fix another pre-update hook issue, this time in sqlite3preupdate_old(). Closed-Leaf check-in: c7651d21 user: dan tags: trim-nulls
18:12
Fix a test script problem in exclusive2.test causing it to fail on this branch. check-in: f66614dc user: dan tags: trim-nulls
17:44
Fix a problem with the pre-update hook on this branch. check-in: 6fc4fbfa user: dan tags: trim-nulls
14:58
Experimental enhancement to automatically trim NULL values from the end of records, for a reduced disk footprint. This change also involves increasing the P5 operand from 8 to 16 bits. check-in: 118ded40 user: drh tags: trim-nulls
14:38
Ensure that sqlite3_blob_reopen() correctly handles short rows. Fix for ticket [e6e962d6b0f06f46e]. check-in: 8cd1a445 user: drh tags: trunk
13:54
Fix SQLITEINT_H macro usage in two extensions. check-in: 0803390c user: drh tags: trunk
04:41
Ensure that sqlite3_blob_reopen() correctly handles short rows. Proposed fix for ticket [e6e962d6b0f06f46e]. Further testing needed. Closed-Leaf check-in: 57d8dad3 user: drh tags: blob_reopen-fix
2017-01-23
19:11
Document the --mmap option in the --help screen for kvtest. Enhance kvtest so that numeric arguments can have suffixes like "K" or "M". Add kvtest to the unix makefiles. check-in: 175bda87 user: drh tags: trunk
18:40
Add the --mmap option to the kvtest utility program. check-in: 4948f7e6 user: drh tags: trunk
16:56
Optimization: Try to avoid unnecessary btree searching when repositioning a cursor to the next row. check-in: ee793d30 user: drh tags: trunk
15:58
Add the missing SQLITE_API symbol to test_delete.c (it is not added automatically as this file is not part of the amalgamation). check-in: 7a4f512d user: dan tags: trunk
07:06
Fix a problem preventing FTS5 from correctly passing the FTS5_TOKENIZE_PREFIX flag to custom tokenizer implementations. check-in: 03c60134 user: dan tags: trunk
2017-01-22
16:34
Fix an uninitialized variable in the command-line shell. check-in: 06b8001a user: drh tags: trunk
02:04
Fixes to documentation comments in the public header file. check-in: 772dcb08 user: mistachkin tags: trunk
00:11
Fix an initialized variable in kvtest. check-in: ed62c5a6 user: drh tags: trunk
2017-01-21
21:47
A better implementation of the moveto-neighbor optimization that checks for nearby rows on adjacent pages. Closed-Leaf check-in: 2c4ecb85 user: drh tags: btree-moveto-neighbor
16:54
B-tree optimization: When seeking on a rowid table that has already been positioned, check to see if the new row happens to be the next row on the same leaf page. That is a reasonably common case, and if it is true it avoids a full binary search. check-in: 8e5cfb20 user: drh tags: btree-moveto-neighbor
16:27
Change sqlite3_blob_reopen() to call sqlite3VdbeExec() directly rather than going through sqlite3_step(). Performance enhancement. check-in: 347df3c1 user: drh tags: trunk
15:55
In the kvtest.c test utility, reuse the buffer into which blobs are read, rather than reallocating it for each row. This is a closer match to how other test programs work, and thus provides a better comparison. check-in: 0d1ad13a user: drh tags: trunk
14:11
Remove an unnecessary sqlite3_bind_int64() call from sqlite3_blob_open(). Also other minor refactoring of the sqlite3_blob implementation. check-in: 9d197a53 user: drh tags: trunk
2017-01-20
20:43
Minor performance optimization and size reduction to the accessPayload() routine in btree.c. check-in: 264e5c10 user: drh tags: trunk
16:47
Fix a typo in the help message for kvtest. check-in: 8971d98f user: dan tags: trunk
16:46
Add option "--stats" to test program kvtest. Specifying --stats causes kvtest to output information similar to the shell tool option of the same name. check-in: 90291327 user: dan tags: trunk
16:09
Get the "--testset rtree" option working on speedtest1. Add the --rtree, --lookaside, and --clang options to the speed-check.sh script. check-in: 87b640c8 user: drh tags: trunk
00:40
Minor performance optimizations to sqlite3_blob_open() and sqlite3_blob_reopen(). check-in: 52a61967 user: drh tags: trunk
2017-01-19
21:20
If compiled with SQLITE_INLINE_MEMCPY, all memcpy() calls are replaced with in-line code. With that change, cachegrind shows which memcpy() calls are taking the most time. This is a performance-measurement hack only and is not for production use. check-in: 9ed38521 user: drh tags: trunk
18:20
In the 'vtshim' extension, avoid accessing freed memory when handling errors from xCreate/xConnect. check-in: ffd559af user: mistachkin tags: trunk
2017-01-18
22:47
In the 'windirent' test module, use a macro for the hidden/system attribute checking. check-in: a84a08d0 user: mistachkin tags: trunk
22:19
Remove superfluous option to Tcl 'lsort' in the vtabH test file. check-in: b92cc6e5 user: mistachkin tags: trunk
22:16
Make the vtabH-3.1 test more portable and robust. check-in: d3c91c1f user: mistachkin tags: trunk
22:16
Fix handling of initial hidden and/or system files in the opendir() implementation for Windows. No changes to non-test code. check-in: 26dd42b4 user: mistachkin tags: trunk
2017-01-17
10:41
Fix a problem that could cause a spurious SQLITE_NOMEM error when attempting to resume an RBU operation if the previous client failed right after completing the incremental checkpoint. Also a "cannot vacuum wal db" error that could occur when resuming an RBU vacuum if an error (OOM or IO error) occurs during the incremental checkpoint. check-in: 681d96eb user: dan tags: trunk
00:10
Disable intrinsic functions for Windows using Clang, due to reports of linkage errors. This causes a 0.6% performance reduction. We will want to revisit this change in the future. check-in: 7fd560c6 user: drh tags: trunk
2017-01-16
18:10
Back out check-in [0b3174e0b1364c] and replace it with a better fix for \ticket [91e2e8ba6ff2e2] - a fix that does not cause the problem identified by ticket [7ffd1ca1d2ad4ec]. Add new test cases for both tickets. check-in: 9b64af7b user: drh tags: trunk
16:43
Back out check-in [0b3174e0b1364c] and replace it with a better fix for ticket [91e2e8ba6ff2e2] - a fix that does not cause the problem identified by ticket [7ffd1ca1d2ad4ec]. Closed-Leaf check-in: 06136652 user: drh tags: automatic-index-affinity
16:01
Add test cases for tickets [91e2e8ba6ff2e2] and [7ffd1ca1d2ad4ec]. check-in: 9d0dfe0b user: drh tags: automatic-index-affinity
2017-01-13
18:24
Fix a problem preventing resumption of RBU operations after recovering from a process or system failure that occurs during the incremental-checkpoint phase. check-in: 97914266 user: dan tags: trunk
12:53
Fix the build for SQLITE_ENABLE_MEMORY_MANAGEMENT. check-in: 8c85b8fd user: drh tags: trunk
2017-01-12
19:10
Remove a branch that is probably unreachable, and which adds no value. check-in: 9acc7238 user: drh tags: trunk
16:21
Fix harmless compiler warnings in the UPDATE code generator. check-in: 385db266 user: drh tags: trunk
16:14
Remove an unnecessary corruption test from the btree balancer. If corruption is present, it will be found harmlessly by later tests. check-in: bddf3956 user: drh tags: trunk
15:11
Improved detection of cells that extend into the reserved space at the end of the page while adjusting overflow page pointers during autovacuum. check-in: 8097712c user: drh tags: trunk
11:52
Remove invalid test case from cursorhints2.test check-in: 163cc1b2 user: drh tags: trunk
11:50
Make sure Tcl_AppendResult() always has a NULL-pointer argument at the end. check-in: c07aef6f user: drh tags: trunk
2017-01-11
21:03
Changes to allow some multi-row UPDATE statements to avoid the two-pass approach. check-in: 7ae6104a user: dan tags: trunk
20:10
Fix a problem causing the pre-update hook to be passed an incorrect rowid value in some single-pass multi-row updates. Closed-Leaf check-in: 62257eb5 user: dan tags: onepass-update
19:03
Fix a problem with single-pass multi-row UPDATE statements that invoke REPLACE conflict handling. check-in: 0a2b8e1b user: dan tags: onepass-update
15:42
Fix a problem preventing UPDATE statements that use a range-scan on the PK index of a WITHOUT ROWID table from using a one-pass strategy. check-in: cab86c90 user: dan tags: onepass-update
14:15
In the STAT4 computations, ensure that the aAvgEq values do not go negative. check-in: f58f75b5 user: drh tags: trunk
2017-01-10
20:04
Changes to allow some multi-row UPDATE statements to avoid the two-pass approach. check-in: 46db23cc user: dan tags: onepass-update
17:37
Add a test case for ticket [25e335f802dd]. check-in: e500c15a user: dan tags: trunk
17:33
Throw an error if the ON clause of a LEFT JOIN references tables to the right of the ON clause. Fix for ticket [25e335f802dd]. check-in: c92ecff2 user: drh tags: trunk
16:09
Avoid unnecessary calls to the xRoundup() method of the memory allocator when the soft heap limit is not set. check-in: 4209b89e user: drh tags: trunk
15:08
Fix a potential assertion fault discovered by OSS-Fuzz. check-in: 71c03b59 user: drh tags: trunk
2017-01-09
19:55
Remove a redundant assignment statement. check-in: a5fa0965 user: drh tags: trunk
19:27
Performance optimization and size reduction in the OP_Variable opcode. check-in: 237aa974 user: drh tags: trunk
18:22
Fix typo in a comment. No changes to code. check-in: d38fd229 user: mistachkin tags: trunk
15:44
Modify the OP_RowData opcode so that when P3!=0 it is allowed to hold an ephemeral copy of the content. This avoids unnecessary memcpy() operations in the xfer-optimization and VACUUM. check-in: 6e106acd user: drh tags: trunk
13:43
Add the SQLITE_UINT64_TYPE compile-time option. check-in: a5fe03bc user: drh tags: trunk
2017-01-07
14:47
Improvements to the iIdxNoSeek optimization of sqlite3GenerateRowDelete() so that it is automatically disabled for BEFORE triggers but works in all other cases. check-in: 3178ec4c user: drh tags: trunk
14:26
Critical fix to the previous check-in so that it works when there are BEFORE triggers that move the cursor before the OP_Delete has a chance to be applied. check-in: db2c0960 user: drh tags: trunk
03:26
Avoid an unnecessary btree seek while deleting an index entry due to a conflict on a REPLACE operation. check-in: f0495c51 user: drh tags: trunk
00:56
Avoid duplicate b-tree searches in the duplicate row detector used to implement DISTINCT. check-in: d577dda0 user: drh tags: trunk
2017-01-06
13:49
Ensure that "PRAGMA case_sensitive_like" and "PRAGMA shrink_memory" set the number of output columns to 0 (as they are statements that return no data). check-in: 6696cd18 user: dan tags: trunk
11:55
Improve handling of corrupt data in fts5. check-in: 609ac1c7 user: dan tags: trunk
01:09
Clarify the documentation on sqlite3_column_count(). check-in: 9ea0badd user: drh tags: trunk
00:02
Remove several non-portable tests for the deprecated temp_store_directory PRAGMA. check-in: 28d87789 user: mistachkin tags: trunk
2017-01-05
20:00
Ensure that sqlite3_column_count() returns 0 for the "set" mode of "get/set" PRAGMA statements that do not return a value in that case (e.g. page_size, cache_size, auto_vacuum). check-in: 2f57939a user: dan tags: trunk
19:32
Ensure that sqlite3_column_count() returns 0 for the "set" mode of "get/set" PRAGMA statements that do not return a value in that case (e.g. page_size, cache_size, auto_vacuum). Closed-Leaf check-in: 5c05d8ec user: dan tags: pragma-columncount-fix
17:23
Fix handling the case where a sub-query in a FROM clause is itself a UNION ALL, and one side of that UNION ALL is a query on a view that includes an ORDER BY. Fix for ticket [190c2507]. check-in: 590ca83b user: dan tags: trunk
13:50
Fix problems in trigger and foreign key handling when doing REPLACE on a WITHOUT ROWID table that has no secondary indexes. Fix for ticket [30027b613b4]. check-in: 571f166e user: drh tags: trunk
07:58
Ensure that the sqlite3_value_text() interface returns a buffer that is long enough to hold the complete string plus the zero terminator even when the input is a zeroblob. Fix for a problem detected by OSS-Fuzz. check-in: 2dc7eeb5 user: drh tags: trunk
06:57
Fix some problems with foreign key processing within REPLACE ops on WITHOUT ROWID tables with no triggers or auxiliary indexes. Closed-Leaf check-in: c1220b1a user: dan tags: replace-fix
2017-01-04
22:02
Improved the comment on the block of code the provides the performance optimization originally added by check-in [925840cfdb]. The original check-in omitted condition 4, which was the cause of bug [30027b613b]. check-in: c6506b82 user: drh tags: replace-fix
20:13
Possible fix for [30027b61]. There may still be problems surrounding foreign key processing. check-in: 71ccb1f4 user: dan tags: replace-fix
14:53
Adjust filename creation in test_sqllog.c so that it uses leading zeros on counters, so that files appear in order when sorted lexicographically. check-in: 8d670973 user: drh tags: trunk
13:09
Performance enhancements in the printf implementation. check-in: 82e4001b user: drh tags: trunk
04:18
Factor constant functions out of the inner loop since they are more expensive than the extra OP_Copy needed to move the result into place. check-in: 80ad317f user: drh tags: trunk
04:10
Clean up the implementation of constant function factorization. Closed-Leaf check-in: 2ab997e4 user: drh tags: factor-constant-funcs
01:07
Attempt to factor out constant functions from the interior of table scans, since functions can often be expensive to compute. check-in: 62e9270a user: drh tags: factor-constant-funcs
00:26
Changes to the printf implementation for better performance. Closed-Leaf check-in: acdb8f6f user: drh tags: printf-optimization
2017-01-03
21:57
Use compiler intrinsic functions for signed integer math when overflow detection is needed. check-in: d3ac32a6 user: drh tags: trunk
21:50
Back out the use of __sync_fetch_and_sub() as it does not appear to work. Closed-Leaf check-in: 4c2efd42 user: drh tags: gnu-safe-math
21:03
Fix a typo in a comment. check-in: ae087123 user: drh tags: gnu-safe-math
20:01
Use the CLANG_VERSION macro to control clang-specific features. check-in: f8ebeec2 user: drh tags: gnu-safe-math
18:05
Use the GCC built-in __sync_fetch_and_sub() to make the sqlite3StatusDown() routine atomic, and thereby avoid some mutexing. check-in: f69ce75b user: drh tags: gnu-safe-math
17:33
Make use of the __buildin_OP_overflow() functions from GCC when doing 64-bit signed integer arithmetic. check-in: 82cbebb8 user: drh tags: gnu-safe-math
14:45
Add the experimental affinity() SQL function when SQLITE_DEBUG is defined. check-in: bed0eaa5 user: drh tags: trunk
14:39
Put the affinity() function implementation inside of #ifdef SQLITE_DEBUG. Closed-Leaf check-in: f778f58a user: drh tags: affinity-sql-func
14:30
Merge all the latest changes from trunk. check-in: c27cd8a8 user: drh tags: affinity-sql-func
13:45
Defer size checking on row-value assignments for when the RHS is a SELECT until after the "*" wildcards have been expanded. check-in: 36944be6 user: drh tags: trunk
11:59
Fix a typo on a comment. No code changes. check-in: abc27b60 user: drh tags: trunk
08:11
Add test cases for the fix in [f12ed3ce]. No problems discovered. check-in: 548532fd user: dan tags: trunk
02:58
Improvements to the way vector assignment size checking is done. Size checks when the RHS is a SELECT are deferred until after "*" wildcards are expanded. Closed-Leaf check-in: 696219b1 user: drh tags: vector-size-check
01:24
Fix the row-values in UPDATE statements within TRIGGER problem identified by ticket [8c9458e7]. check-in: f12ed3ce user: drh tags: trunk
00:27
Improved assert()s on the sqlite3ExprListDup() logic for TK_SELECT_COLUMN. Closed-Leaf check-in: 14da99d4 user: drh tags: rowvalue-update-trigger
2017-01-02
23:43
Test cases for the row-value UPDATE TRIGGER fix. check-in: b9b96437 user: drh tags: rowvalue-update-trigger
23:18
Put an ALWAYS() on an unreachable branch in the sqlite3ExprListDup() routine. check-in: 2caaaab5 user: drh tags: rowvalue-update-trigger
22:36
Proposed fix for the row-value TRIGGER UPDATE problem described in ticket [8c9458e7]. check-in: 61a442ea user: drh tags: rowvalue-update-trigger
19:10
Increase the version number to 3.17.0 for the next release cycle. check-in: 16415b5a user: drh tags: trunk
19:02
Provide the SQLITE_DEFAULT_LOOKASIDE compile-time option and make it's default value be 1200,100 (raised from 512,125 in the latest release). check-in: 584da48f user: drh tags: trunk
18:40
Change SQLITE_DEFAULT_PCACHE_INITSZ from 100 to 20, which is experimentally determined to be slightly faster. check-in: 12d9493c user: drh tags: trunk
18:19
Avoid unnecessary calls to sqlite3BtreeEnterAll() and sqlite3BtreeLeaveAll() when no btree is using shared-cache. check-in: cfb31582 user: drh tags: trunk
12:20
Add the --all option to the wordcount test program. Fix the speedtest1 test program so that it builds on MSVC and so that the --lookaside 0 0 option works. check-in: cb338f36 user: drh tags: trunk
11:57
Version 3.16.0 check-in: 04ac0b75 user: drh tags: trunk, release, version-3.16.0
2017-01-01
12:44
Detect row-value comparison size mismatches even when the size of one operand is obscured by an unexpanded subquery. check-in: 2c4d167c user: drh tags: trunk
2016-12-31
21:55
Add the --help and --all options to the wordcount test utility. Closed-Leaf check-in: 18baeadf user: drh tags: wordcount-enhancement
18:37
In speedtest1.c, make the "--lookaside 0 0" option completely disable lookaside. Closed-Leaf check-in: 52b99bcb user: drh tags: speedtest1
14:33
Minor #include change to speedtest1.c so that it will compile under MSVC. check-in: 8c28fde0 user: drh tags: speedtest1
2016-12-30
17:40
Fix a crash that could occur following an OOM in the group_concat() function if the second argument is an SQLITE_BLOB value. check-in: 14d855d2 user: dan tags: trunk
15:16
Strengthen the defense against OOM in the instr() SQL function. check-in: a0971e71 user: drh tags: trunk
14:25
Add a test to ensure that the app-defined pcache xFetch() method is never passed a key of zero. check-in: 0bdbe49c user: drh tags: trunk
14:15
Avoid passing NULL pointers to memcmp() or memcpy(), even when the "number-of-bytes" argument is passed 0. check-in: 56ff72ab user: dan tags: trunk
12:10
Fix a harmless compiler warning in fuzzcheck.c check-in: 2842bc60 user: drh tags: trunk
12:06
Disable the pagerAcquireMapPage() routine if memory-mapped I/O is disabled. This fixes a harmless compiler warning on OpenBSD. check-in: 3e25ba6e user: drh tags: trunk
00:09
Encode a 64-bit integer literal in date.c as a constant expression so that it works on older compilers. Also fix a harmless compiler warning in vdbe.c. check-in: f57952ba user: drh tags: trunk
2016-12-29
19:48
Fix harmless compiler warnings in the command-line shell and in Lemon. check-in: afcdc4a6 user: drh tags: trunk
17:25
In kvtest.c, use stat() instead of fseek()/ftell() to determine the size of a BLOB to be read directly from disk. This makes the pile-of-files database more competative against SQLite. check-in: a7dca29f user: drh tags: trunk
16:58
Add the kvtest.c test program used to show that it is many times faster to read thumbnail and similar BLOBs out of an SQLite database than it is to read them as separate files from the filesystem. check-in: 8074d59c user: drh tags: trunk
16:49
Add more detail to the header command to further explain how to compile and use the kvtest.c utility. Closed-Leaf check-in: 55d29839 user: drh tags: kvtest
16:18
Fix kvtest.c so that it compiles using MSVC. check-in: e2bbeae7 user: drh tags: kvtest
15:26
In kvtest.c: do not show the --cache-size setting on fopen() runs. Show progress for the (potentially slow) "export" command. check-in: b0f58d24 user: drh tags: kvtest
14:44
Improvements to the kvtest.c utility. Added the --cache-size option. Additional reporting of version and settings at the end of "./kvtest run". check-in: f6fcac6a user: drh tags: kvtest
03:57
Add the kvtest.c test program for measuring key/value read performance under various scenarios. check-in: 489e0787 user: drh tags: kvtest
2016-12-27
15:59
Do not allow the nockpt.test module to run under the inmemory_journal permutation. check-in: a6af06f1 user: drh tags: trunk
13:33
Allow sqlite3_interrupt() to be invoked on a database connection that is in the process of being closed even if SQLITE_ENABLE_API_ARMOR is defined. check-in: 7854bee2 user: drh tags: trunk
12:45
Adjust a corruption test case to accommodate the sqlite3BtreeInsert() optimization of check-in [0b86fbca66]. check-in: 4cb0945f user: drh tags: trunk
12:35
Disable new test modules nockpt.test and interrupt2.test for incompatible permutations. Add a CORRUPT_DB term to an assert() in vdbe.c. check-in: a54e619e user: drh tags: trunk
12:08
Avoid a potential (harmless) signed integer overflow in memory usage accounting when calling sqlite3_realloc() to reduce the size of an allocation. check-in: 2d71cbdf user: drh tags: trunk
02:43
Minor changes to make some newer test cases work under more compile-time options. check-in: 382eea36 user: drh tags: trunk
2016-12-26
12:25
During fuzz testing with the fuzzcheck utility program, impose a record length limit of 100MB and a limit on the length of LIKE strings of 50 bytes. check-in: edc9db41 user: drh tags: trunk
12:14
Enable ossfuzz.c to build even if SQLITE_OMIT_PROGRESS_CALLBACK is defined. check-in: a37c00dc user: drh tags: trunk
01:41
Remove an incorrect ALWAYS() macro from balance_nonroot(), which could result in corrupt databases if it were optimized out. This ALWAYS was added only two weeks ago (check-in [f9f2e23bbd68a]) and has never appeared in an official release. check-in: e447b23c user: drh tags: trunk
00:18
Add the built-in affinity() SQL function. check-in: 57e40e1c user: drh tags: affinity-sql-func
00:15
Enhance the fuzztest utility with the --prng-seed option. Always reseed the PRNG prior to each test. check-in: 8c5187f6 user: drh tags: trunk
2016-12-24
21:32
Combine the implementations of the ".tables" and ".indexes" commands in the command-line shell. The ".indexes" command now puts the indexes in multiple columns, just like ".tables" and shows all indexes in all attached databases. check-in: def29333 user: drh tags: trunk
19:37
The schema name "main" is always an acceptable alias for the primary database even if the primary database is renamed using SQLITE_DBCONFIG_MAINDBNAME. check-in: 2f481b85 user: drh tags: trunk
18:18
Change the output format of the ".databases" command in the command-line shell so that it shows the schema name, a colon, and the corresponding filename. check-in: 8558512e user: drh tags: trunk
18:04
In the command-line shell, improve the formatting to the ".databases" command and on the ".tables" command, only show the schema prefix for databases past the first ("main") database. check-in: c0d5626e user: drh tags: trunk
2016-12-23
16:05
Fill in missing opcode documentation entries for OP_SorterNext and OP_SorterSort. check-in: 2940661b user: drh tags: trunk
13:54
Use the VList object to capture the mapping between SQL parameter names and variable numbers in a single memory allocation. check-in: 99fddf2e user: drh tags: trunk
13:52
Add check to prevent a VList from growing after pointers to labels have been taken. Closed-Leaf check-in: aa23d7ea user: drh tags: VList
13:30
Fix the VList object so that it actually works. check-in: 9dcd8569 user: drh tags: VList
03:59
Use the VList object to replace Parse.azVar for tracking the mapping between SQL parameter names and parameter numbers. There is a performance improvement, though there are still a few hiccups in the current code. check-in: 68ecafa1 user: drh tags: VList
2016-12-22
14:53
Fix harmless compiler warnings. check-in: fa86db2f user: drh tags: trunk
2016-12-21
21:26
Change the default lookaside configuration from 500 slots of 128 bytes each to 125 slots of 512 bytes each. This uses the same amount of memory (64,000 bytes) but seems to perform much better in test applications. check-in: 52a12e47 user: drh tags: trunk
19:45
Simplifications to the way UnpackedRecord objects are allocated. Smaller and faster code that also fixes a subtle (currently unreachable) bug. check-in: f7ab01f2 user: drh tags: trunk
2016-12-18
17:42
Change the OP_IfNotZero opcode so that it decrements register P1 by 1 rather than the value in P3, and so that it only decrements if originally positive. This avoids decrementing the smallest 64-bit signed integer. check-in: 165c0446 user: drh tags: trunk
2016-12-17
21:07
Refinements to the new dbfuzz test program. check-in: 50325abe user: drh tags: trunk
20:27
Enhance fuzzershell.c to read and execute SQL commands in the autoexec table of the database under test. Add the dbfuzz.c test program combining selected features of fuzzershell.c and fuzzcheck.c. check-in: ef6e071a user: drh tags: trunk
08:18
Fix a problem in the shell tools readfile() command causing blobs to be truncated at the first embedded 0x00 byte in release builds, or an assert() to fail in a debug build. check-in: 8dedd6ad user: dan tags: trunk
2016-12-16
18:43
Add the ".lint fkey-indexes" command to the command-line shell. check-in: 94689e3b user: drh tags: trunk
18:41
Fix minor issues with the ".lint" command implemention in the shell and the shell help text related to ".lint". Closed-Leaf check-in: 1268dc77 user: drh tags: fkey-missing-indexes
18:14
Built-in PRAGMA statements without side-effects can be invoked as table-valued functions by prefixing their name with "pragma_". check-in: d66ec5cf user: drh tags: trunk
17:28
Change ".fkey_missing_indexes" to ".lint fkey-indexes". check-in: ee621ade user: dan tags: fkey-missing-indexes
16:44
Update .fkey_missing_indexes to use the built-in pragma vtabs. check-in: 3ab05987 user: dan tags: fkey-missing-indexes
16:13
Merge the pragma-as-vtab change into this branch. check-in: 4ba45e72 user: dan tags: fkey-missing-indexes
15:05
Fix a problem causing the planner to generate sub-optimal plans for some queries that use recursive WITH sub-queries with LIMIT clauses. check-in: 053a149c user: dan tags: trunk
04:20
Fix an error in the way the "schema" argument to some pragma virtual tables is handled. Closed-Leaf check-in: 546821e2 user: drh tags: pragma-as-vtab
02:31
Simplifications to facilitate full test coverage. check-in: 01afc515 user: drh tags: pragma-as-vtab
02:14
Minor bug fixes and enhancements to the pragma eponymous virtual tables. check-in: 3f8f4615 user: drh tags: pragma-as-vtab
01:09
Merge enhancements from trunk, and especially the ability to use temp.sqlite_master as an alias for sqlite_temp_master. check-in: 994a4401 user: drh tags: pragma-as-vtab
01:00
All temp.sqlite_master to be used as an alias for sqlite_temp_master. check-in: 8d646905 user: drh tags: trunk
2016-12-15
21:33
Fix the cost estimation in the BestIndex method of the eponymous pragma virtual table implementation. check-in: 7126807a user: drh tags: pragma-as-vtab
21:11
The pragma as eponymous virtual table mechanism now appears to work. check-in: 2c274a1a user: drh tags: pragma-as-vtab
20:59
Code to automatically create eponymous virtual tables for read-only pragmas. Compiles, but does not yet work. check-in: 988a61e8 user: drh tags: pragma-as-vtab
18:59
Do exponential rather than linear expansion of the SrcList.a array when appending new elements, to reduce the number of malloc() calls. check-in: 4e374912 user: drh tags: trunk
16:01
Do more pragma processing from tables rather than in-line code. Closed-Leaf check-in: a88ca352 user: drh tags: table-driven-pragma
06:01
Add the -groupbyparent option to the ".fkey_missing_indexes" command. check-in: 976c51b4 user: dan tags: fkey-missing-indexes
2016-12-14
19:28
Add the experimental ".fkey_missing_indexes" command to the shell tool. To identify indexes that should be created on child keys if FK processing is to be enabled. check-in: 7df23aca user: dan tags: fkey-missing-indexes
14:07
Refactor the Table.nRef field as Table.nTabRef for easier grepping. check-in: 9cae4c2e user: drh tags: trunk
13:54
Increase the size of the reference count on Table objects to 32 bits. check-in: d08b72c3 user: drh tags: trunk
11:39
Fix the configure makefile to align it with the manual makefile. Unsaved changes from the previous check-in. check-in: 00a184b6 user: drh tags: trunk
11:23
Adjust the unix makefiles so that "make test" runs fuzzcheck prior to even attempting to build the other test programs. check-in: bb48f7a5 user: drh tags: trunk
11:14
Three times faster sqlite3SrcListAppend() in the common case by avoiding the call to sqlite3SrcListEnlarge() for the first allocation. check-in: 0ea2762f user: drh tags: trunk
10:30
Fix the optimization that prevents writing freelist pages to the journal. check-in: 6aa9b265 user: drh tags: trunk
2016-12-13
23:22
In the command-line shell, in the output of the ".dump", ".schema", and ".fullschema" commands, convert CREATE TABLE statements that appear to come from shadow tables into CREATE TABLE IF NOT EXISTS statements. check-in: c7021960 user: drh tags: trunk
20:30
Fix harmless compiler warnings. check-in: ed2c9f37 user: drh tags: trunk
18:47
Convert sqlite3PagerGet() into a pointer-dispatched virtual method. This makes it about 25% faster. check-in: 7f88bb44 user: drh tags: trunk
18:34
In the pager, avoid checking for the illegal page number 0 except when creating a new page. Closed-Leaf check-in: dee20ba9 user: drh tags: pager-get-method
16:57
Fix a problem causing SQLite to return false "foreign key violation" errors when there is a partial (i.e. WHERE constrained) UNIQUE index on the parent key columns. This bug did not cause SQLite to allow illegal data to be inserted into the database, only to reject legal operations. check-in: 850877d1 user: dan tags: trunk
15:53
Further refinements to the virtual method implementation of sqlite3PagerGet(). check-in: 67df4446 user: drh tags: pager-get-method
14:32
Make the sqlite3PagerGet() interface into a virtual method, with different implementations based on the current state of the pager. This gives a small performance increase by avoiding unnecessary branches inside the various methods. check-in: df5bb90d user: drh tags: pager-get-method
2016-12-12
23:24
Add the --mmap option to the speedtest1 program and to the speed-check.sh script that is frequently used to run speedtest1. check-in: 1a636d5e user: drh tags: trunk
18:12
Remove unnecessary MemPage initialization resets in the autovacuum ptrmap processing. check-in: 1b36fbb9 user: drh tags: trunk
16:08
Faster operation for large in-memory databases. check-in: 9675518b user: drh tags: trunk
11:05
Performance optimization in sqlite3PagerWrite(). check-in: d4dff10a user: drh tags: trunk
01:53
Updates to the tokenizer for EBCDIC. No changes for standard builds. check-in: 4fc6580f user: drh tags: trunk
01:30
Size and performance optimization in btreeInitPage() in the freeblock validation step. check-in: 57deb1b4 user: drh tags: trunk
00:58
Change the order of comparison for divider cell overflow in balance non-root to avoid a (harmless) reference to an uninitialized variable. check-in: f9f2e23b user: drh tags: trunk
2016-12-10
13:12
Avoid an unnecessary memset() in the sqlite3BtreeInsert() routine. check-in: 35ecd4eb user: drh tags: trunk
12:58
Reorder the fields in the VdbeCursor object so that those that need to be bulk zeroed on allocation are grouped at the beginning, and the memset() only runs over those fields that really need it. check-in: 8165f88b user: drh tags: trunk
04:06
Avoid signed integer overflow when dealing with a LIMIT and OFFSET whose sum exceeds the maximum integer value. check-in: c9bdf7ad user: drh tags: trunk
2016-12-09
19:42
When doing the sqlite3BtreeInsert() overwrite optimization, make sure the memcpy() does not extend off the end of the page. check-in: 684ef458 user: drh tags: trunk
18:09
Additional comments and an assert on the sqlite3BtreeInsert() overwrite optimization. check-in: c1f0ae9d user: drh tags: trunk
17:32
In sqlite3BtreeInsert() when replacing a re-existing row, try to overwrite the cell directly rather than deallocate and reallocate the cell. check-in: 0b86fbca user: drh tags: trunk
16:12
Fix an fts5 bug that could cause a crash following an OOM error or sqlite3_interrupt() interrupt. check-in: 0ea3ece9 user: dan tags: trunk
16:02
Avoid unnecessary zeroing of fields in the MemPage object that are going to be reinitialized before use anyhow. A smaller and faster binary results. check-in: 01ada3d1 user: drh tags: trunk
00:15
Fix an obscure problem in range estimation with STAT4. check-in: 1f16c9a7 user: drh tags: trunk
2016-12-08
23:52
Fix the showstat4 utility program so that is displays strings using standard SQL notation (single quotes) rather than C-style notation. check-in: 92998e4a user: drh tags: trunk
19:04
Fix a minor error in the cg_anno.tcl script causing the cycles-per-file counts to be miscomputed. check-in: b26df26e user: drh tags: trunk
18:36
Update the tool/cg_anno.tcl script to give a summary of cycle counts by canonical source file name. check-in: 254a83bf user: drh tags: trunk
01:38
More changes to take advantage of the sqlite3VdbeAppendP4() method. check-in: 83bc5e40 user: drh tags: trunk
2016-12-07
21:35
Add the sqlite3VdbeAppendP4() method for adding P4 content to the most recently coded instruction. check-in: 28883e8f user: drh tags: trunk
20:22
The use P4_DYNAMIC in place of the P4_MPRINTF operand type. check-in: 3954f837 user: drh tags: trunk
20:09
Performance optimization for sqlite3VdbeAddOp4(). check-in: 04716c90 user: drh tags: trunk
17:06
Put the SQLITE_UNTESTABLE compile-time option in the correct order for PRAGMA compile_options. check-in: 24574a15 user: drh tags: trunk
15:49
Rename the SQLITE_OMIT_BUILTIN_TEST compile-time option to SQLITE_UNTESTABLE. check-in: f3608187 user: drh tags: trunk
15:38
Prevent the flattening or where-term push-down optimizations from obscuring misuses of SQL row values that can lead to crashes or assert() failures. check-in: 433d16ff user: dan tags: trunk
13:49
Always honor the sqlite3.dbOptFlags bitmask, regardless of compile-time options. Continuing fix for ticket [da78413751863]. check-in: afab1663 user: drh tags: trunk
2016-12-06
22:47
Performance improvement and size reduction in the Expr node allocator function sqlite3PExpr(). check-in: 2a81763e user: drh tags: trunk
19:33
Add missing nul-terminator to a Tcl_AppendResult() call in tclsqlite.c. check-in: 0820f8b3 user: dan tags: trunk
17:59
In the LEMON parser-generator, fix the stack overflow processing so that it correct invokes the destructor on the top-level of the parse stack. check-in: e8247065 user: drh tags: trunk
2016-12-05
20:16
Fix a harmless redundant local variable declaration in the date/time function logic. check-in: b4bc40d1 user: drh tags: trunk
20:06
Work around a bug in the definition of "ino_t" on some versions of Android. check-in: 8df492c1 user: drh tags: trunk
2016-12-02
19:07
Simplify the date/time function logic for improved rebustness and also to decrease the size of the binary. check-in: 6e144735 user: drh tags: trunk
17:08
Extend the valid range of 'unixepoch' dates from JulianDay 0 through 9999-12-31. check-in: 768c9859 user: drh tags: trunk
02:19
Test cases for the improved LIKE/GLOB matcher. check-in: 0bdb7ae1 user: drh tags: trunk
2016-12-01
19:58
Avoid clearing the EP_FromJoin flag from terms in ON clauses when flattening sub-selects. Possible fix for [2df0107b]. check-in: a427c405 user: dan tags: trunk
19:38
Avoid clearing the EP_FromJoin flag from terms in ON clauses when flattening sub-selects. Possible fix for [2df0107b]. Closed-Leaf check-in: 8bed4cd5 user: dan tags: left-join-fix
18:57
Performance improvement for GLOB and LIKE matching for patterns with two or more multi-character wildcards ("*" or "%"). check-in: 2df0ebf9 user: drh tags: trunk
18:49
Faster version of patternCompare() that uses new return values rather than an extra parameter to communicate wildcard information back up to parent searches. Closed-Leaf check-in: a1e2b6ce user: drh tags: pattern-compare-optimization
17:34
Modify the patternCompare() function (used for GLOB, LIKE) to better handle patterns containing multiple wildcard characters ("*", "%"). check-in: c5e5614d user: dan tags: pattern-compare-optimization
2016-11-30
16:54
Add the remember(V,PTR) extension function which copies an SQL value into an application variable. check-in: d2d30914 user: drh tags: trunk
14:47
Fix then handling of the (oversized) integer literal -0x8000000000000000. check-in: 3816bb41 user: drh tags: trunk
05:08
Change the OP_DecrJumpZero opcode back to its old behavior of always decrementing, except top the decrementing when it reaches the largest negative number. check-in: 9d0d8c2e user: drh tags: trunk
04:07
More improvements to boundary cases in the date/time functions, flowing out of branch coverage testing. check-in: 1218005a user: drh tags: trunk
01:05
Prevent a warning about integer overflow when using a very large negative LIMIT. check-in: 96106d56 user: drh tags: trunk
00:48
Further changes to the date/time functions to suppress harmless signed integer overflow warnings that could have occurred when doing out-of-range date calculations which, according to the docs, give undefined results. check-in: dc453b34 user: drh tags: trunk
2016-11-29
20:39
The documentation says that the built-in date-time functions give undefined results for dates before 0000-01-01 and after 9999-12-31. Change the actually implementation so that the answer given is really NULL. This also avoids unnecessary hand-wringing over an signed integer overflow that might otherwise occur when processing out-of-bound dates. check-in: d410a839 user: drh tags: trunk
2016-11-28
21:22
Fix broken hyperlinks to the sqlite3_snapshot objection definition in the documentation. No changes to code. check-in: 9021f687 user: drh tags: trunk
14:52
Simplify some code in fts5_expr.c. Add some extra test cases for the same. check-in: 7cc2d60d user: dan tags: trunk
2016-11-26
19:44
Add the sqlite3_snapshot_recover() interface and related functionality. check-in: b70c85ce user: drh tags: trunk
2016-11-25
20:20
Clarification of the behavior of sqlite3_stmt_readonly() on BEGIN IMMEDIATE statements. The is comment changes only - no changes to code. check-in: a4205a83 user: drh tags: trunk
19:32
Remove the OP_RowKey opcode. Use OP_RowData in its place. check-in: 6ac7b07a user: drh tags: trunk
19:18
Refactor the sqlite3BtreeKey() and sqlite3BtreeData() internal interfaces into sqlite3BtreePayload() and sqlite3BtreePayloadChecked(), respectively. This is a continuation of the optimization started by check-in [2d831074cf]. The result is a slightly smaller and faster binary. check-in: 49ebc219 user: drh tags: trunk
17:03
Small performance increase and size reduction in the OP_Column opcode. check-in: a9498407 user: drh tags: trunk
15:47
Performance enhancement to sqlite3_snprintf(). check-in: c53dca7f user: drh tags: trunk
15:11
Performance improvement in sqlite3StrAccumFinish() for the common case where no memory allocation is required. check-in: b6acf5d4 user: drh tags: trunk
14:30
Add a comment to help clarify the EP_FromJoin hack in exprCodeBetween(). check-in: 6df7c574 user: drh tags: trunk
2016-11-23
23:18
Fix the error message for invalid ".mode" arguments in the command-line shell, so that it mentions the new "quote" mode. check-in: 9a603a18 user: drh tags: trunk
19:31
Code constant vector components outside of any loops in CASE and BETWEEN expressions. Fix for [1a684656]. check-in: c08aff13 user: dan tags: trunk
14:19
Correctly display the names of SQL functions in the VDBE_PROFILE output. check-in: 161192f1 user: drh tags: trunk
2016-11-22
22:23
Merge bug fixes and enhancements from trunk. Closed-Leaf check-in: e2c4bdf5 user: drh tags: serializable-snapshot
21:11
Enclose the sqlite3WalSnapshotRecover() routine within check-in: e7be3183 user: drh tags: serializable-snapshot
20:29
Add a new requirement mark for CAST expressions. check-in: bee2859b user: drh tags: trunk
19:15
Update requirement marks to reflect changes in wording in the documentation. No changes to code. check-in: f5ac98ef user: drh tags: trunk
01:26
Remove unnecessary OP_Close opcodes for a size reduction and performance increase. check-in: 32be7aae user: drh tags: trunk
2016-11-21
21:33
Remove unnecessary OP_Close opcodes at the end of INSERT operations, resulting in smaller and faster code. check-in: abeddb6d user: drh tags: trunk
18:15
Enhance speedtest1.c so that is works on older versions of SQLite, before the introduction of the group_concat() aggregate function. check-in: 9979ba80 user: drh tags: trunk
2016-11-20
17:59
Fix harmless compiler warnings. check-in: b3b7b42d user: drh tags: trunk
12:00
Prevent a possible use-after-free bug in the query optimizer. check-in: 0a98c8d7 user: drh tags: trunk
2016-11-19
18:31
Remove the requirement to open the wal file before sqlite3_snapshot_recover() is called. Also add some comments to new functions. check-in: 28393c41 user: dan tags: serializable-snapshot
17:30
Test some extra error conditions in sqlite3_recover_snapshot(). check-in: db314213 user: dan tags: serializable-snapshot
17:20
Add another fault-injection test for sqlite3_snapshot_recover(). check-in: 7e040406 user: dan tags: serializable-snapshot
16:35
Fix a problem causing sqlite3_snapshot_recover() to return SQLITE_IOERR_SHORT_READ. check-in: 525f75fa user: dan tags: serializable-snapshot
14:53
Fix a bug in sqlite3_snapshot_recover() that could cause subsequent read transactions to use out-of-data cache entries. check-in: 9abeb798 user: dan tags: serializable-snapshot
2016-11-18
20:49
Add experimental sqlite3_snapshot_recover() API. check-in: 174a6076 user: dan tags: serializable-snapshot
18:43
Require that the database handle be in autocommit mode for sqlite3_snapshot_get() to succeed. This is because it may open a read transaction on the database file. check-in: 83b658da user: dan tags: serializable-snapshot
18:22
Add tests for snapshot interfaces. check-in: 1f7ee7af user: dan tags: serializable-snapshot
14:38
Enhance existing snapshot tests to serialize/deserialize snapshots. No new tests. check-in: 16b9bf92 user: dan tags: serializable-snapshot
2016-11-17
21:52
Experimental changes for faster in-memory DB operation for large databases. Closed-Leaf check-in: 4fe94b0f user: drh tags: memdb-opt
20:05
Fix a problem in rtreeD.test causing it to fail in OMIT_BUILTIN_TEST builds. check-in: d6b3779e user: dan tags: trunk
13:54
Change the --enable-debug option on configure so that it enables the ".selecttrace" and ".wheretrace" commands in the command-line shell. check-in: 2331192b user: drh tags: trunk
13:13
Disable the query flattener optimization for SELECT statements that are on the RHS of vector IN operators. This is a hack that fixes the bug described in ticket [da7841375186386c]. A better solution that does not disable the query flattener is needed, but this will server for the time being. check-in: 005d5b87 user: drh tags: trunk
2016-11-15
21:17
Add a needed #include to speedtest1.c. check-in: 77aeb705 user: drh tags: trunk
17:37
Experimental changes toward making snapshots serializable. check-in: b6a81fa1 user: drh tags: serializable-snapshot
04:00
Change the OP_Last opcode so that it is a no-op if the cursor is already pointing at the end of the b-tree. check-in: 66347385 user: drh tags: trunk
02:46
Make the VACUUM command about 9% faster by avoiding unnecessary calls to sqlite3BtreeMovetoUnpacked() while copying rowid tables. check-in: 5ed0bd38 user: drh tags: trunk
2016-11-14
20:47
Add 8794 new test cases received from the OSS-FUZZ project. check-in: 03f75a67 user: drh tags: trunk
20:08
Fix a potential use-after-free error during parsing of malformed CREATE TABLE statement. check-in: c5dbc599 user: drh tags: trunk
18:27
Enhance fuzzcheck.c to accept database-specific configuration parameters in the option CONFIG table. Add the fuzzdata5.db fuzz database containing test cases from OSS-FUZZ. check-in: a71fad45 user: drh tags: trunk
17:25
Fix the ossfuzz.c test module so that it does not segfault after a "PRAGMA empty_result_callbacks=1;". Add the ossshell.c program for simple command-line testing of ossfuzz.c. check-in: 6f2d43ec user: drh tags: trunk
15:28
Avoid unnecessary calls to sqlite3ExprCacheAffinityChange() when generating OP_MakeRecord opcodes that do not change any register affinities. check-in: e211c579 user: drh tags: trunk
08:19
Fix an fts5 problem causing a crash in phrase queries where the first token of the phrase matches one or more rows but some other token within the phrase matches zero. check-in: e78f6f3b user: dan tags: trunk
2016-11-11
20:37
Fix harmless compiler warnings in test code for MSVC. check-in: 7b76be41 user: drh tags: trunk
19:08
Avoid storing redundant fields in sorter records when the sort-key and data have fields in common. check-in: b835cf3e user: drh tags: trunk
19:01
Enhance the OP_IdxInsert opcode so that it can used unpacked key values if they are available. Update the code generator to take advantage of this new capability. The speedtest1.c test is about 2.6% faster as a result. Later: This also introduced bug [30027b613b]. Bummer. check-in: 925840cf user: drh tags: trunk
18:45
Merge trunk with this branch. Closed-Leaf check-in: dd62d2de user: dan tags: sorter-opt
18:19
Remove obselete and unused logic in the update code generator. Fix the sqlite3BtreeMovetoUnpacked() routine so that it remembers the rowid of the row that it landed on. Closed-Leaf check-in: 1a587d72 user: drh tags: unpacked-IdxInsert
18:08
Reenable the SQLITE_EXPR_REF optimization for "SELECT DISTINCT ... ORDER BY" queries. check-in: 6e2e9d38 user: dan tags: sorter-opt
17:52
Merge enhancements and bug-fixes from trunk. check-in: 5515b827 user: drh tags: unpacked-IdxInsert
17:08
Fix a problem with switching from wal to rollback mode when SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE is configured. check-in: 46e00162 user: dan tags: trunk
16:33
Add the test/ossfuzz.c interface adaptor for OSS-FUZZ. Make previsions for testing the adaptor using fuzzcheck.c. check-in: 119d6ef8 user: drh tags: trunk
15:49
Handle some obscure "row value misused" cases that could cause segfaults or assertion failures. check-in: fba5fddb user: dan tags: trunk
14:54
Back out the "--raw" option on ".read" in the command-line shell. Instead, fix the command-line shell so that if EOF is reached without seeing a final semicolon, it goes ahead and passes the accumulated SQL text to SQLite. check-in: f98c8ac8 user: drh tags: trunk
09:51
Add extra tests for the xBestIndex() virtual table method. check-in: 642a8fba user: dan tags: trunk
05:19
In the command line shell, avoid using utf8_printf() in a couple places where it is superfluous. check-in: 6311a8bd user: mistachkin tags: trunk
04:37
Add the --raw option to the ".read" dot-command of the command-line shell, to cause the named file to be read and sent directly into sqlite3_exec() without any interpretation. check-in: 09233770 user: drh tags: trunk
03:37
Take care not to try to generate code for the ATTACH and DETACH commands if there were syntax errors during parsing. Fix for ticket [2f1b168ab4d4844] check-in: b0ff183b user: drh tags: trunk
2016-11-10
20:42
Avoid a few unnecessary calls to sqlite3BtreeMovetoUnpacked(). check-in: eac0e827 user: drh tags: unpacked-IdxInsert
20:14
Avoid storing redundant fields in sorter records when the sort-key and data have fields in common (as in "SELECT a FROM t1 ORDER BY 1"). check-in: 0af62fdb user: dan tags: sorter-opt
17:01
When doing a REPLACE on a WITHOUT ROWID table with no secondary indexes, bypass the OP_NoConflict/OP_Delete sequence and directly overwrite any preexisting row, for a performance increase. check-in: f7041cbb user: drh tags: unpacked-IdxInsert
16:07
Remove C++ style comments. No code changes. check-in: 42f8aa62 user: drh tags: unpacked-IdxInsert
14:24
Add the unpacked key fields to OP_IdxInsert for INSERT and UPDATE statements. check-in: 67602e40 user: drh tags: unpacked-IdxInsert
2016-11-09
20:14
Comment changes that attempt to better explain the behavior of the "seekResult" field on VdbeCursor objects and the seekResult parameter to sqlite3BtreeInsert() and the OPFLAG_USESEEKRESULT flag on insert opcodes. No changes to code. check-in: 345b46be user: drh tags: unpacked-IdxInsert
16:03
Fix a simple comment typo. No changes to code. check-in: 51d0aed8 user: drh tags: unpacked-IdxInsert
01:46
Fix typo in the CSV extension. check-in: b4889588 user: mistachkin tags: trunk
01:38
Make use of the unpacked key on the OP_IdxInsert on sorters with a LIMIT. check-in: 42db7cd2 user: drh tags: unpacked-IdxInsert
01:19
Fix a typo on the OP_IdxInsert documentation. No code changes. check-in: e4acd982 user: drh tags: unpacked-IdxInsert
01:07
Add a DISTINCT query to speedtest1.c. Also change INSERT OR REPLACE into just REPLACE. check-in: 754ee844 user: drh tags: trunk
00:57
Remove the "experimental" marking from the sqlite3_preupdate interfaces. But be sure all the interface definitions are within documentation. check-in: d6dd2ad3 user: drh tags: trunk
00:10
Enhance the OP_IdxInsert opcode to optionally accept unpacked key material. check-in: 89d958ab user: drh tags: unpacked-IdxInsert
2016-11-08
19:22
Avoid superfluous cursor seeks in "INSERT OR REPLACE" statements. check-in: bec5b6d4 user: dan tags: trunk
17:19
Avoid generating OP_TableLock unnecessary instructions on btrees that are not sharable. check-in: 8cb8516d user: drh tags: trunk
16:27
Fix the speedtest1.c test program so that it gives closing "%" wildcards on LIKE searches. check-in: c2f84f63 user: drh tags: trunk
00:30
Tweaks to speedtest1.c to better reflect mobile usage based on findings in the "Pocket Data" paper by Kennedy, Ajay, Challen, and Ziarek. check-in: b5733cae user: drh tags: trunk
2016-11-07
18:18
Fix OOM error reporting in the json1_group_object() SQL function. Remove an unreachable branch from the JSON1 logic. check-in: b5409849 user: drh tags: trunk
15:15
Replace some unreachable branches from the JSON1 extension with assert(). check-in: 145cd13e user: drh tags: trunk
13:37
Fix the JSON1 extension so that the JSON validator correctly rejects malformed backslash escapes within string literals. check-in: 7a635391 user: drh tags: trunk
2016-11-04
12:05
Avoid a crash that can occur after an obscure OOM in the built-in INSTR() function. check-in: b86b79c4 user: dan tags: trunk
12:03
Mark the ICU extension functions as deterministic. check-in: afbbb6c6 user: drh tags: trunk
11:23
Add an assert() to silence a coverity false-positive. check-in: 97354093 user: drh tags: trunk
07:25
Fix a test case in vacuum5.test so that it works with the in-memory journal permutation. check-in: 81c86401 user: dan tags: trunk
2016-11-03
21:35
Replace a couple more references to Tcl 8.5 in the Windows build tools. check-in: 1d0e43c5 user: mistachkin tags: trunk
19:24
Fix a test case in vacuum5.test sot aht it works with -DSQLITE_ENABLE_ATOMIC_WRITE. check-in: 3ca80010 user: dan tags: trunk
19:01
Fix a test case in vacuum5.test so that it works with -DSQLITE_TEMP_STORE=2. check-in: f5dd95e2 user: dan tags: trunk
13:12
In the command-line shell, fix the .imposter command so that it works with indexes on expressions. Fix the ".mode quote" mode so that it works with ".headers ON". check-in: ba9873da user: drh tags: trunk
13:01
Add the ".imposter" command to the command-line shell. check-in: be3ec8fd user: drh tags: trunk
02:25
Fix an possible NULL pointer deference in the command-line shell that can occur when using imposter mode. check-in: ad08753a user: drh tags: trunk
2016-11-02
19:49
Adjust the MSVC makefile to use Tcl8.6 by default. check-in: def8f598 user: drh tags: trunk
14:50
Fix an issue that was causing the new database image to be assembled entirely in heap memory when VACUUMing a database, even if it should use a temp file. This could cause SQLITE_NOMEM errors when vacuuming very large databases on 32-bit systems. check-in: 30288453 user: dan tags: trunk
13:18
Fix a requirement mark. No changes to code. check-in: d18f61b7 user: drh tags: trunk
02:17
Use NOT NULL partial indexes when the query is constrained by a single LIKE or GLOB. check-in: 9b3a3b41 user: drh tags: trunk
2016-10-31
16:49
Add the SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE sqlite3_dbconfig() option - for disabling SQLite's default checkpoint-on-close behaviour. check-in: 6d142025 user: dan tags: trunk
16:16
Add the SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE sqlite3_dbconfig() option - for disabling SQLite's default checkpoint-on-close behaviour. Closed-Leaf check-in: 093d2fc2 user: dan tags: no-ckpt-on-close
2016-10-27
14:51
Remove the mutex from test_multiplex.c. check-in: 6374978e user: dan tags: trunk
01:02
Make sure left-join markings are transferred to the virtual scalar subexpressions when decomposing a vector comparison in the ON clause of a LEFT JOIN. Fix for ticket [fef4bb4bd9185ec8f]. check-in: 619f5cc7 user: drh tags: trunk
2016-10-26
18:41
Small size reduction and performance enhancement in whereScanInit(). check-in: c23f5ef3 user: drh tags: trunk
17:57
Small size reduction and performance improvement in whereScanNext(). check-in: d861ee17 user: drh tags: trunk
16:05
If all branches of an OR optimize scan that is the rhs of a LEFT JOIN use the same index, set the index cursor to return NULL values if there are no matches for a row on the lhs. Fix for ticket [34a579141b2c5ac] check-in: ec9dab80 user: dan tags: trunk
15:46
If all branches of an OR optimize scan that is the rhs of a LEFT JOIN use the same index, set the index cursor to return NULL values if there are no matches for a row on the lhs. Closed-Leaf check-in: e7b9bc67 user: dan tags: leftjoin-or-fix
13:58
Merge the SQLITE_ENABLE_URI_00_ERROR compile-time option. check-in: 86675ae0 user: drh tags: trunk
13:44
Add extra tests to check the result of including a %00 escape in a URI when ENABLE_URI_00_ERROR is defined. Closed-Leaf check-in: 1aaa06e3 user: dan tags: uri-00-error
12:15
Add compile time option SQLITE_ENABLE_URI_00_ERROR. If defined, any "%00" escape found in a URI is treated as an error. check-in: e8a9bfec user: dan tags: uri-00-error
2016-10-25
15:06
Add test case to demonstrate a "BEGIN EXCLUSIVE" command returning SQLITE_BUSY_SNAPSHOT. check-in: b1158564 user: dan tags: trunk
2016-10-24
01:01
Performance optimization in moveToRoot(). Avoid repeated validity checking of the root page on each call. Once is enough. check-in: 98795c2d user: drh tags: trunk
2016-10-22
01:22
In the sessions module, avoid recording a change if an UPDATE statement overwrites a column with REAL affinity containing an integer value with the same value. check-in: 5f3e6028 user: drh tags: trunk
2016-10-21
21:21
In the sessions module, avoid recording a change if an UPDATE statement overwrites a column with REAL affinity containing an integer value with the same value. Closed-Leaf check-in: b861328a user: dan tags: sessions-fix
17:39
Add ".mode quote" to the command-line shell. check-in: c4f5fa78 user: drh tags: trunk
10:49
Avoid using the "direct overflow read" optimization to read large blobs if the pager layer has a wal file open - even if the database header indicates that the db is not a wal database. check-in: b54c15f1 user: dan tags: trunk
10:09
If SQLITE_DIRECT_OVERFLOW_READ is defined at compile time, add "DIRECT_OVERFLOW_READ" to the list of symbols returned by "PRAGMA compile_options". check-in: b7d9727b user: dan tags: trunk
2016-10-20
11:48
Add test case to incrblob4.test. No changes to code. check-in: fd9c6ff0 user: dan tags: trunk
2016-10-18
16:36
Minor simplification of the comparison opcodes. check-in: 56474ebc user: drh tags: trunk
15:29
Fix harmless uninitialized variable warnings in speedtest1.c. check-in: 2aa7a03b user: drh tags: trunk
14:35
Add the --repeat option to speedtest1.c and speed-check.sh. check-in: 6ca0e06b user: drh tags: trunk
2016-10-17
18:44
Escape non-ASCII character from an ICU extension comment. check-in: 5ec02ecf user: mistachkin tags: trunk
18:33
Corrections to a couple recently added 'filectrl.test' results. check-in: 3d89dc45 user: mistachkin tags: trunk
15:28
Changes to support interrupting a checkpoint using sqlite3_interrupt(). check-in: c88d36e2 user: dan tags: trunk
00:48
Small size reduction and performance increase in the string duplicator. check-in: cda998f0 user: drh tags: trunk
2016-10-15
18:37
Add documentation for the OP_SorterInsert opcode, formerly omitted by mistake. No changes to code. check-in: 16d88a90 user: drh tags: trunk
08:56
Add test case to hook.test. No changes to non-test code. check-in: 2674d779 user: dan tags: trunk
2016-10-14
21:27
Add the SQLITE_FCNTL_WIN32_GET_HANDLE file control. check-in: 16039be3 user: mistachkin tags: trunk
21:16
Bump the version number in anticipation of the next development cycle. check-in: aa6de9c4 user: drh tags: trunk
10:20
Version 3.15.0 check-in: 70787558 user: drh tags: trunk, release, version-3.15.0
2016-10-13
12:56
Take care to avoid integer overflow when doing the initial page cache allocation with an excessively large cache_size setting. check-in: 4d66ac98 user: drh tags: trunk
2016-10-12
18:55
Avoid reading the -1-th element of an array in the query planner. Fix to a bug introduced by check-in [8e2b25f9b8a7] from earlier today. Curiously, the problem only appeared on 32-bit systems. check-in: 443913d5 user: drh tags: trunk
18:26
Add to sqlite3_analyzer command-line options --version and --tclsh, and also the undocumented --debug option. check-in: e87d02d2 user: drh tags: trunk
15:15
New testcase() macros to ensure coverage of the ORDER BY LIMIT optimization code in where.c. check-in: 61f05269 user: drh tags: trunk
14:48
Fix a problem affecting queries that match the pattern (... WHERE ipk IN (....) ORDER BY ? LIMIT ?). Fix for [96c1454c]. check-in: 8e2b25f9 user: dan tags: trunk
2016-10-10
14:48
Remove a stray line from session4.test causing a memory leak. No changes to SQLite code. check-in: 6624c496 user: dan tags: trunk
14:34
When handling ORDER BY expressions, do not assume all values of an indexed expressions are distinct. Fix for [4766f444]. check-in: aebe429e user: dan tags: trunk
13:29
Make sure indexes on expressions skip over initial NULL values in the index. Fix for ticket [4baa464912129477f3c9] check-in: 71797ba4 user: drh tags: trunk
10:06
Fix a case in which the rtree module was ignoring an OOM while generating an error message. check-in: 788f86be user: dan tags: trunk
2016-10-08
16:10
Update test/trace3.test to account for the fact that casting a pointer to a 64-bit signed integer might produce a negative value. check-in: 010ec225 user: dan tags: trunk
13:34
Corrections to Lemon documentation. No SQLite changes. check-in: c568ae3e user: drh tags: trunk
11:55
Add missing "static" to internal function whereRangeVectorLen(). check-in: cbed3d75 user: dan tags: trunk
09:21
Updates to the tool/warnings.sh script to make it easier to use on OpenBSD. check-in: dbe2997f user: dan tags: trunk
2016-10-05
20:14
Fix some compiler warnings in fts5. check-in: b066637b user: dan tags: trunk
20:10
Fix harmless compiler warnings. check-in: 2dde3375 user: drh tags: trunk
15:04
Add a test case for the fix in [a596b7c6cc]. check-in: b2ef39b1 user: dan tags: trunk
15:02
Do not set MEM_Blob unless the appropriate fields of the Mem object have been correctly initialized. check-in: a596b7c6 user: drh tags: trunk
01:33
Fix the backup_malloc.test script so that it works on Windows. check-in: d080012d user: drh tags: trunk
2016-10-04
12:20
Fix a problem with the lempar.c parser template. check-in: 3a9d802f user: drh tags: trunk
00:47
Do not bother to initialize unused fields in the BtreePayload object. check-in: b10d0f93 user: drh tags: trunk
2016-10-03
18:13
Allow deterministic functions in the WHERE clause of a partial index. check-in: c6e9b942 user: drh tags: trunk
16:33
Size and performance optimizations on the sqlite3ExprAssignVarNumber() routine. check-in: 109852e5 user: drh tags: trunk
15:28
Avoid unnecessary strlen() calls in sqlite3ExprAssignVarNumber() by passing in the token length from the parser. check-in: d15ae2e5 user: drh tags: trunk
14:44
Avoid unnecessary memset() calls in the query optimizer. check-in: 5bb7cde0 user: drh tags: trunk
12:56
Fix an obsolete comment on a variable definition in expr.c. No code changes. check-in: 012ff6dd user: drh tags: trunk
02:59
Make sure the sqlite_sequence table is updated when an optional xfer optimization is used. Fix for ticket [7b3328086a5c1]. check-in: 81e4d4f8 user: drh tags: trunk
01:21
Allocate Parse objects off of the stack where appropriate for a substantial performance increase and a size reduction. check-in: ea8affa9 user: drh tags: trunk
2016-10-01
23:55
Add SQLITE_USE_ALLOCA to the --lean configuration in speed-check.sh. check-in: fe07609e user: drh tags: trunk
21:43
Rearrange fields in the Parse object to reduce the amount of initialization required. check-in: 361940b4 user: drh tags: trunk
20:43
Reduce the width of a memset() to avoid double-initializing some variables. check-in: 34edbfd1 user: drh tags: trunk
19:32
Remove an unnecessary memset() call. check-in: a76bff74 user: drh tags: trunk
19:21
Use sqlite3DbMallocRawNN() where appropriate, instead of sqlite3DbMallocRaw(). check-in: 54a449a4 user: drh tags: trunk
16:53
Make sure deleting an unused prepared statement does not reference uninitialized fields in the structure. check-in: 7983eef0 user: drh tags: trunk
11:39
Avoid accessing Vdbe.pc if it is uninitialized. Check Vdbe.magic first. check-in: 6ac6e446 user: drh tags: trunk
00:37
Avoid unnecessary zeroing of fields in the Vdbe object when it is allocated. check-in: 1e21bbe8 user: drh tags: trunk
2016-09-30
22:24
Avoid initializing the column-cache section of the Parse object, since entries in the cache will be initialized as they are used, and avoiding the initial memset() saves many CPU cycles. check-in: 63cf7eaf user: drh tags: trunk
21:20
Fix an always-true conditional left over from the previous commit. check-in: ab12fce3 user: drh tags: trunk
20:22
Fix the Parse.aColCache column cache so that all of the valid entries are in the first Parse.nColCache slots. check-in: 60285020 user: drh tags: trunk
19:14
Another simplification to the Parse object. check-in: c1419727 user: drh tags: trunk
18:35
Remove unnecessary fields from the Parse object. check-in: 814e41da user: drh tags: trunk
17:46
Avoid unnecessary Mem initializations when generating a new sqlite3_stmt object. check-in: 47ae1cda user: drh tags: trunk
2016-09-29
20:28
Small size and performance optimization to sqlite3VdbeChangeP5(). check-in: 3c93c8f5 user: drh tags: trunk
19:50
Remove the peep-hole optimization of removing OP_Close opcodes that come before OP_Halt, as the extra work of removing those opcodes uses more cycles than just running them. check-in: 984a96d7 user: drh tags: trunk
19:27
Size and performance optimization to sqlite3ValueFromExpr() check-in: 945f82bc user: drh tags: trunk
15:53
Clarification and typo-fixes in comments. No changes to code. check-in: e2cd79aa user: drh tags: trunk
2016-09-28
20:42
Use Knuth multiplicative hashing for the symbol table. check-in: cc29ddd6 user: drh tags: trunk
16:05
Two more typo fixes in comments. check-in: 40c0fb0a user: drh tags: trunk
16:04
Fix typos in comments. No code changes. check-in: 5bbd071d user: drh tags: trunk
2016-09-27
00:09
Update requirements marks due to improvements in the wording of documentation. No changes to code. check-in: bf903b2e user: drh tags: trunk
00:03
Fix FTS3 test cases due to the flattener change of the previous check-in. check-in: 0c8b9b21 user: drh tags: trunk
2016-09-26
14:39
When flattening a query of the form "SELECT * FROM (SELECT * FROM tbl WHERE x=?) WHERE y=?", ensure that the final WHERE clause is "x=? AND y=?" instead of "y=? AND x=?". Although it is still not guaranteed, this makes the order in which WHERE clause terms are processed comport more closely to users expectations. check-in: cf7f9e6d user: dan tags: trunk
12:38
Inline the relevent parts of sqlite3ExprAlloc() into spanExpr(), for a performance improvement. check-in: fe89225e user: drh tags: trunk
2016-09-24
17:42
Omit the LikeOp object from the parser. Change more sqlite3PExpr() calls into sqlite3ExprAlloc() calls. check-in: 795454a3 user: drh tags: trunk
01:41
Add -DSQLITE_MAX_EXPR_DEPTH=0 to the --lean option on speed-check.sh. check-in: a8cb1390 user: drh tags: trunk
2016-09-23
21:36
Add the EP_Leaf flag bit to the Expr.flags field to indicate Expr nodes that do not have substructure. Use that bit to avoid unnecessary recursion. check-in: 8a6ea455 user: drh tags: trunk
20:59
Use sqlite3ExprAlloc() instead of sqlite3PExpr() for leaf nodes in the expression tree, where appropriate. This is both smaller and faster. check-in: afac0709 user: drh tags: trunk
18:13
New test case for the ORDER BY LIMIT optimization. check-in: 9a5a489d user: drh tags: trunk
2016-09-22
21:37
Fix a potential null-pointer dereference and crash in the case where one thread is calling sqlite3_column_text() and another thread is calling sqlite3_step() on the same prepared statement at the same instant. check-in: ee1382a3 user: drh tags: trunk
18:53
Remove the internal sqlite3CodeOnce() interface, replacing it with a direct call to sqlite3VdbeAddOp0(v,OP_Once). Slightly smaller and faster. check-in: c3774c6a user: drh tags: trunk
18:46
Makefile changes to support building winsqlite3.dll using STDCALL rather than CDECL. check-in: 5e892d60 user: mistachkin tags: trunk
2016-09-21
23:58
Fix speedtest1.c so that it works with SQLITE_OMIT_DEPRECATED. Add the --lean and --cachesize options to speed-check.sh. check-in: 7785b3a2 user: drh tags: trunk
19:43
Fix a problem with the fts5 auxiliary function API causing a crash when a query contained a phrase of zero terms. check-in: 0741812d user: dan tags: trunk
19:00
Do not run vacuummem.test if ENABLE_MEMORY_MANAGEMENT is defined. check-in: 4a613d85 user: dan tags: trunk
18:18
Fix obsolete requirements marks. Add new tests for VACUUM of attached databases. check-in: 2b44f9aa user: drh tags: trunk
17:53
Avoid running vacuum5.test in auto-vacuum mode. check-in: be184bef user: dan tags: trunk
17:47
Do not run test "delete_db.test" with either the journaltest or inmemoryjournal permutations. Ensure that the multiplexor tests in delete_db.test are performed in non-autovacuum mode. check-in: 46b7d19e user: dan tags: trunk
14:41
Update the fts5vocab table to handle "ORDER BY term" efficiently. check-in: d4928fb5 user: dan tags: trunk
2016-09-20
22:04
Improved implementation of 64-bit signed integer multiply that correctly detects overflow (and promotes to floating-point) in some corner cases. Fix for ticket [1ec41379c9c1e400] check-in: db3ebd7c user: drh tags: trunk
17:49
Fix harmless compiler warning. check-in: 72429063 user: mistachkin tags: trunk
17:38
Fix typo in comment. check-in: bd3ecbb5 user: mistachkin tags: trunk
01:46
Further performance enhancements in zeroblob() handling. check-in: 21b0e3b7 user: drh tags: trunk
01:19
Avoid unnecessary calls to ExpandBlob() for smaller and faster code. check-in: 5e196fd1 user: drh tags: trunk
2016-09-19
23:39
Very small optimization in the bytecode engine. check-in: 46002511 user: drh tags: trunk
11:00
Fix a segfault introduced by the row-value enhancement that comes up on a skip-scan where the first term of the index is unconstrained and the second term is of the form "columm IN (SELECT...)". check-in: 2401ea5a user: drh tags: trunk
10:24
Improved performance in sqlite3ExprCodeTarget(). check-in: 75146165 user: drh tags: trunk
02:19
Small performance optimization in the expression walker. check-in: c6e6afb9 user: drh tags: trunk
2016-09-18
16:08
Revise the implementation of OP_Once so that it is smaller, faster, and uses less memory. This also fixes an obscure bug introduced 3 days ago by check-in [5990a1bdb4a073]. check-in: 6bf5ba10 user: drh tags: trunk
2016-09-17
22:46
Minor enhancement to the TclKit batch tool: it should download the TclKit EXE alone when the TCLKIT_NOENV environment variable is set. check-in: baceb988 user: mistachkin tags: trunk
19:34
Small performance optimization in the freeSpace() routine of btree.c. check-in: 63962e2a user: drh tags: trunk
17:39
Improved description of the ElseNotEq opcode in comments. No changes to code. check-in: e011435e user: drh tags: trunk
2016-09-16
20:39
Fix typo in the name of a Win32 string conversion routine. Replace several uses of raw_printf() with utf8_printf() in the shell. check-in: 6fc95dd7 user: mistachkin tags: trunk
19:42
If no KEY is specified on ATTACH, copy the main schema key if the key size is non-zero. In other words, allow for -1 as a valid key size in support of the --textkey to SEE. check-in: 03573887 user: drh tags: trunk
19:11
Fix problems with the fileRead() function in the command-line shell. Fix a harmless memory leak in the command-line shell, to make validation testing easier. check-in: e660402e user: drh tags: trunk
18:53
Remove the #ifdef SQLITE_DEBUG from around the testcase_glob() routine in the command-line shell. check-in: 9885dac4 user: drh tags: trunk
16:30
Fix a problem causing incorrect code to be generated for IN constraints like "a IN (1, 2, 3)" where column "a" is a rowid column with an extra UNIQUE index created on it. Ticket [0eab1ac759]. check-in: a92aee55 user: dan tags: trunk
15:42
Replace a faulty assert() with a testcase() to assure the condition is tested. Ticket [0eab1ac7591f]. check-in: a49bc0a8 user: drh tags: trunk
14:50
Add WHERETRACE macros showing every entry and exit from whereLoopAddBtreeIndex(). check-in: e7653dec user: drh tags: trunk
11:53
Fix SQLITE_OMIT_AUTHORIZATION so that it compiles cleanly. check-in: a3e3b3e1 user: drh tags: trunk
02:52
In the shell, make ".testcase" and ".check" available in all configurations, not just SQLITE_DEBUG. All testcases to be named. Show the result of each testcase on stdout. check-in: 792afefa user: drh tags: trunk
00:26
In the command-line shell, add the --new option to the ".open" command. Also, report the current database filename as part of the ".show" command. check-in: 8e5c9203 user: drh tags: trunk
2016-09-15
21:35
Add the ".testcase" and ".check" dot-commands in the shell, when compiled using SQLITE_DEBUG. check-in: 62289f27 user: drh tags: trunk
19:15
Omit the sqlite3Apis constant object when compiling with SQLITE_OMIT_LOAD_EXTENSION, since it is not used. check-in: 7b104613 user: drh tags: trunk
14:54
Remove no-op code (adding an assert() to prove that the code was no-op) in the text affinity logic of the bytecode engine comparison operators. check-in: b9f5bdbf user: drh tags: trunk
05:47
Fix a typo in a comment in sqlite.h.in. No changes to code. check-in: 12df7152 user: dan tags: trunk
00:32
Slight size reduction and performance increase in sqlite3VdbeHalt(). check-in: 5990a1bd user: drh tags: trunk
00:04
Optimization to vdbeRecordCompareInt() makes it slightly smaller and faster. check-in: 5a2a7712 user: drh tags: trunk
2016-09-14
18:56
Update comments used to generate API documentation to include the new "[dateof:3.X.Y]" notation for dates of release where appropriate. No changes to code. check-in: 55f7f8ee user: drh tags: trunk
2016-09-12
14:23
Fix a bug in sqldiff causing it to confuse blobs zero bytes in size with NULL values. check-in: 264e9c75 user: dan tags: trunk
13:32
Add missing "finish_test" command to vacuum5.test. check-in: 02f40c3b user: dan tags: trunk
09:28
Have releasetest.tcl delete all test files except for "testfixture", "testfixture.exe", "sqlite3", "sqlite3.exe", "test.log" and "test-out.txt" after each test run is finished. Passing the "--keep" option restores the old behaviour. check-in: e0e042dc user: dan tags: trunk
2016-09-10
19:51
Changes to give a warning-free build with SQLITE_OMIT_INCRBLOB and SQLITE_OMIT_SHARED_CACHE. check-in: 711c5917 user: drh tags: trunk
14:43
Add test code to delete an SQLite database and its auxiliary files. check-in: 8a9d1281 user: dan tags: trunk
2016-09-09
20:26
Make the new file test_delete.c portable to MSVC on Windows. Closed-Leaf check-in: 0e3ace39 user: mistachkin tags: test_delete
20:23
Remove an unnecessary call to sqlite3VdbeMemExpandBlob() when casting to text. check-in: 19e2e595 user: drh tags: trunk
20:00
Add new file test_delete.c, containing test code for deleting an sqlite database. check-in: fb0b95e9 user: dan tags: test_delete
19:33
Performance improvements to the comparison operators in the bytecode engine. check-in: 37803b19 user: drh tags: trunk
15:12
Fix a out-of-order variable declaration for some compile-time configurations. check-in: 6ac932c9 user: drh tags: trunk
13:23
In releasetest.tcl, the --srcdir option is automatic, so no need to mention it in the --help output. check-in: 2bdd838e user: drh tags: trunk
13:17
Fix an obsolete comment in the releasetest.tcl source code. check-in: afaaa276 user: drh tags: trunk
12:29
In releasetest.tcl: Improved testing for uncommitted changes. If uncommitted changes are seen, exit immediately unless the --force option is used. check-in: 9a14e6c4 user: drh tags: trunk
2016-09-08
23:16
Remove an extra space before function names in the amalgamation. Closed-Leaf check-in: 20f3c743 user: mistachkin tags: callbackConv
23:12
Issue a warning and prompt the user to continue if the releasetest.tcl script is run in a checkout with uncommitted changes. check-in: 30e917ff user: drh tags: trunk
2016-09-07
19:54
Add support for row-value comparisons, including IN operators, and row-value updates in the UPDATE statement. check-in: ddb5f055 user: drh tags: trunk
19:37
Fix a problem handling expressions like "(a, b) IN (SELECT ... ORDER BY 1, 2)" when there is an index on "a" but not "b". Closed-Leaf check-in: 7f2c5c9e user: dan tags: rowvalue
18:11
Add the ext/misc/memvfs.c extension that implements a VFS for read-only database files contained in memory. check-in: 12b7782a user: drh tags: trunk
13:30
Simplify the affinity handling logic in codeAllEqualityTerms(). Logically the same, just a little easier to read and understand. check-in: bbab9621 user: drh tags: rowvalue
13:12
Merge fixes from trunk. check-in: 193f036c user: drh tags: rowvalue
10:10
Fix the ".read" command in the command-line shell so that it understands that the input is not interactive. check-in: d8451fe8 user: drh tags: trunk
01:51
The ORDER BY LIMIT optimization is not valid unless the inner-most IN operator loop is actually used by the query plan. Fix for ticket [0c4df46116e90f92]. check-in: 820644b8 user: drh tags: trunk
2016-09-06
19:08
Remove obsolete vector-IN test cases. Fix a bad testcase() macro. check-in: ab3f8f19 user: drh tags: rowvalue
18:51
Fix corer cases of vector IN operators where the RHS is a compound SELECT that includes an ORDER BY clause. check-in: 8329ac6f user: drh tags: rowvalue
17:21
Remove an unnecessary branch from expr.c. check-in: 7cc9746c user: dan tags: rowvalue
17:13
Avoid unnecessary memory allocations for aiMap in codeEqualityTerm(). check-in: 70319c3d user: drh tags: rowvalue
16:53
Avoid a NULL pointer deref in codeAllEqualityConstraints() following an OOM. check-in: c6e528c1 user: drh tags: rowvalue
16:33
Simplify the fix in commit [7d9bd22c]. check-in: bd5a3420 user: dan tags: rowvalue
15:25
Fix the header comment on codeEqualityTerm(). check-in: b7e710e4 user: drh tags: rowvalue
14:58
Fix a problem handling (a, b) IN (SELECT ...) expressions when there is an index on just one of "a" or "b". check-in: 231c72d9 user: dan tags: rowvalue
14:37
Enhance the sqlite3GetTempRange() and sqlite3ReleaseTempRange() internal routines so that they use sqlite3GetTempReg() and sqlite3ReleaseTempReg() when nReg==1. check-in: 4071da2f user: drh tags: rowvalue
12:04
Fix a typo in a comment in expr.c. check-in: 288e934f user: dan tags: rowvalue
2016-09-05
22:50
Simplified logic to extract a column from a row value. check-in: e8f105c3 user: drh tags: rowvalue
20:46
Sync up the MSVC makefiles. check-in: f66d0d8c user: mistachkin tags: callbackConv
20:40
Merge updates from trunk. check-in: ea635bf9 user: mistachkin tags: callbackConv
19:57
Fix an assert() so that it does C-compiler does not combine an assert() conditional with a production code conditional and thereby confuse the mutation testing script. check-in: 2fa5288a user: drh tags: rowvalue
15:02
Simplifications to the SQLITE_KEEPNULL flag on VDBE comparison operators. check-in: 96269f01 user: drh tags: rowvalue
12:12
Do vector comparison size checking early - at name resolution time - to forestall future problems. check-in: ae127bcc user: drh tags: rowvalue
12:02
Catch vector size mismatch problems during name resolution to avoid later problems. Closed-Leaf check-in: 56562a03 user: drh tags: early-vector-size-check
09:44
Fix a crash that could occur under certain circumstances if the vectors on either side of a comparison operator were of a different size. check-in: 42670935 user: dan tags: rowvalue
2016-09-03
19:52
Fix a problem causing the affinity of sub-select row-value elements to be ignored in some contextes. check-in: 7d9bd22c user: dan tags: rowvalue
16:24
Merge the fuzzershell enhancement from trunk. check-in: ed206048 user: drh tags: rowvalue
16:23
Build the generate_series(START,END,STEP) table-valued function into fuzzershell, to make it easier to construct compact test cases that contain actual data. check-in: 672c21bc user: drh tags: trunk
15:31
Consider the affinity of "b" when using an "a IN (SELECT b ...)" expression with an index on "a". Fix for [199df416]. check-in: f5e49855 user: dan tags: rowvalue
01:46
Performance optimizations. check-in: f1d06c49 user: drh tags: rowvalue
2016-09-02
23:56
Merge recent changes from trunk. check-in: c7271fbd user: drh tags: rowvalue
21:34
Add a test case for the OOM handled by the previous commit. check-in: 9bdf7ca1 user: dan tags: trunk
21:17
Correctly detect an OOM occurring in the setDestPgsz() subroutine of backup. check-in: d9d8a048 user: drh tags: trunk
17:18
Within a backup operation, ensure that a read-transaction is opened on the source database before its page size is read. This ensures the page-size used to write to the backup database is the same as its actual page-size, which is important for ZipVFS databases. check-in: 7908fc60 user: dan tags: trunk
2016-09-01
14:03
Have "sqldiff --rbu" ignore rows with NULL values in primary key fields. RBU can't handle such rows and the documentation already says sqldiff ignores them. Because the code now uses "=" instead of "IS" to filter on primary key columns, diffs on virtual tables are faster now too. check-in: f4ba894a user: dan tags: trunk
09:35
If SQLITE_ENABLE_ZIPVFS is defined, journal_mode=off is configured and a savepoint or statement rollback is attempted, move the pager into the error state to prevent the transaction from being committed. This makes it safe to use journal_mode=off with zipvfs under some conditions. check-in: 38d31e18 user: dan tags: trunk
2016-08-29
14:18
Use some of the example code from the sessions documenatation in the sessions test cases. check-in: 6602974d user: dan tags: trunk
2016-08-27
20:21
Fix typos in comments. No changes to running code. check-in: a07269f2 user: drh tags: trunk
18:35
Fix some comments in sqlite3session.h. No changes to code. check-in: 78cd64e2 user: dan tags: trunk
18:34
Fixes to fts5 snippet() function. check-in: d464a7b1 user: dan tags: trunk
14:13
Merge updates from trunk. check-in: 082fd5f8 user: drh tags: rowvalue
14:05
Fix the extra comments (added with -DSQLITE_ENABLE_EXPLAIN_COMMENTS) so that the sense of <, <=, >, and >= tests is correct and so that the SQLITE_STOREP2 version is shown correctly. These changes are already in the rowvalue branch but are added here since they are technically unrelated to rowvalue. check-in: 4d43c469 user: drh tags: trunk
01:41
Fix the "Synopsis" on the OP_Lt, OP_Le, OP_Gt, and OP_Ge opcodes, which has been backwards for time out of mind. check-in: f51248dc user: drh tags: rowvalue
2016-08-26
22:09
Fix a minor problem in sqlite3FindInIndex() related to rowids being used as part of the index. check-in: 829f802b user: drh tags: rowvalue
21:15
Fix the sqlite3FindInIndex() to ensure that it always uses a prefix of the index and uses no repeated columns. Enhanced comments. check-in: b9fc89e4 user: drh tags: rowvalue
19:54
Add an EXPLAIN QUERY PLAN line for when a index is used to implement an IN operator. check-in: 171aa833 user: drh tags: rowvalue
19:47
Add test cases to rowvalue2.test. check-in: 078bb69e user: dan tags: rowvalue
19:31
Enhance sqlite3FindInIndex() so that it is able to make use of the primary keys at the end of an index. check-in: 4b589fbf user: drh tags: rowvalue
18:17
Fix a post-OOM crash in updateRangeAffinityStr(). Add several ALWAYS() macros on unreachable branches. check-in: 87d40195 user: drh tags: rowvalue
17:54
Fix a problem with affinity changes and vector range comparisons. check-in: b34413ac user: dan tags: rowvalue
13:19
Allow ROWID values in indexed vector comparisons. check-in: b0cc6be4 user: drh tags: rowvalue
12:00
Fix a problem in internal function sqlite3OpenTableAndIndices causing an operand of an unrelated VM instruction to be overwritten. Fix for [ef360601]. check-in: 70901479 user: dan tags: trunk
04:32
Rename a test procedure in 'speed3.test' to avoid a name collision. check-in: 84de17bc user: mistachkin tags: trunk
03:42
Comment improvements. Put ALWAYS and NEVER macros on three unreachable branches. check-in: 39761700 user: drh tags: rowvalue
02:10
Adapt the special case of '$' in item names for test 'vtabH-3.1' as well. check-in: e4aeaa2b user: mistachkin tags: trunk
01:47
Make the test 'vtabH-3.1' work when there are less than 5 top-level items. check-in: 328f79bb user: mistachkin tags: trunk
01:17
Support running the fstree tests in 'vtabH.test' on Windows when not using the system drive. check-in: 3680f95f user: mistachkin tags: trunk
01:02
Remove an unreachable branch from sqlite3ExprAffinity() check-in: 9d96f614 user: drh tags: rowvalue
2016-08-25
23:24
Fix typos in 'vtabF.test' file. No changes to code. check-in: a8546fee user: mistachkin tags: trunk
22:31
Merge recent changes from trunk. check-in: 5789aab8 user: drh tags: rowvalue
22:06
Fix the sqlite3_trace_v2() interface so that it goes disabled if either the callback or mask arguments are zero, in accordance with the documentation. check-in: 37e6c54b user: drh tags: trunk
21:14
Refactor the sqlite3ExprCodeIN() routine for improved maintainability. check-in: b56705ae user: drh tags: rowvalue
17:47
Another fix in the IN-operator algorithm description. check-in: f474aeac user: drh tags: rowvalue
17:40
Further refinement of the in-operator.md documentation. check-in: df064837 user: drh tags: rowvalue
15:46
Improvements to IN operator code generator comments. Avoid unnecessary Copy operations on the LHS of the IN operator. check-in: b6344298 user: drh tags: rowvalue
14:23
Corrections to the IN-operator notes. check-in: 25033ee9 user: drh tags: rowvalue
14:00
Add notes on the implementation of the IN operator. check-in: d256b2ca user: drh tags: rowvalue
2016-08-24
21:54
Simplified VDBE code for the vector NOT IN null-scanning loop. check-in: 7ae504e6 user: drh tags: rowvalue
21:24
Improved extended comments of comparison operators when the SQLITE_STOREP2 flags is set on P5. No changes to non-debug code. check-in: bbc1b016 user: drh tags: rowvalue
19:58
Modularize all use of the calling convention macros based on the USE_STDCALL nmake macro. check-in: e4a56197 user: mistachkin tags: callbackConv
18:51
In sqlite3FindInIndex(), improve internal comments and avoid an unreachable branch. check-in: 55945fc1 user: drh tags: rowvalue
18:50
Fix a bug in the fts5 snippet function causing it to return text containing zero phrase instances. Closed-Leaf check-in: b174ed2b user: dan tags: fts5-snippet-bias
18:49
Merge updates from trunk. check-in: 428fc38d user: mistachkin tags: callbackConv
18:21
Sync up the MSVC autoconf makefile. check-in: 77f7c31a user: mistachkin tags: trunk
17:49
Fix more unreachable branches. check-in: 6099c180 user: drh tags: rowvalue
15:37
Add a NEVER() on an unreachable branch in comparisonAffinity(). check-in: 505a2f20 user: drh tags: rowvalue
12:22
Fix a buffer overrun in the code for handling IN(...) operators when the LHS of the operator contains indexed columns or expressions. check-in: f41a0391 user: dan tags: rowvalue
00:51
The previous OOM fix was bad. Back it out and replace it with a better one. check-in: 1e3bc369 user: drh tags: rowvalue
00:25
Avoid a potential null-pointer dereference following an OOM. check-in: 25f6ed8d user: drh tags: rowvalue
2016-08-23
19:02
Simplify the row value misuse error message. check-in: 838c50a5 user: drh tags: rowvalue
18:30
Fix a problem with rowvalue UPDATE when the rowvalue is not the left-most and the RHS is a multi-column subquery. check-in: e149e6b9 user: drh tags: rowvalue
17:30
Fix an uninitialized variable in CASE expression code generation. check-in: c8ffae05 user: drh tags: rowvalue
14:42
Fix the SQLITE_USER_AUTHENTICATION login check so that the SQLITE_AUTH_USER error code correctly propagates and is not overwritten by SQLITE_ERROR. check-in: c640489d user: drh tags: trunk
2016-08-22
20:10
Add support for the SQLITE_DBCONFIG_MAINDBNAME configuration option. check-in: 78395193 user: drh tags: trunk
14:30
Fix the vector BETWEEN operator so that it only evaluates the left-most vector expression once. Add support for vector comparisons in the CASE operator. check-in: 07e69f43 user: drh tags: rowvalue
00:48
Reinstate the mechanism in BETWEEN that avoids evaluating the first expression more than once, but fix the affinity extractor so that it works with this mechanism. The de-duplication of the first expression still does not work for vector expressions, though. check-in: 2f39987f user: drh tags: rowvalue
2016-08-20
22:49
The docs promise the in "x BETWEEN y AND z" the x expression is only evaluated once. That is no longer true, and so some tests are failing. This needs to be fixed before merging to trunk. check-in: e50d264f user: drh tags: rowvalue
21:11
Further comment enhancements. No changes to code. check-in: d4562a9e user: drh tags: rowvalue
21:02
Clarification of code comments in expr.c. Clean up the implementations of sqlite3ExprIsVector() and sqlite3ExprVectorSize() slightly. check-in: 4fb66d65 user: drh tags: rowvalue
18:06
Fixes for problems following OOM errors. check-in: 9041ee4a user: drh tags: rowvalue
17:23
Fix other minor problems with the fts5 snippet() function. check-in: b56b2a85 user: dan tags: fts5-snippet-bias
17:00
Do not duplicate the Expr.pLeft subtree of a TK_SELECT_COLUMN node. check-in: 8384c77e user: drh tags: rowvalue
15:01
Fix a segfault that could occur if a query that used a vector comparison contained certain types of syntax errors. check-in: 203f07c5 user: dan tags: rowvalue
12:00
Improvements to the vector comparison splitter in exprAnalyze(). check-in: a3ffd283 user: drh tags: rowvalue
01:06
Improvements to comments. No code changes. check-in: 4165d20f user: drh tags: rowvalue
00:51
Add support for vector assignments in the SET clause of an UPDATE statement. check-in: f320d47d user: drh tags: rowvalue
00:07
Change the way TK_SELECT_COLUMN is handled so that the subquery is only generated once even if part of the vector comparison is used for indexing and the other part is now. This change also is a pathway to vector assignment in UPDATE statements. check-in: d8feea7d user: drh tags: rowvalue
2016-08-19
19:58
Replace the magic number (-2) with its symbol XN_EXPR in the exprMightBeIndexed() routine. No logic changes. check-in: d4a5af69 user: drh tags: rowvalue
19:12
Improved comments on sqlite3CodeSubquery(). No changes to code. check-in: acea4ee1 user: drh tags: rowvalue
18:40
Show the WhereTerm.iField value on debugging output, when it is non-zero. check-in: 931c9535 user: drh tags: rowvalue
18:37
Register any built-in fts5 module before loading automatic extensions. This allows automatic extensions to register fts5 tokenizers and auxiliary functions. check-in: b10e31dc user: dan tags: fts5-snippet-bias
18:28
Fix an obsolete comment on codeEqualityTerm(). No changes to code. check-in: d07be5af user: drh tags: rowvalue
15:41
Merge recent enhancements from trunk. check-in: b1787236 user: drh tags: rowvalue
15:17
Merge the VACUUM attached database enhancement from trunk. Closed-Leaf check-in: 12d5e38d user: drh tags: dbconfig_maindbname
15:15
Enhance the VACUUM command so that it can operate on an attached database. check-in: 083f9e62 user: drh tags: trunk
15:12
Disable row counting on queries run while doing a VACUUM. Closed-Leaf check-in: ad35ef11 user: drh tags: vacuum-attached-db
14:25
Have the fts5 snippet() function avoid favouring snippets that begin with sentences that do not contain search terms. Add an extra bias in favour of the first sentence in the document. check-in: d8180af2 user: dan tags: fts5-snippet-bias
14:20
Add the capability to VACUUM an attached database by specifying the schema name as an argument to the VACUUM command. Since version 2.0, VACUUM has accepted an argument which was silently ignored. Now it has meaning. check-in: 29d63059 user: drh tags: vacuum-attached-db
2016-08-18
22:44
Add the SQLITE_DBCONFIG_MAINDBNAME interface. check-in: d6e3d579 user: drh tags: dbconfig_maindbname
22:19
Change the name of Db.zName to Db.zDbSName for improved long-term code maintainability. check-in: cb9865e1 user: drh tags: trunk
20:56
Fix a zName to zDbSName conversion missed in the previous check-in. Closed-Leaf check-in: d7cf423c user: drh tags: zDbSName
19:04
Fix a SQL NULL handling bug in the vector IN operator code generation. check-in: 936146b1 user: drh tags: rowvalue
18:09
Display SELECT_COLUMN expressions in the .wheretrace debugging output. check-in: 3b27a5da user: drh tags: rowvalue
17:55
Display VECTOR expressions in .wheretrace and .selecttrace debugging output. check-in: 157347e2 user: drh tags: rowvalue
15:36
Since the TK_VECTOR token is not actually used by the parser, make it an extra token code added by the tool/addopcodes.tcl script during parser build. check-in: b40b202c user: drh tags: rowvalue
15:21
Merge recent enhancements from trunk. check-in: 4768a106 user: drh tags: rowvalue
15:15
Simplify the vector comparison code generator logic, and the resulting VDBE code. check-in: e2ad0b5d user: drh tags: rowvalue
14:47
Adjust some tests to account for recent changes to the fts5 snippet function. check-in: 184ecbe9 user: dan tags: fts5-snippet-bias
14:33
Rename the Db.zName field to Db.zDbSName to make it more descriptive and to distinguish it from all of the other "zName" variables scattered throughout the code. check-in: 92a22f01 user: drh tags: zDbSName
2016-08-17
19:05
Bias the fts5 snippet() function to return snippets that look like they start at the start of sentences. check-in: 60de1594 user: dan tags: fts5-snippet-bias
11:14
Fix a problem in the fts5 snippet() auxiliary function. check-in: a861713c user: dan tags: trunk
2016-08-16
16:46
Fix a bug in destructor processing of Lemon. That has no impact on the SQLite grammar. The bug was introduced by prior work to optimize the Lemon-generated parser used by SQLite. check-in: f9035b8e user: drh tags: trunk
2016-08-13
14:30
Questionable changes to support interruptible checkpoint in ZipVFS. Leaf check-in: c7a9f26d user: dan tags: interruptible-checkpoint
14:17
Remove an unnecessary stack variable from sqlite3VdbeExec(). Closed-Leaf check-in: c54bd9c8 user: drh tags: vector-compare
13:03
Improvements to commits. No code changes. check-in: 18f5a3be user: drh tags: vector-compare
12:37
Fix to the vector less-than operator. All legacy tests passing now. check-in: ec70a67e user: drh tags: vector-compare
10:34
Fix an fts5 problem with corrupt database handling found by address-sanitizer. check-in: e22252e1 user: dan tags: trunk
10:02
Attempt to simplify the logic and generated code for vector comparisons. Basic comparison operators are working, but there are many indexing test failures still to be worked through. check-in: dfc028cf user: drh tags: vector-compare
06:38
Fix a buffer overread in fts5. check-in: fcfbee6c user: dan tags: trunk
2016-08-12
16:21
Have wal file checkpoints exit early if the sqlite3_interrupt() API function is called. check-in: 8a5f41c7 user: dan tags: interruptible-checkpoint
11:25
Add VdbeCoverage() macros on newly added VDBE branch operations. check-in: 381aa731 user: drh tags: rowvalue
11:01
Fix a post-OOM memory leak. check-in: 14009b32 user: drh tags: rowvalue
2016-08-11
18:05
Add the "modeof=<filename>" URI parameter to os_unix.c - used to specify a file to copy permissions from when a new database is created. Also allow passing NULL as the second parameter to sqlite3rbu_vacuum(). check-in: ed406d31 user: dan tags: trunk
12:31
Merge recent changes from trunk. check-in: 959677b9 user: drh tags: rowvalue
12:01
Fix some problems with handling "no such collation sequence" errors. check-in: 8278be06 user: dan tags: rowvalue
09:55
Fix a 1 byte buffer overwrite in the "sqldiff --rbu" command. check-in: ab83d707 user: dan tags: trunk
01:24
Fix a harmless compiler warning in FTS5. check-in: 2ea0c8b4 user: drh tags: trunk
2016-08-10
20:02
Optimization to sqlite3WhereExprUsage(). check-in: 95493058 user: drh tags: trunk
19:43
List of MATCH operator names in isMatchOfColumn() should be constant. check-in: 7319d676 user: drh tags: trunk
18:56
Performance enhancement in the expression walker. check-in: ebccbd96 user: drh tags: trunk
15:02
Tweaks to pcache1TruncateUnsafe() to make it slightly smaller and faster and easier to test. check-in: 059f4e2e user: drh tags: trunk
14:40
Rearrange the code inside sqlite3RunParser() routine so that sqlite3Parser() is only called from a single place. This allows sqlite3Parser() to be in-lined, which results in a 0.25% overall performance gain. check-in: 25d1d02b user: drh tags: trunk
13:34
Increment the version number to 3.15. check-in: 8c2701e7 user: drh tags: trunk
13:30
Improved comments on the lempar.c parser template. Adjust the YY_SHIFT_USE_DFLT constant in the Lemon-generated parser tables so as to guarantee that it is always out of range of the yy_lookahead[] table. check-in: 83622f3f user: drh tags: trunk
11:50
Fix pcache1TruncateUnsafe() run faster for the case where iLimit is very close to iMaxKey. check-in: b07a26df user: drh tags: trunk
01:43
Performance optimization in the yy_find_shift_action() routine of the Lemon-generated parser. check-in: ba6663be user: drh tags: trunk
2016-08-09
21:08
Prototype for the remember(V,PTR) extension function. Closed-Leaf check-in: f0942c36 user: drh tags: rememberFunc
21:01
Fix harmless compiler warning. check-in: 9a5a4f6e user: drh tags: trunk
19:48
Minor update to the way fts5 column filters are parsed. check-in: 14864f2b user: dan tags: trunk
19:26
Have fts5 interpret column lists that begin with a "-" character as "match any column except" lists. check-in: e5175456 user: dan tags: trunk
05:48
Add rowvalue5.test, which should have been part of the previous commit on this branch. check-in: ea03e219 user: dan tags: rowvalue
2016-08-08
20:15
Fix some cases involving row values and virtual tables. check-in: 156a41f3 user: dan tags: rowvalue
18:42
Fix the EXPLAIN QUERY PLAN output for row value range constaints that use an index. check-in: bb606511 user: dan tags: rowvalue
16:52
Merge trunk changes with this branch. check-in: 0e927a7e user: dan tags: rowvalue
13:40
Version 3.14 check-in: d5e98057 user: drh tags: trunk, release, version-3.14.0
2016-08-07
18:52
Fix documentation typos. No changes to code. check-in: ebc396a1 user: drh tags: trunk
2016-08-05
20:54
Have the TEA package build without SQLITE_OMIT_DEPRECATED. As it uses recently deprecated interfaces sqlite3_profile() and sqlite3_trace(). check-in: 95578898 user: dan tags: trunk
16:16
Undo commit [f250166bb]. It is required to handle IO and other errors that occur within a VACUUM of a Zipvfs database. check-in: ae72513a user: dan tags: trunk
15:34
Remove an incorrect ALWAYS() statement and add a test case to show when the condition is sometimes false. check-in: 0f57effa user: drh tags: trunk
14:35
Fix a very obscure problem following OOM in sqlite3_declare_vtab(). check-in: 68eac748 user: drh tags: trunk
2016-08-04
13:23
Revert the SQLITE_APICALL changes for now. That changes needs further research before it is released. Deferred until 3.15. check-in: 9adda385 user: drh tags: trunk
12:35
Add the experimental SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION compile-time option. When enabled, the "unknown function" error is suppressed for EXPLAIN and a no-op function named "unknown()" is substituted. This facilitiates using the command-line shell to analyze queries from applications that contain many application-defined functions that are not normally available to the shell. check-in: b7f30a9f user: drh tags: trunk
09:09
Make sure the ORDER BY LIMIT optimization is not applied if the inner-most loop can only have a single iteration and is hence not really a loop. check-in: 13e3bd3d user: drh tags: trunk
2016-08-03
18:00
Fix a problem with estimating the number of rows visited by a query that uses a multi-column IN(SELECT...) constraint. check-in: 3c2f908f user: dan tags: rowvalue
16:39
Fix another problem involving vector range constraints and mixed ASC/DESC indexes. check-in: 1559f4c4 user: dan tags: rowvalue
16:14
Fix stat4-based cost estimates for vector range constraints. check-in: 18af74ab user: dan tags: rowvalue
14:51
Fix a typo in a comment in btree.c. No changes to code. check-in: 722c1281 user: drh tags: trunk
13:40
Fix the --help output on fuzzcheck so that it fix in an 80-character window. check-in: b91444b5 user: drh tags: trunk
2016-08-02
20:45
Add new test file rowvaluefault.test. check-in: e496b2d6 user: dan tags: rowvalue
20:42
Fix a unused variable that comes up with -DSQLITE_OMIT_DATETIME_FUNCS. check-in: e2f9919e user: drh tags: trunk
19:29
The 'replace.tcl' tool should use Unix line-endings. check-in: 50de9631 user: mistachkin tags: trunk
18:50
Add tests and fixes for vector operations that use sub-queries with different combinations of LIMIT, OFFSET and ORDER BY clauses. check-in: 092b1c5f user: dan tags: rowvalue
17:45
Fix SQLITE_OMIT_SUBQUERY builds. check-in: 339f85f4 user: dan tags: rowvalue
17:07
Fix a problem with vector range constraints and mixed ASC/DESC indexes. check-in: e2ad30c8 user: dan tags: rowvalue
16:24
Merge latest trunk changes into this branch. check-in: d468101b user: dan tags: rowvalue
16:18
Add missing comments and make some code on this branch clearer. check-in: 6937677c user: dan tags: rowvalue
13:26
Updates to requirements marks. No changes to code. check-in: b23c10ac user: drh tags: trunk
11:29
Fix a problem introduced by [77948b5eceab92a7] causing duplicate calls to be made to the xSavepoint() method of virtual tables under some circumstances. check-in: e64a4173 user: dan tags: trunk
08:45
Fix harmless compiler warnings in sqlite3_status(). check-in: 7c38a79c user: drh tags: trunk
2016-08-01
21:17
Update the wordcount.c test program and add a new script "time-wordcount.sh" for additional performance testing. check-in: d8ef9f58 user: drh tags: trunk
20:14
Fix a problem with vector range constraints involving the rowid column. And other issues. check-in: 3ef75d45 user: dan tags: rowvalue
17:06
Fix other harmless compiler warnings. check-in: 90d2c490 user: drh tags: trunk
16:57
Remove a duplicate typedef from loadext.c (remaining copy is in sqlite3ext.h). check-in: fd184e5a user: dan tags: trunk
16:50
Add an extra compiler switch to loadext.test to ensure that it picks up the correct version of sqlite3.h when building a test extension. check-in: e57fa6af user: dan tags: trunk
16:37
Fix a problem with IN(...) constraints where the LHS is a sub-select that is an aggregate query. check-in: 1f4dba87 user: dan tags: rowvalue
15:00
Update releasetest.tcl to automatically do one round of tests with USE_STDCALL=1 when running on Windows with MSVC. check-in: a6a112de user: drh tags: trunk
14:35
Avoid making unnecessary changes to the signatures of the sqlite3_auto_extension() and sqlite3_cancel_auto_extension() interfaces. check-in: b6ea2f21 user: drh tags: trunk
2016-07-30
21:02
Fix problems with vector == comparisons and NULL values. check-in: 059d0d05 user: dan tags: rowvalue
18:54
Fix harmless compiler warning seen with MSVC. check-in: 390a38a1 user: mistachkin tags: trunk
17:59
Merge latest trunk with this branch. check-in: 63ae02d0 user: dan tags: rowvalue
16:39
Remove the EP_Vector expression flag. check-in: e9d9c6d4 user: dan tags: rowvalue
2016-07-29
20:58
Fix some issues with vector range constraints and the column cache. Also vector range constraints and rowid columns. check-in: 42607366 user: dan tags: rowvalue
18:12
Change the way "(a, b) = (SELECT *)" expressions are handled in where.c if there is an index on one of the columns only. check-in: 4dfebff2 user: dan tags: rowvalue
17:36
Using the header file 'intrin.h' requires MSVC 2005 or later. check-in: 9fae75c0 user: mistachkin tags: trunk
04:12
For test 'shell1-5.0', disable round-trip testing for characters in the range 0xE0 to 0xEF on Linux, due to intermittent shell portability issues. check-in: 544c990a user: mistachkin tags: trunk
02:04
Fix typo in a test file interactive output string. check-in: 4fedd790 user: mistachkin tags: trunk
01:55
Merge additional linkage macro changes from the branch. check-in: 8b0eb22e user: drh tags: trunk
01:49
Further refinement to the calling convention macros. check-in: 45588de3 user: drh tags: trunk
01:47
Merge updates from trunk. check-in: 71ffa195 user: mistachkin tags: callbackConv
01:46
Update the autoconf makefile for MSVC. check-in: 2daf2098 user: mistachkin tags: callbackConv
01:32
Undo some unhelpful changes to skip-scan scoring that were added by the check-in [9e2b2681] that improved scoring of index scan. check-in: c7d51934 user: drh tags: trunk
01:31
Add macro necessary for building several extensions when the __stdcall calling convention is not in use. check-in: bc8c9b55 user: mistachkin tags: callbackConv
2016-07-28
23:58
Missed a couple Tcl command deletion callbacks. check-in: fc5c1876 user: mistachkin tags: callbackConv
23:54
Use the SQLITE_TCLAPI macro in several extensions that were missed in the previous check-in. check-in: df254365 user: mistachkin tags: callbackConv
22:53
More compiler warning fixes for GCC related to the auto-extension mechanism. check-in: b8218129 user: mistachkin tags: callbackConv
22:46
The return type used by the auto-extension entry points is 'int', not 'void'. check-in: bf9c86c7 user: mistachkin tags: callbackConv
22:38
Make sure all the auto-extension mechanism function signatures match up precisely. check-in: 87ba69b5 user: mistachkin tags: callbackConv
22:23
Make the extension auto-loading mechanism work with the __stdcall calling convention. Also, fix a couple Tcl command calling conventions missed in the previous check-in. check-in: 3ea567c4 user: mistachkin tags: callbackConv
19:47
Fix further issues with multi-column IN(...) operators. Also some error handling cases surrounding row values. check-in: cc3f6542 user: dan tags: rowvalue
19:28
The 'sqlite3ext.h' content should be processed before being included in the amalgamation. check-in: cbe1de47 user: mistachkin tags: trunk
18:55
Decorate all interfaces with calling convention macros. check-in: fd784887 user: drh tags: trunk
18:49
All SQLite API functions and callbacks in the 'sqlite3ext.h' header file must be decorated with the calling convention. Closed-Leaf check-in: 97fc6e43 user: mistachkin tags: callbackConv
18:38
Disable the authorizer callback when reparsing the schema. This avoids undesirable authorization failures following an ALTER TABLE. check-in: 805d01cd user: drh tags: trunk
18:18
Fixup reserved function pointers in the Tcl stubs table and several macros containing Tcl function pointers. check-in: 959cd013 user: mistachkin tags: callbackConv
18:06
Adjustments to get 'testfixture.exe' compiling with Tcl 8.6 when __stdcall is enabled. check-in: 90e89ec9 user: mistachkin tags: callbackConv
17:24
Improvements to the way the COMPILER compile-time option is set when compiling with Clang. check-in: 81f9cf86 user: drh tags: trunk
17:11
Make sure the SQLITE_TCLAPI macro is always defined and use it for all callback functions that must interface with the Tcl C API. check-in: f2f1323c user: mistachkin tags: callbackConv
16:09
More work on getting the 'testfixture.exe' target to work correctly. check-in: 36b72fd6 user: mistachkin tags: callbackConv
15:38
Modify the mksqlite3h.tcl tool to handle the syscall typedef specially. check-in: 478a84ef user: mistachkin tags: callbackConv
15:09
Change mksqlite3h.tcl to automatically insert the SQLITE_CALLBACK calling convention macros. check-in: 11ab9c9a user: drh tags: callbackConv
14:37
Allow the 'testfixture.exe' target to be compiled with the __stdcall calling convention. check-in: e8be3dfe user: mistachkin tags: callbackConv
13:59
Merge latest trunk changes into this branch. check-in: 9685880f user: dan tags: rowvalue
12:52
New test case to insure legacy CREATE TABLE syntax is supported. check-in: 6feff15c user: drh tags: trunk
04:14
Work in progress on setting a calling convention for all callback functions. check-in: 02b8040e user: mistachkin tags: callbackConv
2016-07-27
19:33
Fix some problems with multi-column IN(SELECT...) processing. check-in: 719a3b20 user: dan tags: rowvalue
19:30
Enhance the query planner cost estimation for index scans to take into account WHERE clause terms that can be computed using only the index and that do not require looking up rows in the original table. This fixes an obscure performance regression that arose when the ORDER BY LIMIT optimization was added by check-in [bf46179d44843]. check-in: 9e2b2681 user: drh tags: trunk
19:20
Add test cases and fix a comment. Closed-Leaf check-in: 50f8ea37 user: drh tags: improved-index-scan
18:27
When estimating the cost of an index scan, factor in the cost savings of being able to use the index to evaluate some WHERE clause terms without having to do a table lookup. check-in: a59b5622 user: drh tags: improved-index-scan
16:03
Initialize a variable in where.c to avoid a valgrind warning. check-in: 4d59df02 user: dan tags: trunk
2016-07-26
18:15
Merge latest trunk changes into this branch. check-in: d4f3d52c user: dan tags: rowvalue
18:06
Fix where.c handling of "IN (SELECT ...)" expressions when the SELECT returns more than one result column. Also error handling for other row value constructor cases. check-in: 061b8006 user: dan tags: rowvalue
10:46
Ensure that the sqlite3_scrub_backup() extension creates a backup database at least as large as indicated by the database header, even if the last page of the input database is a free-list leaf. check-in: 483994a5 user: dan tags: trunk
04:49
Copy the cache_spill setting from the main database over to the vacuum_db transient database when running a VACUUM. check-in: c0e7d98e user: drh tags: trunk
04:31
Make sure affinity is applied correctly on lower-bound range constraints in the min() optimization. Fix for ticket [a0bac8b3c3d1bb]. check-in: b819bace user: drh tags: trunk
2016-07-25
22:40
In the VACUUM command, set the cache_size of the transient vacuum_db database to be the same as the database being vacuumed. check-in: b78d9954 user: drh tags: trunk
21:11
Fix a test case in FTS5 to make it compatible with Tcl 8.5. check-in: a495f8e7 user: drh tags: trunk
16:10
Minor test infrastructure changes to better support SEE testing. check-in: 8dcb9d50 user: drh tags: trunk
14:40
Add a new %ifdef to parse.y so that the build works with SQLITE_OMIT_SUBQUERY. check-in: 38a48cfb user: drh tags: trunk
14:20
Changes to test scripts to get them all running on OpenBSD. check-in: 9e7bedee user: drh tags: trunk
12:10
Disable the DBSTATUS_CACHE_USED_SHARED tests on mac when memsys3/5 is disabled due to differences in the allocation sizes for the Darwin memory allocator. check-in: d6f6c87c user: drh tags: trunk
12:01
Update the vacuummem.test script so that it works on mac as well as on linux. check-in: ea7fb98b user: drh tags: trunk
11:57
If both MEMSYS3 and MEMSYS5 are enabled, than automatically disable MEMSYS3. check-in: ccc22e14 user: drh tags: trunk
11:39
Another attempt at getting --enable-memsysN working. check-in: 5f40e6ad user: drh tags: trunk
11:32
Fix the --enable-memsysN options in configure so that they actually work. check-in: 67955255 user: drh tags: trunk
11:27
Add --enable-memsys3 and --enable-memsys5 options to the configure script. check-in: 67e1dc98 user: drh tags: trunk
02:42
Evidence marks and code reformatting for SQLITE_TRACE_STMT operation. check-in: e1e02238 user: drh tags: trunk
02:31
Change SQLITE_TRACE_STMT to return unexpanded SQL text in the X argument. Add documentation on how and when to use sqlite3_expanded_sql(P) to compute the expanded text for legacy sqlite3_trace() compatibility. check-in: 163e1522 user: drh tags: trunk
00:05
Fix code so that the deprecated sqlite3_trace() and sqlite3_profile() interfaces are not called when SQLITE_OMIT_DEPRECATED is used. check-in: 1c5baae3 user: drh tags: trunk
2016-07-23
20:27
Use sqlite3_trace_v2() instead of sqlite3_trace() in the shell. check-in: c8e0539b user: drh tags: trunk
20:24
Allow vector IN(SELECT ...) expressions to use an index if either all the indexed columns are declared NOT NULL or if there is no difference between the expression evaluating to 0 and NULL (as in a WHERE clause). check-in: e2fd6f49 user: dan tags: rowvalue
19:34
Add the json_quote() function to the JSON1 extension. check-in: 269892ab user: drh tags: trunk
19:18
Small tweak to the btree balancer for improved tree balance. check-in: 8817dedb user: drh tags: trunk
14:50
Fix recently added tests so that they work in all configurations. check-in: d0bcaf0c user: drh tags: trunk
05:22
Add the sqlite3_expanded_sql() and sqlite3_trace_v2() interfaces. check-in: 99a6c518 user: drh tags: trunk
04:58
Improvements to sqlite3_trace_v2() documentation. Fix the sqlite3VdbeExpandSql() routine to respond better to OOM conditions. Closed-Leaf check-in: 0400f642 user: drh tags: sqlite3_trace_v2
02:07
Add requirements marks to the sqlite3_trace_v2() interface documentation. check-in: ebd388e9 user: drh tags: sqlite3_trace_v2
00:43
Fix sqlite3VdbeExpandSql() so that it handles OOMs by always returning NULL. check-in: 5a027fe4 user: drh tags: sqlite3_trace_v2
2016-07-22
21:35
Revise a warning fix from the previous check-in to improve clarity. Also, fix an incorrect test prefix (typo). check-in: f50a3fd6 user: mistachkin tags: trunk
21:26
Fix harmless compiler warnings seen with MSVC. check-in: 8bb6e6fc user: mistachkin tags: trunk
20:45
Be sure to hold the database connection mutex while calling sqlite3VdbeExpand() from within sqlite3_expanded_sql(). check-in: 527b5ba6 user: drh tags: sqlite3_trace_v2
20:20
Add requirements marks to the sqlite3_expanded_sql() documentation. check-in: 409535e6 user: drh tags: sqlite3_trace_v2
17:58
Merge latest trunk changes with this branch. check-in: 60fed5cd user: dan tags: rowvalue
10:09
Fix a problem with upper case module names in the "sqldiff --vtab" command. check-in: 87e25fc4 user: dan tags: trunk
2016-07-21
18:02
Add extra test cases to verify the fix in [64ca1a835]. check-in: bf98a2de user: dan tags: trunk
16:43
Add new test file vacuummem.test. To test that any temporary memory used by VACUUM is freed as soon as the VACUUM has finished (not, for example, when sqlite3_close() is finally called). check-in: 1b1ad0b2 user: dan tags: trunk
2016-07-15
19:17
Add the largely untested SQLITE_FTS5_NO_WITHOUT_ROWID compile time option to fts5. For building a dynamically loadable extension that does not use WITHOUT ROWID. check-in: d0a1cf1c user: dan tags: trunk
10:01
The sqlite3_expanded_sql() function compiles, but always returns NULL, when the SQLITE_OMIT_TRACE compile-time option is used. check-in: 53c25ebe user: drh tags: sqlite3_trace_v2
02:55
Merge fixes from trunk. Fix the tclsqlite.test script. check-in: d2b1fa55 user: drh tags: sqlite3_trace_v2
02:50
Disable the CSV extension when virtual tables are disabled. check-in: ec718089 user: drh tags: trunk
01:49
Modify the Tcl test command 'sqlite3_bind_blob' to make use of the Tcl_GetByteArrayFromObj() API. check-in: e03c8189 user: mistachkin tags: sqlite3_trace_v2
00:39
Fix typo in sqlite3_trace_v2(). check-in: 97ccf15f user: mistachkin tags: sqlite3_trace_v2
00:23
Corrections and enhancements for the new tests. check-in: 20e74c63 user: mistachkin tags: sqlite3_trace_v2
00:09
Modify one test result to be case-insensitive. check-in: 5ccbeeea user: mistachkin tags: sqlite3_trace_v2
00:07
Add tests, including some for the sqlite3_expanded_sql() API. check-in: 8b8c0b74 user: mistachkin tags: sqlite3_trace_v2
2016-07-14
23:17
More work on the Tcl interface and tests for the sqlite3_trace_v2() API. check-in: f3c4aa97 user: mistachkin tags: sqlite3_trace_v2
21:26
Initial work on the Tcl API interface to the new sqlite3_trace_v2() function. check-in: 7b59fa40 user: mistachkin tags: sqlite3_trace_v2
19:48
Minor tweak the the b-tree balancer. Closed-Leaf check-in: d2a0af7a user: drh tags: btree-tuning
19:13
Fix ALTER TABLE so that it does not promote the schema version past 3, as that will cause DESC indexes to go corrupt. Ticket [f68bf68513a1c]. check-in: a7db6e45 user: drh tags: trunk
09:22
Fix copy/paste typo in the new sqlite3_expanded_sql() function. check-in: e7d18c70 user: mistachkin tags: sqlite3_trace_v2
01:13
Fix a parameter misordering on sqlite3_trace_v2() in the loadable extension interface. check-in: 989de2d5 user: drh tags: sqlite3_trace_v2
01:09
Add the sqlite3_expanded_sql() interface. Refinements to the sqlite3_trace_v2() interface to make it more useful. check-in: 99ee7ee5 user: drh tags: sqlite3_trace_v2
2016-07-13
23:18
Legacy tests now passing. check-in: f33526a3 user: drh tags: sqlite3_trace_v2
22:55
First cut at implementing the new sqlite3_trace_v2() interface. check-in: cb0062fe user: drh tags: sqlite3_trace_v2
21:30
Interface design for a new sqlite3_trace_v2() method that supersedes sqlite3_trace() and sqlite3_profile(). check-in: 0c569f75 user: drh tags: sqlite3_trace_v2
19:48
Modifications towards better vector IN(...) support on this branch. Not activated yet. check-in: 34e35c71 user: dan tags: rowvalue
13:05
Fix harmless compiler warnings in shell.c for NetBSD. check-in: 824b39e5 user: drh tags: trunk
00:55
Fix header comments and remove an unnecessary version restriction from the carray() table-valued function implementation. check-in: 021d0fb8 user: drh tags: trunk
2016-07-12
19:54
Fix the error counter reset in Lemon generated parsers. This has no effect on SQLite. check-in: 3ef93950 user: drh tags: trunk
2016-07-10
19:35
Merge comment typo fixes from trunk. check-in: 728c5aa4 user: mistachkin tags: rowvalue
19:35
Fix typos in comments. No changes to code. check-in: 77c692a6 user: mistachkin tags: trunk
2016-07-09
20:23
Add some support for using row value constructors in certain parts of SQL expressions. There are many bugs on this branch. check-in: b2204215 user: dan tags: rowvalue
17:47
Add the "#/value-list/" style of results for approximate value matching in the do_test command of the test infrastructure. Use this new result style to make the SQLITE_DBSTATUS_CACHE_SIZE_SHARED tests cross-platform. check-in: c869bf34 user: drh tags: trunk
17:15
Fix a compiler warning in test code - in the int64array_addr TCL command. check-in: 29fb988f user: drh tags: trunk
16:38
Fix compiler warnings on windows. check-in: 8b22f777 user: drh tags: trunk
16:14
Fix various internal #defines to conform to new C-language naming restrictions, specifically that private-use macros names must not begin with "_". check-in: 5471aca0 user: drh tags: trunk
00:06
Add support for the win32-none VFS. check-in: b5f32a89 user: drh tags: trunk
2016-07-08
21:14
Initial work on a Win32 VFS with NOP locking. Closed-Leaf check-in: 549abe3f user: mistachkin tags: win32nolock
19:54
Another attempt to fix error handling in Lemon. This change is a no-op for SQLite's usage. check-in: e1d8ef31 user: drh tags: trunk
02:14
In the sqldiff program, make sure the first argument to the db_prepare() utility function is always a valid format string. check-in: 8bb8d886 user: drh tags: trunk
2016-07-06
18:42
Add the SQLITE_DBSTATUS_CACHE_USED_SHARED sqlite3_db_status() parameter. This option is similar to DBSTATUS_CACHE_USED, except that it divides memory used by shared caches evenly between all connections. check-in: 06cf2680 user: dan tags: trunk
18:12
Change the name of the SQLITE_DBSTATUS_PROPORTIONAL_CACHE_USED to SQLITE_DBSTATUS_CACHE_USED_SHARED. Closed-Leaf check-in: d58401ab user: dan tags: dbstatus-prop-cache-used
10:17
Fix a test script problem causing a test to fail if the ICU extension is enabled. check-in: 0c228f5d user: dan tags: trunk
10:12
Add the SQLITE_DBSTATUS_PROPORTIONAL_CACHE_USED sqlite3_db_status() parameter. check-in: 118321c8 user: dan tags: dbstatus-prop-cache-used
09:19
Fix a memory leak in recently added test code. check-in: 724e4cdc user: dan tags: trunk
2016-07-05
16:11
More fixes to Lemon so that it automatically resets its error counter at the end of a parse. check-in: 2683b375 user: drh tags: trunk
12:47
Attempt to reset the error count in the Lemon-generated parser after a parse failure. check-in: 91889fa3 user: drh tags: trunk
2016-07-04
11:47
Add the sqlite3rbu_state() API. Used to determine the current state (creating OAL, ready to move OAL, incremental-checkpoint, finished or error) of an RBU operation. check-in: 0357875f user: dan tags: trunk
11:34
Add the carray() virtual table as a loadable extension. check-in: d8bc6feb user: drh tags: trunk
2016-07-03
02:35
Change the name of the intarray() extension to carray() and give it an optional third parameter that specifies the datatype as one of 'int32', 'int64', 'double', or 'char*'. 'int32' is the default. Closed-Leaf check-in: a204ba99 user: drh tags: prototype-int-array
2016-07-02
20:57
Fix an off-by-one comparison in the intarray() virtual table. Get the intarray() virtual table tests working using the legacy makefile. check-in: 7c3d441f user: drh tags: prototype-int-array
20:51
Merge the alternative table-valued function RHS of IN operator implementation from trunk. check-in: 507fdbfb user: drh tags: prototype-int-array
12:33
Fix a problem in table-valued functions on the RHS of an IN operator that occurs following an OOM error. check-in: bead151e user: drh tags: trunk
12:08
Add support for table-valued functions on the RHS of an IN operator. check-in: ac6000f0 user: drh tags: trunk
2016-07-01
20:12
Fix the transitive constraint logic error that can result in a null pointer dereference. Fix for ticket [e8d439c77685eca6]. check-in: 228a7879 user: drh tags: trunk
19:48
Add test cases to the transitive constraint fix. Closed-Leaf check-in: c952af89 user: drh tags: planner-fix
12:39
Add the sqlite3rbu_state() API. Used to determine the current state (creating OAL, ready to move OAL, incremental-checkpoint, finished or error) of an RBU operation. Closed-Leaf check-in: 92e7df0f user: dan tags: rbu-state-api
2016-06-29
06:19
Add the ability to have a table-valued function on the RHS of an IN operator. check-in: ba1b441b user: drh tags: prototype-int-array
05:08
Another test case for the intarray($PTR,$N) virtual table. check-in: 06e1fab7 user: drh tags: prototype-int-array
05:00
Add a prototype intarray($PTR,$N) table valued function. check-in: 233b3338 user: drh tags: prototype-int-array
2016-06-28
22:27
Proposed fix for a problem in the query planner. check-in: a33d2356 user: drh tags: planner-fix
2016-06-26
04:06
Prevent the WhereLoop.rSetup cost estimate from going negative on complex queries. check-in: f8105085 user: drh tags: trunk
2016-06-25
11:43
Fix the handling of OP_Eq opcodes that compare a register against itself and that require an affinity change. check-in: 507014e4 user: drh tags: trunk
2016-06-24
06:23
Fix the ctime.test script so that it works with clang. check-in: 77e4f7a3 user: drh tags: trunk
02:50
Fix the Makefile.in to avoid unnecessary recompiles of sqlite3.c. check-in: 67c39e16 user: drh tags: trunk
2016-06-23
16:48
Update the sqldiff utility so that if the --vtab switch is specified "rtree", "fts3", "fts4" and "fts5" tables are diff'd directly and the underlying real database tables ignored. Without this switch, all virtual tables are ignored and the diff is performed on the underlying real tables. check-in: b8671e94 user: dan tags: trunk
12:35
Fix the build for -DSQLITE_OMIT_VIRTUALTABLE check-in: 91113142 user: drh tags: trunk
2016-06-21
10:34
Update the sqldiff utility so that if the --vtab switch is specified "rtree", "fts3", "fts4" and "fts5" tables are diff'd directly and the underlying real database tables ignored. Without this switch, all virtual tables are ignored and the diff is performed on the underlying real tables. Closed-Leaf check-in: 5d0a9d4c user: dan tags: sqldiff-vtab-support
2016-06-20
17:25
For a table on the rhs of a LEFT JOIN operator, do not include terms like "IS NULL" from the WHERE clause in the cursor-hint. These may be false for rows that the cursor would otherwise visit, but true for a row of all NULL values generated by the LEFT JOIN. check-in: 913e5956 user: dan tags: trunk
17:22
Allow LIKE operators that appear in a WHERE clause to be included in the cursor-hint for a cursor on the rhs of a LEFT JOIN. Closed-Leaf check-in: 7455d932 user: dan tags: cursor-hints
2016-06-17
19:27
Include WHERE terms in the cursor-hint passed to a cursor opened for the rhs of a LEFT JOIN iff we can be sure that those terms will not evaluate to true if the LEFT JOIN generates a row of NULLs. check-in: 998095ab user: dan tags: cursor-hints
14:59
Fix a duplicate test name in cursorhint2.test. check-in: fcd12b69 user: dan tags: cursor-hints
14:47
Fix a typo in the cursorhint2.test script. check-in: c1a5a57c user: dan tags: cursor-hints
14:33
If a table is on the rhs of a LEFT JOIN, include only terms from the joins ON(...) clause in the cursor-hint passed via OP_CursorHint. check-in: 2a2346b0 user: dan tags: cursor-hints
13:01
Add the json_quote() function to the JSON1 extension. Closed-Leaf check-in: 2c3714ae user: drh tags: json_quote
2016-06-16
17:14
Add a missing OP_ColumnsUsed opcode to code for expressions like "? IN (SELECT ...)" in cases where expression can use an index that may contain NULL values. check-in: 0b1579ca user: dan tags: trunk
11:16
Fix a typo in a comment on the SrcList object. check-in: 48b555c4 user: drh tags: trunk
2016-06-13
19:58
Fix RBU so that it builds with -DSQLITE_ENABLE_8_3_NAMES. Fix "PRAGMA compile_options" for SQLITE_ENABLE_8_3_NAMES such that it reports the numeric setting: "1" or "2". check-in: 0230ca17 user: drh tags: trunk
15:59
Fix the declaration of the table implemented by DBSTAT so that it uses correct datatypes. check-in: a1e1cdc5 user: drh tags: trunk
12:51
Fix an incorrect assert() in the btree logic. check-in: fcf6114b user: drh tags: trunk
12:34
Fix the "onecolumn" and "exists" methods of the TCL interface so that they work in combination with the "profile" callback. check-in: d362ba15 user: drh tags: trunk
2016-06-10
22:49
Enhance "PRAGMA table_info" to that it provides information about eponymous virtual tables. check-in: 53a1e5d5 user: drh tags: trunk
2016-06-08
18:07
Prefer to use partial indexes for full table scans when that is possible. check-in: fe187432 user: drh tags: trunk
14:04
Add the "dbhash.exe" utility program that computes a SHA1 hash over the invariant content of an SQLite database file. Free space in the file, the page size, auto_vacuum status, text encoding, and so forth do not change the hash. Only the content matters. check-in: f48a4ad3 user: drh tags: trunk
13:59
Fix an undersized buffer in the SHA1 implementation. Closed-Leaf check-in: fb276815 user: drh tags: dbhash
13:49
Fix the dbhash utility so that it ignores the root page number when hashing the sqlite_master table. Add new command-line options. Add the ability to hash multiple databases with a single command. check-in: 44f157e0 user: drh tags: dbhash
01:03
An initial attempt at a "dbhash" command-line utility. check-in: 2247649c user: drh tags: dbhash
2016-06-07
20:25
Fix the walcrash4.test test module so that it works on windows. check-in: 2091a4c9 user: drh tags: trunk
2016-06-06
20:36
In winFullPathname, translate '/X:' to 'X:' before doing anything else. check-in: e404ad70 user: mistachkin tags: trunk
20:27
Translate filenames of the form "/c:/*" into just "c:/*" on WinRT and Cygwin. (SQLite has long done this for Win32/WinNT.) check-in: f8470ffc user: drh tags: trunk
18:17
Fix lempar.c so that the shift-reduce optimization works for error processing. This is a Lemon issue only and has no impact on SQLite. check-in: 3665a2f5 user: drh tags: trunk
13:24
Initialize the yyerrcnt variable in the lemon parser template. This has no effect on SQLite itself. check-in: 45531654 user: drh tags: trunk
01:54
Small performance boost and size decrease in sqlite3BtreeMovetoUnpacked(). check-in: e106a77d user: drh tags: trunk
01:48
Small performance improvement in the LIKE function. check-in: 5fb0c354 user: drh tags: trunk
01:14
Btree interface refactoring: (1) The sqlite3BtreeKeySize() interface is renamed to sqlite3BtreeIntegerKey() and modified to work only for table btrees with a rowid. (2) The sqlite3BtreeDataSize() interface is renamed to sqlite3BtreePayloadSize() and modified to work with any btree. (3) The sqlite3BtreeDataFetch() and sqlite3BtreeKeyFetch() routines are combined into a single sqlite3BtreePayloadFetch() routine. The result of these changes is a smaller binary and fewer CPU cycles needed to run queries. check-in: 2d831074 user: drh tags: trunk
2016-06-04
21:05
Improved comment on cursorOwnsBtShared(). No changes to code. Closed-Leaf check-in: 5e269c2d user: drh tags: btree-refactor
20:58
Fix a C99-ism and a compiler warning for MSVC. check-in: aa53a36e user: drh tags: btree-refactor
20:37
Change the sqlite3BtreeKeySize() interface into sqlite3BtreeIntegerKey() and make it only work for table btrees. Change sqlite3BtreeDataSize() into sqlite3BtreePayloadSize() and make it work for all btrees. Combine sqlite3BtreeDataFetch() and sqlite3BtreeKeyFetch() into a single sqlite3BtreePayloadFetch() routine. These changes seem to make the b-tree interface more rational and they reduce both binary size and CPU usage. check-in: bef35e18 user: drh tags: btree-refactor
17:12
Allocate KeyInfo objects from lookaside if possible. check-in: b411107a user: drh tags: trunk
16:33
Fix up speedtest1.c so that it will compile and run on SQLite versions prior to 3.6.18 (circa 2009-09-11). check-in: 9583c0fb user: drh tags: trunk
13:57
Remove an unreachable branch in the UNIQUE constraint parsing. check-in: 313e990c user: drh tags: trunk
2016-06-03
18:59
The OR optimization is usable on virtual tables with LIKE, REGEXP and/or GLOB terms in the WHERE clause. check-in: fa3a89fc user: drh tags: trunk
18:44
Add support for virtual tables using a WITHOUT ROWID schema. This merge also includes enhancements to the CSV extension, which is used for testing of the new WITHOUT ROWID virtual table mechanism. check-in: aa7e9d0c user: drh tags: trunk
18:21
Fix a memory leak when a WITHOUT ROWID eponymous virtual table is used. Closed-Leaf check-in: 31b83a7d user: drh tags: without-rowid-vtab
17:27
Disallow access to the rowid column on WITHOUT ROWID virtual tables. check-in: d31c2597 user: drh tags: without-rowid-vtab
13:35
Enhance the sqlite3_load_extension() interface to permit extensions to return SQLITE_OK_LOAD_PERMANENTLY which will prevents unloading when the database connection closes. check-in: 5908aa4d user: drh tags: trunk
01:01
Performance optimizations on the CSV virtual table. Disallow WITHOUT ROWID virtual tables that have an xUpdate method, for now. check-in: 3134b326 user: drh tags: without-rowid-vtab
2016-06-02
23:13
Add the CSV extension to the test fixture. Fix a memory leak in the CSV extension. Add test cases for the CSV extension, including one that uses a WITHOUT ROWID virtual table participating in the OR optimization. check-in: 95f483e8 user: drh tags: without-rowid-vtab
17:44
Add the data= parameter to the CSV virtual table extension. check-in: 76919104 user: drh tags: without-rowid-vtab
16:22
Fix corner cases in the WITHOUT ROWID virtual table logic. check-in: a393bbb9 user: drh tags: without-rowid-vtab
2016-06-01
10:37
Fix an issue preventing RBU vacuum from working with virtual tables. check-in: 3bd85fa5 user: dan tags: trunk
05:02
Fix compilation issues with the VFS stat extension. check-in: f6e95652 user: mistachkin tags: trunk
2016-05-31
21:18
An experimental branch with code that allows virtual tables to be declared as WITHOUT ROWID tables. This might be useful for virtual tables that model external data sources that do not have a convenient way of computing a unique rowid. The current check-in almost works, but there are still serious issues. check-in: 49638f18 user: drh tags: without-rowid-vtab
18:44
Add the columns=N parameter to the CSV extension. check-in: 28ebeadd user: drh tags: trunk
18:08
Add the testflags parameter to the csv extension. check-in: b93fb2fe user: drh tags: trunk
16:22
Add the "csv" virtual table for reading CSV files, as an extension in the ext/misc/ subfolder. check-in: 00d3570c user: drh tags: trunk
2016-05-30
08:28
Fix an FTS5 problem (segfault or incorrect query results) with "... MATCH 'x OR y' ORDER BY rank" queries when either token 'x' or 'y' is completely absent from the dataset. check-in: 64ca1a83 user: dan tags: trunk
2016-05-28
18:53
Experimental change to allow virtual tables to take advantage of LIKE, REGEXP and GLOB terms that are part of OR expressions within WHERE clauses. Closed-Leaf check-in: 242507b4 user: dan tags: vtab-experimental
17:45
Remove an unnecessary malloc from the vfsstat extension. check-in: 24f258c2 user: drh tags: trunk
17:23
Enhance the sqlite3_load_extension() interface to permit extensions to return SQLITE_OK_LOAD_PERMANENTLY which will prevent the extensions from unloading when the database connection closes. Closed-Leaf check-in: d3f99a5e user: drh tags: load-permanently
15:22
Enhance "PRAGMA compile_options" so that it shows the version of the compiler used to generate the executable, for common compilers. check-in: 6a0f2009 user: drh tags: trunk
15:09
Update the amalgamation-tarball configure script so that it can use header file "readline/readline.h" with library file "libedit". check-in: cbf72b04 user: dan tags: trunk
14:53
Add the vfsstat.c loadable extension - a VFS shim that measures the amount of I/O, and an eponymous virtual table that is used to extract and view the measurements. check-in: 0987487d user: drh tags: trunk
00:13
Clang can define _MSC_VER in some circumstances; therefore, check for Clang first. Closed-Leaf check-in: 3f710bc3 user: mistachkin tags: ctimeCompiler
2016-05-27
21:13
Check for Clang before GCC. check-in: 7c2cd4b0 user: mistachkin tags: ctimeCompiler
20:30
Remove surplus quotation marks from the COMPILER= compile_options setting for Clang. check-in: 5c966f20 user: mistachkin tags: ctimeCompiler
19:34
Remove surplus quotation marks from the COMPILER= compile_options setting for GCC. check-in: 664c132d user: drh tags: ctimeCompiler
18:09
Add basic compiler information to the results of 'PRAGMA compile_options'. check-in: d734e2df user: mistachkin tags: ctimeCompiler
12:30
Improvements to WHERE-clause debug tracing. Show TK_MATCH expressions and show more details on WhereTerm traces. check-in: 71087c12 user: drh tags: trunk
04:10
Fix Lemon so that it actually works with -DYYSTACKDEPTH=0. check-in: a9be4c2d user: drh tags: trunk
01:07
Fix the Lemon-generated parser so that it compiles with -DYYSTACKDEPTH=0. It does compile now, but there are subtle issues still. check-in: 28d439f8 user: drh tags: trunk
2016-05-26
20:56
Add a new OP_SeekRowid opcode, that combines the functions of OP_MustBeInt and OP_NotExists. This makes the code slightly smaller and faster. check-in: ffe80a1b user: drh tags: trunk
2016-05-25
18:53
Add the libvers.c tool in the tool/ subdirectory. check-in: 2a41f098 user: drh tags: trunk
2016-05-24
18:55
Enhance Lemon and the parser template so that it can once again build parsers that have no unreachable branches. check-in: 41fd46e2 user: drh tags: trunk
18:50
Minor change to the walcrash4.test module so that it works when SQLITE_DEFAULT_WAL_SYNCHRONOUS is set to something other than 2. check-in: 61e239bc user: drh tags: trunk
16:20
Fix an obscure problem with transactions written in "PRAGMA synchronous=full" mode on systems that do not support POWERSAFE_OVERWRITE causing an xSync() call to be omitted if the last frame written by a transaction is aligned to a sector boundary. This means that if a power failure or OS crash occurs very soon after such a transaction is committed, it may be lost following system recovery. check-in: 37de3eab user: dan tags: trunk
00:40
Improvements to the initialization of the push-down automoton for the Lemon-generated parser. Smaller and faster. check-in: 3b28b68e user: drh tags: trunk
2016-05-23
21:56
Use a pointer to the top of the stack rather than an index into the stack in the Lemon-generated parser template, for about 6.6% parser performance gain. check-in: 3c2a7705 user: drh tags: trunk
19:02
Avoid a minor error message when running RTREE without an sqlite_stat1 table. check-in: 276e92f5 user: drh tags: trunk
18:27
Fix the rtreeG.test test case. Closed-Leaf check-in: 9589e937 user: drh tags: tree-stat1-fix
18:12
Fix RTREE so that it does not run queries against the sqlite_stat1 if that table does not exist. check-in: 48526a2f user: drh tags: tree-stat1-fix
18:06
Remove an extra "finish_test" from the end of rtreeC.test. check-in: bfbb6dd8 user: drh tags: tree-stat1-fix
16:16
Improve the error messages generated by the rtree module when a constraint fails. check-in: 3ad2531e user: dan tags: trunk
16:15
Lemon enhancement: avoid unnecessary reduce actions that convert one non-terminal into another but have no side effects. check-in: a86e782a user: drh tags: trunk
14:24
Fix comment typos and improve clarity of presention in Lemon. The output should be identical. check-in: b91a5b82 user: drh tags: trunk
00:10
Update the configure script with additional hints on the location of tclConfig.sh, hints needed by the latest versions of Xcode. check-in: 90411a28 user: drh tags: trunk
2016-05-21
23:25
More tweaks to improve the performance of the insert logic, slightly. check-in: dec13075 user: drh tags: trunk
20:03
Simplify the sqlite3BtreeInsert() interface by gathering the five arguments describing the content to be inserted into the new BtreePayload structure, and thus reducing the number of parameters from eight to four. check-in: 55f348cd user: drh tags: trunk
19:10
Remove some unused legacy code from the btree insert logic. check-in: 2ce11667 user: drh tags: trunk
12:29
Yet another minor size reduction and performance increase in the b-tree insert logic. check-in: 1dbaf7a1 user: drh tags: trunk
11:23
Small size reduction and performance increase in the sqlite3BtreeInsert() logic. check-in: 656aa1ec user: drh tags: trunk
00:45
Add the shell-script used for routine performance testing. check-in: 8e366f18 user: drh tags: trunk
2016-05-20
23:51
Add a simple TCL script for summing cachegrind information for each VDBE opcode. check-in: 96cf821b user: drh tags: trunk
21:40
Another optimization on the OP_Column opcode. check-in: 1765672c user: drh tags: trunk
20:58
Fix typo in comment. check-in: 9db8f214 user: mistachkin tags: trunk
19:51
Slight performance improvement in the OP_Column opcode. check-in: 5c157474 user: drh tags: trunk
18:09
Remove the sqlite3PagerClearCache() routine, which does not accomplish anything useful. check-in: f250166b user: drh tags: trunk
15:53
Performance optimization and size reduction on the freeP4() routine. check-in: 4dc56e86 user: drh tags: trunk
15:24
Increase the version number to 3.14.0 since we are already making significant code changes. check-in: 1a0d0576 user: drh tags: trunk
15:15
Use sqlite3VdbeAddOp0() to code OP_Expire, to save a few bytes. check-in: 3d55d24d user: drh tags: trunk
14:54
Optimizations to link list merge sort code in vdbesort.c, pcache.c, and rowset.c. Resulting binaries are 10 bytes smaller and use 0.03% fewer CPU cycles. check-in: 9033afbb user: drh tags: trunk
14:11
For queries with both ORDER BY and LIMIT, if the rows of the inner loop are emitted in ORDER BY order and the LIMIT has been reached, then optimize by exiting the inner loop and continuing with the next cycle of the first outer loop. check-in: 559733b0 user: drh tags: trunk
13:44
Set the NULLEQ flag on the sequence counter comparison in the ORDER BY LIMIT optimization, to avoid coverage complaints about not testing the NULL case. Closed-Leaf check-in: ed1b30dc user: drh tags: orderby-limit
12:22
Autoconf configure.ac adjustment to try to get it to look for both editline and readline automatically. check-in: 645bd696 user: drh tags: trunk
00:21
A few simple test cases for the ORDER BY LIMIT optimization. check-in: 08849eab user: drh tags: orderby-limit
2016-05-19
22:40
Appears to work now. Needs test cases, more comments, and code optimization. check-in: 990fe50c user: drh tags: orderby-limit
22:13
In a query with both ORDER BY and LIMIT, if the inner loop satisfies the ORDER BY then try to cut short each invocation of the inner loop once the LIMIT has been satisfied. This check-in is a partial implementation only. check-in: 852d1eda user: drh tags: orderby-limit
19:31
Fixup comments on wctrlFlags value definitions. check-in: 58b516e8 user: drh tags: trunk
18:56
Clean up the WHERE_* macros used for the wctrlFlags parameter on the sqlite3WhereBegin() interface, freeing up some bits to be used for other things. check-in: d0130584 user: drh tags: trunk
17:51
Optimization marks in vdbe.c. No logic changes. check-in: cf273741 user: drh tags: trunk
16:58
Performance improvement in the OP_Column opcode. check-in: 4737cadc user: drh tags: trunk
16:21
Add test cases to test some fts3/4 edge case behaviour surrounding the '*' character. check-in: 1f577e1f user: dan tags: trunk
11:12
Small size reduction and performance improvement in the OP_Column opcode. check-in: 0d773061 user: drh tags: trunk
2016-05-18
21:03
Add the "scrub" utility program that simultaneously backs-up a live database and erases all deleted content. check-in: c981ab2a user: drh tags: trunk
21:01
Omit the unnecessary WHERE_REOPEN_IDX flag in the WHERE interface. check-in: 915416d1 user: drh tags: trunk
10:57
Version 3.13.0 check-in: fc49f556 user: drh tags: trunk, release, version-3.13.0
2016-05-17
21:17
Enhance the scrub utility program so that it does a FULL checkpoint prior to starting the backup, to ensure that the database file content matches what needs to be backed up without having to look at the WAL file. Closed-Leaf check-in: ab1c5ce5 user: drh tags: scrub-backup
17:11
Merge the latest changes from trunk. check-in: 5021dfe1 user: drh tags: scrub-backup
2016-05-16
14:35
Do not run snapshot_fault.test as part of the inmemory_journal permutation. check-in: 995c084b user: dan tags: trunk
11:55
Disable shell.exe test cases for UTF8 filenames as they do not work on MinGW. check-in: 386bcbba user: drh tags: trunk
2016-05-13
17:22
Improvements to a comment in the pcache.c file. No changes to code. check-in: b369980f user: drh tags: trunk
15:22
Remove the unused PGHDR_NEED_READ flag. Add invariant checking (during SQLITE_DEBUG builds only) for the PgHdr object. check-in: 771c5411 user: drh tags: trunk
12:12
Clarification of the pagerFlushOnCommit() logic. check-in: 3401d9dc user: drh tags: trunk
11:50
Fix pager_end_transaction() to ensure that a ROLLBACK does not clobber unwritten pages in a TEMP file pcache. check-in: 9495d338 user: drh tags: trunk
04:24
Additional debugging and tracing logic for pcache.c, turned off by default using an "#if 0". check-in: 32a62e3b user: drh tags: trunk
2016-05-12
19:17
Disable ALWAYS and NEVER when compiled with SQLITE_MUTATION_TEST. check-in: 24d9fbc1 user: drh tags: trunk
19:05
Simplification of the sqlite3FaultSim() call inside of sqlite3PagerCommitPhaseOne(). check-in: 1b0f4cc3 user: drh tags: trunk
18:38
Add an assert in pager.c to confirm that pPager->tempFile is always true for in-memory databases. check-in: 3fd71092 user: drh tags: trunk
17:06
Add extra OPTIMIZATION-IF-FALSE comments where required to pcache.c. check-in: 9d55b8f5 user: dan tags: trunk
12:08
For in-memory databases, it does not matter if pcache entries are marked "clean" or "writable". check-in: 06c1e27c user: drh tags: trunk
12:01
Remove an unnecessary call to sqlite3PcacheMakeClean() inside of the ROLLBACK logic. check-in: 0dc50d99 user: drh tags: trunk
09:48
Add a missing OPTIMIZATION-IF-FALSE comment to pcache.c. check-in: bc202e5b user: dan tags: trunk
2016-05-11
23:54
For in-memory databases, it does not matter if pcache entries are marked "clean" or "writable". Closed-Leaf check-in: ad601c79 user: drh tags: pager-dev
20:03
Remove a redundant condition from pcache.c. Add an OPTIMIZATION-IF-TRUE comment to another condition that requires it. check-in: 3bfd2621 user: dan tags: trunk
15:41
Remove some a small amount of redundant code related to PCache.pSynced from pcache.c. check-in: 9cc8cad7 user: dan tags: trunk
12:47
Do not reset the page cache when a rollback journal truncate fails, as doing so can cause loss of information for an in-memory TEMP file. check-in: 345ce1c9 user: drh tags: trunk
11:04
Always truncate, rather than persist, the rollback journal of a TEMP database. check-in: 42fb6f1e user: drh tags: trunk
10:57
Add pcache tracing macros. Off by default. Requires changing an "#if 0" and recompiling to enable. check-in: d9313d19 user: drh tags: trunk
2016-05-10
20:16
Add another test case to temptable3.test. check-in: 22364024 user: dan tags: trunk
20:03
Fix a problem in sqlite3PagerMovepage() when working on a temp table for which pages have been spilled. check-in: 20cf8811 user: drh tags: trunk
2016-05-09
23:11
Fixes to requirements marks. No changes to code. check-in: 79ecd0ef user: drh tags: trunk
22:35
Enhancements to test/sort5.test so that it works with SEE. check-in: 8a39c8ee user: drh tags: trunk
22:32
Remove some forgotten debugging lines from test/sort5.test. check-in: f5875489 user: drh tags: trunk
19:58
Omit the unnecessary WHERE_REOPEN_IDX flag in the WHERE interface. Closed-Leaf check-in: da94a6e0 user: drh tags: dev
19:03
Update a comment in fts5.h. No changes to code. check-in: 14e53d0e user: dan tags: trunk
18:05
Fix the FTS5 xQueryPhrase() API function so that it recognizes column filters. check-in: 48505cde user: dan tags: trunk
2016-05-07
12:15
Make the sqlite3DeleteTable() routine smaller and faster. check-in: d75140b8 user: drh tags: trunk
12:15
Fix typo in the intpkey-17.2 test. check-in: a45fda65 user: drh tags: trunk
2016-05-06
20:23
Simplification to the logic used to decide between OP_Seek and OP_NotExists. Use OP_NotExists for both DELETE and UPDATE. check-in: 3a695263 user: drh tags: trunk
18:47
Corrections to comments on the whereScanInit() interface. check-in: ab7ab415 user: drh tags: trunk
16:49
For DELETE operations, make sure that seeks on the main table are not deferred, since if they are and none of the indexes reference columns of the table, the seek might never occur until the OP_Delete opcode, which is too late. Fix for ticket [16c9801ceba49]. check-in: 93a2bace user: drh tags: trunk
16:30
Fix an error in main.mk causing testfixture to use individual fts5 source code files instead of fts5.c. check-in: 933a1c81 user: dan tags: trunk
16:06
In the WHERE generator, when building code for a DELETE operation, make sure that seeks to the main table are not deferred. This is a better fix for the [16c9801ceba49] bug than the previous. Closed-Leaf check-in: 150dd09e user: drh tags: ticket-16c9801ce
15:16
Fix a bug in sqlite_analyzer causing it report (slightly) incorrect values for the number of entries in indexes or WITHOUT ROWID tables. check-in: dc37750d user: dan tags: trunk
11:31
Do not scan indexes that have the integer primary key as their left-most column. This fixes the crash of ticket [16c9801ceba] but it seems like the wrong fix. More investigation needed. check-in: 50312273 user: drh tags: ticket-16c9801ce
2016-05-05
23:59
Additional error reporting. Open the source database read/write so that it can delete the WAL file when done. check-in: d2efd3c1 user: drh tags: scrub-backup
23:39
Working when run against sqlite.fossil. check-in: b0bd9dd6 user: drh tags: scrub-backup
23:09
Finished implementation compiles, but untested. check-in: aeb88bdf user: drh tags: scrub-backup
17:15
Initial check-in of the "scrub.exe" utility program prototype. Not yet fully functional. In particular, no scrubbing is done. check-in: bdf2ec77 user: drh tags: scrub-backup
11:53
Renumber internal constants in the printf() implemention for a small performance improvement. check-in: 69d11447 user: drh tags: trunk
2016-05-04
21:06
Disable the session extension API if SQLITE_ENABLE_SESSION is not defined. check-in: 71af9ac1 user: drh tags: trunk
19:04
Fix typo in comment. No changes to code. check-in: 6c43ba1c user: mistachkin tags: trunk
14:45
Only disable the one-pass DELETE optimization if the WHERE clause contains a correlated subquery. Uncorrelated subqueries are allowed. This is a refinement of check-in [3f221f592a9a1] that is the fix for ticket [dc6ebeda9396087]. check-in: aae38969 user: drh tags: trunk
14:20
Portability enhancements to the configure script on the amalgamation tarball. check-in: 7184c4b8 user: drh tags: trunk
11:28
Disable the PagerDontWrite() optimization for temp tables. It can cause database corruption if a page passed to PagerDontWrite() is dirty at the start of a transaction that is subsequently rolled back. check-in: 6341ab2f user: dan tags: trunk
2016-05-03
19:40
Minor style tweaks in the MSVC makefile. check-in: 1b43358f user: mistachkin tags: trunk
19:36
Add the experimental SQLITE_FCNTL_WIN32_GET_HANDLE file control. Leaf check-in: b6ddabe1 user: mistachkin tags: win32GetHandle
14:57
The session extension is disabled by default. To enable it using --enable-session on ./configure on unix and add SESSION=1 to the nmake on Windows. Or add -DSQLITE_ENABLE_SESSION and -DSQLITE_ENABLE_PREUPDATE_HOOK to build manually. check-in: bcaa650e user: drh tags: trunk
13:14
Turn the session extension off by default. Enable using --enable-session on configure scripts, or using the SESSION=1 argument to nmake on Windows. Closed-Leaf check-in: e462cde2 user: drh tags: session-make
00:04
Avoid left-shifts of signed integers. check-in: 0715ce16 user: drh tags: trunk
2016-05-02
19:05
Remove some randomness from test script temptable2.test. check-in: 5830cf72 user: dan tags: trunk
16:59
Fix a test case in temptable2.test so that it works on systems that lack a coherient cache (ex: OpenBSD) and thus do not support the "PRAGMA mmap_size" command. check-in: 088cf838 user: drh tags: trunk
13:57
Fix harmless LLVM compiler warnings in the srcck1.c utility program used during the build process. check-in: e4af9675 user: drh tags: trunk
12:18
Disable the multi-row one-pass DELETE optimization when the WHERE clause contains a subquery. Fix for ticket [dc6ebeda9396087]. check-in: 3f221f59 user: drh tags: trunk
10:25
Improvements to the way the LIKE optimization is implemented, resulting in slightly smaller and faster code that is easier to test. check-in: 54c63b32 user: drh tags: trunk
2016-04-30
19:23
Change the way tester.tcl handes $argv so that in "permutations.test <permutation> <filename>" <filename> may be the name of any file in the test/ directory. check-in: 820c57bb user: dan tags: trunk
18:10
Remove an unnecessary branch from the OP_String8 opcode. check-in: 459a0b45 user: drh tags: trunk
17:19
More bug fixes to Lemon identified by Kelvin Sherlock. None of these have any impact on SQLite. check-in: 762bdc55 user: drh tags: trunk
02:59
Simplifications to the OP_Halt opcode implementation. check-in: daf4630f user: drh tags: trunk
2016-04-29
20:30
Fix the temporary directory search algorithm for unix so that it fails gracefully even if all candidate directories are inaccessible. This fixes a bug that was introduced by check-in [9b8fec60d8e]. check-in: 614bb709 user: drh tags: trunk
15:39
Postpone I/O associated with TEMP files for as long as possible, with the hope that the I/O can ultimately be avoided completely. check-in: 9d0a5ae0 user: drh tags: trunk
14:12
Fix test script temptable2.test so that it works with the "inmemory_journal" and "journaltest" permutations. Closed-Leaf check-in: b7bec7f2 user: dan tags: tempfiles-25
11:35
Merge latest trunk changes, including test case fixes, with this branch. check-in: 99794aca user: dan tags: tempfiles-25
11:33
Modify the permutations.test script so as to set any permutation specific configuration values before running each individual test script. Fix a mostly harmless buffer overread in the sessions module. check-in: 4cbd5024 user: dan tags: trunk
11:28
Lemon bug fix: Do not merge action routines unless their destructors are also identical. Problem and suggested fix reported on the mailing list by Kelvin Sherlock. check-in: 4792d6db user: drh tags: trunk
10:13
Fix an almost entirely harmless buffer overread in the sessions module. Closed-Leaf check-in: 89b0ee33 user: dan tags: permutations-fix
02:55
Some optimization comments added to vdbe.c. No functional changes to code. check-in: e7c22e3b user: drh tags: trunk
2016-04-28
22:29
Further simplifications and improved commentting on the rowset.c module, including several optimization comments. check-in: 9f15a520 user: drh tags: trunk
20:11
Comment changes only: Add several optimization marks in rowset.c. Add a header comment that explains what the various special comments mean. check-in: 8cdbe89a user: drh tags: trunk
19:23
Fix typo in comment. No changes to code. check-in: 9f6f17b5 user: mistachkin tags: trunk
18:53
Rearrange some code in the RowSet logic for clarity of presentation, while adding an /*OPTIMIZATION-IF-TRUE*/ comment. It should operate identically. check-in: 5748e643 user: drh tags: trunk
14:59
Merge latest changes from trunk with this branch. check-in: 45467ee4 user: dan tags: permutations-fix
14:54
Avoid running sessionfault.test and sessionfault2.test as part of the "inmemory_journal" permutation. check-in: 5973d3bf user: dan tags: permutations-fix
14:15
Use comments to mark several branches as optimizations. No changes to code. check-in: 33e62747 user: drh tags: trunk
09:53
Ensure that quota.test deletes the directory named "test.db" that it creates. check-in: 045edd4b user: dan tags: permutations-fix
03:52
Remove an unnecessary conditional from the sqlite3DecOrHexToI64() routine. check-in: fcf85bfe user: drh tags: trunk
00:32
Change the sqlite3Atoi64() routine so that it returns failure if not all of the input characters are consumed, even if it consumed all characters up to the first 0x00. This has no impact on external APIs as far as I can tell. check-in: 46d4ffff user: drh tags: trunk
2016-04-27
18:54
Modify the permutations.test script so as to set any permutation specific configuration values before running each individual test script. check-in: 2662d8fe user: dan tags: permutations-fix
15:24
More simplification of the sqlite3AtoF() routine. Add special comments to indicate branches that are for optimization purposes only and that give the correct answer even if always or never taken. check-in: 0065fe97 user: drh tags: trunk
11:24
Fix a couple of test script problems on this branch. Both related to the fact that temp database page sizes can no longer be changed by VACUUM or the backup API after the temp db is populated. check-in: 6bb5aa2b user: dan tags: tempfiles-25
02:35
Remove still more unnecessary branches from sqlite3AtoF(). check-in: 3adfe9f3 user: drh tags: trunk
2016-04-26
23:14
Further simplifications to sqlite3AtoF() to remove unneeded branches. check-in: dd69e53c user: drh tags: trunk
21:02
Remove an unnecessary line from the sqlite3AtoF() routine. check-in: a9d00749 user: drh tags: trunk
18:58
The pcache and the built-in VFSes should not use mutexes when SQLITE_CONFIG_SINGLETHREAD is set. check-in: 12418b10 user: drh tags: trunk
17:10
Fix an issue in temptable2.test preventing it from working with SQLITE_DEFAULT_AUTOVACUUM=1 builds. check-in: e790aac0 user: dan tags: tempfiles-25
16:03
Merge the checksymbols fix from trunk into this branch. check-in: 04911cee user: dan tags: tempfiles-25
13:13
Fix the "checksymbols" target in Makefile.in to be able to deal with the sqlite3changegroup family of interfaces. check-in: d819bfbd user: drh tags: trunk
2016-04-25
22:39
Add an sqlite3FaultSim() all to make it easier to simulate IO errors in a VACUUM commit. check-in: 8bfde416 user: drh tags: tempfiles-25
19:28
Remove an obsolete comment from the pager. No code changes. check-in: 36f97ca8 user: drh tags: tempfiles-25
19:25
Update the RBU vacuum code so that databases that use custom collation sequences can be vacuumed. check-in: 7dd48c10 user: dan tags: trunk
19:20
Fix some unreachable branches in the pager. check-in: 3ae44770 user: drh tags: tempfiles-25
15:03
Merge bug fix from trunk. check-in: a905d5e0 user: drh tags: tempfiles-25
02:20
When checking for the WHERE-clause push-down optimization, verify that all terms of the compound inner SELECT are non-aggregate, not just the last term. Fix for ticket [f7f8c97e97597]. check-in: ec215f94 user: drh tags: trunk
01:43
Fix a typo in the Makefile. check-in: d0a579b3 user: mistachkin tags: trunk
2016-04-23
21:16
Merge the temporary directory search algorithm fix from trunk. check-in: 9b8fec60 user: drh tags: tempfiles-25
20:59
Fix the fix to the temporary directory search algorithm so that it continues to return "." as a fallback if that directory has the correct permissions. check-in: b38fe522 user: drh tags: trunk
19:55
Merge the latest trunk changes. check-in: 84da122d user: drh tags: tempfiles-25
17:24
Fix a problem with mixing temp-files and mmap-mode. check-in: c80c5c62 user: dan tags: tempfiles-25
14:55
Fix some problems to do with temp-file databases and recovering from IO and SQLITE_FULL errors. check-in: 3d61da4a user: dan tags: tempfiles-25
2016-04-21
23:37
Change the temporary directory search algorithm on unix so that directories with only -wx permission are allowed. And do not allow "." to be returned if it lacks -wx permission. check-in: 67985761 user: drh tags: trunk
18:13
Add the sqlite3rbu_vacuum() API, to create an RBU handle that can be used to rebuild a database in the same way as the VACUUM command. check-in: bd4a6f83 user: dan tags: trunk
16:44
If a call to sqlite3rbu_close() on an rbu handle opened by sqlite3rbu_vacuum() returns other than SQLITE_OK, delete the contents of the rbu_state table. This ensures that if an RBU vacuum operation either completes successfully or encounters an error, the next call to sqlite3rbu_vacuum() with the same parameters starts a new RBU vacuum operation. Closed-Leaf check-in: 6e4ac704 user: dan tags: rbu-vacuum
15:26
Fix a problem in rbu vacuum on tables with a large sqlite_master table. check-in: 23eac52e user: dan tags: rbu-vacuum
15:24
Add a function prototype in order to fix a compiler warning. check-in: 49aec971 user: drh tags: tempfiles-25
15:03
Merge updates from trunk. check-in: cc28106e user: drh tags: tempfiles-25
02:27
Add the SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION method for enabling sqlite3_load_extension() while leaving the load_extension() SQL function disabled. check-in: c4f165c4 user: drh tags: trunk
01:58
Test cases for SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION. Closed-Leaf check-in: debafa5e user: drh tags: load-ext-security
01:30
Revert sqlite3_enable_load_extension() to its original long-standing behavior. Add SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION which will enable only the C-API and leave the SQL function disabled. check-in: b2ae5bfa user: drh tags: load-ext-security
2016-04-20
20:08
Add a documentation comment for sqlite3rbu_vacuum() to sqlite3rbu.h. check-in: da5c753d user: dan tags: rbu-vacuum
19:30
When an error occurs while transitioning out of WAL mode, make sure the locking state is not left at EXCLUSIVE. check-in: 3340f086 user: drh tags: trunk
18:31
Fix a locking race condition in Windows 10 that can occur when two or more processes attempt to recover the same hot journal at the same time. check-in: 38a4e9d9 user: drh tags: trunk
17:47
Add fault injection tests for rbu vacuum. Fix some problems revealed by the same. check-in: f042fdd1 user: dan tags: rbu-vacuum
00:30
API Change: Modify sqlite3_enable_load_extension() so that it only enables/disables the load_extension() SQL function, and leaves the C-APIs enabled at all times. In this way, applications can enable extension loading for the C interface without having to expose that capability to the SQL. check-in: edb454e4 user: drh tags: load-ext-security
2016-04-19
19:27
Updates to ensure the values of PRAGMA settings like "page_size", "auto_vacuum", "user_version" and "application_id" are not lost when a database is RBU vacuumed. check-in: 74ffea76 user: dan tags: rbu-vacuum
17:11
When an RBU vacuum is started on a db identified using a URI filename, pass the same URI parameters when creating the new version of the db. This ensures that RBU vacuum works with password protected databases. check-in: ca021ba8 user: dan tags: rbu-vacuum
16:20
Detect attempts to use rbu vacuum on a wal mode database (not allowed). And attempts to write to a database in the middle of an rbu vacuum (which prevents the vacuum from resuming). check-in: 00b2f4b0 user: dan tags: rbu-vacuum
2016-04-18
21:00
Another fix to rbu vacuum for a zipvfs case. check-in: 29407d70 user: dan tags: rbu-vacuum
18:18
Fix some zipvfs related problems in RBU vacuum. check-in: d76f4aaa user: dan tags: rbu-vacuum
15:46
Remove quotes from identifiers used as datatype names in a CREATE TABLE statement. Fix for ticket [7d7525cb01b68] check-in: eba27d4d user: drh tags: trunk
13:36
Merge recent trunk changes. check-in: d9768de5 user: drh tags: tempfiles-25
13:30
sqlite3PCachePerecentDirty() should return 0 if the pcache is empty. check-in: 85f3d80e user: drh tags: tempfiles-25
13:09
The last parameter to pread64() and pwrite64() should be off64_t, not off_t. check-in: 3a7d7298 user: drh tags: trunk
09:17
Add the -vacuum switch to the "rbu" demonstration program. check-in: 9a0078a5 user: dan tags: rbu-vacuum
2016-04-16
19:02
Changes so that rbu vacuum works with zipvfs databases. check-in: bae7f875 user: dan tags: rbu-vacuum
17:53
Avoid creating any extra files ("<target>-vacuum") when running an RBU vacuum. Ensure that the OAL file created is "<target>-oal", not "<target>-vacuum-oal". check-in: dc19aacc user: dan tags: rbu-vacuum
15:03
Fix a couple of assert() statements that were failing with OOM error tests. check-in: 8eb3d7d8 user: dan tags: rbu-vacuum
2016-04-15
20:46
Add the experimental sqlite3rbu_vacuum() API function. For opening an RBU handle that rebuilds a database from scratch. check-in: 0216b48f user: dan tags: rbu-vacuum
15:03
CLI enhancement: Add the ".eqp full" option, that shows both the EXPLAIN QUERY PLAN and the EXPLAIN output for each command run. Also disable any ".wheretrace" and ".selecttrace" when showing EQP output. check-in: 3e217d62 user: drh tags: trunk
2016-04-14
17:29
In the ICU extension toupper() and tolower() SQL functions, avoid calling u_strToUpper() or u_strToLower() a second time if the buffer passed to the first invocation turns out to be large enough. check-in: d23e5813 user: dan tags: trunk
16:40
Add the SF_HasAgg constant (currently unused). Also enhance the comments on many other constant definitions to detail constraints on their values. check-in: 7b7a69d0 user: drh tags: trunk
15:44
Correctly interpret negative "PRAGMA cache_size" values when determining the cache-size used for sorting large amounts of data (i.e. the functionality in vdbesort.c). check-in: 79147dca user: dan tags: trunk
15:38
Add some missing testcase() macros to the pushDownWhereTerms() routine. check-in: 67d7f79c user: drh tags: trunk
13:35
Rename WhereInfo.pResultSet to pDistinctSet to more accurately reflect what it represents. check-in: 53179614 user: drh tags: trunk
13:16
Since the return value of sqlite3OsClose() is always ignored, we might as well make it "void" instead of "int", and thereby save 50 bytes in the compiled binary. check-in: 7ee570e7 user: drh tags: trunk
13:06
Additional ".selecttrace" debugging output when the query is transformed from a DISTINCT into a GROUP BY. check-in: 5a469145 user: drh tags: trunk
2016-04-13
21:00
Fix compiler warnings by removing surplus local variables in the schema pretty-printer logic of the command-line shell. check-in: 55a62483 user: drh tags: trunk
19:20
Merge enhancements from trunk via tempfiles-lazy-open. check-in: ae16310c user: drh tags: tempfiles-25
16:52
On commit, flush dirty temp-file pages only if the file is already open and 25% or more of the cache is dirty. check-in: f6babf29 user: dan tags: tempfiles-25
16:02
Merge enhancements from trunk. Closed-Leaf check-in: e2edd34e user: drh tags: tempfiles-lazy-open
15:52
Fixes for harmless compiler warnings. check-in: 68142dc5 user: drh tags: trunk
15:33
Add the --indent option to the .schema and .fullschema commands in the shell, to enable simple but effective pretty-printing. check-in: 83cfe82c user: drh tags: trunk
2016-04-12
20:26
A couple more compiler warning fixes. Closed-Leaf check-in: 929fa4c3 user: mistachkin tags: warnings
20:15
Even more compiler warning fixes. check-in: 7faec9ea user: mistachkin tags: warnings
20:05
More harmless compiler warning fixes. check-in: ab69527c user: mistachkin tags: warnings
19:30
Compilation fix for a C99-ism in the 'fts3view' tool. check-in: bedb88a4 user: mistachkin tags: trunk
19:20
Fix harmless compiler warnings in the 'session' module. check-in: a18a6ce2 user: mistachkin tags: trunk
19:09
Once a temporary database file has been opened, flush all dirty pages to disk when comitting a transaction. check-in: bbac71aa user: dan tags: tempfiles-lazy-open
17:13
Fix speedtest1 so that it automatically unlinks its test database prior to startup. check-in: b65b69f6 user: drh tags: trunk
16:59
Add the --temp option to the speedtest1.c performance test program. check-in: 8053a6e2 user: drh tags: trunk
16:23
Improved localtime() support for WindowsCE check-in: 662c32af user: drh tags: trunk
16:11
Add and adjust comments. Closed-Leaf check-in: 541c6da2 user: mistachkin tags: winCeLocalTime
16:10
Merge enhancements from trunk. check-in: 9682c043 user: drh tags: tempfiles-lazy-open
16:04
Add the sqlite3_snapshot_cmp() interface (available only with SQLITE_ENABLE_SNAPSHOT). check-in: 7e728965 user: drh tags: trunk
15:14
Update the documentation for sqlite3_snapshot_cmp() to make the circumstances under which the comparison is valid clearer. Add tests for the same. Closed-Leaf check-in: 8fc83474 user: dan tags: snapshot-cmp
11:58
Update the header comment on the memjournal.c file. No code changes. check-in: 07f10dea user: drh tags: trunk
00:26
Performance optimization the Vdbe allocator. check-in: e2c4995b user: drh tags: trunk
00:16
Avoid unnecessary calls to object destructors for a small performance gain. check-in: aec94b6e user: drh tags: trunk
00:00
Performance improvements in sqlite3WhereExprUsage(). check-in: fdf75239 user: drh tags: trunk
2016-04-11
22:45
Further refinements. check-in: b35bb928 user: mistachkin tags: winCeLocalTime
22:24
Merge updates from trunk. check-in: b8094166 user: mistachkin tags: winCeLocalTime
22:23
Fix typo in the MSVC makefile. check-in: 3189a7f1 user: mistachkin tags: trunk
22:10
Fix some compilation issues. check-in: 016481b3 user: mistachkin tags: winCeLocalTime
19:59
Add the sqlite3_snapshot_cmp() API. check-in: c698a21a user: dan tags: snapshot-cmp
19:24
Fix a typo in temptable2.test. check-in: 04b1890f user: dan tags: tempfiles-lazy-open
19:23
Add tests for wal mode to temptable2.test. check-in: c6d0d441 user: dan tags: tempfiles-lazy-open
19:01
Performance optimization to sqlite3Dequote() and its callers. check-in: 9efe2265 user: drh tags: trunk
18:50
Merge latest trunk changes with this branch. check-in: ffc62af1 user: dan tags: tempfiles-lazy-open
18:49
Add extra tests to temptable2.test. check-in: 7dd9d4c1 user: dan tags: tempfiles-lazy-open
18:25
Performance optimization for the sqlite3ExprListDelete() routine. check-in: 2764aeaa user: drh tags: trunk
18:15
Performance optimizations in the column cache of the code generator, and especially the sqlite3ExprCacheRemove() routine. check-in: e35b345c user: drh tags: trunk
18:07
Fixes for OOM and IO error handling with temp file databases. check-in: 4eb06e84 user: dan tags: tempfiles-lazy-open
16:43
Simplification and performance improvements in sqlite3ExprDup() and its subroutines. More work is possible in this area. check-in: 476cc283 user: drh tags: trunk
16:35
Rename the OP_MX_JUMP macro to SQLITE_MX_JUMP_OPCODE to avoid confusing the opcode name generator. check-in: e554a4c3 user: drh tags: trunk
14:49
Performance improvement in sqlite3ExprDelete(). check-in: 60ad80e3 user: drh tags: trunk
13:36
Remove the VdbeOp.opflags field and its associated initialization overhead. Update mkopcodeh.tcl to reorder opcode numbers to help the resolveP2Values() routine run faster. check-in: 099478fa user: drh tags: trunk
09:39
Update this branch with the latest changes from the trunk. check-in: 982b753d user: dan tags: tempfiles-lazy-open
01:43
Back off of the parser optimization in the previous check-in, slightly, to preserve some backwards compatibility regarding some undocumented behavior in the '#AAA' style query parameter. check-in: ef1966c2 user: drh tags: trunk
01:26
Small size reduction and performance improvement in the parser. check-in: 16df7128 user: drh tags: trunk
01:06
Factor out the common operation of setting the Expr.x.pSelect field of an Expr object into a subroutine. check-in: 6a5cceee user: drh tags: trunk
2016-04-09
18:04
Fix a problem in the code generator for joins on virtual tables where the outer loop of the join uses the IN operator. check-in: 6c56b3a0 user: drh tags: trunk
17:04
Fix the sqlite3BtreeDelete() routine so that it preserves the correct key even when the row being deleted is not on a leaf page. Fix for ticket [a306e56ff68b8fa56] check-in: ca2ef8a8 user: drh tags: trunk
14:36
Limit the number of digits shown in the "prereq" mask for ".wheretrace" debugging output. check-in: 3686ed74 user: drh tags: trunk
2016-04-08
19:44
Update documentation for sqlite3_snapshot_open(). No code changes. check-in: 1dfa5234 user: drh tags: trunk
2016-04-07
21:14
Add test cases for ticket [7f7f8026eda387d544]. check-in: 87aa9357 user: drh tags: trunk
18:42
Prevent the in-memory journal read cursor from entering an inconsistent state when it reads the last few bytes out of the journal file. Fix for ticket [7f7f8026eda38]. check-in: c4b9c611 user: drh tags: trunk
14:16
Avoid decrementing a pointer off the front end of the buffer in OP_MakeRecord. check-in: 153135bf user: drh tags: trunk
14:05
Instead of just commenting out the unneeded code in the previous check-in, remove it completely. check-in: 8415d484 user: drh tags: trunk
14:01
Remove an unnecessary test for a NULL pointer in freeP4(). check-in: e84e88e3 user: drh tags: trunk
13:45
Update comments on the unix file locking protocol. No changes to code. check-in: 716b20de user: drh tags: trunk
2016-04-06
18:20
For a pager backed by a temp file, store the main journal in memory until it is at least sqlite3_config.nStmtSpill bytes in size. Prevent the backup API from being used to change the page-size of a temp file. check-in: 84c55701 user: dan tags: tempfiles-lazy-open
16:27
Fix a problem in test script lock.test. Fix minor issues in pager.c. check-in: 84de8813 user: dan tags: tempfiles-lazy-open
15:39
Add tests to this branch. Fix a problem with temporary databases in auto-vacuum mode. check-in: afe9bd9b user: dan tags: tempfiles-lazy-open
2016-04-05
23:39
Remove an unnecessary branch in the sqlite3LogEstToInt() routine. check-in: da81d7af user: drh tags: trunk
21:07
Defer opening the file used for the temp database (where CREATE TEMP TABLE tables are stored) until the database is too large to reside entirely within the cache. There are likely still problems on this branch. check-in: be5a549e user: dan tags: tempfiles-lazy-open
20:59
Carry table column types through into VIEW definitions, where possible. check-in: fb555c3c user: drh tags: trunk
19:46
Remove superfluous directories from the Makefile clean targets. check-in: 0bf9926c user: mistachkin tags: trunk
17:59
Merge updates from trunk. check-in: 00990020 user: mistachkin tags: winCeLocalTime
15:59
Incorrect version of build.c checked in at [87e5f5a6c60e3] (because I neglected to press the "Save" button on the text editor). There is no change to the logic, just improved presentation. check-in: cf569f9f user: drh tags: trunk
14:02
Make sure "0" intended as a NULL pointer is cast to a pointer when used in a varargs functions parameter. check-in: ed128e8b user: drh tags: trunk
14:01
Remove an unnecessary conditional from the index builder. check-in: 87e5f5a6 user: drh tags: trunk
13:35
Use SQLITE_WITHIN() for pointer range comparisons in some testing code. check-in: 7cacf4e9 user: drh tags: trunk
13:19
Do not allow pointer arithmetic to move a pointer across a memory allocation boundary. check-in: 85b97931 user: drh tags: trunk
2016-04-04
18:04
Fix documentation typos. Comment changes only. No changes to code. check-in: d5fc2f7f user: drh tags: trunk
17:59
Improve error messages from the 'shell1-5.0' test. check-in: cefd36ff user: mistachkin tags: trunk
17:34
Improved handling of UTF8 by the command-line shell. check-in: 4534ebf1 user: drh tags: trunk
17:23
Add the ".auth ON|OFF" command to the command-line shell. check-in: 65c7bcc4 user: drh tags: trunk
16:40
Test that the view name is passed to the authorization callback when a SELECT statement is run on a view. check-in: 8627a4cd user: dan tags: trunk
15:47
Add and enhance the new tests. Closed-Leaf check-in: f4cbd18d user: mistachkin tags: altShellFix
14:57
Enhance sqlite3session_apply() and sqlite3session_apply_strm() so that conflicts are retried before the xConflict() callback is invoked, as long as the "apply" operation is making forward progress. check-in: 42a21966 user: drh tags: trunk
13:46
Minor performance optimization in the comparison opcodes of the VDBE. check-in: e375fe52 user: drh tags: trunk
12:38
Fix harmless compiler warnings. check-in: 0213d6af user: drh tags: trunk
02:33
Refinements to the previous check-in. check-in: b36dfdff user: mistachkin tags: altShellFix
02:16
Experimental changes to the command line shell to make it work better with Unicode on Windows. check-in: 74183a5f user: mistachkin tags: altShellFix
02:05
More refactoring and cleanup work on the Win32 string conversion and utility routines. check-in: 02ccb444 user: mistachkin tags: altShellFix
2016-04-03
22:44
Revise and enhance the Win32 string conversion routines. check-in: 345860c9 user: mistachkin tags: altShellFix
20:50
Replace the new fprintf() calls. check-in: f76c3a0c user: mistachkin tags: altShellFix
20:45
Merge updates from trunk. check-in: 566b551e user: mistachkin tags: altShellFix
2016-04-01
17:54
Preupdate hook documentation fixes. No changes to code. check-in: 59814f35 user: drh tags: trunk
12:35
When reading an sqlite_stat1 table with missing entries for some indexes, set the default for the missing indexes after all other indexes are set so that the default values are more in line with indexes that are actually in the stat1 table. check-in: a62340dc user: drh tags: trunk
2016-03-31
22:53
Update the clean target in the MSVC makefile. check-in: 69f4d832 user: mistachkin tags: trunk
20:40
Enhance the query planner so that IS and IS NULL operators are able to drive an index on a LEFT OUTER JOIN. check-in: c648539b user: drh tags: trunk
15:08
Add another OOM test to this branch. Closed-Leaf check-in: 49763fc3 user: dan tags: session-retry
10:50
Add further tests for the code on this branch. Fix a problem in OOM handling. check-in: 195f3340 user: dan tags: session-retry
02:44
Enhanced comments describing the sessions file format. No changes to code. check-in: 84dc41e2 user: drh tags: session-retry
00:45
Fix the return code in sessionRetryConstraints(). check-in: ea917c14 user: drh tags: session-retry
2016-03-30
21:19
Have the sqlite3session_apply() function and its streaming equivalent retry any operations that failed with SQLITE_CONSTRAINT after all other operations on the same table have been attempted. New code is largely untested. check-in: 1085911a user: dan tags: session-retry
16:23
Updates for the MSVC makefiles. check-in: 7cf0cab7 user: mistachkin tags: trunk
16:22
Fix typo in comment. No changes to code. check-in: 64d75cbe user: mistachkin tags: trunk
15:30
Simplifications and clarification to update callback handling in the OP_Delete and OP_Insert opcodes. check-in: 47887ef8 user: drh tags: trunk
14:26
Increase the version number to 3.13.0 on account of the new session extension. check-in: e9bcd5ac user: drh tags: trunk
14:17
Remove a redundant test for disabling RESTRICT with defer_foreign_keys=ON. check-in: 9cdf813c user: drh tags: trunk
13:43
Incorporate the sessions extension and the SQLITE_ENABLE_PREUPDATE_HOOK compile-time option. check-in: 4af7a90f user: drh tags: trunk
12:56
Avoid compiler warnings and excess opcodes when SQLITE_ENABLE_PREUPDATE_HOOK is not used. Fix the EXPLAIN output for P4_TABLE opcodes. Closed-Leaf check-in: 5ab46d76 user: drh tags: sessions
12:20
Improvements to the performance testing program "speedtest1.c" and the shell script that invokes it. check-in: e4bee561 user: drh tags: trunk
2016-03-29
10:19
Merge changes for 3.12.0. check-in: ed22eb65 user: drh tags: sessions
10:14
Version 3.12.0 check-in: e9bb4cf4 user: drh tags: trunk, release, version-3.12.0
2016-03-28
11:01
Fix the multiplexor so that it does not assume that the xGetLastError method is non-NULL in the child VFS. check-in: f6a88ccc user: drh tags: trunk
2016-03-26
15:36
More changes to the shellN.test scripts to get them working on all variations of Windows. check-in: 8213c2f5 user: drh tags: trunk
14:41
Remove the catchcmd_collapse_space procedure in tester.tcl - no longer needed. check-in: 3bd499d3 user: drh tags: trunk
13:26
Update shell1.test tests to deal with backslash escaping in TCL on Windows-style pathnames. check-in: 219a251e user: drh tags: trunk
2016-03-25
20:10
Do not run the shell3.test module under mingw because of mingw's dodgy command-line parsing. check-in: a7c080a9 user: drh tags: trunk
17:19
In the Win32 VFS, avoid trying to use rand_s() on Windows CE. check-in: 183350fa user: mistachkin tags: trunk
17:09
Add the catchcmd_collapse_space command and use it to help make shell testing more robust against TCL space escapes. check-in: 93caabb6 user: drh tags: trunk
12:10
Fix two instances of undefined behavior in the C code - both harmless for all current compilers. check-in: 99fd194c user: drh tags: trunk
2016-03-24
20:55
Make test cases in shell1.test robust against TCL deciding to quote strings using lots of backslashes. check-in: 817e93f4 user: drh tags: trunk
20:36
Prevent negative values of SQLITE_DEFAULT_CACHE_SIZE from making SQLITE_WIN32_HEAP_INIT_SIZE negative. check-in: e0737f52 user: mistachkin tags: trunk
15:32
Larger margins for one memsubsys1 range check when running with a non-zero reserved-bytes value. check-in: 6db1d1fb user: drh tags: trunk
15:09
Fix some test scripts so that they work with various permutations. check-in: f4d234b5 user: dan tags: trunk
14:34
Merge the beta changes into sessions. check-in: beb5ea14 user: drh tags: sessions
2016-03-23
17:54
Avoid calling realloc() with a zero size in fuzzcheck.c. check-in: a1fd1469 user: drh tags: trunk
16:32
Fix "ifcapable" tests in capi3.test and capi3c.test so that the tests work with more build configurations. check-in: 3fa88f68 user: dan tags: trunk
15:53
Remove an unused local variable from FTS5. check-in: 0ed693c2 user: drh tags: trunk
15:04
Explicitly limit the size of fts5 tokens to 32768 bytes. check-in: 70fc69ee user: dan tags: trunk
13:46
Update a requirement mark. No changes to code. check-in: 41298464 user: drh tags: trunk
2016-03-22
20:05
The sqlite3_column_decltype() routine should return NULL, not an empty string, if the column has no declared type. check-in: 605eba4a user: drh tags: trunk
15:26
Fix harmless compiler warning for MSVC. check-in: 142cd359 user: mistachkin tags: trunk
15:25
Fix a harmless compiler warning. check-in: 5ace870d user: drh tags: trunk
15:01
Fix some errors in fts5 test scripts. check-in: e1ab2d37 user: dan tags: trunk
14:37
Create the "uptr" typedef (the same as uintptr_t when available) and use it to cast pointers before comparison. check-in: 2484cc0c user: drh tags: trunk
14:10
Avoid the possibility of integer overflow on a pointer comparison test for corruption in the database file. check-in: ff1b1ac3 user: drh tags: trunk
2016-03-21
22:28
Fix harmless compiler warnings. check-in: 25d776e4 user: drh tags: trunk
16:25
Add tests to ensure that fts5 is now deterministic. check-in: 3d076094 user: dan tags: trunk
16:19
Skip recently added test cases in nolock.test when running in the inmemory_journal permutation. check-in: a1dcf7af user: drh tags: trunk
16:06
Remove an unreachable branch from the unlink verification logic in the UNIX VFS. check-in: 4dc30cce user: drh tags: trunk
15:32
Merge 3.12.0 beta changes from trunk. check-in: 3296a0ce user: drh tags: sessions
15:30
Have fts5 cache the structure of its index in main memory. Use "PRAGMA data_version" to figure out when this cache should be invalidated. check-in: 902f2217 user: dan tags: trunk
15:18
Rearrange code so that tests pass whether SQLITE_DEBUG is defined or not. Closed-Leaf check-in: 89296a46 user: dan tags: fts5-data-version
14:46
Add the sqlite3_system_errno() interface. check-in: 4bd12b57 user: drh tags: trunk
12:28
Make sure system errors that occur durign sqlite3_step() are captured for use by sqlite3_system_errno(). Closed-Leaf check-in: b4a1114f user: drh tags: sqlite_system_errno
11:57
Improved comments. No logical changes to code. check-in: a6b6c6c4 user: drh tags: sqlite_system_errno
11:38
Do a better job of capturing all system errno values regardless of when they occur. check-in: 7d49998d user: drh tags: sqlite_system_errno
10:49
Merge updates from trunk. check-in: 86ab8643 user: drh tags: sqlite_system_errno
09:56
Change the way fts5 internally allocates segment ids in order to eliminated non-determinism from the module. check-in: d6e2637d user: dan tags: trunk
00:38
Change the Vdbe.aMem array so that it is zero-based instead of one-based. check-in: c39081e8 user: drh tags: trunk
00:30
Remove an unreachable branch. Improvements to comments. Closed-Leaf check-in: c5677ecd user: drh tags: zero-base-aMem
2016-03-19
23:32
Change the Vdbe.aMem array so that it is zero-based instead of one-based. check-in: e07b0c47 user: drh tags: zero-base-aMem
18:11
Fix exclusive.test so that it works with -DSQLITE_TEMP_STORE=3. check-in: d7852c63 user: dan tags: trunk
18:00
Updates to the Lemon documentation. check-in: f0953414 user: drh tags: trunk
17:48
Add the sqlite3rbu_bp_progress() API to the RBU extension. Used to obtain the percentage progress of an RBU update. check-in: 209e31c7 user: dan tags: trunk
17:09
Fix a problem detecting invalid values in the rbu_control column of an rbu database table. Closed-Leaf check-in: a1132dd9 user: dan tags: rbu-percent-progress
16:21
Update the sqldiff tool so that it generates an rbu_count table. check-in: 1f7afb6e user: dan tags: rbu-percent-progress
15:34
Merge latest trunk changes, including fixes to test script rbudiff.test, into this branch. check-in: 734fc68f user: dan tags: rbu-percent-progress
15:13
Fix another problem in test script rbudiff.test. check-in: 41c29c12 user: dan tags: trunk
14:53
Fix test scripts sqldiff.test and rbudiff.test so that they work with the --testdir option. check-in: 1ffe3cde user: dan tags: trunk
14:47
Add test file fts5multiclient.test. check-in: 7832466f user: dan tags: fts5-data-version
00:35
Fix a register allocation bug in the VDBE code generator for PRAGMA integrity_check; check-in: 88439a86 user: drh tags: trunk
2016-03-18
20:12
Add further tests for sqlite3rbu_bp_progress(). Fix a problem in handling WITHOUT ROWID tables in the same. check-in: 65e02368 user: dan tags: rbu-percent-progress
18:56
Change the name of the new API on this branch to "sqlite3_bp_progress". Add tests and documentation for the same. check-in: 1a1b69e8 user: dan tags: rbu-percent-progress
10:29
Add tests for the changes on this branch. Fix a problem with calls to the new progress indicator API made after an rbu update has been resumed. check-in: bf823217 user: dan tags: rbu-percent-progress
00:39
Fix FTS5 so that it works with SQLITE_OMIT_AUTORESET. check-in: b199637d user: drh tags: trunk
00:19
Fix more test-case errors in the Apple configuration. check-in: 6631e1e6 user: drh tags: trunk
2016-03-17
23:56
Fix some test cases so that they work under the Apple configuration. check-in: 399c6076 user: drh tags: trunk
23:16
Fix harmless compiler warnings that arise with -DSQLITE_OMIT_LOAD_EXTENSION check-in: 65ba2f0b user: drh tags: trunk
23:00
Changes to releasetest.tcl: Rename the "OS-X" configuration to "Apple". Bring the "Apple" configuration up to date. Allow the use of "if:os=..." arguments in a configuration. Run the Apple configuration on Linux in addition to on Macs, but without -DSQLITE_ENABLE_LOCKING_STYLE. check-in: beb2a80b user: drh tags: trunk
21:06
Add an API to indicate the percentage progress of an rbu update. check-in: ffc58d2c user: dan tags: rbu-percent-progress
19:28
Change the xGetLastError() method on the windows VFS so that it continues to format an error message (if requested) but returns the system error code, rather than an SQLite status code. check-in: 1602f6b5 user: drh tags: sqlite_system_errno
19:07
A more compact implementation of the code generator for the IS and IS NOT operators. check-in: 8607e3ac user: drh tags: trunk
17:23
Simple test cases for sqlite3_system_errno() check-in: 185bc864 user: drh tags: sqlite_system_errno
16:01
Experimental implementation of the sqlite3_system_errno() interface. check-in: 6782c87b user: drh tags: sqlite_system_errno
12:39
Fix some OOM-handling issues in the fts5 changes on this branch. check-in: 020a0bda user: dan tags: fts5-data-version
2016-03-16
21:29
The prepared statements for some pragmas can now be reused without invoking an automatic reprepare. check-in: 97b0e88c user: drh tags: trunk
20:53
Merge the changes on the reusable-pragma branch into this one. check-in: 6c4a17b9 user: dan tags: fts5-data-version
20:44
Some pragmas can be reused without an automatic reprepare. Closed-Leaf check-in: db1ce7e1 user: drh tags: reusable-pragma
20:05
Fix a comment on the freelist_count and data_version pragmas. check-in: 10a3e2a0 user: drh tags: trunk
19:53
Add a cast to an implict (size_t -> int) conversion in fts5_expr.c. check-in: d9b5ff7a user: dan tags: trunk
19:48
Have fts5 cache the decoded structure of fts5 indexes in memory. Use "PRAGMA data_version" to detect stale caches. check-in: 33ef2210 user: dan tags: fts5-data-version
19:45
Enhance Lemon so that it reorders the reduce rules such that rules without actions occur at the end and so that the first rule is number 0. This reduces the size of the jump table on the reduce switch, and helps the parser to run faster. check-in: d5712f21 user: drh tags: trunk
19:10
Avoid a few unnecessary fstat()s on journal files. check-in: dbf84705 user: drh tags: trunk
18:26
Fix the query planner so that it is able to use the integer primary key from an index as part of a multi-column constraint. check-in: 96ea9909 user: drh tags: trunk
01:16
Merge all recent enhancements from trunk. check-in: 6a7ee04b user: drh tags: sessions
01:03
Add the SQLITE_OMIT_CODEC_FROM_TCL compile-time option. check-in: 45f7f0c8 user: drh tags: trunk
00:36
Rearrange some internal fields in the sqlite3_stmt object to avoid a harmless TSAN warning. check-in: e0b116ed user: drh tags: trunk
2016-03-15
22:00
Change the OP_IntegrityCk opcode to accept the list of root pages as an intarray argument in P4. Slightly smaller and faster. check-in: 15e4a272 user: drh tags: trunk
19:10
In the Win32 VFS, use SQLITE_FCNTL_LAST_ERRNO instead of (the older) SQLITE_LAST_ERRNO. check-in: 9463762c user: mistachkin tags: trunk
17:52
Implement FROM-clause subqueries as co-routines whenever they are guaranteed to be the outer-most loop of the join. check-in: c7bae50b user: drh tags: trunk
12:37
More test-case changes so that everything works when the reserved_bytes value in the header is non-zero. check-in: 2fd095b1 user: drh tags: trunk
09:55
Fix the shellN.test test scripts so that they work with the --testdir option. check-in: 051c61eb user: dan tags: trunk
2016-03-14
21:26
Fix the permutations.test script so that it works again. check-in: 9f194f90 user: drh tags: trunk
21:12
Update test scripts so that they work with SEE. check-in: f4693ba4 user: drh tags: trunk
20:49
Changing page size using VACUUM or backup is not allowed with a codec attached. Closed-Leaf check-in: 92be06c1 user: drh tags: see-testing
18:42
Merge test script fixes from trunk. check-in: ea1d2cdd user: drh tags: see-testing
18:34
Many more test cases fixed. Only a few remain. check-in: 99b9d7ee user: drh tags: see-testing
17:05
Many test cases fixed to work with encryption. check-in: d866fffb user: drh tags: see-testing
16:16
Test script changes to support testing the SQLite Encryption Extension. check-in: 1c70aa5c user: drh tags: see-testing
15:43
Fix the backcompat.test script so that it works with the --testdir test option. check-in: f7480e33 user: dan tags: trunk
15:03
Run TCL tests in the "testdir" subdirectory. check-in: 90e0cc7b user: drh tags: trunk
14:59
More file pathname normalization. Closed-Leaf check-in: fa8c1292 user: drh tags: test-in-subdir
14:28
Normalize the $testdir and $argv0 paths so that they continue to work in the testing subdirectory. check-in: 19225b81 user: drh tags: test-in-subdir
13:42
Run TCL tests in a subdirectory "testdir". check-in: f632bba0 user: drh tags: test-in-subdir
12:16
Fix a memory leak in fts5 that could occur following a syntax error in a query expression. check-in: 54b8968e user: dan tags: trunk
2016-03-12
19:33
Fix a problem handling 'NEAR("" token)' in fts5 found by fuzzing. check-in: 10a827ae user: dan tags: trunk
16:32
Fix handling of strings that contain zero tokens in fts5. And other problems found by fuzzing. check-in: 72b3ff0f user: dan tags: trunk
2016-03-11
23:07
Do not allow the use of WAL mode with nolock=1 because it does not work. check-in: 74f5d3b0 user: drh tags: trunk
15:25
Tweak the amalgamation autoconf files so that the --disable-static-shell option works again. check-in: 83efcdeb user: dan tags: trunk
14:30
Update spellfix1_scriptcode() to output 215 (latin) for pure numeric text. check-in: df44308b user: drh tags: trunk
2016-03-10
19:08
Check for PDB files prior to attempting to copy them in the MSVC batch build tool. check-in: d7c20f04 user: mistachkin tags: trunk
15:12
Add tests to cover untested branches in recent fts5 changes. check-in: fa0033ed user: dan tags: trunk
14:28
Use #ifdefs to remove code that is unreachable in some configurations, replacing it with an assert(). check-in: f96ec84d user: drh tags: trunk
14:22
Remove an unused local variable. check-in: 3c343c3d user: drh tags: trunk
2016-03-09
20:54
Add an incremental optimize capability to fts5. Make the 'merge' command independent of the 'automerge' settings. check-in: 55667144 user: dan tags: trunk
18:17
Fix a problem in fts3/4 that was causing it to discard data cached in-memory if an 'optimize' command is run when there is no data on disk. The usual way this would happen is if the very first transaction that writes to the fts3/4 table also includes an 'optimize' command. check-in: 79338b99 user: dan tags: trunk
15:34
Slight simplification to the query optimizer logic associated with IN (SELECT). check-in: 2c55c3c2 user: drh tags: trunk
15:14
Add another test case for bug [5e3c8867]. check-in: d91e57e4 user: dan tags: trunk
15:09
When optimizing expressions of the form "x IN (SELECT ...)" make sure that the subquery is not correlated. Fix for ticket [5e3c886796e5512]. check-in: 1ed6b06e user: drh tags: trunk
13:39
Automatically disable SQLITE_ENABLE_EXPLAIN_COMMENTS if SQLITE_OMIT_EXPLAIN is defined. check-in: 8d4b6b2b user: drh tags: trunk
12:35
In the query planner, make sure OOM errors are reported up into whereLoopAddVirtual() so that it shuts down appropriately. check-in: a13c59d0 user: drh tags: trunk
11:59
Disable the bestindex*.test modules when building without virtual table support. check-in: e0bac2f3 user: drh tags: trunk
04:17
Simplifications to the memjournal.c logic to facilitate testing. check-in: 8baa2c2c user: drh tags: trunk
03:44
Move the write failure test in memjrnlCreateFile() to just after the actual write, thus reducing the number of instances of the test by one. check-in: 7f00d80c user: drh tags: trunk
03:29
Update a comment in btree.c to account for WITHOUT ROWID tables. No code changes. check-in: fa20dcb0 user: drh tags: trunk
02:12
Change a branch made obsolete by recent parser enhancements into an assert(). check-in: ee486ef7 user: drh tags: trunk
02:03
Add an #ifdef and an ALWAYS() for coverage. check-in: 069337a9 user: drh tags: trunk
2016-03-08
23:44
Change an unreachable branch in the virtual table query planner into an assert(). check-in: 73b97b9e user: drh tags: trunk
23:18
Improved comments on virtual table query planning. Added many new WHERETRACE() macros. check-in: 4c89c253 user: drh tags: trunk
17:59
In memjournal.c, reuse the same sqlite3_file object for both the in-memory phase and the on-disk phase. check-in: e7fbbdc2 user: drh tags: trunk
17:44
Modify the memjournal.c code to make it a bit smaller. Closed-Leaf check-in: d99ac415 user: dan tags: memjournal-exp
16:07
Drop support for SQLITE_EXTRA_DURABLE. The new SQLITE_DEFAULT_SYNCHRONOUS compile-time option is a more general replacement. check-in: f6d3156b user: drh tags: trunk
16:02
Remove an unused goto label in the RBU extension. check-in: 2179a106 user: drh tags: trunk
15:52
Add a new row type to RBU (a peer of insert, update and delete) - "delete then insert". check-in: 1d9468d2 user: dan tags: trunk
15:47
Add the SQLITE_DEFAULT_SYNCHRONOUS and SQLITE_DEFAULT_WAL_SYNCHRONOUS compile-time options. Automatically switch to the WAL_SYNCHRONOUS setting when first opening a WAL-mode database if the synchronous setting has not been previously set by the application. check-in: 5a847a67 user: drh tags: trunk
15:37
Update fts3/4 so that the 'merge=X,Y' command merges at least, instead of exactly, Y segments from a single level. This matches the documentation. 'merge=X,0' is, as it was in 3.11, an error. check-in: 64b3cb29 user: dan tags: trunk
15:30
Make the SQLITE_DEFAULT_SYNCHRONOUS and SQLITE_DEFAULT_WAL_SYNCHRONOUS values zero-based to agree with PRAGMA synchronous. Closed-Leaf check-in: 592d2104 user: drh tags: default-synchronous
15:14
If SQLITE_DEFAULT_WAL_SYNCHRONOUS is not the same value as SQLITE_DEFAULT_SYNCHRONOUS and the application has not run "PRAGMA synchronous", then set synchronous to the SQLITE_DEFAULT_WAL_SYNCHRONOUS setting when entering WAL mode for the first time. check-in: 5791407b user: drh tags: default-synchronous
14:40
Add compile-time options SQLITE_DEFAULT_SYNCHRONOUS and SQLITE_DEFAULT_WAL_SYNCHRONOUS used to specify the default synchronous settings for all database connections. check-in: 1fefa967 user: drh tags: default-synchronous
14:16
Fix ATTACH to use the symbolic name PAGER_SYNCHRONOUS_FULL rather than an integer literal. check-in: c4e192a0 user: drh tags: trunk
13:56
Fix comments on pager flag settings to include synchronous=EXTRA. check-in: 3a65a1fc user: drh tags: trunk
02:59
Simplified error detection in the xBestIndex processing. check-in: 82ca2131 user: drh tags: trunk
01:32
Add the ALLBITS macro as a shorthand for "(Bitmask)(-1)". check-in: 91bd619d user: drh tags: trunk
01:11
Add a NEVER() to the code generator. Change the parameter name "mExtra" to "mPrereq" in the query planner, to more closely reflect its meaning. check-in: 721ae51e user: drh tags: trunk
00:39
Changes so that some assert()s in the virtual table query planner are correct even following an OOM error. check-in: 9805f6f8 user: drh tags: trunk
2016-03-07
20:14
Update fts3/4 so that the 'merge=X,0' command merges X pages from all segments of the first level in the fts index that contains 2 or more segments. check-in: cddf69db user: dan tags: trunk
19:08
Avoid a NULL pointer dereference following an OOM while generating code for IN operators on virtual tables. check-in: c9240086 user: drh tags: trunk
17:49
Merge the virtual table query planner enhancement, the RTREE cost estimate fix, and the statement journal spill delay enhancement from trunk. check-in: 17fd8f3c user: drh tags: sessions
17:39
Add a new row type to RBU (a peer of insert, update and delete) - "delete then insert". Closed-Leaf check-in: 169311c8 user: dan tags: rbu-delete-then-insert
17:37
Add the SQLITE_CONFIG_STMTJRNL_SPILL option for sqlite3_config(). check-in: b6c42024 user: drh tags: trunk
2016-03-05
21:32
Fix a problem in the previous commit affecting queries with three or more tables joined together to the right of a LEFT or CROSS JOIN operator. check-in: d8d89d69 user: dan tags: trunk
21:07
Change the way SQLite invokes the xBestIndex method of virtual tables so that N-way joins involving virtual tables work as expected. check-in: 19544438 user: dan tags: trunk
20:28
Adjust the cost estimates for RTREE such that the expected number of rows and expected cost is halved for each additional constraint. Closed-Leaf check-in: fd7cd060 user: drh tags: xbestindex-fix
17:29
Change the way SQLite invokes the xBestIndex method of virtual tables so that N-way joins involving virtual tables work as expected. check-in: ffc65968 user: dan tags: xbestindex-fix
15:35
Remove the unused journal.c source file (its function have been subsumed into memjournal.c). Refactor some of the names in memjournal.c. No functional changes. check-in: 5f2a262d user: drh tags: trunk
15:03
Work around (incorrect) ASAN warnings in memjournal.c. check-in: 4de09777 user: drh tags: trunk
14:19
Fix an integer size mismatch problem in test_bestindex.c check-in: 2e35eb6b user: drh tags: trunk
14:00
Fix an incorrect #ifdef on sqlite3LogEstToInt(). check-in: dca7b233 user: drh tags: trunk
2016-03-04
21:18
Fix an assert() in sqlite3VarintLen(), even though it is impossible to hit in SQLite due to the way sqlite3VarintLen() is used. check-in: 251424c5 user: drh tags: trunk
16:42
Merge recent enhancements from trunk. Default page size is 4096. Writes to statement journals are avoided. check-in: 456df336 user: drh tags: sessions
14:43
Defer opening and writing statement journals until the size reaches a threshold (currently 64KiB). check-in: cb9302cc user: drh tags: trunk
14:23
Update test cases to taken deferred statement-journal opening into account. Closed-Leaf check-in: 5b2fe521 user: drh tags: memjournal-exp
13:08
Merge changes from trunk. check-in: a87305df user: drh tags: memjournal-exp
04:01
Change the default cache_size to -2000 (which means 2000*1024 bytes independent of page_size). check-in: 2682e8e4 user: drh tags: trunk
03:43
Change the default page size for new database files to 4096 (from 1024). Except, when building the testfixture, preserve the legacy page size. Also fix a comment on SQLITE_MAX_ATTACHED. check-in: 2e8a9ca9 user: drh tags: trunk
03:20
Detect the presence of pread()/pwrite() system calls on unix systems and use them if available. check-in: 82cbf5ad user: drh tags: trunk
03:14
Further fixes to the pread()/pwrite() enabling logic. Closed-Leaf check-in: 38fb54e7 user: drh tags: pread
03:02
Fix the build for cases when pread()/pwrite() are not available. check-in: 7d67d876 user: drh tags: pread
02:59
Add the test_bestindex.c file to Makefile.in and Makefile.msc so that "make test" will work again. check-in: 6ec6b6a9 user: drh tags: trunk
02:38
Update the configure script to detect pread/pwrite and update os_unix.c to use those routines if they are available. check-in: 2cffb9e5 user: drh tags: pread
00:13
Get in-memory subjournals working for builds without SQLITE_ENABLE_ATOMIC_WRITE. check-in: b5378dce user: drh tags: memjournal-exp
2016-03-03
21:29
Merge the latest updates from trunk. check-in: 55c00f71 user: drh tags: memjournal-exp
21:22
Reduce the amount of heap memory required to store many schemas by storing the column datatype appended to the column name (with a \000 separator), rather than in separate memory allocation. check-in: 16fbf2e1 user: drh tags: trunk
20:42
Allow the left-hand side of IN operators on virtual tables to have the aConstraintUsage[].omit flag clear. check-in: 3eb74342 user: drh tags: trunk
17:54
Merge 3.11.1 changes into trunk. check-in: 7abc2dd9 user: drh tags: trunk
16:17
Version 3.11.1 Leaf check-in: f047920c user: drh tags: release, branch-3.11, version-3.11.1
15:16
Increase the default upper bound on scope to 30. check-in: b1258814 user: drh tags: branch-3.11
2016-03-02
17:57
Add new test script bestindex1.test to the utf16 permutation. Closed-Leaf check-in: 5893e972 user: dan tags: vtab-IN-opt
16:13
Add an extra test for the change on this branch. check-in: d2d28251 user: dan tags: vtab-IN-opt
16:01
Enhance test_bestindex.c so that it can be used to test plans generated by xBestIndex. check-in: 3c15a9bf user: dan tags: trunk
15:37
Fix a recently introduced problem in permutations.test causing an error when the QUICKTEST_OMIT environment variable is defined. check-in: 45bc9557 user: dan tags: branch-3.11
13:26
Fix an error in an fts5 test script. check-in: b2a03e2d user: dan tags: branch-3.11
03:28
Allow the left-hand side of IN operators on virtual tables to have the aConstraintUsage[].omit flag clear. check-in: 1622623c user: drh tags: vtab-IN-opt
00:58
Add the optional -DSERIES_OMIT_CONSTRAINT_VERIFY=0 option to the series.c extension that implements the generate_series() virtual table. check-in: 3d9daa92 user: drh tags: trunk
2016-03-01
22:48
New test cases and infrastructure for testing the xBestIndex method of virtual tables. check-in: 1d41c161 user: drh tags: trunk
22:41
Improved debugging output with wheretrace. Fix some typos in test script comments. check-in: 13a37fd4 user: drh tags: trunk
18:35
Fix a memory leak in the test code on this branch. Closed-Leaf check-in: 7a1add56 user: dan tags: test-bestindex
18:24
Allow test_bestindex.c to set the omit flag for a constraint. check-in: 759b9d5b user: dan tags: test-bestindex
18:07
Add test code useful for testing the planners use of teh virtual table xBestIndex() method. check-in: de034c0d user: dan tags: test-bestindex
16:56
Do not attempt to run fts5bigtok.test or fts5merge2.test if FTS5 is not compiled in. check-in: f7ed3739 user: dan tags: branch-3.11
16:02
Add -DSQLITE_ENABLE_FTS5 to one of the release-test configurations in releasetest.tcl. Run fts5 tests as part of "make test" if SQLITE_ENABLE_FTS5 is defined. check-in: 3cee9371 user: dan tags: branch-3.11
15:52
Remove a forgotten "breakpoint" command from an FTS5 test script. check-in: 61927c8f user: drh tags: branch-3.11
15:41
Increase the version number to 3.11.1 check-in: 2dcd2fda user: drh tags: branch-3.11
15:09
Merge branch-3.11-matchinfo into this branch. check-in: 42358170 user: dan tags: branch-3.11
14:51
Fix a problem in fts5 where a corrupt db could lead to a (huge) buffer overread. Cherrypick of [c9a30e117f]. Closed-Leaf check-in: daef5869 user: dan tags: branch-3.11-matchinfo
14:50
Fix an fts5 problem causing 'optimize' to corrupt the fts index under some circumstances. Cherrypick of [251d6473f7]. check-in: 5b1b7ab5 user: dan tags: branch-3.11-matchinfo
02:11
Better estimatedCost in the xBestIndex method of the generate_series vtab. check-in: f2c16094 user: drh tags: trunk
2016-02-29
20:18
When using a temporary file for a statement journal, store the first 64KiB in memory. If the file grows larger than that, flush it to disk and free the memory. Hardcoding to 64KiB is just an experiment to check that the memjournal.c code works. check-in: 44b2dc18 user: dan tags: memjournal-exp
20:00
Fix minor problems with new code in memjournal.c. check-in: 9fd3f7b9 user: dan tags: memjournal-exp
17:34
Fix a problem in fts5 where a corrupt db could lead to a (huge) buffer overread. check-in: c9a30e11 user: dan tags: trunk
17:16
Fix an fts5 problem causing 'optimize' to corrupt the fts index under some circumstances. check-in: 251d6473 user: dan tags: trunk
15:53
Reduce the amount of heap required to store many schemas by storing each column datatype appended to the column name, rather than as a separate allocation. Closed-Leaf check-in: 842b2116 user: drh tags: schema-storage
13:44
Very minor improvement to the performance and reduction in size to the parser by capturing the name and datatype of table columns in a single grammar rule reduction. check-in: 4b55c520 user: drh tags: trunk
13:37
Further simplifications to the grammar. Closed-Leaf check-in: 519fd03b user: drh tags: schema-storage
2016-02-27
23:25
Update the parser so that it pulls out the column name and type all in one go, rather than using separate reductions. check-in: ad3ffe2e user: drh tags: schema-storage
21:16
Eliminate the need for the Column.zDflt (using Column.pDflt instead) to reduce the amount of memory needed to hold the schema. check-in: d8c94a46 user: drh tags: trunk
20:14
Extend the code in memjournal.c so that it subsumes the role of journal.c. And (untested) can flush journal or statement journal files to disk after they grow to a specified size. check-in: e0b0b431 user: dan tags: memjournal-exp
19:19
Tighter description of I/O stats in the shell. Show I/O stats on speedtest1.c. check-in: f681d800 user: drh tags: trunk
17:12
Enhance the ".stats" command in sqlite3.exe to show one-time stats information if invoked with one argument. Also show /proc/PID/io information if run on Linux. check-in: 3c36948f user: drh tags: trunk
14:04
Fix a requirement mark to conform to a typo fix in the documentation. check-in: d1392c62 user: drh tags: trunk
14:00
Enhance documentation of sqlite3_snapshot_open() to explain that the database connection must have participated in at least one read operation prior to the beginning of the transaction for which the snapshot is to be opened. Add test cases for this fact. check-in: 33dd671c user: drh tags: trunk
00:21
Add 'Replace.exe' to the MSVC clean target. check-in: c2277fab user: mistachkin tags: trunk
00:21
Fix typo in ICU error message. check-in: 00c8fffd user: mistachkin tags: trunk
00:07
Make sure the Replace.cs file is included in the autoconf tarball. check-in: b850df48 user: drh tags: trunk
2016-02-26
23:13
Support generating the '.def' file using the autoconf Makefile for MSVC. check-in: 3617564c user: mistachkin tags: trunk
21:20
Fix a potential buffer overflow in the ICU upper() function. check-in: b8dc1b9f user: drh tags: trunk
21:03
Further refinements to the MSVC batch build process. check-in: cf4e4fbd user: mistachkin tags: trunk
21:01
Further refinements to the MSVC batch build process. check-in: 4e54e9c0 user: mistachkin tags: branch-3.11
16:03
Fix the ICU extension LIKE function so that it does not read past the end of a buffer if it it passed malformed utf-8. check-in: 424b7aee user: dan tags: trunk
15:38
Provide the new SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER option to sqlite3_db_config() that can be used to activate the two-argument version of fts3_tokenizer() for a specific database connection at run-time. check-in: 374b5108 user: drh tags: trunk
13:22
Fix a typo in a comment (though an important comment in that it is used to generate documentation). check-in: ff3d7f84 user: drh tags: trunk
04:13
Ephemeral tables used to hold manifested views may not be unordered since they might be subject to an ordered comparison if they are part of a join. check-in: 3ef6a315 user: drh tags: trunk
04:04
Remove a debugging "exit" command mistakenly left in the "where.test" module. check-in: beda0b8c user: drh tags: trunk
2016-02-25
23:27
Add some comments in the VSIX test tool. check-in: c871473f user: mistachkin tags: trunk
23:25
Add tool for smoke-testing the UWP VSIX package. check-in: d27f32c6 user: mistachkin tags: trunk
23:22
Enhance checking of prerequisites in the vsixtest tool. Closed-Leaf check-in: 799d5f09 user: mistachkin tags: vsixTest
23:21
Fix an incorrect cost computation for sorting (introduced just a few check-ins ago). Should be NlogN, not NloglogN. check-in: 2459d323 user: drh tags: trunk
21:38
Small optimization in FK handling. check-in: e0d25913 user: mistachkin tags: trunk
21:27
Change the srcck1.c utility program to use only unsigned characters. check-in: d64d005e user: drh tags: trunk
21:19
Change the "PRAGMA stats" command to report size values in LogEst units. The eliminates the need for sqlite3LogEstToInt() unless non-standard compile-time options are used, so leave it out except in those cases. check-in: 832c237f user: drh tags: trunk
20:17
Disable the RESTRICT foreign key action if "PRAGMA defer_foreign_keys" is set. check-in: 9ffff484 user: dan tags: trunk
19:52
Disable the RESTRICT foreign key action if "PRAGMA defer_foreign_keys" is set. check-in: 8fea1166 user: dan tags: sessions
18:54
Merge all the latest changes from trunk. check-in: b8659004 user: drh tags: sessions
18:40
Query planner improvements: Take the LIMIT into account when estimated the cost of an ORDER BY. Avoid automatic indexes on query loops that are expected to run less than twice. See [9e2b2681] for a later enhancement. check-in: bf46179d user: drh tags: trunk
18:22
Improvement on the previous check-in: disallow automatic indexes for any loop that is expected to run less than twice. Closed-Leaf check-in: aab53a21 user: drh tags: planner-improvements
18:03
Do not use an automatic index on an outer loop that only runs once. check-in: 5957e793 user: drh tags: planner-improvements
16:04
Take the LIMIT clause into account when estimating the cost of sorting. check-in: d491745c user: drh tags: planner-improvements
13:33
In the command-line shell: When the ".import" command is creating a new table using column names from the first row of CSV input, make sure double-quotes in the name are properly escaped. check-in: 2e67a1c8 user: drh tags: trunk
08:02
Improve readability and logging of the vsixtest script. check-in: 4fe7c4e9 user: mistachkin tags: vsixTest
02:56
Enable all steps and add/update comments. check-in: 788f99f4 user: mistachkin tags: vsixTest
02:49
More work. Install and build steps are now tested. check-in: 0ab74373 user: mistachkin tags: vsixTest
2016-02-24
23:31
Fix typo. Improve interim debugging. check-in: e0029bdf user: mistachkin tags: vsixTest
23:25
Test build all supported configurations and platforms during VSIX testing. check-in: cce40a0b user: mistachkin tags: vsixTest
21:42
Initial work on an automated VSIX testing tool. Not working or tested yet. check-in: 496e4ac9 user: mistachkin tags: vsixTest
20:16
Extend [3e9ed1ae] so that covering indexes on WITHOUT ROWID tables are also identified. check-in: e721975f user: dan tags: trunk
19:57
Change a char* to const char* in order to suppress some harmless compiler warnings. check-in: 56f62e34 user: drh tags: trunk
17:18
When an index completely covers a table, it can be used as a covering index even if columns past the 63rd column are indexed and accessed. check-in: 3e9ed1ae user: drh tags: trunk
16:14
Fix a problem with handling identifiers that start with "x" if SQLITE_OMIT_BLOB_LITERAL is defined. check-in: b65217c6 user: dan tags: trunk
15:43
Identify indexes that completely cover their table. Closed-Leaf check-in: 71d488b5 user: drh tags: covering-index
2016-02-23
16:28
Add the SQLITE_BITMASK_TYPE compile-time option. check-in: 0064a8c7 user: drh tags: trunk
2016-02-22
23:44
Remove code not needed now that synchronous=OFF database files no longer trigger the use of a master journal. check-in: aa9f4c62 user: drh tags: trunk
23:14
Avoid an unnecessary seek operation some corner-case skip-scan operations. check-in: 2a6003a9 user: drh tags: trunk
21:19
Clearer presentation of the logic. No functional changes. Closed-Leaf check-in: a3dcf6db user: drh tags: skip-scan-improvement
20:52
Avoid an unnecessary seek operation on some corner-case skip-scans. check-in: 38e837e6 user: drh tags: skip-scan-improvement
16:04
Always use the sqlite3VdbeDeleteAuxdata() routine for clearing auxdata on function parameter, rather than having a separate deleteAuxdataFromFrame() for doing the job for trigger frames. check-in: 64386fa3 user: drh tags: trunk
14:57
Avoid creating a master journal unless two or more databases in the transaction can actually benefit from that master journal. check-in: 3ed18906 user: drh tags: trunk
13:23
Change magic numbers associated with synchronous settings to named constants. check-in: 9230ba6c user: drh tags: trunk
09:45
Add an extra test case for the change in commit [c4295725]. check-in: a48ac4c3 user: dan tags: trunk
2016-02-19
19:46
Further enhancements to the MSVC batch build tool. check-in: 06f1495f user: mistachkin tags: trunk
19:29
Use the arguments to NMAKE consistently in the MSVC batch build tool. check-in: 480e5049 user: mistachkin tags: branch-3.11
19:03
Enhance clean target in the MSVC makefiles. check-in: 66a9ad4a user: mistachkin tags: branch-3.11
18:54
Use a separate list of aux-data structures for each trigger program at the VDBE level. Fix for [dc9b1c91]. check-in: c4295725 user: dan tags: trunk
16:19
Enhance speedtest1 to display the particular version of SQLite under test. check-in: 0cb728c1 user: drh tags: trunk
15:17
Fix a couple of harmless warnings generated by clang. check-in: a1a3ff1f user: drh tags: trunk
14:20
Fix a harmless uninitialized variable access. check-in: 398522e6 user: drh tags: trunk
14:10
Make sure WhereClause objects are fully initialized before use when planning OR queries. check-in: 16205302 user: drh tags: trunk
13:29
Fix (harmless) compiler warnings in some of the TCL-based test code. check-in: 7c26d2b4 user: drh tags: trunk
13:20
Add an SQLITE_DISABLE_INTRINSIC #ifdef to the sqlite3Put4Byte() function. check-in: ba9c6827 user: drh tags: trunk
13:19
Omit the unused yyzerominor constant. check-in: 60ad68a9 user: drh tags: trunk
10:19
Add an "#ifndef SQLITE_AMALGAMATION" guard around a typedef in fts5_test_mi.c to avoid redefining "u32" if it is compiled as part of the amalgamation. Cherrypick of [f9c49ba1]. check-in: ce0f1ed5 user: dan tags: branch-3.11-matchinfo
10:18
Add an "#ifndef SQLITE_AMALGAMATION" guard around a typedef in fts5_test_mi.c to avoid redefining "u32" if it is compiled as part of the amalgamation. check-in: f9c49ba1 user: dan tags: trunk
05:07
Modify the MSVC batch build tool to support the MSVC autoconf Makefile. check-in: 72b10e5e user: mistachkin tags: branch-3.11
00:48
Further improvements to the MSVC batch build tool. check-in: b9626b59 user: mistachkin tags: trunk
00:47
Further improvements to the MSVC batch build tool. check-in: 90dd6eb1 user: mistachkin tags: branch-3.11
2016-02-18
21:15
Correct the install location for the UWP VSIX package. check-in: f74de325 user: mistachkin tags: trunk
21:00
Correct the install location for the UWP VSIX package. check-in: b47d0302 user: mistachkin tags: branch-3.11
16:16
Remove SQLITE_TEST macros from fts5_test_mi.c. Add the SQLITE_FTS5_ENABLE_TEST_MI compile time symbol - to make it easier to create builds that include the fts5 matchinfo demo by default. check-in: e2ef6667 user: dan tags: branch-3.11-matchinfo
14:49
Avoid a potential buffer overrun if an SQL statement being parsed ends with an illegal "!" token. (This problem was detected by fuzzcheck running under valgrind. The problem was introduced by check-in [9570b6b43df3], two days ago and has not appeared in a release.) check-in: 2a8d97e7 user: drh tags: trunk
14:03
Improved handling of the -v option on the fuzzcheck test program. check-in: c8cd7804 user: drh tags: trunk
13:32
Remove an unnecessary "include <tcl.h>" line from fts5_test_mi.c. check-in: 31d8b69e user: dan tags: trunk
01:29
Add extra API armor on the sqlite3_bind_blob() interface. check-in: 80de1ad5 user: drh tags: trunk
2016-02-17
20:47
When VDBE opcodes fail, they cause an immediate exit from the loop, rather than depending on the rc==SQLITE_OK test at the top of the loop. This is faster and smaller. check-in: 24c7151c user: drh tags: trunk
18:44
Fix up all VDBE opcodes so that they cause an immediate exit on any kind of error, and thereby eliminate the need to test "rc" at the top of the loop. Resulting code is a little smaller and faster. Closed-Leaf check-in: a444633a user: drh tags: vdbe-performance
15:01
Bump the version number to 3.12.0. check-in: c17d7276 user: drh tags: trunk
14:48
Remove the "#ifdef SQLITE_TEST" condition from fts5_test_mi.c. Update fts5_main.c so that if SQLITE_FTS5_TEST_MI is defined when it is built the fts5_test_mi.c entry point is automatically called. This makes it easier to build versions of fts5 that include the matchinfo() demo by default. check-in: 87e6e225 user: dan tags: trunk
14:11
Improve test coverage of demo code in fts5_test_mi.c. check-in: 8a78050d user: dan tags: trunk
13:24
Enhance Lemon to generate more compact and efficient code for yy_reduce(). Update the main SQL grammar to take advantage of the new capabilities. check-in: 53fd040c user: drh tags: trunk
12:34
More agressive use of /*A-overwrites-X*/ in the parser. Fix an off-by-one error in parser stack overflow detection. Closed-Leaf check-in: 417e7777 user: drh tags: parser-performance
11:13
Documentation typo on sqlite3_wal_hook(). No changes to code. check-in: fc2043eb user: drh tags: trunk
04:33
Enhance Lemon so that if reduce code contains a comment of the form "/*A-overwrites-X*/" then a LHS label A is allowed to overwrite the RHS label X. check-in: 5cfe9545 user: drh tags: parser-performance
01:46
Further improvements to the Lemon-generated code for yy_reduce(). check-in: ef95a7d6 user: drh tags: parser-performance
01:18
In Lemon, add the ability for the left-most RHS label to be the same as the LHS label, causing the LHS values to be written directly into the stack. check-in: 4bb94c7c user: drh tags: parser-performance
2016-02-16
21:19
Experimental changes to Lemon for improved parser performance. check-in: a65d583c user: drh tags: parser-performance
13:04
Minor simplification to the tokenizer. Slightly smaller and faster. check-in: 9570b6b4 user: drh tags: trunk
01:01
Improve the Lemon parser template (lempar.c) so that it avoids unnecessary work when the grammer defines YYNOERRORRECOVERY (as SQLite does). Slightly smaller and faster code results. check-in: 9235b0cf user: drh tags: trunk
2016-02-15
23:46
Fix a harmless compiler warning in FTS5. check-in: e52c9075 user: drh tags: trunk
22:37
Readability improvements for winRandomness. check-in: 1640f814 user: mistachkin tags: trunk
22:28
Fix comment. No changes to code. check-in: 2e1f2eff user: mistachkin tags: trunk
22:01
Revise compiler checks for the rand_s() function. check-in: 287f508d user: mistachkin tags: trunk
21:31
On windows systems when rand_s() is available, use it to obtain additional seed material in winRandomness(). check-in: 139081be user: drh tags: trunk
20:41
Improved entropy gathering for the implementation of winRandomness(). check-in: fea3705e user: drh tags: trunk
19:38
Add working -q and --help options to testfixture. check-in: 404494e5 user: drh tags: trunk
18:58
In the tool/warning.sh script, disable Android-specific compiler warning tests when not running on Linux. check-in: 153f01a8 user: drh tags: trunk
18:47
Fix harmless compiler warnings previously seen in 64-bit MSVC builds. check-in: 70262463 user: drh tags: trunk
18:15
Add the SQLITE_NOMEM_BKPT macro to enhance the ability to debug OOM errors. Only effective with compiling with SQLITE_DEBUG. check-in: 9b345476 user: drh tags: trunk
18:02
Minor code simplifications. check-in: c3b38efd user: drh tags: trunk
17:56
Make the application-defined SQL function logic more compact and faster, especially faster for the case where an application defines thousands of new SQL functions. check-in: 7d49ed32 user: drh tags: trunk
17:39
Merge 3.11.0 changes. check-in: 631023dd user: drh tags: sessions
17:29
Version 3.11.0 check-in: 3d862f20 user: drh tags: trunk, release, version-3.11.0
15:06
Make sure the codec is invoked when overwriting existing frames of the WAL file. Yikes! check-in: f694e60a user: drh tags: trunk
00:34
Improvements to the application-defined function mechanism so that it is more compact and runs faster, especially when the application defines thousands of new SQL functions. Closed-Leaf check-in: 3201fbcc user: drh tags: many-app-functions
2016-02-14
00:14
Update a comment. Closed-Leaf check-in: e9753d9a user: mistachkin tags: noMemBkpt
2016-02-13
23:43
Enhance ability to debug out-of-memory errors. check-in: 6a9c4a3e user: mistachkin tags: noMemBkpt
18:54
Provide Sqlite3_SafeInit() and Sqlite3_SafeUnload() entry points on the TCL interface, but have the always return TCL_ERROR, because the non-standard TCL builds on Macs require this. check-in: 37ec3015 user: drh tags: trunk
15:08
Fix another test problem in sessionfault.test. check-in: f6d1cf79 user: dan tags: sessions
14:45
Harden sqlite3session_delete() against trying to delete a session that is not currently on the session list. check-in: 6c2d34df user: drh tags: sessions
14:39
Fix a problem in sessionfault.test causing it to segfault following a test failure. This commit does not fix the actual test failure - just the subsequent segfault. check-in: 582b2ae7 user: dan tags: sessions
14:07
Merge the changes for the 3.11.0 release candidate from trunk. check-in: 4d7a802e user: drh tags: sessions
2016-02-12
18:48
Fix a potential buffer overread provoked by invalid utf-8 in fts5. check-in: a049fbbd user: dan tags: trunk
17:56
Fix a fairly obscure buffer overread in fts5. check-in: 13058020 user: dan tags: trunk
17:30
Fix a documentation typo. No changes to code. check-in: d9c98587 user: drh tags: trunk
17:27
Enhance mptester so that it takes great care to delete its test database prior to start-up, including checking the return code from unlink() and retrying after a delay if unlink() fails. Hopefully this will clear intermittant startup problems on Windows. check-in: 6ea84ec1 user: drh tags: trunk
05:19
Naming updates for Universal Windows Platform. check-in: 717c1fc4 user: mistachkin tags: trunk
00:13
Remove an unused parameter from whereSortingCost(). check-in: b5d77199 user: drh tags: trunk
2016-02-11
22:41
Automatically disable FTS3 and FTS4 when building with SQLITE_OMIT_VIRTUALTABLE. check-in: 0beb32d2 user: drh tags: trunk
21:59
Enhance the MSVC makefile to enable building 'testfixture' fully from source code. check-in: f183e059 user: mistachkin tags: trunk
21:55
Remove the unexplained extra 3.0 cost factor for the B-tree sorting that is done to implement DISTINCT in the absence of an index to help. check-in: 52571991 user: drh tags: trunk
21:53
Remove the unused fts5BlobCompare() routine. check-in: defc762d user: drh tags: trunk
21:38
Prevent 'expanded command line X too long' errors during the batch 'for' loops used for copying files. Closed-Leaf check-in: 67ee9b5a user: mistachkin tags: testFixtureSrc
21:28
Enhance the MSVC makefile to enable building 'testfixture' fully from source code. check-in: 54ff3a26 user: mistachkin tags: testFixtureSrc
18:18
Fix another unused variable warning in fts5 code. check-in: 61b4c120 user: dan tags: trunk
18:08
Avoid a buffer overread when reading a corrupt fts5 structure record. check-in: facbc424 user: dan tags: trunk
17:01
Handle parser stack overflow when parsing fts5 query expressions. Fix some compiler warnings in fts5 code. check-in: bc3f7900 user: dan tags: trunk
15:37
Add JSON1 and FTS5 to the set of extensions subject to close compiler warning analysis. Fix some warnings in each. More (harmless) warnings still exist in FTS5. check-in: cfe2eb88 user: drh tags: trunk
13:30
Minor simplifications deferred to the next release. Closed-Leaf check-in: a863729c user: drh tags: simplify
2016-02-10
21:45
In the MSVC makefile, include the working directory so that it can pickup build generated files (e.g. sqlite3.h, etc). check-in: e9e6000b user: mistachkin tags: trunk
19:10
Add testcase() macros to the CHECK constraint avoidance logic. Avoid creating an unused VDBE label during CHECK constraint code generation. check-in: 970881be user: drh tags: trunk
18:24
Fix to previous check-in: Make sure CHECK constraints involving the ROWID are not ignored when the ROWID changes. check-in: 7782cb1d user: drh tags: trunk
16:52
Omit unnecessary CHECK constraints in UPDATE statements, when none of the columns referenced in the CHECK constraint are modified. check-in: 02fbdbc7 user: drh tags: trunk
16:03
Omit NOT NULL checks on unchanging columns in an UPDATE. check-in: 6a3aaedf user: drh tags: trunk
13:36
When generating the snapshot-tarball, truncate the date/time in the name to 12 significant digits (YYYYMMDDhhmm) omitting the seconds and fractional seconds. check-in: 604f7775 user: drh tags: trunk
13:17
Updates to the autoconf tarball README.txt file. check-in: a3e911e3 user: drh tags: trunk
2016-02-09
22:54
Update the snapshot tarball name to use the date (ISO8601 format) instead of the SHA1 hash in its name. check-in: 070ec66f user: drh tags: trunk
22:39
Add the new "snapshot-tarball" target to the unix makefiles, for building a tarball similar to "amalgamation-tarball" but named by the SHA1 hash of the current check-out rather than by the version number. check-in: 4f360b2a user: drh tags: trunk
22:00
Update the MSVC autoconf makefile with the recent changes from the primary one. check-in: c7242aa3 user: mistachkin tags: trunk
20:37
Fix the makefiles in the autoconf-tarball so that they build the command-line shell with SQLITE_ENABLE_EXPLAIN_COMMENTS. check-in: 1135ad01 user: drh tags: trunk
20:31
In the shell, use the appropriate string constant instead of a literal new-line. check-in: 61951b15 user: mistachkin tags: trunk
20:11
Enhance the command-line shell to be in auto-explain mode by default. It is no longer necessary to use the ".explain" command to put the shell into a mode where the EXPLAIN output is formatted nicely. That now happens automatically. check-in: 751915cb user: drh tags: trunk
20:04
Improved auto-detection of EXPLAIN output in the shell. Closed-Leaf check-in: 6c6d7a6e user: drh tags: auto-explain
18:39
Add auto-explain mode to the command-line shell. Default on. Auto-explain tries to automatically detect EXPLAIN queries and format them appropriately. check-in: 1d62aa6b user: drh tags: auto-explain
18:28
Fix MSVC makefile options that enable control-flow guard. check-in: 51b6823f user: mistachkin tags: trunk
17:12
Fix the top-level makefiles to always include SQLITE_ENABLE_EXPLAIN_COMMENTS when building the shell. Still need to fix main.mk and the amalgamation tarball. check-in: 99228239 user: drh tags: trunk
16:09
Code simplification: ALTER TABLE ADD COLUMN always upgrades the file_format to 4 if is not there already. No need to upgrade to only 2 or 3 since format 4 has now been supported for over 10 years. check-in: e1d8ec85 user: drh tags: trunk
15:44
Merge enhancements and fixes from trunk. check-in: f040a5bb user: drh tags: sessions
02:12
Make sure every co-routines has its own set of temporary registers and does not share temporaries, since a co-routine might expect the content of a temporary register to be preserved across an OP_Yield. Proposed fix for ticket [d06a25c84454a]. check-in: ca72be86 user: drh tags: trunk
2016-02-08
20:45
Fix spelling error in MSVC makefile comments. check-in: 6eab74c9 user: mistachkin tags: trunk
20:40
More work on Windows 10 SDK integration. check-in: 1e563c6e user: mistachkin tags: trunk
20:14
Fix a signed/unsigned comparison warning in fts5. chec