SQLite

Timeline
Login

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

100 descendants of 326e63d71e0e164c

2017-06-29
00:20
Implement xRemap for lsm1 on Win32. Also, zero file handle when closing it. (check-in: 93c9aa7d user: mistachkin tags: lsm-vtab)
2017-06-28
21:47
Alternative implementation of exprCompareVariable(). (check-in: b959c629 user: drh tags: partial-index-variables)
21:36
Implement xLock and xTestLock for lsm1 on Win32. (check-in: 9112117d user: mistachkin tags: lsm-vtab)
18:25
Make the query planners use of partial indexes based on bound variables responsive to the SQLITE_DBCONFIG_ENABLE_QPSG setting. (check-in: a934dd14 user: drh tags: partial-index-variables)
18:07
Merge the in the latest enhancements from trunk. (check-in: 8f63c586 user: drh tags: partial-index-variables)
17:29
Instead of the new sqlite3_prepare_v3() interface, provide the SQLITE_DBCONFIG_PREPARE_FLAGS interface which sets the flags on the single next call to sqlite3_prepare_v2() or its cousins. (Closed-Leaf check-in: 942c3ef8 user: drh tags: dbconfig-prepare-flags)
15:56
Incorporate recent trunk changes. (Closed-Leaf check-in: 62b8269b user: drh tags: prepare_v3)
15:47
Build the "stmts" virtual table into the amalgamation. It is active only when compiled using SQLITE_ENABLE_STMTSVTAB. That option is supplied to the command-line shell. (check-in: 0ff057d8 user: drh tags: stmts-vtab)
15:17
Fix harmless compiler warnings in the CSV extension. (check-in: f02a5459 user: drh tags: trunk)
15:01
Faster parser stack overflow detection. (check-in: 36e54cd8 user: drh tags: trunk)
14:26
Minor tweak to the SQL grammar to make the parser tables a few bytes smaller. (check-in: cc4810b2 user: drh tags: trunk)
13:47
In the lemon-generated parser, store the number of symbols on the RHS of each rule as a negative number and add it to the stack pointer, rather than storing the value as a positive and subtracting it. This makes the parser faster. (check-in: b362f0d8 user: drh tags: trunk)
11:56
In the lemon-generated parser, automatically promote SHIFTREDUCE actions on nonterminal systems to pure REDUCE actions, for a performance enhancement. (check-in: c46d94a8 user: drh tags: trunk)
01:21
Simplify error handling logic in sqlite3_exec() to save about 40 bytes. (check-in: 6480916c user: drh tags: trunk)
01:12
Minor code simplification in the ALTER TABLE logic. (check-in: bfc4e7f3 user: drh tags: trunk)
00:55
Avoid an unnecessary call to sqlite3XPrintf() in the code generator, for a performance improvement. (check-in: 29d6ceb3 user: drh tags: trunk)
2017-06-27
23:36
Add SQLITE_DBCONFIG_ENABLE_QPSG that forces the query planner stability guarantee. This is the fix for ticket [b9f010107724c] (check-in: b82efd2a user: drh tags: trunk)
22:33
Improve a local variable name. (check-in: d0f6973d user: mistachkin tags: lsm-vtab)
22:27
Initial work on porting lsmtest to Win32. (check-in: 7e669d9b user: mistachkin tags: lsm-vtab)
18:15
Implement xFullpath for lsm1 on Win32. (check-in: dbe9c8aa user: mistachkin tags: lsm-vtab)
16:48
Merge latest trunk changes with this branch. (check-in: 2b095406 user: dan tags: apple-osx)
16:39
Fix a virtual table problem that can occur when the vtab is on the RHS of a LEFT JOIN and there is a MATCH constraint in the ON clause, or when the vtab is in a sub-query that is the RHS of a LEFT JOIN and there is a MATCH constraint in the WHERE clause of the sub-query. (check-in: 87b38166 user: dan tags: trunk)
06:28
Minor corrections to the previous check-in. (check-in: e1cf8a78 user: mistachkin tags: lsm-vtab)
05:59
Work in progress porting lsm1 to Win32. (check-in: 2017636e user: mistachkin tags: lsm-vtab)
2017-06-26
21:08
Add the -withoutnulls option to the "db eval" method in the TCL interface. (check-in: 18f0616e user: drh tags: trunk)
18:42
The ".import" command of the shell, and the csv virtual table extension both ignore a single UTF-8 BOM at the beginning of their input. (check-in: 7c15d762 user: drh tags: trunk)
16:13
Add the "-unsetnull 1" option to the "sqlite3" command in the TCL interface. (Closed-Leaf check-in: cbe441b2 user: drh tags: unsetnull-option)
14:46
Make sure sqlite3VdbeSetVarmask() is never invoked when QPSG is enabled. (Closed-Leaf check-in: ebcfa73e user: drh tags: enable-QPSG)
13:57
Add the SQLITE_DBCONFIG_ENABLE_QPSG option to activate the query planner stability guarantee. This involves refactoring the sqlite3.flags bitvector to carve out a free bit to use. (check-in: 7076e828 user: drh tags: enable-QPSG)
11:46
Remove an invalid assert() from lsm test code. (check-in: ca8a7e99 user: dan tags: lsm-vtab)
08:24
Fix another problem with multi-threaded mode in the LSM test code. (check-in: 461ced77 user: dan tags: lsm-vtab)
07:31
Update a test case to reflect the fact that the lsm blocksize is configured in KiB. And defaults to 1024, not 2048. (check-in: d7015475 user: dan tags: lsm-vtab)
06:53
Fix some compiler warnings in lsm_file.c. (check-in: 23f16382 user: dan tags: lsm-vtab)
2017-06-24
19:21
Disable shell tests for the .schema command if virtual tables are not available. (check-in: c8186874 user: drh tags: trunk)
18:10
Consider the values bound to SQL variables when determining whether or not a partial index may be used. (check-in: 7b59c353 user: dan tags: partial-index-variables)
16:35
Make sure the config.h header is included by ctime.c, if that header exists. (check-in: c2ea6293 user: drh tags: trunk)
16:03
Query planner tuning: When deciding between two plans with the same cost, bias the selection toward the one that does not use the sorter. (check-in: f0ec36d4 user: drh tags: trunk)
13:31
Make sure enough memory is allocated for pathological quoting cases when computing a quoted table name in the command-line shell. (check-in: 0583b84a user: drh tags: trunk)
2017-06-23
21:05
Merge all recent trunk enhancements into the apple-osx branch. (check-in: 53b14a38 user: drh tags: apple-osx)
15:47
When generating individual loops for each ORed term of an OR scan, move any constant WHERE expressions outside of the loop, as is done for top-level loops. (check-in: 712267c9 user: dan tags: trunk)
2017-06-22
16:51
When generating individual loops for each ORed term of an OR scan, move any constant WHERE expressions outside of the loop, as is done for top-level loops. (Closed-Leaf check-in: e4a022be user: dan tags: or-optimization)
2017-06-21
01:36
Enable pragma virtual tables for the integrity_check, quick_check, and foreign_key_check pragmas. (check-in: 118f7bb3 user: drh tags: trunk)
2017-06-20
18:19
Rename the azCompileOpt global constant to avoid a harmless compiler warning about a name conflict with a local variable. (check-in: 94e420ec user: drh tags: trunk)
17:43
Ensure that the query planner knows that any column of a flattened LEFT JOIN can be NULL even if that column is labeled with "NOT NULL". Fix for ticket [892fc34f173e99d8]. (check-in: 48346268 user: dan tags: trunk)
2017-06-19
11:44
Experimental "PRAGMA secure_delete=FAST" pragma. The intent is to overwrite deleted content with zeros without increasing the amount of disk I/O. (Closed-Leaf check-in: f1682f0f user: drh tags: fast-secure-delete)
2017-06-17
19:06
Avoid adding an artifical "LIMIT 1" on scalar subqueries that do not need it. This seems like a pointless optimization as it makes minimal run-time difference but does increase code complexity. Parked on a branch for historical reference. (Leaf check-in: c21628e9 user: drh tags: subquery-limit-opt)
18:49
Fix a missing comma in the previous check-in. (check-in: f3db02f4 user: drh tags: trunk)
17:55
Rework the code in ctime.c a bit to report on more compile time options. And to only output configuration options passed in to SQLite, not the default values of #define symbols set automatically. Also generate the large array in ctime.c using new script tool/mkctime.tcl, instead of entering it manually. (check-in: 9a443397 user: dan tags: trunk)
17:29
Ensure that the value of the THREADSAFE symbol is always included when reporting compile time options, even if it was not explicitly configured. (Closed-Leaf check-in: 95141c64 user: dan tags: ctime-refactor)
16:39
Add extra test cases for sqlite3changeset_apply() and ALTER TABLE ADD COLUMN. (check-in: 603838fc user: dan tags: trunk)
2017-06-16
19:51
Rework the code in ctime.c a bit to report on more compile time options. And to only output configuration options passed in to SQLite, not the default values of #define symbols set automatically. Also generate the large array in ctime.c using new script tool/mkctime.tcl, instead of entering it manually. (check-in: bc1951d6 user: dan tags: ctime-refactor)
18:31
Minor refactoring change to clarify how ATTACH works. No functional changes. (check-in: 3944a32e user: drh tags: trunk)
13:43
Prevent pagesize changes on VACUUM in encrypted databases even when running the VACUUM on an attached database. (check-in: 11693849 user: drh tags: trunk)
2017-06-15
16:56
Move the "shell_add_schema()" SQL function used by the ".schema" command of the command-line shell to a different spot in the shell.c source file so that it is not in the middle of an unrelated module. (check-in: 254617a1 user: drh tags: trunk)
16:45
Fix typo and improve the wording of the description of "Metadata" in the output of the sqlite3_analyzer tool. (check-in: ca1ff707 user: drh tags: trunk)
15:06
Merge the latest changes from trunk. (check-in: 60105c22 user: drh tags: lsm-vtab)
13:07
Fix harmless compiler warnings in the shell.c file (check-in: 9afd7a2f user: drh tags: trunk)
12:50
Improvements to the ".tables" command in the command-line shell so that it shows the name of all schemas if the name is anything other than "main". (check-in: c7f778b7 user: drh tags: trunk)
12:21
In the command-line shell, enhance the ".schema" command show that it shows the schema for ATTACH-ed databases in addition to "main". (check-in: 48e08628 user: drh tags: trunk)
00:52
Enhance the sqlite3_analyzer.exe utility so that it computes and shows the number of bytes of metadata on btree pages and per table and index entry. (check-in: 43ad41ef user: drh tags: trunk)
2017-06-13
16:52
Fix sqlite3rbu_close() so that the pzErrmsg parameter may be passed NULL. (check-in: c433672d user: dan tags: trunk)
04:31
Fix the processing of double-negatives in WHERE clause constraints with STAT4. Ticket [cfa2c908f2182] (check-in: 35b34bdf user: drh tags: trunk)
2017-06-11
20:17
Fix an off-by-one error that messes up the display of loop codes in the ".wheretrace" debugging output for queries with more than 62 candidate loops when SQLITE_ENABLE_WHERETRACE is on. (check-in: 0bbdaf28 user: drh tags: trunk)
19:51
When reusing a materialized view, make sure the estimated number of output rows is correctly initialized to avoid confusing the query planner. (check-in: 87aceb41 user: drh tags: trunk)
19:40
Fix the sessiondiff test module so that it does not run if the session extension is not enabled. (check-in: 8f92b7a6 user: drh tags: trunk)
18:26
Fix a potential null-pointer deference following OOM introduced by check-in [e39795d7] (unreleased). (check-in: a2f77285 user: drh tags: trunk)
2017-06-09
15:14
Merge enhancements and fixes from trunk. (check-in: 3fd050c3 user: drh tags: prepare_v3)
11:43
Update the documentation to make it clear that the table name parameter to sqlite3_table_column_metadata() may not be NULL. (check-in: 2881ab1e user: drh tags: trunk)
02:27
Adjust the implementation of the ".selftest" feature of the shell to avoid using the deprecated sqlite3_get_table() interface. (check-in: 3168e2c9 user: drh tags: trunk)
2017-06-08
14:35
Add a testcase() to confirm that an OOM on sqlite3DbStrNDup() is handled correctly in trigger.c. (check-in: 343e5599 user: drh tags: trunk)
11:14
Ensure pointer map entries are always added when a row that does use overflow pages replaces one that does not in an auto-vacuum database. Fix for [fda22108]. (check-in: b30dfba8 user: dan tags: trunk)
2017-06-07
22:32
In SQLITE_DEBUG mode, attempt to log the page number of the database that contained the problem when SQLITE_CORRUPT errors are seen. (check-in: e39795d7 user: drh tags: trunk)
19:46
Fix another lsmtest build problem. Add the "-trans BOOLEAN" option to "lsmtest speed2". (check-in: 61853bc1 user: dan tags: lsm-vtab)
16:25
Merge in trunk enhancements. (check-in: f8bbb608 user: drh tags: prepare_v3)
10:55
Cause the ANALYZE command to build sqlite_stat1 table entries for empty tables with the assumption that such tables really contain 10 elements. This gives better query plans for tables that are truely empty, but is likely to cause problems in legacy systems, so the change is kept off trunk. Some TCL tests fail on this check-in due to the new stat1 entries. (Leaf check-in: c81f260c user: drh tags: analyze-empty-tables)
2017-06-06
18:20
Add the SQLITE_DEFAULT_ROWEST compile-time option for changing the estimated number of rows in tables that lack sqlite_stat1 entries. (check-in: 234ede26 user: drh tags: trunk)
16:14
Fix a threading problem in lsm test code. (check-in: 501238b9 user: dan tags: lsm-vtab)
2017-06-05
19:20
Fix a subtle bug in the remember UDF of the kvtest.exe utility program. (check-in: 9eea3670 user: drh tags: trunk)
16:33
Fix a bug in test_fs.c that occurs when the first component of a path contains a GLOB or LIKE escape character. (check-in: 73c70590 user: dan tags: trunk)
13:28
For the kvtest utility, add the --vacuum option to "kvtest stat" and also run PRAGMA integrity_check with "kvtest stat". (check-in: f3c25df4 user: drh tags: trunk)
12:29
Fix the column width deduction logic in the command-line shell to account for multi-byte utf8 characters. (check-in: ed0842c1 user: drh tags: trunk)
10:31
Omit some of the fstree tests in vtabH if the PWD contains LIKE wildcards. (check-in: ead29f9c user: drh tags: trunk)
2017-06-03
20:09
Initialize a variable to zero to prevent an (incorrect) compiler warning of it potentially being uninitialized. (check-in: 65182ce0 user: drh tags: trunk)
19:16
Fix the SQLITE_PTR_TO_INT macro so that works on recent versions of LLVM on Macs. (check-in: c4089ffb user: drh tags: trunk)
18:27
Remove unused header file from kvtest. (check-in: dd7e043f user: drh tags: trunk)
17:24
In kvtest, add the ability to work with a hierarchy of files on disk, in addition to having all files in the same directory. (check-in: f568f666 user: drh tags: trunk)
15:17
Add the --nocheckpoint and --multitrans options to kvtest. (check-in: 5828633c user: drh tags: trunk)
2017-06-02
23:44
Merge all recent trunk enhancements. (check-in: 1d23294d user: drh tags: lsm-vtab)
23:32
Add the --fsync flag to kvtest, and document the --nosync flag. (check-in: 7fdc78a6 user: drh tags: trunk)
19:31
Work toward enhancing kvtest to measure write performance. (check-in: fc73e7d2 user: drh tags: trunk)
15:44
Change the name of the OP_Seek opcode into OP_DeferredSeek for better clarity of function. No functional code changes. (check-in: ab33d299 user: drh tags: trunk)
13:16
Fix a typo in the header comment of the "series.c" virtual table extension. (check-in: d637feb4 user: drh tags: trunk)
2017-06-01
01:53
Add a comment to the Lemon documentation regarding the security of the lemon.exe command-line tool. (check-in: 4c2458c1 user: drh tags: trunk)
00:54
Add interfaces sqlite3_prepare_v3() and sqlite3_prepare16_v3() with the extra prepFlags argument. Add the SQLITE_PREPARE_PERSISTENT option as one bit in that argument. (check-in: 4a25c588 user: drh tags: prepare_v3)
2017-05-31
17:30
Add the SQLITE_STMTSTATUS_MEMUSED opcode to sqlite3_stmt_status() for finding the heap memory usage by a single prepared statement. (check-in: c26cf978 user: drh tags: trunk)
16:21
Add the SQLITE_STMTSTATUS_MEMUSED option for sqlite3_stmt_status() that reports the amount of heap memory used for a single prepared statement. (Closed-Leaf check-in: b57d5104 user: drh tags: stmtstatus-memused)
16:09
Add the experimental "stmts" virtual table for introspection of prepared statements. (check-in: cb4c5c66 user: drh tags: trunk)
13:45
Avoid allocating excess memory to the KeyInfo objects. (check-in: df785943 user: drh tags: trunk)
13:27
Remove a completely unnecessary memset() from the INSERT code generator. (check-in: 7d58836b user: drh tags: trunk)
11:24
Very small performance increase in sqlite3VdbeSetNumCols(). (check-in: 8885b446 user: drh tags: trunk)
03:20
Reorder fields in the PgHdr object for a performance increase. (check-in: 326e63d7 user: drh tags: trunk)