SQLite

Timeline
Login

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

200 descendants and 200 ancestors of 063a03a3779e8c03

2018-02-05
13:42
Fix another minor problem in walro2.test. (check-in: ba0631de60 user: dan tags: trunk)
13:28
Update test file walro2.test to account for systems with a page-size (getpagesize()) larger than 32KB. (check-in: d9e59cfb84 user: dan tags: trunk)
2018-02-04
20:33
In the CLI, make sure sqlite3_initialize() is called correctly even for non-UTF8 hosts. (check-in: a3591fb541 user: drh tags: trunk)
01:30
Fix harmless compiler warning seen with MSVC. (check-in: 63a914410b user: mistachkin tags: trunk)
01:29
Move variable declaration in zipfile extension to fix MSVC compiler error. (check-in: ac6a32482e user: mistachkin tags: trunk)
2018-02-02
16:28
Remove the "include <io.h>" win32 dependency from the zipfile extension. (check-in: cb3feb3bc3 user: dan tags: trunk)
16:20
Remove the time() dependency from the zipfile extension. Use SQLite VFS methods instead. (check-in: 0702fb5611 user: dan tags: trunk)
2018-02-01
20:42
Add a few more zipfile tests. No changes to code. (check-in: 3f62154587 user: dan tags: trunk)
19:41
Fix a problem triggered when a zipfile virtual table is created and written to within the same transaction. And add other zipfile tests. (check-in: 48f1c55699 user: dan tags: trunk)
15:57
New assert() statements to help ensure that no other errors similar to [343634942dd54ab57b7] ever appear in the code. (check-in: 5a70af1e9c user: drh tags: trunk)
15:19
Fix a memory leak that could follow an IO error in the zipfile extension. And add other tests. (check-in: e6bb750697 user: dan tags: trunk)
01:13
When an index is based on a text representation of a numeric column in the original table, make sure the indexed value uses the canonical text representation of the numeric value in the table. Proposed fix for ticket [343634942dd54ab57b70]. (check-in: 88e2ce9167 user: drh tags: trunk)
2018-01-31
20:18
When creating a new archive entry, have zipfile store UTC instead of local time in the legacy MS-DOS format timestamp field. (check-in: b730d187f2 user: dan tags: trunk)
19:45
Fix a test case in zipfile.test. (Closed-Leaf check-in: 4eb5b24c64 user: dan tags: zipfile-timestamp-fix)
19:13
When creating a new archive entry, have zipfile store UTC instead of local time in the legacy MS-DOS format timestamp field. (check-in: e2114df183 user: dan tags: zipfile-timestamp-fix)
16:50
Improve the omit-left-join optimization so that it works in some cases when the RHS is subject to a UNIQUE but not NOT NULL constraint. (check-in: 02ba8a7ba7 user: drh tags: trunk)
14:07
Fix a failing assert() in the new code on this branch. (Closed-Leaf check-in: 74d857d178 user: dan tags: omit-left-join-fix)
01:38
Changes to the autoconf tarball so that it does not try to use system() when building on iOS. (check-in: 32ed9c1067 user: drh tags: trunk)
2018-01-30
18:33
If a virtual table xColumn method sets an error message using sqlite3_result_error(), use that message in preference to any error message left in the sqlite3_vtab object. (check-in: 71e3b715ad user: dan tags: trunk)
17:43
Add tests cases for the zipfile extension. (check-in: 13b786dafd user: dan tags: trunk)
14:07
Prevent users from creating zipfile() virtual tables without an argument. (check-in: 81fdbe0cc5 user: dan tags: trunk)
2018-01-29
19:47
Add unix-only tests to check that the "unzip" program can unpack archives generated by the zipfile extension. (check-in: 438c5c5237 user: dan tags: trunk)
18:41
Add aggregate function zipfile() to the zipfile extension. For composing new zip archives in memory. (check-in: e364eeac76 user: dan tags: trunk)
17:08
Update the omit-left-join optimization so that it works in some cases when the RHS is subject to a UNIQUE but not NOT NULL constraint. (check-in: 88411a402b user: dan tags: omit-left-join-fix)
16:22
Ensure the "unique-not-null" flag is set for automatic indexes on columns declared with "col UNIQUE NOT NULL" (where the NOT NULL comes after the UNIQUE). (check-in: 8767f7b880 user: dan tags: trunk)
2018-01-27
18:55
Fix missing header comments and other code issues in zipfile.c. (check-in: 6ea8ba312c user: dan tags: trunk)
16:29
If a zipfile virtual table is created with no argument - "CREATE VIRTUAL TABLE zzz USING zipfile()" - accumulate data in memory. Support "SELECT zipfile_blob(z) FROM zzz LIMIT 1" to retrieve a zip archive image. (check-in: e63185edfe user: dan tags: trunk)
14:25
Changes to avoid a harmless UB warning from clang. (check-in: 19f5c14000 user: drh tags: trunk)
13:55
New test case for ticket [ec32177c99ccac2b1] that works without the STAT4. (check-in: 5259d4847f user: drh tags: trunk)
05:40
Proposed fix for the query planner problem of ticket [ec32177c99ccac2b1]. (check-in: eef8cbef3c user: drh tags: trunk)
03:26
Fix compiler warnings in zipfile.c. (check-in: bed610d99b user: drh tags: trunk)
2018-01-26
22:41
Fix the query planner so that it takes into account dependencies in the arguments to table-valued functions in subexpressions in the WHERE clause. Fix for ticket [80177f0c226ff54f6dd]. (check-in: 7daa687340 user: drh tags: trunk)
18:59
If the argument to table function zipfile() is a blob (not text), assume that it contains a zip file image to interpret, not the name of a file on disk. (check-in: 029ebcd30c user: dan tags: trunk)
18:37
Improve text-to-integer conversion in boundary cases. The sqlite3Atoi64() function always returns the minimum or maximum integer if the magnitude of the text value is too large. Trailing whitespace is now ignored. (check-in: ace0644a1a user: drh tags: trunk)
2018-01-25
20:50
Reorganize zipfile.c code to make it easier to add support for in-memory zip archive processing. (check-in: 30b9258294 user: dan tags: trunk)
01:20
Slightly smaller and faster implementation of OP_If and OP_IfNot. (check-in: 6ab42934e2 user: drh tags: trunk)
2018-01-24
20:42
When unpacking a sorter record, do so from right to left instead of left to right, since by starting with the right-most column, the work done by OP_Column opcodes is reduced. (check-in: 8055e4f424 user: drh tags: trunk)
18:28
Reorganize spellfix.c to make it easier to edit automatically (e.g. using a script). No changes to functionality. (check-in: 090a64faaa user: dan tags: trunk)
16:04
Rearrange fields of the BtCursor object so that it is smaller and requires less initialization, for a small performance improvement. (check-in: 0ddf5292cc user: drh tags: trunk)
15:07
Add the normalize.c extension. (check-in: 16ebe558d2 user: drh tags: trunk)
15:02
Merge changes from trunk. (check-in: 6ef3de810d user: drh tags: memdb)
14:40
Interchange the numeric codes for CURSOR_VALID and CURSOR_INVALID to obtain a small size decrease and performance increase. (check-in: e0f192ea6d user: drh tags: trunk)
14:39
Adjust the fts3rank.test module so that it works on big-endian systems (hopefully - I don't have a big-endian machine to test the change on.) (check-in: e4766cabdf user: drh tags: trunk)
13:15
Improved error message output when the btreeinfo.c extension is run in a connection that lacks sqlite_dbpage support. (check-in: 461b0b81b2 user: drh tags: trunk)
12:14
Prevent a harmless unused variable warning when compiling with SQLITE_OMIT_TRACE. (check-in: 61a44961b5 user: drh tags: trunk)
11:29
Fix a formatting issue in sqlite3_prepare_v3() documentation. No changes to code. (check-in: 9e6066de84 user: drh tags: trunk)
11:25
Fix the sqlite3ext.h header file so that it correctly accesses the new sqlite3_value_nochange() and sqlite3_vtab_collation() interfaces. (check-in: 6185d190e2 user: drh tags: trunk)
06:30
Update a couple of test scripts so that they work on F2FS file-systems that support atomic transactions. (check-in: 49e58e645e user: dan tags: trunk)
01:58
Make the shell functional even if compiled with SQLITE_OMIT_COMPLETE. Omit the sqlite3_complete() call from the fuzzing interface if it is compiled with SQLITE_OMIT_COMPLETE. (check-in: c3e816cca4 user: drh tags: trunk)
01:02
Invoke the sqlite3_complete() interface from the fuzzer. (check-in: 332bf84625 user: drh tags: trunk)
2018-01-23
20:22
Increase the version number to 3.23.0 for the next development cycle. (check-in: b58b60b2c0 user: drh tags: trunk)
19:24
Remove an unreachable branch from sqlite3SkipAccumulatorLoad(). (check-in: 8b9c8eab60 user: drh tags: trunk)
17:33
Work around a problem with GCC on 32-bit machines that cause the CAST operator to generate a floating-point result for strings that could be represented as very large integers. (check-in: 1b02731962 user: drh tags: trunk)
16:38
Fix a bug causing spurious "sub-select returns N columns expected 1" errors in join queries with a term like "(a, b) IN (SELECT ...)" in the WHERE clause. Ticket [7310e2fb3d046a5f5]. (check-in: 14dfd96f9b user: dan tags: trunk)
15:26
Fix the modification-time setting logic in the fileio.c extension on Windows so that it works with utf8 filenames. (check-in: f785b90415 user: drh tags: trunk)
14:01
In SQLITE_ENABLE_BATCH_ATOMIC_WRITE builds on F2FS file-systems, invoke SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE if an SQLITE_FCNTL_COMMIT_ATOMIC_WRITE call fails. Also, do not use an atomic transaction to create the initial database. This is because if an error occurs while writing to the db file, any changes to the file-size do not seem to be rolled back automatically. The only time this matters is when the file was 0 bytes in size to start with. (check-in: b3122db154 user: dan tags: trunk)
13:30
Fix comment typos. No changes to code. (check-in: 8e5e74c66b user: drh tags: trunk)
07:11
Skip defining WIN32_LEAN_AND_MEAN when it is already defined. (check-in: 195f5323df user: mistachkin tags: trunk)
04:22
Slightly faster implementation of the length() SQL function. (check-in: 9a4199aedb user: drh tags: trunk)
03:44
Slightly faster function dispatch in the virtual machine by avoiding unnecessary reinitialization of variables that are already correctly initialized. (check-in: edd4e6876c user: drh tags: trunk)
00:17
Simplify one of the compiler warning fixes from the previous check-in. (check-in: 012d7d49c5 user: mistachkin tags: trunk)
00:05
Fix harmless compiler warnings seen with MSVC. (check-in: 76a11a80e9 user: mistachkin tags: trunk)
2018-01-22
19:04
Merge all version-3.22.0 changes. (check-in: 27e20d6998 user: drh tags: apple-osx)
18:45
Version 3.22.0 (check-in: 0c55d17973 user: drh tags: trunk, release, version-3.22.0)
15:45
Avoid unnecessary OOM detection warnings in a debugging routine. (check-in: 395f8ea790 user: drh tags: trunk)
15:20
Fix a test case in walro2.test so that it works with encryption extensions (when each page has a little less usable space available than usual). (check-in: b79521d255 user: dan tags: trunk)
14:49
On the walro2-X.4.2.2 test case, show the size as part of the test output. (check-in: ac5091d7f8 user: drh tags: trunk)
2018-01-20
15:48
Allow the shell to be built from the configure script with SQLITE_OMIT_VIRTUALTABLE defined. (check-in: 136bf323e4 user: dan tags: trunk)
2018-01-18
19:00
Use a loop to avoid recursion in the heightOfSelect() function. (check-in: 86de43595c user: dan tags: trunk)
17:46
Check for both zlib.h and -lz before enabling zlib support in the amalgamation configure script. (check-in: 8ecd13a1b3 user: dan tags: trunk)
17:09
Update the autoconf configure.ac script and Makefile.am templates so that ZLIB is automatically detected and used. (check-in: 41bfb6b8d6 user: drh tags: trunk)
16:59
Fix sessions module handling of sqlite_stat1 rows with (idx IS NULL). (check-in: 0e91641633 user: dan tags: trunk)
16:56
Clarify the handling of the sqlite_stat1 table by legacy versions of the sessions module. (Closed-Leaf check-in: dc7c48cb41 user: dan tags: sessions-stat1)
16:53
Add comments describing the special sqlite_stat1 handling to sqlite3session.h. (check-in: 4431a3256f user: dan tags: sessions-stat1)
16:52
Fix to the documentation for sqlite3_trace_v2(). No changes to code. (check-in: 6fbd0a11a6 user: drh tags: trunk)
16:42
Fix sessions module conflict handling for the sqlite_stat1 table. (check-in: f05ee74e05 user: dan tags: sessions-stat1)
15:06
Simplify the sessions preupdate-hook logic for transforming NULL to X'' for column sqlite_stat1.idx. (check-in: 089d7cecaa user: dan tags: sessions-stat1)
2018-01-17
21:14
Alternative implementation for the internal sqlite3Pow10() utility for MSVC, which is more accurate on that platform. (check-in: 469b96be53 user: drh tags: trunk)
20:57
Fix a problem in the sessions module with logging sqlite_stat1 rows for which (idx IS NULL) is true. (check-in: 25bf734be1 user: dan tags: sessions-stat1)
17:38
Fix a problem causing the sessions module to occasionally lose track of rows with composite primary keys when there are two rows with the same text value in the leftmost column of the PK. (check-in: 09aed13678 user: dan tags: trunk)
16:11
Fix main.mk so that testfixture can be built either from the amalgamation or from individual source files. No changes to code. (check-in: a8aea925f8 user: dan tags: trunk)
13:15
Fix harmless compiler warnings, mostly unused parameters for UDFs in the CLI. (check-in: bfbeffab77 user: drh tags: trunk)
12:58
Omit the single test from zipfile.test that uses json functionality in non-SQLITE_ENABLE_JSON1 builds. (check-in: 6bb2a10fad user: dan tags: trunk)
12:57
Update test file fts5fault6.test to account for test tokenizers implemented in Tcl returning SQLITE_ERROR instead of SQLITE_NOMEM following an OOM error. (check-in: c232f6424a user: dan tags: trunk)
01:40
Simplifications to winOpenSharedMemory in the Win32 VFS. (check-in: 3e04999dab user: mistachkin tags: trunk)
01:26
Corrections to error code handling in os_win.c, pursuant to walfault.test. (check-in: 568192228c user: mistachkin tags: trunk)
01:15
Fix duplicate test names in 'walfault.test'. (check-in: 7274d05ff4 user: mistachkin tags: trunk)
2018-01-16
21:09
Fix a problem causing zipfile to store 0 in place of the CRC32 value for uncompressed files. (check-in: ba44724bcc user: dan tags: trunk)
21:05
Remove an unused field from the internal definition of the sqlite3_context object. (check-in: 948a26b5a6 user: drh tags: trunk)
21:00
Fix compiler warning in the FTS5 test interface. (check-in: 2ab4e8d5d8 user: drh tags: trunk)
20:50
Make the new sqlite3_vtab_collation() interface accessible to loadable extensions. (check-in: f301db3c23 user: drh tags: trunk)
20:44
Fix a test problem causing an error in fts5fault9.test. (check-in: 8e2048113f user: dan tags: trunk)
20:37
Remove the unused SQLITE_CANTOPEN_DIRTYWAL result code. (check-in: 3c786305fc user: drh tags: trunk)
20:20
Fix a makefile problem causing -DSQLITE_ENABLE_STMTVTAB builds to fail. (check-in: 7f6e5bdf90 user: dan tags: trunk)
20:05
Move the ZLIB version announcement in the CLI out of the default banner and put it in the ".version" command. (check-in: 231679d6f8 user: drh tags: trunk)
19:03
Show version of zlib in use when running the shell tool in interactive mode. (check-in: a8906b527a user: mistachkin tags: trunk)
17:33
Change a cat in zipfile.c from (z_const Bytef*) to just (Bytef*). This allows the module to build with older versions of zlib. (check-in: ac9af91d5a user: dan tags: trunk)
13:37
Fix a problem causing an infinite loop or other malfunction in some UPDATE statements with an OR term in the WHERE clause. Ticket [47b2581aa9bfecec] (check-in: feb2c2b6f6 user: dan tags: trunk)
02:38
Disable the ".archive" command tests in shell8.test if the CLI is compiled without ZLIB support. (check-in: ce8bfe6c2b user: drh tags: trunk)
2018-01-15
21:59
Merge the enhancements associated with the first 3.22.0 beta. (check-in: c9d2ec51c8 user: drh tags: apple-osx)
19:00
Fix a problem in the zipfile module causing it to generate incorrect checksums. Remove the ability to insert compressed data into a zip archive. (check-in: b0b7d0363a user: dan tags: trunk)
15:49
Fix a zipfile problem with extracting zero length files compressed using deflate. (check-in: cf64087224 user: dan tags: trunk)
14:32
Fix an error in the setDeviceCharacteristics() procedure for the (unsupported) QNX code in os_unix.c. (check-in: 8151913a39 user: drh tags: trunk)
2018-01-14
20:12
Avoid excess stack usage when a VALUES clause with lots of rows occurs within a scalar expression. This fixes a problem discovered by OSSFuzz. (check-in: a4fa0581ba user: drh tags: trunk)
2018-01-13
23:28
Fix harmless compiler warnings in zipfile.c. (check-in: 8f7a592f8c user: drh tags: trunk)
19:08
Support UPDATE statements against zipfile virtual tables. (check-in: f2d2a5df4f user: dan tags: trunk)
14:28
Fully initialize the Mem object for serial-type 10, in case such a serial-type is found in a corrupt database file. (check-in: bd70a07d81 user: drh tags: trunk)
14:02
Fix various problems in test scripts preventing "make test" from passing on F2FS file-systems with the "atomic-write" feature. (check-in: 6bedc7435d user: dan tags: trunk)
14:01
Fix a typo in crash8.test. (Closed-Leaf check-in: c3dc7b8d9d user: dan tags: f2fs-test-fixes)
13:07
Fix various problems in test scripts preventing "make test" from passing on F2FS file-systems with the "atomic-write" feature. (check-in: 56d93d070d user: dan tags: f2fs-test-fixes)
02:07
Updates and minor typo fix for the README. (check-in: bb196fcb67 user: mistachkin tags: trunk)
01:53
Add the new "nochange" APIs to the extension loading mechanism. (check-in: cd7c42699e user: drh tags: trunk)
2018-01-12
23:38
Add the sqlite3_value_nochange() API, usable from within the xUpdate method of a virtual table to discover whether or not a column was unchanged at the SQL level. (check-in: dec3ea4e4e user: drh tags: trunk)
23:18
Improved comments. Slightly tighter implementation, but no big changes. (Closed-Leaf check-in: a1b3f28569 user: drh tags: sqlite3_value_nochange)
21:00
Add the experimental sqlite3_value_nochange() interface usable by xUpdate methods of virtual tables to see if a column has actually changed values. (check-in: 8b7be15ece user: drh tags: sqlite3_value_nochange)
19:33
Simplification to the implementation of OP_Insert. (check-in: 6acbdba59e user: drh tags: trunk)
19:20
Fix error handling in sqlite3session_diff() when it is invoked for table "sqlite_stat1". (check-in: 874285e477 user: dan tags: trunk)
18:46
Avoid an unnecessary branch when not using pre-update hooks. (check-in: ec96707eb3 user: drh tags: trunk)
18:03
Fix obsolete comments. No changes to code. (check-in: ec39c99bea user: drh tags: trunk)
17:25
Include changes made to the sqlite_stat1 table in changesets generated by the sessions module. sqlite_stat1 entries in such changesets are ignored by legacy clients. (check-in: 2064233533 user: dan tags: trunk)
16:44
Experimental change to include changes made to the sqlite_stat1 table in changesets generated by the sessions module. sqlite_stat1 entries in such changesets are ignored by legacy clients. (Closed-Leaf check-in: bd46c44296 user: dan tags: sessions-stat1)
14:34
Always use utimes() instead of utimensat() since the latter is not available even on some recent unix systems. (check-in: 30ed7a4b64 user: drh tags: trunk)
12:02
Add a test to ensure that the sqlite3changeset_apply() function ignores tables that do not have the expected primary keys. (check-in: bf2daf0627 user: dan tags: trunk)
00:30
Enable the one-pass optimization for DELETE and UPDATE on RTree. This is parked in a branch because is seems to make no measureable performance difference. (Leaf check-in: 8b8314cb9b user: drh tags: rtree-one-pass)
2018-01-11
18:15
Add the sqlite3_vtab_nochange() interface. Test cases are in TH3. (check-in: a5d09dfaa3 user: drh tags: trunk)
17:33
Change zipfile to be a WITHOUT ROWID virtual table and table-valued function. (check-in: 931201f64e user: dan tags: trunk)
17:04
Add the sqlite3_vtab_nochange() method which virtual table implementations can use to optimize UPDATEs. (Closed-Leaf check-in: d444b1ff39 user: drh tags: sqlite3_vtab_nochange)
16:16
Add test cases for running multiple RBU operations within the same process concurrently. (check-in: 407b5ed35c user: dan tags: trunk)
14:50
Minor formatting changes in zipfile.c. No logical code differences. (check-in: 4f68bed3b9 user: drh tags: trunk)
13:43
Fix typo in comment. No code changes. (check-in: 2c55571baa user: drh tags: trunk)
00:38
Update the .help screen in the CLI. Make sure the temporary files for ".open" are not deleted too soon. (check-in: b8d92d8dc2 user: drh tags: trunk)
00:04
Add the built-in edit(VALUE) and edit(VALUE,EDITOR) function to the CLI. (check-in: ef823c47a0 user: drh tags: trunk)
2018-01-10
23:29
Add the ".once -e" and ".once -x" commands to the CLI, and the ".excel" command that is an alias for ".once -x". (check-in: a6ed5ab9bc user: drh tags: trunk)
23:27
Update test cases for the new "usage" for .output. (Closed-Leaf check-in: fbf5e43c07 user: drh tags: excel-shell-cmd)
22:27
Save and restore the output mode when doing ".once -x" or ".excel". (check-in: f697c16451 user: drh tags: excel-shell-cmd)
22:15
An attempt to get ".once -e" working reliably on Windows. (check-in: 9b97f9d2c8 user: drh tags: excel-shell-cmd)
21:50
Fix a potential SQLITE_MISUSE in the .excel command when no database is open. (check-in: 9b95ff1abf user: drh tags: excel-shell-cmd)
21:41
Add support for the ".excel" command (and ".once -e" and ".once -x") in the CLI. (check-in: 23fa7c57c2 user: drh tags: excel-shell-cmd)
19:50
Fix a harmless compiler warning in zipfile.c (check-in: 60c694c1ab user: drh tags: trunk)
19:15
Include RTREE in the default CLI build. (check-in: 6a6a3d4956 user: drh tags: trunk)
18:09
Modify the new "--append" option to the .archive so that it takes a filename argument, the same as "--file". (check-in: 58e3b07cc8 user: drh tags: trunk)
17:44
Add the lsmode(MODE) function in the fileio.c extension and use that function in the .archive implementation. Add the --append and --dryrun options to the .archive command and remove the --zip option, making it automatic. (check-in: 38f28029d1 user: drh tags: trunk)
17:39
Fix minor problems with the new ".archive" command changes. (Closed-Leaf check-in: 612b30c95f user: drh tags: archive-improvements)
17:37
Return an SQLITE_CONSTRAINT error if an attempt is made to insert duplicate entries into a zip archive. (check-in: 1f099b2b45 user: dan tags: trunk)
17:19
In the fileio.c extension, change the filetype(MODE) function into lsmode(MODE). Use the new lsmode(MODE) function in shell.c. (check-in: 52d12ba9f3 user: drh tags: archive-improvements)
16:50
Implement the ".ar --create" command using a single "REPLACE INTO sqlar SELECT ... FROM fsdir();" statement. Add the shell_putsnl() SQL function for providing --verbose output. (check-in: 28ab930436 user: drh tags: archive-improvements)
16:30
Have the zipfile module automatically append "/" to directory names that do not already end with such a character. This is required for info-zip compatibility. (check-in: 94bc3c60e7 user: dan tags: trunk)
15:53
Add the "filetype()" SQL function for interpreting file modes to the fileio.c extension. (check-in: 58c0c74c40 user: drh tags: archive-improvements)
15:17
The ".ar" command deduces whether or not the target file is a ZIP or SQLAR and does the appropropriate thing. The "-z" option is omitted. The "--append" option is added to open auxiliary databases using apndvfs. (check-in: 430d1a7daa user: drh tags: archive-improvements)
14:00
Allow the use of ".ar -t" without specifying an archive file or the "-z" option when the command-line shell is opened on a ZIP archive. (check-in: 9340a2c145 user: drh tags: archive-improvements)
13:58
Tag an unreachable branch using ALWAYS(). (check-in: c42c734f11 user: drh tags: trunk)
13:44
Checked into the wrong branch. (Closed-Leaf check-in: 55116dc30f user: drh tags: mistake)
13:11
Work on the ".archive" command. (1) Add the --dryrun option. (2) Do not require --file when open on a ZIP archive. (3) Miscellaneous code simplifications. This is an incremental check-in of work in progress. (check-in: a2baada429 user: drh tags: archive-improvements)
11:56
Fix a problem in os_unix.c causing it to return SQLITE_CANTOPEN instead of SQLITE_READONLY_RECOVERY. (check-in: 6a16f554f0 user: dan tags: trunk)
00:53
Rearrange some routines in shell.c to avoid the need to forward reference a static function. (check-in: fd7f51a107 user: drh tags: trunk)
00:40
Compute the correct column name even if the column identifier is the very last token in the SQL statement. This fixes a problem introduced by check-in [0fdf97efe5df745510c6b] and reported by the community during beta-testing. (check-in: 36b89d728f user: drh tags: trunk)
2018-01-09
22:23
When disconnecting from the 'swarmvtab' extension, close each database prior to invoking the 'openclose' function on it. (check-in: 3e5647cb6c user: mistachkin tags: trunk)
20:49
Fix harmless compiler warnings. (check-in: 0fb42090cb user: mistachkin tags: trunk)
20:44
Return SQLITE_CONSTRAINT if a user attempts to update a zipfile table. (check-in: 64c9ccf6c5 user: dan tags: trunk)
20:34
In the os_unix.c implementation of xOpen(), do not return SQLITE_READONLY_DIRECTORY in cases where the file cannot be opened for reasons other than a readonly directory, such as the process running out of file descriptors. (check-in: fa8b80bb96 user: dan tags: trunk)
18:31
Fix a potential crash in sqlite3expert.c caused by a missing sqlite3_reset() call. (check-in: f6355970f0 user: dan tags: trunk)
15:57
Fix another -fsanitize issue in new shell code. (check-in: 6ee7b54c58 user: dan tags: trunk)
15:28
Updates to the README.md file for the ext/misc directory. No code changes. (check-in: 6b3f4349d7 user: drh tags: trunk)
15:25
Fix the shell so that it can be built with SQLITE_OMIT_VIRTUALTABLE. (check-in: 931421a225 user: dan tags: trunk)
14:30
Do not attempt to build the code in ext/expert/sqlite3expert.c if SQLITE_OMIT_VIRTUALTABLE is defined. (check-in: ba967ad2e3 user: dan tags: trunk)
14:27
Attempt to fix the fileio.c extension so that it builds on MinGW-64. (check-in: a7446d3217 user: drh tags: trunk)
10:29
Fix a zipfile problem with adding new directories to an archive. (check-in: 5fed67033c user: dan tags: trunk)
07:16
Fix a problem in zipfile.c found by -fsanitize. (check-in: 4fe697fa6c user: dan tags: trunk)
02:27
Avoid a compiler warning when building with newer versions of MinGW (check-in: cba0206a15 user: drh tags: trunk)
00:28
Improve portability of compile-time MinGW detection for the command line shell. (check-in: 4a7236140c user: mistachkin tags: trunk)
00:26
Fix harmless compiler warnings. (check-in: 1adf4e6039 user: mistachkin tags: trunk)
2018-01-08
20:04
Test cases for sqlite3_normalize(). (Closed-Leaf check-in: 658f42257d user: drh tags: normalize)
19:59
Update the zipfile module so that it matches the documentation. (check-in: 7e7e472fa9 user: dan tags: trunk)
19:29
Special handling of the NULL keyword. Sometimes it is a literal, and sometimes it is a keyword. (check-in: db5d138e97 user: drh tags: normalize)
19:18
Add IN-operator normalizating and the SQLITE_NORMALIZE_CLI compile-time option for generating a stand-alone program. (check-in: d77dbb398a user: drh tags: normalize)
17:34
Fix problems in the sqlite3expert.c code revealed by -fsanitize. (check-in: 7a93dd784b user: dan tags: trunk)
17:12
Add an "ifcapable trace {}" block to a test in fkey1.test that uses SQL tracing. (check-in: 7182591d35 user: dan tags: trunk)
17:09
Remove a superfluous define from the 'fileio' extension when compiled for Win32. (check-in: 6dcba6693f user: mistachkin tags: trunk)
17:05
Fix a malloc/sqlite3_free mismatch in the shell tool code. (check-in: fe053b2ecd user: dan tags: trunk)
16:54
First code for an auxiliary function that will normalize an SQL statement. (check-in: 84814aac81 user: drh tags: normalize)
14:24
Fix compilation of 'sqltclsh.exe' for MSVC. (check-in: abb112d9e1 user: mistachkin tags: trunk)
2018-01-07
23:28
Avoid the use of utimensat() on older unix platforms. (check-in: 90cb01d8d6 user: drh tags: trunk)
21:58
Remove the dependency on test_windirent.h from the generated shell.c file. (check-in: 0a50c9e3bb user: drh tags: trunk)
20:38
Modify the sqltclsh startup script to look for a properly formatted SQLAR at the end of the executable. Fix the CLI so that it automatically links against appendvfs and so that the --append command-line option works. (check-in: 67c4a8c688 user: drh tags: trunk)
19:52
Improved comments on the sqlar.c and compress.c extensions that describe the differences between the "zlib format" used by SQLAR, the raw deflate format used by ZIP, and the custom format used by compress.c. No changes to code. (check-in: c13415c5ca user: drh tags: trunk)
2018-01-06
21:46
The shell detects and opens ZIP archives using the zipfile extension. (check-in: 05c99eb8ce user: drh tags: trunk)
19:19
In the shell, include the ".archive" command only if compiling with SQLITE_HAVE_ZLIB. Add ".archive" to the ".help" output. (check-in: 366469f560 user: drh tags: trunk)
15:49
Better whitespace in the "CREATE TABLE sqlar()" statement for the ".ar" command. (check-in: 252ee55a7f user: drh tags: trunk)
15:46
Improved output from ".schema --indent" when a column definition is followed by a comment. (check-in: 87da7efff0 user: drh tags: trunk)
14:44
Remove a trailing tab from the Makefile for MSVC. (check-in: 00cc26e34d user: mistachkin tags: trunk)
14:43
Minor tweaks to the Makefile for MSVC. (check-in: 2f6cc5d8a0 user: mistachkin tags: trunk)
13:42
Add the appendvfs extension and code for the sqltclsh.exe executable. (check-in: b0a43e325c user: drh tags: trunk)
13:33
Fix the appendvfs so that it leaves sqlite3_file->pMethods as NULL if it fails to open. (Closed-Leaf check-in: 46b341e3ad user: drh tags: appendvfs)
04:34
Add sqltclsh.exe to the windows makefile. (check-in: a6d5c7c2aa user: drh tags: appendvfs)
2017-12-23
18:40
Merge recent enhancements from trunk. (check-in: edceaccd66 user: drh tags: appendvfs)
2017-12-14
19:24
Fixes to the appendvfs.c extension. Add the "sqltclsh" application that uses appendvfs.c to find its scripts. (check-in: ee248b529c user: drh tags: appendvfs)
16:57
The "apndvfs" VFS shim now appears to be working for both reads and writes. (check-in: 7f7b72d836 user: drh tags: appendvfs)
16:28
Add the ability to write to an appended database. This check-in compiles but is otherwise untested. (check-in: e343c63cbd user: drh tags: appendvfs)
14:50
Bring in the latest trunk changes. (check-in: 75d8517703 user: drh tags: appendvfs)
2017-11-15
16:29
Merge all the latest changes from trunk. (check-in: 1a1a73b821 user: drh tags: appendvfs)
2017-10-21
12:59
Initial implementation of the appendvfs extension. Untested. (check-in: 063a03a377 user: drh tags: appendvfs)
2017-10-19
15:17
Take extra care to avoid an OOB read caused by a corrupt b-tree page. This fixes a problem detected by Natalie Silvanovich of Google Project Zero. (check-in: 04925dee41 user: dan tags: trunk)
2017-10-18
15:02
Avoid using snprintf as a member variable of a struct in sqlite3ext.h. This causes problems on OSX. Similar to fix [a1fd3aa8]. (check-in: cd0471ca9f user: dan tags: trunk)
14:29
Avoid using snprintf as a member variable of a struct in sqlite3ext.h. This causes problems on OSX. (Closed-Leaf check-in: b066d5a69f user: dan tags: sqlite3ext-fix)
2017-10-17
18:33
The source code files generated for the 'sqlite3-all.c' target should not have Windows line-endings. (check-in: 6a08c43431 user: mistachkin tags: trunk)
13:44
Fix the ".check" command of the command-line shell to return 1 (error) rather than 2 (exit) on a test failure. (check-in: e2af0cc6ef user: drh tags: trunk)
2017-10-16
11:50
Improved comments, including a typo fix, on the whereLoopCheaperProperSubset() function. (check-in: 700a3c6944 user: drh tags: trunk)
2017-10-15
22:16
In the query planner, do not consider index X to be a proper subset of index Y if X is a covering index but Y is not. (check-in: ee31c04353 user: drh tags: trunk)
2017-10-14
19:54
Updates to the Makefiles for MSVC. (check-in: ac8786f3f9 user: mistachkin tags: trunk)
2017-10-13
20:14
Improved ability to generate stand-alone program using TCL and SQLite by compiling with -DTCLSH_INIT_PROC=name to cause the TCL interpreter to be initialized using procedure name(). Both sqlite3_analyzer and testfixture are now built this way. (check-in: d65d1f297d user: drh tags: trunk)
18:58
Add the tcl/mkccode.tcl script used to construct a single C-language source fiel for programs that combine C-code, SQLite, and TCL. Use this script to construct the sqlite3_analyzer program. (check-in: 298a3fddec user: drh tags: trunk)
16:19
Move a bunch of unrelated test code out of tclsqlite.c and into test_*.c files. There is still some test code in tclsqlite.c, but the amount is greatly reduced. (check-in: a9c4bc88fc user: drh tags: trunk)
16:01
The db_use_legacy_prepare command no longer exists. Use the undocumented -use-legacy-prepare option to DB version instead. (Closed-Leaf check-in: ea2fa9ab9b user: drh tags: tclsqlite-cleanup)
15:56
When compiling with SQLITE_TEST, extra options are available on the "DB version" command for controlling the internal state of the SqliteDb object, for testing purposes. (check-in: bf86478d9c user: drh tags: tclsqlite-cleanup)
15:06
Move some test logic out of tclsqlite.c and into auxiliary test_*.c files. This is a work in progress. (check-in: 95b7687fed user: drh tags: tclsqlite-cleanup)
2017-10-12
20:37
Add the sqlite_dbpage virtual table (enabled using SQLITE_ENABLE_DBPAGE_VTAB). Make that virtual table and dbstat available to the command-line shell. (check-in: eaeeb09d4a user: drh tags: trunk)
19:50
Create the new ext/repair folder and move checkfreelist.c there. Remove checkfreelist.c from the command-line shell (undoing check-in [48418f2e]). (Closed-Leaf check-in: dfdebd12bf user: drh tags: dbpage)
13:47
The src/shell.c file is now generated from src/shell.c.in, so remove shell.c from version control and update the makefiles to build it automatically. (check-in: 36acc0a97f user: drh tags: trunk)
13:21
Merge fixes from the 3.21 branch. (check-in: 292921692c user: drh tags: trunk)
11:33
Fix a potential crash that may follow an OOM or other system error in the shell tool. (check-in: c36761e1a0 user: dan tags: trunk)
11:13
Update some test cases to work with SQLITE_OMIT_VIRTUALTABLE and DEFAULT_AUTOVACUUM builds. (check-in: 4b68f424ca user: dan tags: trunk)
10:28
Make sure the tableColumnList() routine of the command-line shell does not cause a null-pointer dereference in an error condition. (check-in: 5d0ceb8dcd user: drh tags: branch-3.21)
01:24
Merge fixes from the 3.21 branch. (check-in: 18d4654fd1 user: drh tags: dbpage)
01:19
Fix a typo in a numeric constant in an assert() - a bug that has been present in the code since check-in [79e22b95038] on 2010-03-30. (check-in: f0a2724f0a user: drh tags: branch-3.21)
2017-10-11
20:27
Add test file mmapwarm.test. With tests for the sqlite3_mmap_warm() extension. (check-in: 5c4980ef17 user: dan tags: trunk)
18:26
Add the checkfreelist extension to the command-line shell. (check-in: 48418f2ed5 user: drh tags: dbpage)
18:21
Check that the leaf count on each freelist trunk page is in range as part of checkfreelist processing. (check-in: 4e89406248 user: dan tags: dbpage)
18:00
Add new extension "checkfreelist", which uses sqlite_dbpage to check that there are no invalid entries on the database free-list. (check-in: 21930ef537 user: dan tags: dbpage)
17:51
Convert the implementation of the ".dbstat" dot-command of the command-line shell to use the sqlite_dbpage table. (check-in: 497409e167 user: drh tags: dbpage)
17:50
Make JSON1 defines consistent in the makefiles for MSVC. (check-in: 31eee0e4bf user: mistachkin tags: branch-3.21)
17:25
Enable JSON by default in the Windows command-line shell sqlite3.exe. (check-in: 79c96121ba user: drh tags: branch-3.21)
17:13
Enable sqlite_dbpage and dbstat virtual tables in the shell, by default. (check-in: 01bf856c42 user: drh tags: dbpage)
15:02
Get writes working on the sqlite_dbpage virtual table. Add a few test cases. (check-in: a8b264d811 user: drh tags: dbpage)
13:48
Initial implementation of the "sqlite_dbpage" virtual table. Currently it is read-only and has a place-holder xBestIndex. (check-in: c2c1d656e3 user: drh tags: dbpage)
12:20
In the speed-check.sh test script, allow an additional test-name argument which becomes the comparison baseline, in place of "trunk". (check-in: 0245adffc6 user: drh tags: trunk)
11:12
Create a branch for the 3.21.0 release. Development continues on trunk. (check-in: 0f160a8abb user: drh tags: branch-3.21)
2017-10-10
13:37
DROP TABLE now works for WITHOUT ROWID tables and the SQLITE_OMIT_AUTOVACUUM compile-time option. Fix for ticket [e651b1341861d6] (check-in: b8c1b5a584 user: drh tags: trunk)
2017-10-08
02:22
Fix harmless compiler warnings in FTS5 seen with MSVC. (check-in: 5594a121bf user: mistachkin tags: trunk)
2017-10-07
23:58
Fix harmless compiler warning seen with MSVC. (check-in: 39d920d1ef user: mistachkin tags: trunk)
23:35
Revise variable declaration moved in the previous check-in so sqlite3VdbeReset() is consistent with sqlite3VdbeRewind(). (check-in: 63d1b425ee user: mistachkin tags: trunk)
23:31
Fix C99-style variable declaration issue seen with older versions of MSVC. (check-in: 14b181e862 user: mistachkin tags: trunk)
2017-10-06
18:00
Add tests for the example fts3 "rank" function that appears in the documentation. (check-in: 702b137aa4 user: dan tags: trunk)
2017-10-05
20:57
Fix compiler warnings that come up with SQLITE_OMIT_WAL. (check-in: 8ca0fa8dfe user: drh tags: trunk)
20:02
Fix a problem building with SQLITE_OMIT_WAL defined. (check-in: 373b0ace48 user: dan tags: trunk)
19:12
Fix the command-line shell so that the ".schema --indent" command does a better job of dealing with \r\n in the middle of a CREATE statement in the schema. (check-in: 4258fb578a user: drh tags: trunk)
11:29
Disable the delta checksum verification in RBU by default. Reenable it using -DRBU_ENABLE_DELTA_CKSUM, if desired. (check-in: d22c99b6ba user: drh tags: trunk)
2017-10-04
18:26
Updates to requirements marks. (check-in: 40964a4ef7 user: drh tags: trunk)
17:05
Update the speedtest1 program so that it prints the output of "PRAGMA compile_options" if the -stats option is specified. (check-in: 7c69f8f108 user: dan tags: trunk)
16:35
Fix typos in session extension header comments. No changes to code. (check-in: 182ec9d6f6 user: mistachkin tags: trunk)
14:13
New test cases for ticket [b899b6042f97f5] derived from a bug report on the mailing list from Wout Mertens. (check-in: ef94ea061d user: drh tags: trunk)
12:08
Amend recent changes to busy.test to avoid failing with SQLITE_ENABLE_STAT4 builds. (check-in: 9ff4944194 user: dan tags: trunk)
12:06
Turn restriction 20 on the query flattener into an assert since the situation restricted can no longer occur because of the more aggressive use of co-routines. (check-in: 4464f40ccd user: drh tags: trunk)
10:39
Add tests to verify that the busy-handler is invoked correctly when processing "PRAGMA optimize" and ANALYZE commands. (check-in: fb83c3d8df user: dan tags: trunk)
05:59
Remove a redundant restriction from the query flattener. (check-in: 66629b2a09 user: drh tags: trunk)
02:30
Fix a minor typo in the query flattener header comment. No code changes. (check-in: d050dc605c user: drh tags: trunk)
2017-10-03
19:53
Simplify the computation of types on columns of a view. (check-in: 772b0db146 user: drh tags: trunk)
18:35
Do not enable SELECT tracing with -DSQLITE_DEBUG. Require the -DSQLITE_ENABLE_SELECTTRACE compile-time option to enable SELECT tracing. (check-in: f5c395834c user: drh tags: trunk)
17:29
Add some OK_IF_ALWAYS_TRUE() marks on optimization branches in select.c. (check-in: 1dd828088d user: drh tags: trunk)
17:17
Remove an unused variable from sqlite3Insert() and fix harmless compiler warnings associated with -DSQLITE_MUTATION_TEST. (check-in: 7be760e907 user: drh tags: trunk)
16:57
Fix the sqlite3_column_decltype() interface to return the correct datatype when the value comes through a CTE. (check-in: 966438bd25 user: drh tags: trunk)
14:24
The simplification to sqlite3SelectExpand() in last night's [3a4ffb21] check-in was not completely correct. This adjustment is needed for correct OOM handling in some configurations. (check-in: c5ad5e1675 user: drh tags: trunk)
03:01
Do not compute column and row size estimates for the transient Table objects associated with the result set of a SELECT statement, since those estimates are never used for anything constructive. (check-in: e4342fd401 user: drh tags: trunk)
2017-10-02
23:50
Mark a single branch within sqlite3SelectExpand() as an optimization. (check-in: 3a4ffb21d0 user: drh tags: trunk)
23:30
Simplification to sqlite3SelectPrep() for improved testability. (check-in: 5bf2ccb908 user: drh tags: trunk)
21:29
Add the OK_IF_ALWAYS_TRUE() and OK_IF_ALWAYS_FALSE() macros for marking conditionals that improve performance but do not change the outcome. (check-in: 6035c9b272 user: drh tags: trunk)
13:20
Avoid using lookaside memory for persistent virtual table structures. (check-in: d815f255df user: drh tags: trunk)
02:52
The query planner now always prefers to implement a FROM-clause subquery using a co-routine rather than flattening the subquery into the outer query. (check-in: c9104b59c7 user: drh tags: trunk)
02:32
Improvements to a comment in lempar.c. No code changes. (check-in: 8000d23017 user: drh tags: trunk)
2017-09-30
11:47
More details in the header comment of pushDownWhereTerms(). No changes to code. (Closed-Leaf check-in: 928486231f user: drh tags: prefer-coroutine-sort-subquery)
10:50
Make sure the SQLITE_Stat34 optimization switch is always 0x800, a value which is hard-coded in the TH3 test suite. (check-in: 6aed4ea34c user: drh tags: prefer-coroutine-sort-subquery)
01:25
Fix unreachable conditionals and revise a testcase that was made obsolete by the changes on this branch. (check-in: 71f0adf7ca user: drh tags: prefer-coroutine-sort-subquery)
2017-09-29
22:13
Always render a subquery that is not part of a join as a co-routine. (check-in: 6b1651d711 user: drh tags: prefer-coroutine-sort-subquery)
16:08
Merge the query flattener comment improvements from trunk. (check-in: f62cd4d940 user: drh tags: prefer-coroutine-sort-subquery)
16:07
Clean up the comments on the query flattener to more clearly and accurately express the conditions under which the flattener is able to run. (check-in: 0840f9f824 user: drh tags: trunk)
14:31
Merge changes from trunk. (check-in: 06f432fb7c user: drh tags: prefer-coroutine-sort-subquery)
12:44
Make sure the 6th parameter to the authorizer callback for view subqueries has the correct view name. (check-in: 2a45bbc9fd user: drh tags: trunk)
12:12
Better names for subqueries in EXPLAIN comments. (check-in: 04ef40a8fe user: drh tags: trunk)
2017-09-28
20:06
Do not flatten subqueries that contain an ORDER BY or GROUP BY clause and can be implemented using a co-routine. (check-in: 042d655dd9 user: drh tags: prefer-coroutine-sort-subquery)
17:29
Remove the (undocumented) query-planner control that prevents a "SELECT ALL" subquery in FROM clause from being implemented as a co-routine. This control was added by [a29e117d7ec], where it was called a "stop-gap". (check-in: ff2f5a31a2 user: drh tags: trunk)
16:56
Fix over-length source code lines in select.c. No logic changes. (check-in: fd3267ef92 user: drh tags: trunk)
13:47
Fix an issue introduced by check-in [4cd2a9672c59] (2017-03-03) that could allow a negative value in the 3rd parameter to memmove() when defragmentPage() is called on a btree page with a corrupted freeblock list. The corruption is now detected early and results in an SQLITE_CORRUPT return before the memmove() is reached. (check-in: 5b9ae69312 user: drh tags: trunk)
01:58
Add new routines to simplify dealing with collating sequences in expressions: sqlite3ExprNNCollSeq() and sqlite3ExprCollSeqMatch(). (check-in: 490e488ea9 user: drh tags: trunk)
01:09
Indexes on expressions with a COLLATE clause are able to satisfy an ORDER BY with the same COLLATE clause. (check-in: 0413001843 user: drh tags: trunk)
00:01
In two places, change the magic number -1 to its proper symbol XN_ROWID. (check-in: 80277d2fc9 user: drh tags: trunk)
2017-09-27
16:51
Disable tests for the LIKE optimization when ICU is enabled, since the LIKE optimization only works for the built-in LIKE operator and ICU overrides the built-in. (check-in: f5ef2e1bcd user: drh tags: trunk)
2017-09-25
09:37
Add an extra snapshot related test case. (check-in: 24a95e1437 user: dan tags: trunk)
2017-09-22
16:23
Use the updated Win32 VFS semantics for winOpen from check-in [5d03c738e9] for WinRT, et al, as well. (check-in: 2c03d8b8f0 user: mistachkin tags: trunk)
12:52
Partial backout of check-in [e0af9a904076]. It turns out we do need some extra space at the end of the record blob as an overrun area to use when decoding a maliciously malformed record. (check-in: 403b88a894 user: drh tags: trunk)
00:24
Update the configure script so that it looks for tclsh8.7 ahead of tclsh8.6. (check-in: 0a12915b37 user: drh tags: trunk)
2017-09-21
20:43
In the Windows VFS, when trying to open a database file read/write, if it fails check to see if the file exists and is read-only and immediately fall back to a read-only open attempt, rather than running the AV retry loop. (check-in: 5d03c738e9 user: drh tags: trunk)
20:03
In the Windows VFS, do not emit an SQLITE_CANTOPEN error log message when falling back from SQLITE_OPEN_READWRITE to SQLITE_OPEN_READONLY. Wait until the open fails completely. (check-in: fa3f5bcc23 user: drh tags: trunk)
19:08
Fix harmless UB in the ICU extension. (check-in: 68e9a840d9 user: drh tags: trunk)
13:11
Fix a potential use of an uninitialized pointer in RTree following an OOM error. (check-in: fd4ec0cdbd user: drh tags: trunk)
10:24
Fix a bug in tool/mksourceid.c: The mksourceid.c program was incorrectly including the "# Remove this line" line of the Fossil-generated "manifest" file in the SHA3 hash. That means that all SQLITE_SOURCE_IDs for trunk versions going back to check-in [30966d56] (2017-08-22) are incorrect. (check-in: 65765222ef user: drh tags: trunk)
01:04
Revert one performance improvement changes from check-in [3b3e32d4cd07] as it was causing a reference to an uninitialized value. (check-in: f8b1c64d3e user: drh tags: trunk)
00:49
Fix the rendering of the P4_INTARRAY argument to the OP_IntegrityCk opcode in the output of EXPLAIN. (check-in: adc12c83dd user: drh tags: trunk)
2017-09-20
18:47
Size and performance optimization on sqlite3VdbeMemGrow(). (check-in: 4b3f7eacb8 user: drh tags: trunk)
18:07
The BLOB returned by sqlite3VdbeMemFromBtree() does not need to be zero-terminated. (check-in: e0af9a9040 user: drh tags: trunk)
17:49
Small size and performance optimization in the bytecode engine. (check-in: 3b3e32d4cd user: drh tags: trunk)
10:47
Improved resolution of large integer values in "CAST(x AS NUMERIC)". (check-in: 7f2bd4ff45 user: drh tags: trunk)
09:09
Updates to the "lemon.html" document received from Andy Goth. (check-in: 5b2002f3df user: drh tags: trunk)
2017-09-18
18:17
Add the sqlite3_mmap_warm() function as an extension in the ext/misc/mmapwarm.c source file. (check-in: 1b2de41453 user: drh tags: trunk)
18:08
Fix a typo in the MSVC makefile. (Closed-Leaf check-in: 3235835bab user: drh tags: mmap-warm)
16:28
Add extension "mmapwarm.c". Provides function sqlite3_mmap_warm(), used to "warm up" the memory mapping used by SQLite in mmap mode to access db file content. (check-in: d4a30b91f9 user: dan tags: mmap-warm)
13:16
Minor simplification of error message generation during compound query code generation. (check-in: a944719314 user: drh tags: trunk)
09:40
The out-of-bounds read on recovery fix of check-in [378afa16381a222a] caused problems for some corner-case error conditions. This alternative fix appears to work better. (check-in: 74f399d81f user: drh tags: trunk)
00:18
Fix the CSV virtual table extension so that it works when the default character is unsigned. (check-in: 42f0777555 user: drh tags: trunk)
2017-09-17
19:45
Do not make the assumption (as check-in [4da49a95c0f07] incorrectly did) that the ExprList returned by sqlite3ExprListDup() would never be passed into sqlite3ExprListAppend(). Include a new test case that shows this sometimes does happen. (check-in: 29227d00a9 user: drh tags: trunk)
2017-09-16
20:58
Simplify the sqlite3VdbeGet() routine. Smaller, faster, and easier to maintain. (check-in: 5dbb255a93 user: drh tags: trunk)
2017-09-15
17:40
Remove an unnecessary parameter from selectInnerLoop(). (check-in: dd95887f82 user: drh tags: trunk)
15:38
Improved the header-comment documentation on sqlite3ExprCodeExprList(). No changes to code. (check-in: 5dc3ecb5f6 user: drh tags: trunk)
15:17
Optimization to the ExprList object to make it slightly smaller and faster. (check-in: 4da49a95c0 user: drh tags: trunk)
14:36
Fix a harmless comment typo. No changes to code. (check-in: f7f0bf1da0 user: drh tags: trunk)
2017-09-14
21:12
Add another test case for the problem fixed by the previous commit. (check-in: 1a7e0b61c8 user: dan tags: trunk)
20:41
Avoid an out-of-bounds read that can be caused by a specially constructed journal file. (check-in: cf5bf42cad user: dan tags: trunk)
02:36
Avoid an out-of-bounds read on a recovery attempt using a carefully crafted database and rollback journal with mismatched page sizes. The test case for this is in TH3. (check-in: 378afa1638 user: drh tags: trunk)
2017-09-13
20:20
Test case update due to PRAGMA integrity_check enhancements in [8525c30c]. No changes to code. (check-in: 43c6023bbf user: drh tags: trunk)
12:55
Disable FTS3 matchinfo() tests that assume a littleEndian platform when running on bigEndian. (check-in: 87ccdf9cbb user: drh tags: trunk)
00:33
Improvements to PRAGMA integrity_check for better detection of malformed records. Integrity_check now avoids returning SQLITE_CORRUPT on a corrupt record. Also includes microoptimizations that I stumbled over while working on integrity_check. (check-in: 8525c30c1d user: drh tags: trunk)
00:13
PRAGMA integrity_check returns SQLITE_OK even if it encounters corruption while scanning indexes. (Closed-Leaf check-in: 81f62e99f2 user: drh tags: improved-integrity-check)
00:01
Fix test script comment. No changes to code. (check-in: a5a1949259 user: mistachkin tags: trunk)
2017-09-12
23:58
Remove use of the rand_s() function (added by [139081bef9f63c3e]) as it appears to cause issues with some third-party DLLs. (check-in: 3a2793aa65 user: mistachkin tags: trunk)
15:05
Fix an error in [b22cdd67] that can cause a negative infinity to be (rarely) reported as a positive infinity. (check-in: 9780b23ca3 user: drh tags: trunk)
13:27
Changes to (hopefully) get the build working with recent Intel compilers. (check-in: b22cdd6734 user: drh tags: trunk)
00:24
Make sure all connections are closed in the pragma.test script. Test change only - no changes to code. (check-in: d7b7f038a2 user: drh tags: trunk)
2017-09-11
23:46
New test case for ticket [b899b6042f97f52d]. (check-in: 9d91ee5ee3 user: drh tags: trunk)
20:54
Add support for new operators in virtual tables: !=, IS, IS NOT, IS NULL, and NOTNULL. (check-in: 3b7dbe9da9 user: drh tags: trunk)
19:47
Refactor names of constants and functions associated with the auxiliary operators for xBestIndex. (Closed-Leaf check-in: 0fb992af66 user: drh tags: vtab-extra-ops)
18:37
Minor adjustments to indentation and spacing for clarity. No changes to code. (check-in: d3153abda6 user: drh tags: vtab-extra-ops)
08:53
Add tests to check that affinities work with != operators on virtual table column values. No changes to code. (check-in: 8d24e0803d user: dan tags: vtab-extra-ops)
2017-09-10
01:06
Simplifications to the PRAGMA integrity_check code generator. (check-in: 99b9140c79 user: drh tags: improved-integrity-check)
2017-09-09
22:46
Simplification and performance improvement to sqlite3_reset(). (check-in: b6425d0170 user: drh tags: improved-integrity-check)
20:38
Improved detection of malformed records by PRAGMA integrity_check. (check-in: 8fa923caa1 user: drh tags: improved-integrity-check)
19:41
Enhance the vtab interface to handle IS, !=, IS NOT, IS NULL and IS NOT NULL constraints. (check-in: 34c8e95261 user: dan tags: vtab-extra-ops)
00:51
Fix harmless compiler warnings seen with MSVC. (check-in: faa22e29a5 user: mistachkin tags: trunk)
2017-09-08
17:48
Have the header comment for sqlite3Checkpoint() mention TRUNCATE along with the other three checkpoint types. No changes to code. (check-in: e1e3ca7ea4 user: dan tags: trunk)
2017-09-07
09:56
Prevent a possible crash when trying to recover using a carefully corrupted \ and truncated rollback journal. (Test case in TH3) (check-in: 02828d717e user: drh tags: trunk)
2017-09-05
20:16
Update "PRAGMA integrity_check" to detect inconsistencies between a single record's header and body. (check-in: 9e393a0edf user: dan tags: trunk)
17:23
Fix a comment describing the xRowid method of the "series" virtual table. No code changes. (check-in: 868cd19600 user: dan tags: trunk)
16:24
Add experimental API sqlite3rbu_temp_size_limit(). For limiting the amount of temporary disk space RBU uses. (check-in: 7fdd629830 user: dan tags: trunk)
2017-09-04
19:31
Use the SQLITE_CORRUPT_BKPT return code in a couple more places. (check-in: 72d22c226b user: mistachkin tags: trunk)
18:44
Add the 'mksourceid' executable to the clean target for MSVC. (check-in: 77854694b2 user: mistachkin tags: trunk)
00:33
Proposed fix for ticket [b899b6042f97f5] (check-in: c7f9f47b23 user: drh tags: trunk)
00:19
Fix recent test cases in test/indexepxr2.test so that they work even without SQLITE_ENABLE_STAT4 and SQLITE_ENABLE_JSON1. (check-in: 03f3cc03aa user: drh tags: trunk)
2017-09-01
14:50
Add the new sqlite3PagerUnrefPageOne() pager method to deal with the special case of unreferencing page1. (check-in: b2e2100cf7 user: drh tags: trunk)
12:57
Remove an obsolete optimization in pcache that due to more recent changes was recently making the code a little slower. (check-in: c4e7e175ee user: drh tags: trunk)
12:18
Small size and performance improvement in pcacheManageDirtyList() by not zeroing the PgHdr.pDirtyNext and PgHdr.pDirtyPrev pointers for PgHdr objects that are not on the dirty list. (check-in: 919863b148 user: drh tags: trunk)
2017-08-31
21:11
Clarify the documentation about "protected" versus "unprotected" sqlite3_value objects. No changes to code. (check-in: 4094a3410e user: drh tags: trunk)
2017-08-30
13:21
Remove unnecessary "__declspec(dllexport)" qualifiers from generated file shell.c. (check-in: bcc20be5b2 user: dan tags: trunk)
04:44
Small performance optimization in pcache1. (check-in: ffd437da95 user: drh tags: trunk)
2017-08-29
20:21
Faster memory allocation from lookaside by not trying to keep track of the number of outstanding allocations, and rather computing that value only when requested. (check-in: a06263f1ef user: drh tags: trunk)
2017-08-28
17:00
Add the --enable-update-limit option to the ./configure script. (check-in: 64a8ae6838 user: drh tags: trunk)
16:11
Avoid unnecessary mutexes in the pcache1 implementation in the common case where no auxiliary page cache memory is configured. (check-in: 1ba051e34d user: drh tags: trunk)
15:51
Remove the rarely-used scratch memory allocator. This makes the code smaller, faster, and easier to maintain. In place of the scratch allocator, add the SQLITE_CONFIG_SMALL_MALLOC configuration option that provides a hint to SQLite that large memory allocations should be avoided. (check-in: 54b000246c user: drh tags: trunk)
14:33
Backport changes to shell.c into shell.c.in. (check-in: 2348045fbc user: drh tags: trunk)
11:12
Fix the ".dump", ".schema", and ".fullschema" commands of the command-line shell so that they work even if PRAGMA empty_result_callbacks is enabled. Fix for ticket [02f0f4c54f281]. (check-in: cf0d3715ca user: drh tags: trunk)
2017-08-25
19:51
Fix a few over-length source code lines. No functional changes. (check-in: 1783c54ce9 user: drh tags: trunk)
15:43
Size and performance optimization for sqlite3Init(). (check-in: 776d91284a user: drh tags: trunk)
13:34
Small performance optimization in sqlite3WhereBegin(). (check-in: 39f708d1e2 user: drh tags: trunk)
13:02
Convert a branch made unreachable by [59560d07] into an assert(). (check-in: 2738b8db3c user: drh tags: trunk)
11:44
Improve the internal mechanism used to keep track of what kind of syncing to do for WAL transaction commits and checkpoint operations. Use the checkpoint-style of syncing to sync the header of a new or restarted WAL file. (check-in: e8d23afe84 user: drh tags: trunk)
09:17
Avoid returning duplicate rows in experimental pragmas "pragma_list", "module_list" and "function_list". (check-in: b79cc8dc88 user: dan tags: trunk)
01:14
Update the mechanism used to keep track of what kind of syncing to do for WAL transaction commits and checkpoint operations. Use the checkpoint-style of syncing to sync the header of a new or restarted WAL file. (Closed-Leaf check-in: bf65dae8d4 user: drh tags: wal-sync-refactor)
2017-08-24
20:54
Fix an incorrect hyperlink in a comment. (check-in: 25292b9a4e user: drh tags: trunk)
15:43
Fixes to documentation about SQLITE_OPEN_URI. (check-in: 7ec72314d6 user: drh tags: trunk)
13:55
Make sure the sqlite3_result_pointer() interface does not leave a VM register in an inconsistent state. Fix for ticket [7486aa54b968e9b5]. Test cases are in TH3. (check-in: d2f9230c5c user: drh tags: trunk)
2017-08-23
23:09
Performance optimization to pageFindSlot() in the b-tree layer. (check-in: 59560d079f user: drh tags: trunk)
20:36
Size and performance optimization to dropCell() and freeSpace(). (check-in: bc1ec123ce user: drh tags: trunk)
14:45
Smaller and faster implementation of the fillInCell() routine. (check-in: 77074990ed user: drh tags: trunk)
2017-08-22
21:23
Update documentation to make it clear that SQLITE_SOURCE_ID and sqlite3_sourceid() might changes if the source code is edited. (check-in: e69c0c8770 user: drh tags: trunk)
21:07
Less dramatic changes to the source-id following an edit. Modify the way that the amalgamation is constructed to give it the opportunity to detect changes and modify the source-id. (check-in: 564c7340a3 user: drh tags: trunk)
19:54
Modify the SQLITE_SOURCE_ID if the source code has changed in any way since the previous check-in. (check-in: 515d6a8377 user: drh tags: trunk)
19:49
Trying again to get out-of-tree builds to work correctly. (Closed-Leaf check-in: a1b3337e94 user: drh tags: mksourceid)
19:43
Attempting to fix the source-id generator so that it works for out-of-tree builds. (check-in: 5a037ac2da user: drh tags: mksourceid)
19:19
Add the "mksourceid" program to the build process. That program changes the SQLITE_SOURCE_ID if the source tree has been modified in any way. (check-in: d4c05e04f7 user: drh tags: mksourceid)
15:21
Fix error tests in seldom-used compile-time branches of the unix backend. (check-in: 885c2b44a4 user: drh tags: trunk)
2017-08-21
02:20
Remove an unnecessary conditional. (check-in: 56d19f9fd7 user: drh tags: trunk)
02:05
Minor optimization to sqlite3VdbeMemSetStr(). (check-in: 6538ef7b6b user: drh tags: trunk)
2017-08-19
20:38
Space and size optimization to the printf implementation. (check-in: d01d2cffef user: drh tags: trunk)
2017-08-18
22:30
Another size and performance optimization to readDbPage(). This time we eliminate some unnecessary local variables. (check-in: 745bc8decd user: drh tags: trunk)
21:14
Size and performance optimization the readDbPage() routine in the pager. (check-in: ca9e1875c3 user: drh tags: trunk)
16:09
For the unix VFS, avoid an unnecessary stat() system call prior to opening any file in the common case where there are no unused file descriptors. (check-in: 3075cfa074 user: drh tags: trunk)
14:34
Combine the OP_CreateTable and OP_CreateIndex opcodes of the bytecode engine into a single OP_CreateBtree opcode. This simplifies the implementation and makes the bytecode programs clearer. (check-in: eb1202b5e4 user: drh tags: trunk)
08:29
Only use indexes on expressions to optimize ORDER BY and GROUP BY if the collation sequence matches. Possible fix for [e20dd54a]. (check-in: 37e1900880 user: dan tags: trunk)
2017-08-17
20:53
Use the __builtin_clzll() function of gcc to improve the performance and reduce the size of the sqlite3LogEst() routine. (check-in: a42a438cbb user: drh tags: trunk)
19:23
Small optimization in the Expr tree walker. (check-in: 264a5e1b75 user: drh tags: trunk)
18:54
Size optimization in the authorizer error message generation logic. (check-in: 0367a4d586 user: drh tags: trunk)
18:23
In sqlite3ViewGetColumnNames(), return the number of errors, not an error code. (check-in: f13682ea23 user: drh tags: trunk)
18:17
The RTREE extension should return SQLITE_CORRUPT_VTAB, not just SQLITE_CORRUPT when it encounters incorrectly formatted shadow tables. (check-in: 0712f057ef user: drh tags: trunk)
14:47
Remove an unnecessary branch from the [be436a7f4587ce517ddc] fix. (check-in: fb6ca99b88 user: drh tags: trunk)
14:12
Add test cases for ticket [be436a7f4587ce517] using virtual table modules fts5 and rtree. (check-in: 2101b42087 user: dan tags: trunk)
02:26
Defer schema resets when the query planner is running. Proposed fix for ticket [be436a7f4587ce517]. (check-in: a7bc7752ba user: drh tags: trunk)
2017-08-16
19:20
Avoid a test for CURTYPE_BTREE in sqlite3VdbeCursorMoveto() in order to reduce the size and improve the performance of OP_Column. (check-in: f078deb251 user: drh tags: trunk)
14:16
Remove an unnecessary local variable from OP_Column, for a small size reduction and performance increase. (check-in: 3954390328 user: drh tags: trunk)
11:04
Performance improvement in the OP_Column opcode. (check-in: dc98a92f32 user: drh tags: trunk)
2017-08-15
14:14
Small size and performance improvement in the OP_Column opcode. (check-in: 2cf3f3de8a user: drh tags: trunk)
03:46
Btree optimization: New field BtCursor.pPage that points to the current page, saving a single pointer dereference on each access. (check-in: 373b71d19c user: drh tags: trunk)
2017-08-14
23:53
Minor size and performance optimization to sqlite3BtreeCloseCursor(). (check-in: 1696933884 user: drh tags: trunk)
18:13
Change the internal btree routine moveToRoot() to return SQLITE_EMPTY if the table is empty or if it has pgnoRoot==0. This simplifies the callers, making them smaller and faster. The SQLITE_EMPTY result code is intercepted and changed into SQLITE_OK before surfacing in an API. (check-in: 240d57143d user: drh tags: trunk)
17:03
Fix harmless indentation error. (check-in: 25e92baaae user: drh tags: trunk)
14:53
Sometimes a TK_COLUMN Expr node can have Expr.pTab==0 if it is a reference to an expression column in an index on an expression. Fix for ticket [aa98619ad08ddcab]. (check-in: d0da791ba0 user: drh tags: trunk)