SQLite

Timeline
Login

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

100 check-ins occurring around 2b5df3e8a80ae5c0.

2017-07-07
16:09
In lsmtest, use an empty string instead of ":memory:" when requesting a temporary database from SQLite. This prevents other test code from trying to unlink() ":memory:", which fails on win32. (check-in: 281ad505 user: dan tags: trunk)
16:07
Remove a block from the Win32 VFS for lsm1 that is now superfluous. (check-in: db4a4140 user: mistachkin tags: trunk)
16:06
Memory reallocation fix for the Win32 VFS for lsm1. (check-in: 5a3140e4 user: mistachkin tags: trunk)
16:00
Enhance the sqlite3VdbeMultiLoad() interface to automatically generate the OP_ResultRow opcode on PRAGMA implementations, for a small reduction in the library footprint. (check-in: c46f0f07 user: drh tags: trunk)
15:43
Add new pragmas: "function_list" and "module_list" (check-in: e5f01d7f user: drh tags: list-pragmas)
14:54
Fix an obsolete comment on the sqlite3_namelist() function implementation. (Closed-Leaf check-in: f4229857 user: drh tags: experimental-namelist)
14:26
Merge recent enhancements from trunk. (check-in: 73d0fc02 user: drh tags: bind-pointer)
13:59
Exploit the fact that Expr.pRight and Expr.x are never used at the same time for a small performance gain. (check-in: aacbb9a4 user: drh tags: trunk)
12:58
More efficient and compact implementation of walkExpr(). (check-in: 115d4b83 user: drh tags: trunk)
12:43
More aggressive use of EP_Leaf on expression nodes, to help prune searches. (check-in: c1a1d68c user: drh tags: trunk)
11:49
Very slightly smaller and faster sqlite3WalkSelect(). (check-in: 9bc65635 user: drh tags: trunk)
2017-07-06
22:43
Small adjustment to main.mk that facilitates giving non-standard compile-time options to the shell. (check-in: 7c7d53a9 user: drh tags: trunk)
22:40
Always load the schema before starting tab-completion. (check-in: 907fd3aa user: drh tags: experimental-namelist)
20:08
Tab-completion now also works using readline/editline. (check-in: c906739f user: drh tags: experimental-namelist)
19:26
Use the sqlite3_namelist() interface to implement simple tab-completion using linenoise. (check-in: 5cc7b0e2 user: drh tags: experimental-namelist)
18:52
Change the sqlite3_namelist() interface to return a pointer to an array of pointers to strings, and to avoid duplicates. (check-in: 70291110 user: drh tags: experimental-namelist)
18:25
The sqlite3_namelist() routine now works for all name types. (check-in: e41d6217 user: drh tags: experimental-namelist)
17:36
Initial implementation of a highly experimental interface for listing all keywords and symbolic names for an SQLite database connection. (check-in: 04ef6783 user: drh tags: experimental-namelist)
16:33
Change the (machine-generated) keywordhash.h file to increase the scope of the tables used for keyword matching, so that the tables are accessible to functions other then keywordCode(). (check-in: c5ed5ebd user: drh tags: trunk)
13:51
More compact implementation of the typeof() SQL function. (check-in: efb4aab0 user: drh tags: trunk)
13:23
Avoid unnecessary upper-to-lower case conversion for function names when registering the built-in functions. (check-in: 06269257 user: drh tags: trunk)
03:06
Small size reduction in findCollSeqEntry(). (check-in: 55ecd303 user: drh tags: trunk)
02:49
Avoid unnecessary calls to sqlite3GetCollSeq() for a small performance gain. (check-in: 503ba172 user: drh tags: trunk)
01:28
Slightly more compact implementation of the byte-code generator for the COMMIT and ROLLBACK commands. (check-in: 4da663d9 user: drh tags: trunk)
01:02
Small performance increase in sqlite3SrcListAppend(). (check-in: 7b2623f1 user: drh tags: trunk)
2017-07-05
23:33
Make the hash table implementation a little smaller and faster. (check-in: f762f1ef user: drh tags: trunk)
18:48
Have fts3 virtual table cursors free internal resources when they reach EOF, instead of waiting until the xClose method is called. (check-in: b6b14ab6 user: dan tags: trunk)
16:20
Make use of covering indexes in the OR optimization. (check-in: fcbd6abd user: drh tags: branch-3.8.9)
14:54
Add the count-of-view optimization when compiled using SQLITE_COUNTOFVIEW_OPTIMIZATION. (check-in: b7ae4b87 user: drh tags: branch-3.8.9)
14:29
Fix a problem in lsmtest causing one test to fail for multi-threaded LSM connections. (check-in: 2bce64c8 user: dan tags: trunk)
2017-07-04
19:34
Add the count-of-view optimization when compiled using SQLITE_COUNTOFVIEW_OPTIMIZATION. (check-in: d1ba2002 user: drh tags: trunk)
19:23
Fix further OOM handling cases in LSM. (check-in: ca757c86 user: dan tags: trunk)
17:25
Fix a couple of problems in handling OOM conditions within LSM. (check-in: 989a5c17 user: dan tags: trunk)
12:50
Fix a problem in the lempar.c Lemon template for YYSTACKDEPTH<=0 introduced by check-in [36e54cd8b1fb37] (check-in: 268a40f4 user: drh tags: trunk)
2017-07-03
21:09
Fix compiler warnings in LSM1, especially in the test logic. (check-in: 9bd3be92 user: drh tags: trunk)
20:19
Fix a bug in lsm queries on levels undergoing incremental an merge that contain range-delete markers. (check-in: b2c24879 user: dan tags: trunk)
17:37
Attempt to improve documentation on sqlite3_column_ and sqlite3_value_ interfaces. (check-in: 9111ac69 user: drh tags: trunk)
09:00
Add more tests for LSM log file recovery. Fix a problem in recovering log files that contain range deletes. (check-in: e34eafd4 user: dan tags: trunk)
2017-07-01
20:59
Fix a memory management problem in lsm log recovery code. (check-in: dd55af30 user: dan tags: trunk)
15:21
Enhance the RTree module to detect node truncation early and report an error. (check-in: 66de6f4a user: drh tags: trunk)
2017-06-30
23:46
Update the carray() and remember() extension functions so that they user the new sqlite3_value_pointer() interface. (check-in: a99fa94d user: drh tags: bind-pointer)
23:09
Add APIs for binding pointers that can be used by app-defined functions. (check-in: d9f4a831 user: drh tags: bind-pointer)
20:11
Improved documentation for sqlite3_value_type(). (check-in: 0db20efe user: drh tags: trunk)
19:22
Add some assert() statements in the Win32 interface for lsm1. (check-in: d076d58f user: mistachkin tags: trunk)
18:12
Fix some minor typos in lsm1. (check-in: 0ef777d7 user: mistachkin tags: trunk)
11:44
Avoid constantly freeing and reallocing small internal buffers associated with LSM cursors. Instead, allow them to persist for the lifetime of the cursor if they are LSM_SEGMENTPTR_FREE_THRESHOLD (default 1024) bytes or smaller. This change is based on research by Martijn Blaauw. (check-in: bacfe8cb user: dan tags: trunk)
2017-06-29
21:33
In the command-line shell, add the -quote option to start up in quote mode. Enhance the ".mode" command so that it reports the current output mode if given no arguments. (check-in: 5e3f9ea5 user: drh tags: trunk)
21:11
Remove the ".explain" command from the ".help" output of the command-line shell, though keep the implementation around for backwards compatibility. (check-in: 7782c04e user: drh tags: trunk)
20:31
Some simple tests for the STMT virtual table. (check-in: a26e17ee user: drh tags: trunk)
20:23
Avoid reading or writing the 32 locking bytes at the end of the first meta-page of an LSM database. (check-in: 3ed6877f user: dan tags: trunk)
20:13
Avoid reading or writing the 32 locking bytes at the end of the first meta-page of an LSM database. (Closed-Leaf check-in: 2b5df3e8 user: dan tags: lsm-metapage-fix)
19:08
Fix issues in the POSIX and Win32 interfaces for lsm1. (check-in: 38ec4141 user: mistachkin tags: trunk)
17:27
Edit comments in sqlite.h.in used for generating documentation, to improve the description of the new sqlite3_prepare_v3() interfaces, and other miscellaneous cleanup. No changes to executable code. (check-in: 284707a7 user: drh tags: trunk)
16:51
More updates to the Win32 interface for lsm1. (check-in: cae64769 user: mistachkin tags: trunk)
15:57
Correct typo in the Win32 interface for lsm1. (check-in: 1b4facb1 user: mistachkin tags: trunk)
15:24
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. Use the new option in FTS3, FTS5, and RTREE. (check-in: 03977248 user: drh tags: trunk)
15:13
Further corrections to the Win32 interface for lsm1. (check-in: 4df6e247 user: mistachkin tags: trunk)
14:33
Rename the "stmts" virtual table to just "stmt" without the final "s". (check-in: adfdb801 user: drh tags: trunk)
14:17
A couple fixes for the Win32 interface for lsm1. (check-in: ebbd98e9 user: mistachkin tags: trunk)
13:41
Add the stmts virtual table to testfixture builds. Add new compile-time options SQLITE_ENABLE_QPSG and SQLITE_ENABLE_STMTSVTAB to ctime.c (check-in: 60c62829 user: drh tags: trunk)
13:35
Compilation fix for lsm1 using MSVC. (check-in: b7794cc5 user: mistachkin tags: trunk)
13:19
Add the LSM1 extension. (check-in: 824e8327 user: drh tags: trunk)
13:13
Add the "stmts" virtual table to the amalgamation, activated when compiled using -DSQLITE_ENABLE_STMTSVTAB. Add the SQLITE_STMTSTATUS_REPREPARE and SQLITE_STMTSTATUS_RUN statistics outputs from sqlite3_stmt_status() and add corresponding columns to the stmts virtual table. Change the numeric value of SQLITE_STMTSTATUS_MEMUSED to get it out of the way of counter values. (check-in: 88976ae3 user: drh tags: trunk)
12:59
The query planner examines the values of bound parameters to help determine if a partial index is usable. Reprepares may happen if the bindings change. This behavior is disabled by the QPSG setting. (check-in: c322bfa2 user: drh tags: trunk)
12:54
Implement xUnlink, xShmMap, and xShmUnmap for lsm1 on Win32. (Closed-Leaf check-in: 680cc064 user: mistachkin tags: lsm-vtab)
12:49
Add the SQLITE_STMTSTATUS_REPREPARE and SQLITE_STMTSTATUS_RUN options to sqlite3_stmt_status(). Use this for two new columns in the stmts virtual table. (Closed-Leaf check-in: b0b0c8f8 user: drh tags: stmts-vtab)
01:23
Fix the exprCompareVariable() routine so that it works for non-UTF8 text. (Closed-Leaf check-in: 25acd965 user: drh tags: partial-index-variables)
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)
20:21
Merge tserver fixes with this branch. (check-in: 58a0aab8 user: dan tags: server-process-edition)
20:12
Fix bugs in test program tserver.c. (Leaf check-in: 093b9108 user: dan tags: server-edition)
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)
20:23
Support clients within a single process only. (check-in: dfa9a4d5 user: dan tags: server-process-edition)
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)