/ Branches

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

The initial check-in for each branch:

21:15 Make the ieee754() a built-in function. Add the --ieee754 option to the ".dump" command in the shell to cause it to output floating-point values as ieee754() calls, so that the floating point number will be reproduced exactly. Not sure yet that we want to go this way, but it is one option. check-in: 7fa8f16e user: drh tags: ieee754
13:45 Initial attempt to get SQLite working with OFD locks on Linux. The code here does not function correctly. This is an incremental check-in for a work in progress. check-in: 148f8dec user: drh tags: ofd-locks
18:22 Consider doing a partial table scan to fulfill an IN operator rather than using an index. Try to pick the plan with the lowest cost. check-in: 1fa40a78 user: drh tags: in-scan-vs-index
00:36 Attempt to optimize the resolveExprStep() routine by mapping Expr opcodes into a subset of opcodes that resolveExprStep() cares about and only calling the routine when those opcodes are encountered. Is slightly faster, but it seems like the very slight performance bump is not worth the added complexity. Saved on a dead-end branch for historical reference. Leaf check-in: bad4d7a0 user: drh tags: dead-end
20:04 Calculate non-aggregate expressions in the SELECT list of an aggregate query that does not use min() or max() once per group, instead of once per row visited. Closed-Leaf check-in: dce2dfbe user: dan tags: exp-agg-opt
16:32 Work around a sanitizer warning about a pointer being only 4-byte aligned instead of 8-byte aligned. Closed-Leaf check-in: 1b807b51 user: drh tags: align8-fix
14:37 Proposed fix for the use of posix_fallocate() so that it handles EINVAL returns correctly. Closed-Leaf check-in: ab3a5539 user: drh tags: einval-from-fallocate
00:54 Demonstration code on a possible technique for optimizing the use of IN operator on columns to the right of multicolumn indexes. If the OP_Noop generated where were really a new opcode that checked to see if there existed any entries in the index with a matching prefix, it might prevent unnecessary iterations of the IN operator. check-in: 92f0fe15 user: drh tags: multikey-opt-idea
17:31 When compiling with SQLITE_DEBUG, add run-time checks to ensure that no statement aborts unless either there have been no writes or else there is a statement journal. check-in: 5a4542db user: drh tags: stmt-journal-testing
18:03 Experimental change that allows overloaded functions to be analyzed by the xBestIndex method and used by the xFilter method of a virtual table. Leaf check-in: a353b1d7 user: drh tags: vtab-func-constraint
19:22 Forward port the geopoly extension functions into the r-tree extension, with the idea of creating a new spatial index based on simply polygons. check-in: 0593aac8 user: drh tags: rtree-geopoly
14:39 This is an untested proof-of-concept for enhancements to RTree that attempt to use sqlite3_value_nochange() to reduce the amount of work associated with UPDATE operations in cases where either the coordinates or the auxiliary data is unchanged. Leaf check-in: 6f7cfeff user: drh tags: rtree-update-optimization
03:46 Add SQLITE_LOCKED_VTAB and SQLITE_CORRUPT_SEQUENCE to sqlite3ErrName(). Also, use SQLITE_CORRUPT_BKPT in one more place. Leaf check-in: eac8888d user: mistachkin tags: errCodes
13:39 Improvements to the sqlite3IntFloatCompare() routine for systems that lack the long double type. check-in: ea6a03a8 user: drh tags: int-float-compare
20:58 Start of experimental implementation of SQL window functions. Does not yet work. check-in: 3781e520 user: dan tags: exp-window-functions
17:57 Initial implementation of the ability to have auxiliary columns in an rtree virtual table that store arbitrary content. It mostly works, but there are some minor issues in OOM corner cases. check-in: 0c87fec9 user: drh tags: aux-data-in-rtree
17:12 Experimental syntax enhancement for an "INDEXED" keyword following a FROM-clause subquery that indicates that an automatic index on that subquery is suggested. check-in: 32b3d110 user: drh tags: exp-indexed-clause
22:47 Experiments with routines for processing GeoJSON. check-in: d22fbff2 user: drh tags: geojson
03:59 The sqlite3BtreeInsert() routine tries to overwrite an existing cell with modified content if the new content is the same size. Pages are only dirtied if they change. This prototype works some, but still has issues. check-in: 489451b3 user: drh tags: cell-overwrite-prototype
00:33 Begin reengineering the EXPLAIN QUERY PLAN function to provide more intuitive output. check-in: 70b48a79 user: drh tags: rework-EQP
01:18 The ".selecttrace 0x4000" command causes the AST to be output to stdout as a table with four columns. Leaf check-in: 2a75e631 user: drh tags: ast-trace-demo
19:32 Defer loading result column values into registers on an ORDER BY LIMIT until we know that the LIMIT does not exclude the current row. Closed-Leaf check-in: ce4ef460 user: drh tags: faster-order-by-limit
01:37 Bump the version number to 3.23.2. check-in: 242dc910 user: drh tags: branch-3.23
01:27 Add the "PRAGMA reset_database=ON|OFF" command. When on, it causes the database to appear to be empty, causing the next transaction to reset it to an empty database. check-in: 02e1a13c user: drh tags: reset-database
22:42 Document and expose sqlite3_win32_set_directory() function for use on Win32. check-in: cbce7180 user: mistachkin tags: win32dir
17:39 Add the ability to use bind parameters in the CLI. The new ".set KEY=VALUE" dot-command works to set bindings. Or use the "-Dkey=value" command-line option. Or use the built-in shell_bindings(k,v) virtual table to set, delete, or changing bindings. check-in: 1f2944d1 user: drh tags: shell-bindings
16:13 When processing an "ORDER BY ... LIMIT" that does not use an index, check whether or not a record may appear in the final result set before adding it to the sorter. Closed-Leaf check-in: 71bf91c2 user: dan tags: sorter-limit-opt
19:30 Disable the OR optimization based on expressions in the ON clause of a LEFT JOIN. This is a temporary measure until we can devise a better fix. Closed-Leaf check-in: 4df5ea93 user: drh tags: begin-concurrent-pnu-tempfix
15:56 Avoid unnecessary cursor seeks during upsert processing. check-in: 7c4b6d54 user: drh tags: upsert-opt2
20:18 Avoid unnecessary OP_Goto instructions on an upsert of a table that only has a single secondary index. Leaf check-in: 97dd21ab user: drh tags: upsert-opt
18:46 Experimental change to "SELECT * FROM ... ORDER BY" processing to load some column values from the db after sorting. check-in: 9719cb46 user: dan tags: sorter-reference
19:36 Demonstration of how the parser can be augmented to recognize a PostgreSQL-style UPSERT. This check-in implements parsing only. check-in: 9b22905b user: drh tags: upsert
17:40 Add infrastructure to support for using F_SETLKW with a timeout on system that support that functionality. Requires SQLITE_ENABLE_SETLK_TIMEOUT. check-in: 2e54a743 user: drh tags: lowlevel-lock-timeout
17:17 Fix an RBU problem causing errors when updating tables with default collation sequences that require quoting (e.g. COLLATE "ICU_root-u-kn-on"). Cherrypick of [eb4f452e]. Leaf check-in: 5dd61e1c user: dan tags: branch-3.22
21:16 If terms of the WHERE clause require that the right table in a LEFT JOIN not be a null row, then simplify the LEFT JOIN into an ordinary JOIN. check-in: 5b7abecc user: drh tags: join-strength-reduction
11:24 Add the ability to disable the push-down optimization using the 0x1000 bit of SQLITE_TESTCTRL_OPTIMIZATIONS. check-in: eddc35f3 user: drh tags: push-down-disable
16:59 Show symbolic SELECT names in EXPLAIN QUERY PLAN output when compiling with SQLITE_ENABLE_SELECTTRACE. Leaf check-in: 16c22ff8 user: drh tags: EQP-improvements
23:53 Fix a duplicate test number and cleanup a bit of Makefile whitespace. check-in: 56d11c25 user: mistachkin tags: testFixes
19:10 Fix a parsing issue associated with a corrupt sqlite_master table. check-in: 5f779ff6 user: mistachkin tags: corrupt-schema
18:46 Avoid writing the sqlite_sequence table when it has not actually changed. Closed-Leaf check-in: 3e3849a9 user: drh tags: autoinc-enhancement
05:25 Draft fix for an fsdir() issue reported via the mailing list. Closed-Leaf check-in: 48641010 user: mistachkin tags: fsDirFix
14:53 Add the SQLITE_DBSTATUS_CACHE_SPILL option to sqlite3_db_status() Closed-Leaf check-in: 3faeb851 user: drh tags: dbstatus-cache-spill
20:31 Add sqlite3_changeset_apply_v2() and apply_v2_strm() to the sessions module. check-in: 445bfe97 user: dan tags: sessions-rebase
14:42 Fix utility compilation issues with MSVC. check-in: 5bd5a798 user: mistachkin tags: msvcFixes
03:20 Experimental implementation of IS TRUE and IS FALSE operators. All TRUE and FALSE to act like constants if the names do not resolve to a column name. check-in: 40314bc9 user: drh tags: is-true-operator
17:03 In the printf() library, measure width and precision in characters rather than bytes if the "!" (alternate-form-2) flag is present on a %s or %z substitution. check-in: ca31c663 user: drh tags: printf-enhancement
20:00 On unix, the "PRAGMA fsync_interval=N" command causes an extra fdatasync() after writing N bytes of content, to force a write-queue flush in the underlying OS. This is an experimental hack that is not expected to land on trunk. Leaf check-in: b18cc5fe user: drh tags: write-queue-flush-hack
17:41 Add the start of the "zonefile" extension. check-in: c125b4c3 user: dan tags: zonefile
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: e2114df1 user: dan tags: zipfile-timestamp-fix
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: 88411a40 user: dan tags: omit-left-join-fix
01:56 Enhance the PRAGMA noop_update statement so that the behavior persists across reprepare operations. Leaf check-in: c25da6de user: drh tags: noop-update-reprepare
20:57 Fix a problem in the sessions module with logging sqlite_stat1 rows for which (idx IS NULL) is true. check-in: 25bf734b user: dan tags: sessions-stat1
13:07 Fix various problems in test scripts preventing "make test" from passing on F2FS file-systems with the "atomic-write" feature. check-in: 56d93d07 user: dan tags: f2fs-test-fixes
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: 8b7be15e user: drh tags: sqlite3_value_nochange
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: bd46c442 user: dan tags: sessions-stat1
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: 8b8314cb user: drh tags: rtree-one-pass
17:04 Add the sqlite3_vtab_nochange() method which virtual table implementations can use to optimize UPDATEs. Closed-Leaf check-in: d444b1ff user: drh tags: sqlite3_vtab_nochange
21:41 Add support for the ".excel" command (and ".once -e" and ".once -x") in the CLI. check-in: 23fa7c57 user: drh tags: excel-shell-cmd
13:44 Checked into the wrong branch. Closed-Leaf check-in: 55116dc3 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: a2baada4 user: drh tags: archive-improvements
16:54 First code for an auxiliary function that will normalize an SQL statement. check-in: 84814aac user: drh tags: normalize
01:28 Add support for the "memdb" VFS and the sqlite3_memdb_ptr() and sqlite3_memdb_config() interfaces, to enable an SQLite database to be manipulated as an in-memory object. check-in: fb2ac2d2 user: drh tags: memdb
16:59 Experiments with the regexp.c extension, trying to get it to report the exact substring that matches the RE. Leaf check-in: 3d6fba62 user: drh tags: regexp-span
14:11 Fix crashes that could occur if SQL NULL values were passed to the built-in FTS5 snippet function. Edit: breaks amalgamation builds. check-in: 553a3ad3 user: dan tags: mistake
17:06 Improved parser tracing output. check-in: 25be5750 user: drh tags: lemon-improvements
00:18 Remove the ExprSpan object. Instead, keep track of the test of subphrases in the parse using the "scanpt" non-terminal. check-in: 3eab7bdc user: drh tags: span-refactor
17:42 Experimentally add the SQLite expert functionality to the shell tool. Closed-Leaf check-in: 51068dba user: dan tags: expert-in-shell
20:20 Add an experimental location(X) SQL function that attempt to return the location of the payload within the database for the record that contains column X. location(X) returns NULL if X is not an ordinary table column or if SQLite cannot figure out the location because it is using a covering index. check-in: 51be9558 user: drh tags: location-function
18:32 If SQLITE_HAVE_ZLIB is defined at build-time, include the functions in ext/misc/compress.c in the shell. check-in: 0296286a user: dan tags: sqlar-shell-support
02:47 Add the "PRAGMA table_ipk(TABLE)" command for evaluation purposes. Leaf check-in: 2494132a user: drh tags: pragma-table-ipk
17:51 Add experimental feature to detect threading bugs in apps that use SQLITE_CONFIG_MULTITHREADED. Enabled at compile time using SQLITE_ENABLE_MULTITHREADED_CHECKS. check-in: a66886ac user: dan tags: multithreaded-checks
23:47 An experimental optimization to DISTINCT that causes an immediate exit of the inner loop of a join following each output row if the inner loop does not contribute any columns to the result set. Leaf check-in: a33f88ac user: drh tags: distinct-early-out
19:22 Update the omit-table-from-left-join optimization so that it can omit tables from the middle of the join as well as the end. Closed-Leaf check-in: 618ca9fe user: dan tags: left-join-optimization
14:40 Fix a problem preventing the planner from identifying scans that visit at most one row in cases where that property is guaranteed by a unique, not-null, non-IPK column that is the leftmost in its table. check-in: 299d7ca5 user: dan tags: left-join-omit-fix
17:30 Enhance the log messages produced in some cases if database corruption is encountered by an SQLITE_DEBUG build. Closed-Leaf check-in: 23a31280 user: dan tags: sqlite-corrupt-page
08:20 Avoid creating a master journal if all or all but one of the databases in the transaction is a temp file. Closed-Leaf check-in: 355d1232 user: dan tags: master-journal-temp-files
19:53 Add SQLITE_ENABLE_UPDATE_DELETE_LIMIT for views and WITHOUT ROWID tables. check-in: 584b88aa user: dan tags: update-delete-limit-fix
17:17 Allow readonly_shm connections to access the *-shm file using read() even if it is unable to take a DMS lock. check-in: 9b0d5c4f user: dan tags: fcntl_shm_read
18:26 Speed up wildcard searches in LIKE using strchr() Closed-Leaf check-in: 4d336d74 user: drh tags: like-compare-opt
23:28 I was a little concerned about this check-in. Though I could not generate a failure myself, I thought it was risky. I checked it in for further testing. Then, overnight, OSSFuzz found a failure case for me. So the change is now moved out into a deadend branch. Was: Use OP_SCopy rather than OP_Copy to transfer results from a co-routine to its consumer. This undoes an earlier fix for ticket [98825a79ce] by check-in [ec6a06246e] because that problem no longer occurs due to WHERE clause push-down. Closed-Leaf check-in: 0926df09 user: drh tags: mistake
20:53 Add the start of the "incremental_index_check" virtual table in ext/repair/checkindex.c. For incremental verification of index contents. check-in: d5b9dada user: dan tags: checkindex
23:28 Use extra locks to prevent a readonly_shm=1 process from connecting to a WAL-mode database if there are no writers. check-in: 35d97908 user: drh tags: readonly-wal-recovery
16:38 Add SQL scalar function rtreecheck() to the rtree module. For running checks to ensure the shadow tables used by an rtree virtual table are internally consistent. check-in: dde0bb3e user: dan tags: rtree-integrity-check
12:59 Initial implementation of the appendvfs extension. Untested. check-in: 063a03a3 user: drh tags: appendvfs
14:29 Avoid using snprintf as a member variable of a struct in sqlite3ext.h. This causes problems on OSX. Closed-Leaf check-in: b066d5a6 user: dan tags: sqlite3ext-fix
15:06 Move some test logic out of tclsqlite.c and into auxiliary test_*.c files. This is a work in progress. check-in: 95b7687f user: drh tags: tclsqlite-cleanup
15:28 Add the experimental "sqlite_expert" extension. Used to find index definitions that might help with specified SQL queries. (Later:) Parked on a dead-end branch due to an assertion fault in TH3. We will merge again after the bug is fixed. Closed-Leaf check-in: d1ef9eab user: dan tags: withdrawn
13:48 Initial implementation of the "sqlite_dbpage" virtual table. Currently it is read-only and has a place-holder xBestIndex. check-in: c2c1d656 user: drh tags: dbpage
11:12 Create a branch for the 3.21.0 release. Development continues on trunk. check-in: 0f160a8a user: drh tags: branch-3.21
20:57 Add experimental mode that uses two wal files. Activated using "PRAGMA journal_mode = wal2". check-in: e2fc5c81 user: dan tags: wal2
03:24 Simplification to the logic that computes column type names. Update: Does not work in all configurations. Closed-Leaf check-in: f10ece96 user: drh tags: does-not-work
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: 042d655d user: drh tags: prefer-coroutine-sort-subquery
07:46 Experimental change so that snapshot transactions always lock the wal file - preventing writers or truncate-checkpointers from wrapping it. Closed-Leaf check-in: d71eeaab user: dan tags: snapshots-lock-wal
14:03 The sqlite3_snapshot_describe() interface useful for debugging snapshot logic. Leaf check-in: 3fbfa9a8 user: drh tags: sqlite3_snapshot_describe
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: d4a30b91 user: dan tags: mmap-warm
18:38 Experimental sqlite3_stmt_retryable() interface. Leaf check-in: ebada072 user: drh tags: sqlite3_stmt_retryable
20:09 Add the highly-experimental "PRAGMA noop_update=TRUE" command. check-in: afe45271 user: drh tags: begin-concurrent-pnu
18:49 Add the highly-experimental "PRAGMA noop_update=TRUE" command. Leaf check-in: de2e3717 user: drh tags: pragma-noop-update
18:03 Hack to have multiple connections to a single file share a single memory mapping of the databse file. check-in: ec37ad6d user: dan tags: shared-mapping-hack
20:38 Improved detection of malformed records by PRAGMA integrity_check. check-in: 8fa923ca 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: 34c8e952 user: dan tags: vtab-extra-ops
08:03 Use a mutex-free PRNG for the random() and randomblob() SQL functions and for the randomness used during checkpoint operations. Leaf check-in: e63d1a7c user: drh tags: mutex-free-randomness
10:55 Instrumentation and changes in an effort to reduce thread contention. Leaf check-in: c93298d5 user: drh tags: reduced-thread-contention
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: bf65dae8 user: drh tags: wal-sync-refactor
19:44 mksourceid still does not work right. Leaf check-in: ca5dcb4a user: drh tags: mistake
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: d4c05e04 user: drh tags: mksourceid
01:07 Fix a problem allowing a conflicting transaction to be committed in the case where more than one 32KB shared-memory page has been written to since the transaction was started. check-in: 346a710d user: drh tags: begin-concurrent-branch-3.19
15:19 Experimental changes that allow a WITHOUT ROWID virtual table to be writable as long as it has only a single-column PRIMARY KEY. check-in: ab9ee4c1 user: drh tags: writable-vtab-without-rowid
20:35 Add experimental sqlite3_open_v2() flag SQLITE_OPEN_REUSE_SCHEMA. For sharing identical in-memory schema objects between connections. Leaf check-in: a6256980 user: dan tags: reuse-schema
18:13 Avoid casting a value larger than 2^31 to a (size_t) on systems where it is a 32-bit type. check-in: 46c3085d user: dan tags: mmap-size-limit
15:50 Add SQLITE_API qualifiers to public API functions in header file sqlite3rbu.h. check-in: d8637bad user: dan tags: sqlite3rbu.h-fix
19:59 Enhance the code in unionvtab.c to also provide the "swarmvtab" virtual table module. There are still several problems on this branch. check-in: 03d94388 user: dan tags: union-vtab
16:01 Move the generation of output column names earlier, to right after name resolution and before query transformations such as flattening. This prevents the names from getting mangled by query transformations, and obviates hacks in the query flattener that attempt to work around the name mangling. The resulting code is smaller and faster and gives more consistent output. This is an alternative fix to ticket [de3403bf5ae5f72ed]. check-in: 09834279 user: drh tags: early-column-names
03:33 In the query flattener, only add AS clauses to output columns of the outer query that are copied directly from the inner query. Formerly, all columns of the outer query received an AS clause if they did not have one already. This is a proposed fix for ticket [de3403bf5ae5f72]. check-in: 439cc5c5 user: drh tags: flattener-column-names
02:02 Backport of all batch-atomic-write changes through check-in [67bad7fb9b] check-in: def55027 user: drh tags: batch-atomic-write-3.19
14:04 A demonstration of how FTS3 cursor pointers can be passed from the MATCH operator to the snippet() function securely and opaquely without having to use the sqlite3_result_pointer() and sqlite3_value_pointer() interfaces. Closed-Leaf check-in: 49cf31da user: drh tags: pass-pointer-as-blob
03:48 Add a destructor argument to sqlite3_bind_pointer() and sqlite3_result_pointer(). check-in: 3d9e841f user: drh tags: pointer-with-destructor
18:26 Allow ATTACH and DETACH to occur inside of a transaction. Closed-Leaf check-in: ac1fd6be user: drh tags: attach-in-trans
15:12 Release candidate 2 for 3.20.0. check-in: f39cb76b user: drh tags: branch-3.20
07:45 Add new interfaces sqlite3_result_pointer(), and sqlite3_value_pointer() and use them to transfer the eponymous FTS3 column pointer to the snippet() and offsets() routines. This changes is a cherry-pick of [f0f49224] with version-specific edits. That check-in was inspired by check-in [72de49f2]. check-in: 69906880 user: drh tags: branch-3.9.2
19:49 Add support for F2FS atomic writes. Untested at this point. check-in: 416973ed user: dan tags: batch-atomic-write
16:55 Experimental API sqlite3_stmt_refresh() to force a prepared statement to recompile if it needs to due to a schema change or other factor. Leaf check-in: 10556ee4 user: drh tags: sqlite3_stmt_refresh
19:48 Allow indexes to be created on date/time functions as long as the 'now' date and the 'localtime' and 'utc' modifiers are not used. check-in: 0a5e1c04 user: drh tags: index-on-date-func
17:12 Create "pure" versions of the date/time functions that omit the 'now' feature and are therefore deterministic and usable in an index. Closed-Leaf check-in: 55791928 user: drh tags: pure-date-functions
11:20 Add VFS interfaces needed to make use of batch atomic write capabilities in the underlying filesystem. check-in: 929bc46b user: drh tags: batch-atomic-write
19:07 For FROM-clause subqueries that cannot be flattened, try to push relevant WHERE clause terms of the outer query down into the subquery in order to help the subquery run faster and/or use less memory. Cherry-pick from [6df18e949d36]. Still need to backport bug fixes associated with that check-in. check-in: 043d6ce8 user: drh tags: push-down-backport
09:30 Use integer handles for fts3 cursors for a small performance improvement. Closed-Leaf check-in: f4f7196b user: dan tags: fts3-int-cursor, union-vtab
00:40 Add an experimental "pointer type" parameter to sqlite3_bind_pointer(), sqlite3_result_pointer(), and sqlite3_value_pointer(). The pointer type is a string that must compare equal using strcmp() or else the pointer comes through as a NULL. check-in: 211cce04 user: drh tags: pointer-types
20:48 Add the "unionvtab" virtual table extension in ext/misc/unionvtab.c. check-in: 62a86aa6 user: dan tags: union-vtab
13:35 First release candidate for version 3.20.0. check-in: 035a86ec user: drh tags: branch-3.20
14:33 When testing non-indexed WHERE constraints, test those that involve correlated sub-queries last of all. This increases the chances of not having to run the sub-query at all. check-in: 1f9c1f35 user: dan tags: defer-where-subqueries
18:27 Disable compiler intrinsics when using the Intel C Compiler. Leaf check-in: dbb59f61 user: drh tags: icc-fix
15:43 Add new pragmas: "function_list" and "module_list" check-in: e5f01d7f user: drh tags: list-pragmas
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
23:09 Add APIs for binding pointers that can be used by app-defined functions. check-in: d9f4a831 user: drh tags: bind-pointer
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
21:47 Alternative implementation of exprCompareVariable(). check-in: b959c629 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: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
20:23 Support clients within a single process only. check-in: dfa9a4d5 user: dan tags: server-process-edition
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
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
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: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
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
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
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
10:15 Failed version 3.18.1. Somehow I managed to omit the bug fix which was the entire purpose of 3.18.1 in the first place! Leaf check-in: e3038fbf user: drh tags: mistake
23:44 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: 30c50f0e user: drh tags: branch-3.18
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
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
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
14:57 Avoid unnecessary calls to fstat() to determine the database file size. check-in: c733a1de user: drh tags: io-opt
18:05 Add debugging functions btreePageOriginFile() and btreePageOriginOffset(). Leaf check-in: 214d238a user: dan tags: btree-debug
20:46 Branch for the 3.19 release. check-in: f2b829ec user: drh tags: branch-3.19
18:17 Fix a documentation typo. No changes to code. Closed-Leaf check-in: cfa4aa20 user: drh tags: doc-type
15:20 Negative N values in sqlite3_get_auxdata() and sqlite3_set_auxdata() can be used to access an auxiliary data cache over all functions in a single prepared statement. check-in: ff530675 user: drh tags: auxdata-cache
18:29 Do not invoke codec macros when reading or writing an in-memory sub-journal. check-in: 2c145ee6 user: dan tags: codecless-inmemory-subjournal
15:15 Initial implementation of an optimization that attempts to reuse the same materialization of a view on a self-join of the view. check-in: 478c34b9 user: drh tags: materialized-view-reuse
20:53 Automatically transfer terms from the HAVING clause to the WHERE clause of an aggregate query in cases where the result of evaluating the term depends only one one or more of the GROUP BY expressions (and on no other inputs). check-in: 5375a3ce user: dan tags: having-where-optimization
19:59 Within a loop that uses a non-covering index test, test non-indexed terms that can be tested without seeking the main table cursor before those that cannot. check-in: afe68f0a user: dan tags: pushdown-optimization
20:45 Experimental implementation of pessimistic page-level locking based on rollback mode. check-in: 64ecf7c7 user: dan tags: server-edition
16:08 Avoid creating a temp table in the user database in the sqlite3_expert code. Trouble is, this makes sampling for stat1 data much slower. check-in: c62e3582 user: dan tags: schemalint-failure
17:18 An initial attempt to optimize VIEWs that occur as the right operand of a LEFT JOIN. This particular check-in does not work correctly because it does not deal with the case of columns in the VIEW that return non-NULL even when all columns in the table of the VIEW are NULL because of the LEFT JOIN. check-in: 1838a59c user: drh tags: left-join-view
01:19 Forward port the skip-ahead-distinct branch which was abandoned for some reason that I do not recall. This port should have been achived by a merge of trunk into the previous head of skip-ahead-distinct, but that did not work. So I had to manually "rebase" the changes. check-in: 132339a1 user: drh tags: skip-ahead-distinct
19:58 Avoid updating unaffected indexes on a table as part of an UPDATE that requires foreign key processing in some cases. Closed-Leaf check-in: 477bea9e user: dan tags: fkey-optimization
19:41 Proof of concept for the ability to use the expression columns in an index on expressions in place of equivalent expressions in the result set or in the WHERE clause. This check-in compiles but is mostly untested. check-in: a52ef2ad user: drh tags: covering-index-on-expr
11:45 Use replace() instead of char() to quote newline and return characters in strings in the output of .dump, to avoid excess expression complexity. Closed-Leaf check-in: 4c2b5729 user: drh tags: shell-fix
18:48 Version 3.18.0 check-in: 424a0d38 user: drh tags: release, branch-3.18, version-3.18.0
21:24 Initial implementation of the json_mergepatch(A,B) SQL function. check-in: a2674440 user: drh tags: json_mergepatch
18:14 If the user has not set it explicitly, set the "PRAGMA synchronous" setting to SQLITE_DEFAULT_SYNCHRONOUS when a database connection changes from wal to rollback journal mode. check-in: 78030c0f user: dan tags: default-synchronous-fix
19:26 Infrastructure for an extension C-library to implement sqlite3_db_dump() and a corresponding "dbdump" command-line utility - both of which do the same work as the ".dump" command of the CLI. check-in: 74c5ace4 user: drh tags: dbdump
01:56 The output of the ".dump" command in the CLI quotes newline and carriage-return characters using "char(10)" and "char(13)". Closed-Leaf check-in: 8b2954dd user: drh tags: string-quoting-dump
15:55 Add the SQLITE_MAX_MEMORY compile-time option that provides a hard upper bound on the amount of memory that SQLite will use, per process. Closed-Leaf check-in: 77dfe2ab user: drh tags: max-memory-option
16:32 Add the --recovery-mode option to the CLI ".dump" command. This involves enhancing the "PRAGMA reverse_unordered_selects" command to accept a "TOGGLE" option. Recovery mode used to be always on. Now it is opt-in. Not sure this is the correct approach. Also not sure if TOGGLE is a good feature to have on boolean PRAGMA statements. Closed-Leaf check-in: 5dc82a15 user: drh tags: dump-recovery
23:29 Refactor the output logic in the CLI. Not sure we want to go this way. Just saving the work for historical reference, or in case I decide to come back to it. Leaf check-in: aacac906 user: drh tags: shell-print-refactor
14:45 When saving the state of an RBU update in the incremental-checkpoint phase, sync the database file. Otherwise, if a power failure occurs and the RBU update resumed following system recovery, the database may become corrupt. Cherrypick of [edee6a80]. check-in: 811a5599 user: dan tags: version-3.17.0-rbu-fixes
14:52 Add an sqlite3_set_last_insert_rowid() method. Use it to work around fts4 and fts5 modifying the last-insert-rowid unintuitively from within commit processing. Closed-Leaf check-in: fe41bb56 user: dan tags: set-last-insert-rowid
19:58 Optimize defragmentPage() in the case where the page contains either one or two free-blocks and a small number of fragmented bytes. check-in: 202b1c02 user: dan tags: defragmentpage-opt
14:15 Enhance "PRAGMA integrity_check" so that it verifies CHECK constraints. check-in: 549bae08 user: drh tags: integrity-check-improvements
14:04 The VDBE cycle counts for the sqlite3_progress_handler() callback are now cumulative. Leftovers from the previous statement are applied to the next statement. Leaf check-in: 7a62fc6a user: drh tags: cumulative-progress-count
13:29 Proof of concept for a "PRAGMA vdbe_cycle_limit=N" command. When N>0, invoke sqlite3_interrupt() whenever any byte code program uses more than N virtual machine cycles. Leaf check-in: 9626b41e user: drh tags: vdbe_cycle_limit
20:05 Add an optimization to OP_Column to speed up sequential OP_Column instructions that read earlier fields from the same cursor. Attempt to reorder OP_Column opcodes so as to take advantage of this. Leaf check-in: c1adf959 user: dan tags: sort-column-opcodes
21:23 Increase the estimated cost of sorting when sorting wide results sets, to account for the extra storage space and I/O required for the external sort. Leaf check-in: 38298ef9 user: drh tags: apple-increased-sorting-cost
13:38 Enhance the Index and Table objects so that they remember if their stats come from the sqlite_stat1 table. Make the "PRAGMA stats" an SQLITE_DEBUG only pragma. Add the flags column to "PRAGMA stats". These are all preliminary steps toward a "PRAGMA analyze_ifneeded;" feature. check-in: 85026c8e user: drh tags: auto-analyze
21:29 Increase the estimated cost of sorting when sorting wide results sets, to account for the extra storage space and I/O required for the external sort. check-in: aa0703e5 user: drh tags: increased-sorting-cost
16:11 Add the companion "carray_asc" table-valued function to the carray extension. check-in: a2b4f60b user: drh tags: carray_asc
16:04 Bummer. Checked this in as a branch off of the wrong branch.... Was: Add the companion "carray_asc" table-valued function to the carray extension. Closed-Leaf check-in: 396b9d99 user: drh tags: mistake
23:58 Experimental enhancements to mutex debugging. check-in: 80481754 user: mistachkin tags: mutexDbg2
17:38 Version 3.17.0 release candidate check-in: ad867e87 user: drh tags: branch-3.17
19:10 Avoid preparing a SELECT statement each time an UPDATE or DELETE by docid is executed against an fts3 table. Leaf check-in: 9962c10a user: dan tags: fts3-seekstmt-cache
13:12 Close sqlite3_blob objects on xSync rather than waiting until xCommit. Closed-Leaf check-in: 95ee745f user: drh tags: rtree-blob-agressive-release
14:44 Modify the sqlite3SelectDup() routine to avoid recursing on Select.pPrior. check-in: a7674ead user: dan tags: recursive-selectdup
23:57 Add the sqlite3_blob_reset() interface. Enhance the behavior of sqlite3_blob objects so that they can go active again after encountering an error by rerunning sqlite3_blob_reopen(). More work needed on the documentation. check-in: 53b77838 user: drh tags: sqlite3_blob_reset
02:28 Use the sqlite3_blob interface for reading values from the %_node shadow table in RTREE. This is a work in progress. There are still some minor problems. check-in: fc4917d7 user: drh tags: rtree-sqlite3_blob
00:46 This is an experimental patch that ensures that all cursors have their position saved prior to starting a ROLLBACK TO. Closed-Leaf check-in: 01d97e5b user: drh tags: savepoint-rollback
22:43 Fix harmless compiler warnings seen with MSVC. Closed-Leaf check-in: 997f765b user: mistachkin tags: msvcWarn
16:34 Remove an unnecessary initialization of the pOp variable in sqlite3VdbeExec(). check-in: 02f6293f user: drh tags: micro-optimizations
19:44 Experimental change to invoke the preupdate hook when WITHOUT ROWID tables are written. check-in: 856f8604 user: dan tags: preupdate-without-rowid
14:58 Experimental enhancement to automatically trim NULL values from the end of records, for a reduced disk footprint. This change also involves increasing the P5 operand from 8 to 16 bits. check-in: 118ded40 user: drh tags: trim-nulls
04:41 Ensure that sqlite3_blob_reopen() correctly handles short rows. Proposed fix for ticket [e6e962d6b0f06f46e]. Further testing needed. Closed-Leaf check-in: 57d8dad3 user: drh tags: blob_reopen-fix
21:12 Experimental changes to permit a VFS to directly override the initial page size. Leaf check-in: 64131724 user: mistachkin tags: pagePerSector
16:54 B-tree optimization: When seeking on a rowid table that has already been positioned, check to see if the new row happens to be the next row on the same leaf page. That is a reasonably common case, and if it is true it avoids a full binary search. check-in: 8e5cfb20 user: drh tags: btree-moveto-neighbor
15:58 Add extra (somewhat inefficient) trace callbacks for triggers if SQLITE_TRACE_TRIGGER is defined. check-in: ffda1d1e user: dan tags: trigger-trace
15:30 A proof-of-concept for running sqlite3_blob_open() without using OP_Column when operating on a pure key/value table. This demo does not include any corrupt database checking. Uses about 3% fewer CPU cycles on a key/value performance test. Leaf check-in: 4cda3b30 user: drh tags: kv-access-opt-demo
20:14 Add temporary code to record and report on the set of b-tree pages read and written by the current transaction. This is likely still buggy. check-in: 2a8f6c89 user: dan tags: transaction-pages
17:20 Baseline interface definition for the experimental sqlite3_kv accessor object. check-in: a435841e user: drh tags: sqlite3_kv
16:01 Add test cases for tickets [91e2e8ba6ff2e2] and [7ffd1ca1d2ad4ec]. check-in: 9d0dfe0b user: drh tags: automatic-index-affinity
11:54 An example showing how to improve performance of sqlite3VdbeSerialPut() using the GCC intrinsic function __builtin_bswap64(). Leaf check-in: e42ed9b4 user: drh tags: builtin-bswap64
15:19 Test case macros to show that the previous check-in is well tested. Leaf check-in: bd8b977a user: drh tags: extra-testcase-macros
16:52 Attempt to detect physical sector sizes on Windows 8 and higher. check-in: 381fd34b user: mistachkin tags: winSectorSize
20:04 Changes to allow some multi-row UPDATE statements to avoid the two-pass approach. check-in: 46db23cc user: dan tags: onepass-update
18:20 Try to move OP_Concat operations outside the inner loop. This turns out to make things very slightly slower, at least in speedtest1.c. Closed-Leaf check-in: 8a90f691 user: drh tags: failed-optimization
00:42 This hack illustrates how to use the VDBE_PROFILE mechanism to show which bytecode operators are using resources other than time. In this case, the number of loops through the binary search code in sqlite3BtreeMovetoUnpacked() is measured, for the purpose of helping to identify unnecessary btree searches. check-in: 746b1836 user: drh tags: vdbe-aux-perf
19:32 Ensure that sqlite3_column_count() returns 0 for the "set" mode of "get/set" PRAGMA statements that do not return a value in that case (e.g. page_size, cache_size, auto_vacuum). Closed-Leaf check-in: 5c05d8ec user: dan tags: pragma-columncount-fix
20:13 Possible fix for [30027b61]. There may still be problems surrounding foreign key processing. check-in: 71ccb1f4 user: dan tags: replace-fix
01:07 Attempt to factor out constant functions from the interior of table scans, since functions can often be expensive to compute. check-in: 62e9270a user: drh tags: factor-constant-funcs
00:26 Changes to the printf implementation for better performance. Closed-Leaf check-in: acdb8f6f user: drh tags: printf-optimization
17:33 Make use of the __buildin_OP_overflow() functions from GCC when doing 64-bit signed integer arithmetic. check-in: 82cbebb8 user: drh tags: gnu-safe-math
15:57 Fix the row-values in UPDATE statements within TRIGGER problem identified by ticket [8c9458e7]. check-in: bf984e98 user: drh tags: branch-3.16
02:58 Improvements to the way vector assignment size checking is done. Size checks when the RHS is a SELECT are deferred until after "*" wildcards are expanded. Closed-Leaf check-in: 696219b1 user: drh tags: vector-size-check
22:36 Proposed fix for the row-value TRIGGER UPDATE problem described in ticket [8c9458e7]. check-in: 61a442ea user: drh tags: rowvalue-update-trigger
21:55 Add the --help and --all options to the wordcount test utility. Closed-Leaf check-in: 18baeadf user: drh tags: wordcount-enhancement
14:33 Minor #include change to speedtest1.c so that it will compile under MSVC. check-in: 8c28fde0 user: drh tags: speedtest1
13:40 Improved detection of zero page numbers in the page cache. check-in: 5550e815 user: drh tags: pcache1-zero-page
03:57 Add the kvtest.c test program for measuring key/value read performance under various scenarios. check-in: 489e0787 user: drh tags: kvtest
00:18 Add the built-in affinity() SQL function. check-in: 57e40e1c user: drh tags: affinity-sql-func
03:59 Use the VList object to replace Parse.azVar for tracking the mapping between SQL parameter names and parameter numbers. There is a performance improvement, though there are still a few hiccups in the current code. check-in: 68ecafa1 user: drh tags: VList
16:49 Experimental merge of the est_count_pragma and the pragma-as-vtab branches. Closed-Leaf check-in: 4b73ee33 user: drh tags: est-count-pragma-vtab
20:59 Code to automatically create eponymous virtual tables for read-only pragmas. Compiles, but does not yet work. check-in: 988a61e8 user: drh tags: pragma-as-vtab
16:01 Do more pragma processing from tables rather than in-line code. Closed-Leaf check-in: a88ca352 user: drh tags: table-driven-pragma
19:28 Add the experimental ".fkey_missing_indexes" command to the shell tool. To identify indexes that should be created on child keys if FK processing is to be enabled. check-in: 7df23aca user: dan tags: fkey-missing-indexes
14:32 Make the sqlite3PagerGet() interface into a virtual method, with different implementations based on the current state of the pager. This gives a small performance increase by avoiding unnecessary branches inside the various methods. check-in: df5bb90d user: drh tags: pager-get-method
00:14 In balance_nonroot, try to combine dropCell/insertCell combinations for the dividers into a cell overwrites. This results in a very small (0.05%) performance gain which is probably not worth the added complexity. Closed-Leaf check-in: 478627c9 user: drh tags: failed-dropCell-opt
14:15 Fix a potential integer overflow during out-of-bound date computations. Closed-Leaf check-in: 3c58b173 user: drh tags: date-overflow-fix
19:38 Avoid clearing the EP_FromJoin flag from terms in ON clauses when flattening sub-selects. Possible fix for [2df0107b]. Closed-Leaf check-in: 8bed4cd5 user: dan tags: left-join-fix
17:34 Modify the patternCompare() function (used for GLOB, LIKE) to better handle patterns containing multiple wildcard characters ("*", "%"). check-in: c5e5614d user: dan tags: pattern-compare-optimization
21:52 Experimental changes for faster in-memory DB operation for large databases. Closed-Leaf check-in: 4fe94b0f user: drh tags: memdb-opt
17:37 Experimental changes toward making snapshots serializable. check-in: b6a81fa1 user: drh tags: serializable-snapshot
21:19 Break up the sqlite3BtreeMovetoUnpacked() routine into an eponymous routine and sqlite3BtreeMovetoIntkey(). Each routine specializes in a single kind of btree. Leaf check-in: 9a64a4f2 user: drh tags: split-moveto
20:14 Avoid storing redundant fields in sorter records when the sort-key and data have fields in common (as in "SELECT a FROM t1 ORDER BY 1"). check-in: 0af62fdb user: dan tags: sorter-opt
00:10 Enhance the OP_IdxInsert opcode to optionally accept unpacked key material. check-in: 89d958ab user: drh tags: unpacked-IdxInsert
18:30 Avoid using the "direct overflow read" optimization to read large blobs if the pager layer has a wal file open - even if the database header indicates that the db is not a wal database. check-in: 63cfe197 user: drh tags: branch-3.15
16:16 Add the SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE sqlite3_dbconfig() option - for disabling SQLite's default checkpoint-on-close behaviour. Closed-Leaf check-in: 093d2fc2 user: dan tags: no-ckpt-on-close
15:46 If all branches of an OR optimize scan that is the rhs of a LEFT JOIN use the same index, set the index cursor to return NULL values if there are no matches for a row on the lhs. Closed-Leaf check-in: e7b9bc67 user: dan tags: leftjoin-or-fix
12:15 Add compile time option SQLITE_ENABLE_URI_00_ERROR. If defined, any "%00" escape found in a URI is treated as an error. check-in: e8a9bfec user: dan tags: uri-00-error
15:39 Enhance the "PRAGMA index_info" and "PRAGMA index_xinfo" statements so that they work on WITHOUT ROWID tables and provide information about the underlying index btree that implements the WITHOUT ROWID table. Leaf check-in: fe49fb03 user: drh tags: index-info-on-table
21:21 In the sessions module, avoid recording a change if an UPDATE statement overwrites a column with REAL affinity containing an integer value with the same value. Closed-Leaf check-in: b861328a user: dan tags: sessions-fix
22:02 Experimental est_count pragma. check-in: 340822af user: drh tags: est_count_pragma
18:20 Add the ability for the PRAGMA statement to accept multiple arguments. Currently all arguments other than the first are ignored. Leaf check-in: fd81d8a4 user: drh tags: multi-arg-pragma
18:59 Enhancments to Win32 mutex debugging. check-in: 2fb9a5dd user: mistachkin tags: mutexDbg
01:43 Backport the ORDER BY LIMIT optimization to version 3.8.9. check-in: db361482 user: drh tags: branch-3.8.9
20:00 Add new file test_delete.c, containing test code for deleting an sqlite database. check-in: fb0b95e9 user: dan tags: test_delete
12:02 Catch vector size mismatch problems during name resolution to avoid later problems. Closed-Leaf check-in: 56562a03 user: drh tags: early-vector-size-check
17:27 The previous commit could miss an SQLITE_NOMEM error. This commit catches it. Closed-Leaf check-in: 3a9f4750 user: dan tags: mistake
20:49 Add an experimental module to detect conflicts between sessions changesets. check-in: 0c9fd6b7 user: dan tags: changebatch
14:20 Add the capability to VACUUM an attached database by specifying the schema name as an argument to the VACUUM command. Since version 2.0, VACUUM has accepted an argument which was silently ignored. Now it has meaning. check-in: 29d63059 user: drh tags: vacuum-attached-db
22:44 Add the SQLITE_DBCONFIG_MAINDBNAME interface. check-in: d6e3d579 user: drh tags: dbconfig_maindbname
14:33 Rename the Db.zName field to Db.zDbSName to make it more descriptive and to distinguish it from all of the other "zName" variables scattered throughout the code. check-in: 92a22f01 user: drh tags: zDbSName
19:05 Bias the fts5 snippet() function to return snippets that look like they start at the start of sentences. check-in: 60de1594 user: dan tags: fts5-snippet-bias
10:02 Attempt to simplify the logic and generated code for vector comparisons. Basic comparison operators are working, but there are many indexing test failures still to be worked through. check-in: dfc028cf user: drh tags: vector-compare
16:21 Have wal file checkpoints exit early if the sqlite3_interrupt() API function is called. check-in: 8a5f41c7 user: dan tags: interruptible-checkpoint
13:03 Enhance sqlite3PcacheTruncate() to run faster in the common case where the cutoff is just a few pages less than the page number highwater mark. check-in: 03dceaea user: drh tags: branch-3.14
21:08 Prototype for the remember(V,PTR) extension function. Closed-Leaf check-in: f0942c36 user: drh tags: rememberFunc
01:47 Add an experimental SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION compile-time option. This changes has been merged into main branches via cherry-pick. Closed-Leaf check-in: 4ada023c user: drh tags: unknown-function
22:23 Make the extension auto-loading mechanism work with the __stdcall calling convention. Also, fix a couple Tcl command calling conventions missed in the previous check-in. check-in: 3ea567c4 user: mistachkin tags: callbackConv
04:14 Work in progress on setting a calling convention for all callback functions. check-in: 02b8040e user: mistachkin tags: callbackConv
18:27 When estimating the cost of an index scan, factor in the cost savings of being able to use the index to evaluate some WHERE clause terms without having to do a table lookup. check-in: a59b5622 user: drh tags: improved-index-scan
11:47 Temporarily add extra sqlite3_log() calls to this version to help with debugging a performance problem. check-in: 613c1cea user: dan tags: debug
20:19 Experimental patch restore the slight bias in btree-balancing immediately after the change to reduces the amount of memcpy() work done by balancing. Leaf check-in: 46bd9533 user: drh tags: btree-balance-bias
19:48 Minor tweak the the b-tree balancer. Closed-Leaf check-in: d2a0af7a user: drh tags: btree-tuning
21:30 Interface design for a new sqlite3_trace_v2() method that supersedes sqlite3_trace() and sqlite3_profile(). check-in: 0c569f75 user: drh tags: sqlite3_trace_v2
20:23 Add some support for using row value constructors in certain parts of SQL expressions. There are many bugs on this branch. check-in: b2204215 user: dan tags: rowvalue
21:14 Initial work on a Win32 VFS with NOP locking. Closed-Leaf check-in: 549abe3f user: mistachkin tags: win32nolock
10:12 Add the SQLITE_DBSTATUS_PROPORTIONAL_CACHE_USED sqlite3_db_status() parameter. check-in: 118321c8 user: dan tags: dbstatus-prop-cache-used
12:39 Add the sqlite3rbu_state() API. Used to determine the current state (creating OAL, ready to move OAL, incremental-checkpoint, finished or error) of an RBU operation. Closed-Leaf check-in: 92e7df0f user: dan tags: rbu-state-api
05:00 Add a prototype intarray($PTR,$N) table valued function. check-in: 233b3338 user: drh tags: prototype-int-array
22:27 Proposed fix for a problem in the query planner. check-in: a33d2356 user: drh tags: planner-fix
02:21 Provide for a separate default page size for TEMP and transient database files and initialize that separate default page size to 1024 instead of 4096. Leaf check-in: a2778ae4 user: drh tags: temp-page-size
10:34 Update the sqldiff utility so that if the --vtab switch is specified "rtree", "fts3", "fts4" and "fts5" tables are diff'd directly and the underlying real database tables ignored. Without this switch, all virtual tables are ignored and the diff is performed on the underlying real tables. Closed-Leaf check-in: 5d0a9d4c user: dan tags: sqldiff-vtab-support
14:33 If a table is on the rhs of a LEFT JOIN, include only terms from the joins ON(...) clause in the cursor-hint passed via OP_CursorHint. check-in: 2a2346b0 user: dan tags: cursor-hints
13:01 Add the json_quote() function to the JSON1 extension. Closed-Leaf check-in: 2c3714ae user: drh tags: json_quote
01:03 An initial attempt at a "dbhash" command-line utility. check-in: 2247649c user: drh tags: dbhash
20:37 Change the sqlite3BtreeKeySize() interface into sqlite3BtreeIntegerKey() and make it only work for table btrees. Change sqlite3BtreeDataSize() into sqlite3BtreePayloadSize() and make it work for all btrees. Combine sqlite3BtreeDataFetch() and sqlite3BtreeKeyFetch() into a single sqlite3BtreePayloadFetch() routine. These changes seem to make the b-tree interface more rational and they reduce both binary size and CPU usage. check-in: bef35e18 user: drh tags: btree-refactor
21:18 An experimental branch with code that allows virtual tables to be declared as WITHOUT ROWID tables. This might be useful for virtual tables that model external data sources that do not have a convenient way of computing a unique rowid. The current check-in almost works, but there are still serious issues. check-in: 49638f18 user: drh tags: without-rowid-vtab
18:53 Experimental change to allow virtual tables to take advantage of LIKE, REGEXP and GLOB terms that are part of OR expressions within WHERE clauses. Closed-Leaf check-in: 242507b4 user: dan tags: vtab-experimental
17:23 Enhance the sqlite3_load_extension() interface to permit extensions to return SQLITE_OK_LOAD_PERMANENTLY which will prevent the extensions from unloading when the database connection closes. Closed-Leaf check-in: d3f99a5e user: drh tags: load-permanently
15:03 Enhance the sqlite3_load_extension() API so that the first parameter (the "db" parameter) can be NULL. An extension that is not associated with any database connection remains loaded for the life of the process. Closed-Leaf check-in: 3a461043 user: drh tags: persistent-extensions
18:09 Add basic compiler information to the results of 'PRAGMA compile_options'. check-in: d734e2df user: mistachkin tags: ctimeCompiler
18:06 Remove an extra "finish_test" from the end of rtreeC.test. check-in: bfbb6dd8 user: drh tags: tree-stat1-fix
22:13 In a query with both ORDER BY and LIMIT, if the inner loop satisfies the ORDER BY then try to cut short each invocation of the inner loop once the LIMIT has been satisfied. This check-in is a partial implementation only. check-in: 852d1eda user: drh tags: orderby-limit
23:54 For in-memory databases, it does not matter if pcache entries are marked "clean" or "writable". Closed-Leaf check-in: ad601c79 user: drh tags: pager-dev
18:20 Remove a redundant condition from pcache.c. Add an OPTIMIZATION-IF-TRUE comment to another condition that requires it. Closed-Leaf check-in: 4533ed35 user: dan tags: mistake
19:58 Omit the unnecessary WHERE_REOPEN_IDX flag in the WHERE interface. Closed-Leaf check-in: da94a6e0 user: drh tags: dev
11:31 Do not scan indexes that have the integer primary key as their left-most column. This fixes the crash of ticket [16c9801ceba] but it seems like the wrong fix. More investigation needed. check-in: 50312273 user: drh tags: ticket-16c9801ce
17:15 Initial check-in of the "scrub.exe" utility program prototype. Not yet fully functional. In particular, no scrubbing is done. check-in: bdf2ec77 user: drh tags: scrub-backup
19:36 Add the experimental SQLITE_FCNTL_WIN32_GET_HANDLE file control. Leaf check-in: b6ddabe1 user: mistachkin tags: win32GetHandle
13:14 Turn the session extension off by default. Enable using --enable-session on configure scripts, or using the SESSION=1 argument to nmake on Windows. Closed-Leaf check-in: e462cde2 user: drh tags: session-make
18:54 Modify the permutations.test script so as to set any permutation specific configuration values before running each individual test script. check-in: 2662d8fe user: dan tags: permutations-fix
00:30 API Change: Modify sqlite3_enable_load_extension() so that it only enables/disables the load_extension() SQL function, and leaves the C-APIs enabled at all times. In this way, applications can enable extension loading for the C interface without having to expose that capability to the SQL. check-in: edb454e4 user: drh tags: load-ext-security
15:51 Faulty check-in. Extraneous edits that were not logically part of the check-in. Closed-Leaf check-in: abf9d602 user: drh tags: mistake
20:46 Add the experimental sqlite3rbu_vacuum() API function. For opening an RBU handle that rebuilds a database from scratch. check-in: 0216b48f user: dan tags: rbu-vacuum
01:55 Progress toward getting DISTINCT to use a seek to advance to the next distinct row, when driven by an appropriate index. check-in: 9e14aa14 user: drh tags: skip-ahead-distinct
19:29 Work toward improving analysis and code generation for DISTINCT and aggregate queries. Leaf check-in: 129083bd user: drh tags: better-distinct-agg
16:52 On commit, flush dirty temp-file pages only if the file is already open and 25% or more of the cache is dirty. check-in: f6babf29 user: dan tags: tempfiles-25
20:05 More harmless compiler warning fixes. check-in: ab69527c user: mistachkin tags: warnings
19:59 Add the sqlite3_snapshot_cmp() API. check-in: c698a21a user: dan tags: snapshot-cmp
21:35 Attempt to treat the arguments to a table-valued function as if they occur in the ON clause of a LEFT JOIN rather than in the WHERE clause. But this causes undesirable behavior with generate_series, as demonstrated by test cases. This is an incremental check-in pending further work. Leaf check-in: 00ac73a0 user: drh tags: tabfunc-in-left-join
17:32 Add a couple options to the MSVC makefile. check-in: ea4de04d user: mistachkin tags: branch-3.12.0
21:07 Defer opening the file used for the temp database (where CREATE TEMP TABLE tables are stored) until the database is too large to reside entirely within the cache. There are likely still problems on this branch. check-in: be5a549e user: dan tags: tempfiles-lazy-open
18:24 Oops. Branched from the wrong baseline. Ignore this one. Closed-Leaf check-in: 8f1f300c user: drh tags: mistake
17:50 Add the SQLITE_DBCONFIG_REQUIRE_TXN argument for sqlite3_dbconfig() which when set requires an explicit transaction before updating the database. check-in: b7570ac1 user: drh tags: require-write-txn
00:44 Avoid unnecessary memset() operations in sqlite3PagerGet(). Leaf check-in: 0c97b802 user: drh tags: pager-get-noinit
21:19 Have the sqlite3session_apply() function and its streaming equivalent retry any operations that failed with SQLITE_CONSTRAINT after all other operations on the same table have been attempted. New code is largely untested. check-in: 1085911a user: dan tags: session-retry
14:57 Open a statement transaction for "CREATE VIRTUAL TABLE" statements in order to ensure that if the xCreate() call fails, changes made to the sqlite_master and possibly other tables are rolled back. Closed-Leaf check-in: d0a3853b user: dan tags: vcreate-stmt
20:11 Fix a problem with OOM handling when setting an fts5 configuration option. check-in: 53b80a6d user: dan tags: fts5
23:32 Change the Vdbe.aMem array so that it is zero-based instead of one-based. check-in: e07b0c47 user: drh tags: zero-base-aMem
21:06 Add an API to indicate the percentage progress of an rbu update. check-in: ffc58d2c user: dan tags: rbu-percent-progress
18:41 An alternative method of encoding the wildcard in "SELECT *". This is an experiment. Closed-Leaf check-in: 41335d88 user: drh tags: select-wildcard
16:01 Experimental implementation of the sqlite3_system_errno() interface. check-in: 6782c87b user: drh tags: sqlite_system_errno
20:44 Some pragmas can be reused without an automatic reprepare. Closed-Leaf check-in: db1ce7e1 user: drh tags: reusable-pragma
19:48 Have fts5 cache the decoded structure of fts5 indexes in memory. Use "PRAGMA data_version" to detect stale caches. check-in: 33ef2210 user: dan tags: fts5-data-version
16:16 Test script changes to support testing the SQLite Encryption Extension. check-in: 1c70aa5c user: drh tags: see-testing
13:42 Run TCL tests in a subdirectory "testdir". check-in: f632bba0 user: drh tags: test-in-subdir
17:44 Modify the memjournal.c code to make it a bit smaller. Closed-Leaf check-in: d99ac415 user: dan tags: memjournal-exp
14:40 Add compile-time options SQLITE_DEFAULT_SYNCHRONOUS and SQLITE_DEFAULT_WAL_SYNCHRONOUS used to specify the default synchronous settings for all database connections. check-in: 1fefa967 user: drh tags: default-synchronous
17:39 Add a new row type to RBU (a peer of insert, update and delete) - "delete then insert". Closed-Leaf check-in: 169311c8 user: dan tags: rbu-delete-then-insert
17:29 Change the way SQLite invokes the xBestIndex method of virtual tables so that N-way joins involving virtual tables work as expected. check-in: ffc65968 user: dan tags: xbestindex-fix
02:38 Update the configure script to detect pread/pwrite and update os_unix.c to use those routines if they are available. check-in: 2cffb9e5 user: drh tags: pread
03:28 Allow the left-hand side of IN operators on virtual tables to have the aConstraintUsage[].omit flag clear. check-in: 1622623c user: drh tags: vtab-IN-opt
18:07 Add test code useful for testing the planners use of teh virtual table xBestIndex() method. check-in: de034c0d user: dan tags: test-bestindex
18:30 Modify the ANALYZE command to store worst-case statistics in sqlite_stat1, rather thn average case. check-in: 5a0143c9 user: drh tags: analyze-worst-case
15:53 Reduce the amount of heap required to store many schemas by storing each column datatype appended to the column name, rather than as a separate allocation. Closed-Leaf check-in: 842b2116 user: drh tags: schema-storage
23:25 Update the parser so that it pulls out the column name and type all in one go, rather than using separate reductions. check-in: ad3ffe2e user: drh tags: schema-storage
20:14 Extend the code in memjournal.c so that it subsumes the role of journal.c. And (untested) can flush journal or statement journal files to disk after they grow to a specified size. check-in: e0b0b431 user: dan tags: memjournal-exp
17:16 Experimental "PRAGMA onconflict=FAIL" statement to change the default ON CONFLICT algorithm to something other than ABORT. check-in: 3a0c347c user: drh tags: pragma-onconflict
16:04 Take the LIMIT clause into account when estimating the cost of sorting. check-in: d491745c user: drh tags: planner-improvements
21:42 Initial work on an automated VSIX testing tool. Not working or tested yet. check-in: 496e4ac9 user: mistachkin tags: vsixTest
15:43 Identify indexes that completely cover their table. Closed-Leaf check-in: 71d488b5 user: drh tags: covering-index
20:52 Avoid an unnecessary seek operation on some corner-case skip-scans. check-in: 38e837e6 user: drh tags: skip-scan-improvement
21:00 Correct the install location for the UWP VSIX package. check-in: b47d0302 user: mistachkin tags: branch-3.11
16:16 Remove SQLITE_TEST macros from fts5_test_mi.c. Add the SQLITE_FTS5_ENABLE_TEST_MI compile time symbol - to make it easier to create builds that include the fts5 matchinfo demo by default. check-in: e2ef6667 user: dan tags: branch-3.11-matchinfo
18:44 Fix up all VDBE opcodes so that they cause an immediate exit on any kind of error, and thereby eliminate the need to test "rc" at the top of the loop. Resulting code is a little smaller and faster. Closed-Leaf check-in: a444633a user: drh tags: vdbe-performance
21:19 Experimental changes to Lemon for improved parser performance. check-in: a65d583c user: drh tags: parser-performance
00:34 Improvements to the application-defined function mechanism so that it is more compact and runs faster, especially when the application defines thousands of new SQL functions. Closed-Leaf check-in: 3201fbcc user: drh tags: many-app-functions
23:43 Enhance ability to debug out-of-memory errors. check-in: 6a9c4a3e user: mistachkin tags: noMemBkpt
21:28 Enhance the MSVC makefile to enable building 'testfixture' fully from source code. check-in: 54ff3a26 user: mistachkin tags: testFixtureSrc
13:30 Minor simplifications deferred to the next release. Closed-Leaf check-in: a863729c user: drh tags: simplify
18:39 Add auto-explain mode to the command-line shell. Default on. Auto-explain tries to automatically detect EXPLAIN queries and format them appropriately. check-in: 1d62aa6b user: drh tags: auto-explain
02:30 Demonstrate a much faster sqlite3GetToken() routine by using a lookup table to map initial token characters into a character class. This check-in does not work for EBCDIC. More optimization needed. check-in: 9115baa1 user: drh tags: tokenizer-char-class
19:40 More work on Windows 10 SDK integration. Closed-Leaf check-in: ebace2c9 user: mistachkin tags: win10sdk
01:55 Improvements to the way that OOM errors are processed. check-in: c3ef0347 user: drh tags: oom-handling
02:34 Add and use the sqlite3VdbeZeroRegister() interface for coding the common operation of writing zero into a register. Leaf check-in: 1c8d3001 user: drh tags: zero-register
00:59 Add the SQLITE_DBCONFIG_REQUIRE_WRITE_TXN connection setting, which if enabled requires all write operations to be enclosed within BEGIN ... COMMIT. Leaf check-in: 7453790c user: drh tags: require-write-txn
15:46 A different way to clear the subtype on VDBE registers when the value of the register is overwritten with new content. To fix [[f45ac567eaa9f93]. Closed-Leaf check-in: 2e9fb129 user: dan tags: clear-subtype-flag
14:53 Take care to clear the subtype on VDBE registers when the value of the register is overwritten with new content. Closed-Leaf check-in: ec653cbc user: drh tags: clear-subtype-fail
19:29 Experimental attempt to make better use of covering indexes within OR queries. check-in: a323ac3a user: dan tags: covering-or
16:57 Avoid unnecessary WHERE clause term tests when coding a join where one of the tables contains a OR constraint. Closed-Leaf check-in: ab946039 user: drh tags: OR-clause-improvement
15:49 Add assert() statements on the nExtraDelete variable in vdbe.c to try to verify that the FORDELETE and IDXDELETE flags are being generated correctly. Those flags are not currently generated correctly, and so the assert()s trip on this check-in. check-in: dde1db0d user: drh tags: fordelete-assert
15:23 Change the automatic index mechanism so that it avoids creating transient indexes on columns that are known to have low cardinality. Leaf check-in: 12ef3a8f user: drh tags: autoindex-planning
17:04 Fix issues on unix with opening database files via symlinks that are not in the current working directory. And with nested symlinks. check-in: 80398fd4 user: dan tags: follow-symlinks
07:53 Add tooling to create an MSVC Makefile capable of building the core library and shell only, using a pre-built amalgamation. check-in: c46f1a13 user: mistachkin tags: msvcMakeMin
01:54 Cleanup localtime() support for Windows CE. check-in: 39759a55 user: mistachkin tags: winCeLocalTime
19:48 Experimental performance enhancements for fts5. check-in: b5a57b81 user: dan tags: fts5-perf
17:25 Disable the RESTRICT foreign key action if "PRAGMA defer_foreign_keys" is set. Closed-Leaf check-in: 82470d1c user: dan tags: disable-restrict
17:06 Add a new hint bit on the flags parameter of sqlite3BtreeDelete(). The new BTREE_IDXDELETE bit indicates that the call is to delete an index entry corresponding to a table row that has already been deleted. check-in: ac2cbadd user: drh tags: btree-fordelete-flag
17:59 When the block sorting optimization is used in a scalar subquery, be sure to exit the loop as soon as the first valid output row is received. Fix for ticket [cb3aa0641d9a4]. check-in: 8b4f5080 user: drh tags: branch-3.10
16:39 If a single page is written to the wal file more than once, have each subsequent copy overwrite the original frame. check-in: 5d113aef user: dan tags: wal-overwrite-frames
02:27 Add the experimental SQLITE_FCNTL_JOURNAL_POINTER file control for obtaining the sqlite3_file pointer associated with a rollback journal or WAL file. check-in: a02ace9a user: drh tags: file-control-journal
16:06 Have the vdbe layer call sqlite3BtreeEnter() on all b-trees in use from within sqlite3VdbeExec() even in SQLITE_THREADSAFE=0 builds. This ensures that BtShared.db is set correctly. check-in: d0214602 user: dan tags: shared-cache-fix
18:59 Alternative to [76f5efa6], move definition of utf8_printf up. check-in: 54c5522d user: mistachkin tags: altShellFix
20:50 Use the OvflOffset() macro to try to remove some magic numbers from btree.c. Leaf check-in: 1541607d user: drh tags: ovfloffset-macro
13:36 Enhance the command-line shell to handle MBCS characters on input and output. Closed-Leaf check-in: a0a08b8c user: drh tags: mbcs-shell
03:59 Reduce the size of the CellInfo object from 32 to 24 bytes on 64-bit machines. Closed-Leaf check-in: 78507154 user: drh tags: optimize-cellinfo
20:36 Add the "offsets=0" option to fts5, to create a smaller index without term offset information. A few things are currently broken on this branch. check-in: 40b5bbf0 user: dan tags: fts5-offsets
17:30 Reduce the size of the VdbeCursor object by a pointer (the pBt pointer used for ephemeral tables). check-in: 98b710c3 user: drh tags: optimize-vdbecursor
21:09 Fix compiler warning seen with MSVC. check-in: 18a4c054 user: mistachkin tags: msvcWarn
15:09 Move pointer range comparisons into a macro, where they can be dealt with in a more portable way. Closed-Leaf check-in: ad3124c8 user: drh tags: stdint.h
19:50 Experimental optimization for DELETE statements with WHERE clauses that qualify for the OR-optimization. check-in: d52376df user: dan tags: onepass-delete-or
14:37 Avoid unnecessary work inside of verifyDbFile() in the unix VFS. Closed-Leaf check-in: f3c0579e user: drh tags: unix-vfs-optimization
20:51 Add untested implementations of experimental APIs sqlite3_snapshot_get(), _open() and _free(). check-in: 0715eb00 user: dan tags: snapshot-get
23:29 Add experimental support for the 'test_fs' test module on Win32. Closed-Leaf check-in: f3ffb3ae user: mistachkin tags: testFsWin32
19:33 Add the "colUsed" field to the sqlite3_index_info structure passed to virtual table xBestIndex methods. To indicate the subset of the virtual table columns that may be required by the current scan. Closed-Leaf check-in: 116b2064 user: dan tags: vtab-colused
21:09 Add experimental support for LIKE, GLOB and REGEXP to the virtual table interface. check-in: 277a5b40 user: dan tags: vtab-like-operator
17:53 Add a new OP_BColumn opcode where the cursor is guaranteed to be of type CURTYPE_BTREE and is thus able to skip some checks and run slightly faster. Leaf check-in: 093e0d10 user: drh tags: btree-column-opcode
18:43 If a table column name begins with "__hidden__" then do not include that column in "*" expansions in SELECT statements, nor fill in that column in an INSERT INTO that omits the column list. This branch is a proof-of-concept only and is not intended to ever be merged into trunk. check-in: 2dbffb3a user: drh tags: hidden-columns-in-tables
16:00 Import the LSM code from SQLite4 for use in an experimental virtual table. NB: This is a speculative experiment and could easily result in a dead-end branch. check-in: 3d930501 user: drh tags: lsm-vtab
14:57 First attempt at enhancing the "PRAGMA cache_spill" statement to accept a cache threashold size. check-in: 549d42be user: drh tags: cache_spill=N
18:08 Add a hack to debug out a description of the WHERE clause of a SELECT (or other) statement. Use this in script tool/schemalint.tcl to automatically recommend indexes that might speed up specific queries. check-in: c6fa01c2 user: dan tags: schemalint
19:33 Change the parser to use the standard "lempar.c" template over in the tool/ folder rather than the customized "lempar.c" found in src/. check-in: 0a72991f user: drh tags: parser-enhancements
15:19 Enhance TreeView to show WITH clauses. Add an assert to detect the infinite loop behavior when certain kinds of errors occur on a nested WITH clause. check-in: 2040d88e user: drh tags: infinite-with-loop-bug
17:28 A proposed patch for working around a bug in the optimizer for the HP compiler found on HP/UX Itanium. Closed-Leaf check-in: 8a171548 user: drh tags: hp-optimizer-fix
01:04 Increase the precision of integer vs. floating-point comparisons. Candidate fix for ticket [38a97a87a6e4e8]. check-in: cfcaa0ff user: drh tags: int-float-precision
20:25 The top of an index equality loop normally starts with OP_SeekGE and OP_IdxGT. This check-in adds a flag to OP_SeekGE such that it fails immediately if the key is not equal, then jumps over the OP_IdxGT, saving a call to the key comparison functions. Consider this check-in a proof-of-concept. It needs improvement before going on trunk. Some tests fail, but only because they new use fewer key comparisons than expected (which is a good thing!). check-in: 32e31b9b user: drh tags: seekeq-experiment
03:26 Remove #pragma that was used to work around an obsolete issue with MSVC 2012. Closed-Leaf check-in: b9b22fae user: mistachkin tags: reoptimizeArm
23:29 Attempt to centralize and simplify the MSVC handling. check-in: 4ae96d6d user: mistachkin tags: mp-releasetest
18:32 Add the "--jobs N" option to the releasetest.tcl script to allow tests to be run in parallel by N processes. N defaults to 1. check-in: 3d29f912 user: dan tags: mp-releasetest
17:58 On unix, if a file is opened via a symlink, create, read and write journal and wal files based on the name of the actual db file, not the symlink. Closed-Leaf check-in: c7c81050 user: dan tags: follow-symlinks
12:27 Apply optimizations to simplify OR clauses that contain constant terms. check-in: d533e23f user: drh tags: simplify-or-clause
19:46 Add experimental API sqlite3_db_cacheflush(). check-in: 65b86dc1 user: dan tags: cacheflush
20:54 Modifications to pass a flag to internal routine sqlite3BtreeCursor() when a cursor that is used solely for deleting b-tree entries, or for obtaining the components of keys to delete from other b-trees, is opened. check-in: cdc92919 user: dan tags: btree-fordelete-flag
23:40 Fix compiler warnings. Closed-Leaf check-in: 12e869bb user: mistachkin tags: noWarn
01:00 Change the code generator for UPDATE to generate code in an order that might run more efficiently in many cases. Leaf check-in: c6239bf9 user: drh tags: improved-update
15:56 Cherrypick the json form-feed fix, and other #ifdef and build script changes to address minor issues that came to light after the 3.9.0 release. Update the version number to 3.9.1. No logic changes except for the form-feed bug-fix in json1 (ticket [57eec374ae1d0a1d4a]). check-in: 746fcd2f user: drh tags: branch-3.9
03:34 Whenever two or more OP_Column opcodes on the same cursor occur in succession, try to reordering them so that the one that extracts the right-most column is first, so that it will warm up the row cache for all those that follow. This gives a small performance boost. Leaf check-in: 08e8f04d user: drh tags: reorder-column-opcodes
20:17 Experiments with an OP_Unpack opcode that extracts multiple columns from a record without caching. Leaf check-in: 39ae92f5 user: drh tags: unpack-opcode
18:45 Avoid exporting sqlite3_json_init() from amalgamation builds. check-in: 8463f7e7 user: dan tags: dll-build-fix
19:29 First attempt to add json1 and fts5 to the amalgamation. This check-in does not compile. check-in: d820a1bd user: drh tags: amalg-json1-fts5
02:52 Change mkopcodeh.awk into tool/mkopcodeh.tcl. check-in: ed0ebc46 user: drh tags: omit-awk
17:51 This condition was not always true after all.....    Change an always-true condition in the virtual table transaction interface into an assert(). Closed-Leaf check-in: 3e15dea5 user: drh tags: mistake
23:45 Avoid unnecessary cursors and seeking when running a DELETE against a WITHOUT ROWID table. Leaf check-in: 70ec88b2 user: drh tags: delete-without-rowid-opt
15:20 Changes to allow DELETE operations on virtual tables to use the onepass strategy under some circumstances. check-in: e73f919f user: dan tags: vtab-onepass
16:29 Disable the SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS mechanism and replace it with SQLITE_TESTCTRL_BENIGN_MALLOC_CTRL, which gives better control. check-in: 2c57b2f3 user: drh tags: malloc-testing
16:24 Simplify thread-safety of mutex initialization. check-in: da0587c5 user: mistachkin tags: mutexInitSimpleCmpSwap
14:32 Include json1.c in fuzzcheck and fuzzershell. check-in: c4b68eff user: drh tags: json-fuzz
22:52 Re-check sqlite3GlobalConfig.isInit after the mutex subsystem has been initialized. check-in: fea8c0b2 user: mistachkin tags: mutexInitIsInitReCheck
19:26 Experimental change to use a single-pass approach for DELETE statements on non-virtual tables that do not fire triggers or require foriegn-key processing. check-in: eaeb2b80 user: dan tags: onepass-delete
05:06 Enhance mutex initialization to prevent possible race conditions between sqlite3_initialize() and sqlite3_config(). Also, re-check sqlite3GlobalConfig.isInit after the mutex subsystem has been initialized. check-in: f6a8f577 user: mistachkin tags: mutexInitCmpSwap
20:34 Experimental implementation of sqlite3_result_subtype() and sqlite3_value_subtype() interfaces. check-in: 7b5be299 user: drh tags: subtypes
18:23 For the Lemon-generated parser, add a new action type SHIFTREDUCE and use it to further compress the parser tables and improve parser performance. check-in: 531c3974 user: drh tags: lemon-update
19:52 Experiment with a different fts5 leaf page format that allows faster seeks. check-in: a1f4c3b5 user: dan tags: fts5-incompatible
12:52 This change is not correct for the boundary case of nCellKey==0. Was: Small performance gain and size reduction in sqlite3VdbeIdxKeyCompare(). Closed-Leaf check-in: 6e0298cd user: drh tags: mistake
19:56 Change the fts5 tokenizer API to allow more than one token to occupy a single position within a document. check-in: 90b85b42 user: dan tags: fts5-incompatible
00:27 Changes toward being able to process indexes on expressions. Not there yet - this check-in is just movement in that direction. Some tests are failing. check-in: 0ad0f8d7 user: drh tags: index-expr
21:09 Fix compiler warnings in the sqldiff tool seen with MSVC. Closed-Leaf check-in: 072279d4 user: mistachkin tags: msvcWarn
02:32 Initial implementation of eponymous virtual table instances. check-in: c1f43a77 user: drh tags: table-valued-functions
21:43 Convert the hint expression of the CursorHint opcode into a string for display by EXPLAIN. Leaf check-in: 12640cb2 user: drh tags: cursor-hints-displayP4
19:42 Avoid reading frames that have already been checkpointed from the wal file. check-in: 5669ac4a user: dan tags: wal-read-change
16:49 Begin adding an extension that provides JSON SQL functions. check-in: dde8afdd user: drh tags: json
20:22 Add the sqlite3_experimental_log_open() interface. This is for diagnostic use only and is not intended to ever go on trunk. check-in: ac5d2e9d user: drh tags: experimentalIoLog
22:47 Fix compiler warnings and remove unreachable code. check-in: be190fe7 user: drh tags: warnings
09:42 Within a write-transaction on a wal database in mmap mode, check the page-cache for an entry before the wal file. This can be faster if the wal file is very large. Leaf check-in: 3a82c8e6 user: dan tags: mmap-wal-bigtrans
03:19 Fix harmless compiler warnings in FTS5 code. Closed-Leaf check-in: 0ddb2532 user: mistachkin tags: fts5NoWarn
17:03 Add the "--uri" option to utility program "showdb". This option causes showdb to use sqlite with the SQLITE_OPEN_URI option to open the database file, instead of opening it directly using the OS open() function. check-in: 90e34d51 user: dan tags: showdb-uri-option
14:10 The "PRAGMA cache_size" reads the database schema, as it has done in all prior versions of SQLite. This side-effect of cache_size is undocumented, but apparently it does get used and its absence from 3.8.11 was causing problems. check-in: 4489722a user: drh tags: branch-3.8.11
19:35 Update batch build tool library paths for MSVC 2015. check-in: d431d4e1 user: mistachkin tags: msvc2015
19:31 Add an experimental "BEGIN UNLOCKED" command. check-in: 80794216 user: dan tags: begin-concurrent
19:46 Use a WITHOUT ROWID table to index fts5 btree leaves. This is faster to query and only slightly larger than storing btree nodes within an intkey table. check-in: 862418e3 user: dan tags: fts5-btree-index
18:54 Enhance separate pcache1 to allocate a block of pages from heap on startup, if possible, for a 5.2% performance improvement. check-in: aa7341c8 user: drh tags: pcache-bulk-local
17:13 Rework the PRAGMA integrity_check logic. Simplify the checkTreePage() routine and clean up the error messages generated. Closed-Leaf check-in: 1c522123 user: drh tags: integrity-check-refactor
12:47 Make use of htonl() and __builtin_bswap32() for faster implementations of sqlite3Get4byte() and sqlite3Put4byte(). check-in: bc27ebd7 user: drh tags: bswap-functions
13:31 Cache the most recently sqlite3_context used by OP_Function and reuse it on subsequent calls, if appropriate. This gives a noticable performance boost. Closed-Leaf check-in: 2f31bdd1 user: drh tags: function-ctx-cache
04:34 Initial changes to get FTS5 working with MSVC. check-in: ef2052f8 user: mistachkin tags: fts5Msvc
17:21 Add "ON CONFLICT" handling to the spellfix module. Closed-Leaf check-in: 1d04def7 user: dan tags: spellfix-constraints
20:02 Change the way that balance_nonroot() partitions cells between the sibling pages such that a scan of the cell size array is not required. check-in: 16872871 user: drh tags: btree-opt2
18:13 Split out all four cases of cellSizePtr() into different methods, each optimized for the specific page type. This gives a 0.36% performance increase at a cost of about 300 bytes of code. Leaf check-in: 522502ec user: drh tags: btree-opt
18:24 Performance improvements in btreeParseCell() by inlining the varint decoder. check-in: faab0ed9 user: drh tags: btree-opt
19:06 Use 'binary' mode for popen with MSVC. Closed-Leaf check-in: 7b84641e user: mistachkin tags: popenMsvc
11:48 Add the IS DISTINCT FROM and IS NOT DISTINCT FROM operators. check-in: 0be44782 user: drh tags: is-distinct-from
13:49 Add a fast-path implementation of pcache1Fetch() for the common case of separate caches that do not use a mutex. check-in: 760700ed user: drh tags: faster-pcache1-fetch
22:51 Remove possibly stray output from various tests. check-in: f38e0be5 user: mistachkin tags: testerOutput
18:05 Avoid passing constraints that are unusable due to LEFT or CROSS joins to virtual table xBestIndex() methods. check-in: 80ee56dd user: dan tags: vtab-left-join
22:33 Split FROM-clause subquery flattening and code generation into separate loops. check-in: be8e3fc7 user: drh tags: view-optimization
15:59 Add a new opcode to the VDBE that gives the b-tree a hint about the set of columns in a table or index that are actually used by the query. Closed-Leaf check-in: f167bba4 user: drh tags: column-usage-hint
16:09 Add the built-in affinity() SQL function. This turns out to be not as useful as originally envisioned, so abandon it on a branch. Leaf check-in: 80889306 user: drh tags: affinity-func
15:32 Rename SQLITE_AFF_NONE to SQLITE_AFF_BLOB. Closed-Leaf check-in: bce3f041 user: drh tags: blob-affinity-rename
20:28 For FROM-clause subqueries that cannot be flattened, try to push WHERE clause terms of the outer query down into the subquery in order to help the subquery run faster and/or use less memory. Closed-Leaf check-in: 297fae75 user: drh tags: subquery-opt
17:32 Break out the query flattener into a separate source-code file. Closed-Leaf check-in: e3fa8b93 user: drh tags: flattener-in-new-file
13:55 An attempt to allow automatic index creation on subqueries accessed via co-routine. check-in: 521345ad user: drh tags: coroutine-autoindex
14:21 A different approach to preventing buffer overreads when comparing a vector of values with a corrupt index record that spans at least one overflow page. Closed-Leaf check-in: 7e9e1b61 user: dan tags: avoid-buffer-overread
13:06 CTEs have never had working rowids. So disallow the use of the "rowid" column within CTEs. Closed-Leaf check-in: 0055df04 user: drh tags: no-rowid-in-cte
03:46 Add the "PRAGMA cell_size_check=ON" command. Closed-Leaf check-in: 2ead43f0 user: drh tags: cell-size-check-pragma
18:15 The "make fuzztest" target now uses fuzzcheck instead of fuzzershell. check-in: 4a5f6f1f user: drh tags: test-using-fuzzcheck
18:48 First code for a new utility program to rerun checks on a large number of fuzzer-generated test cases. check-in: c5b4e363 user: drh tags: fuzzcheck
00:50 Add the ".open" command to the command-line shell. Cherrypick from [21eccb919441]. check-in: a71e2a72 user: drh tags: branch-3.7.11
22:01 Add the sqlite3_value_dup() and sqlite3_value_free() interfaces and use those to add the sqlite3_rtree_query_info.apSqlParam field to the query callback in R-Tree. check-in: 2007391c user: drh tags: sessions-value-dup
21:28 Add the sqlite3_value_dup() and sqlite3_value_free() interfaces. Use these interfaces to enhance R-Tree to add the sqlite3_rtree_query_info.apSqlParam field. check-in: a7ee40c4 user: drh tags: value-dup
15:51 A proposed fix for the problem of CREATE TABLE AS generating a table that has INTEGER values in a TEXT column. Ticket [f2ad7de056ab1dc92]. check-in: d5e2c1fc user: drh tags: create-table-as-type-fix
19:52 Ensure that when the VM applies TEXT affinity to a value it discards any existing REAL or INTEGER value. Fix for [34cd55d6]. Increase the version number to check-in: 40f67265 user: drh tags: branch-3.8.10
19:17 Fix the transitive constraint processing to only allow transitivity if the operands of the == or IS operator have compatible affinities. check-in: a46a247f user: drh tags: transitive-constraints
15:24 An early attempt to get indexes to work with the IS operator. This code passes tests, but much more testing is needed to verify that it works on all corner cases. check-in: 6f7f1673 user: drh tags: index-is-operator
21:27 Experimental API extension for recovering the current trace and profile callbacks on a database connection. check-in: 9de33768 user: drh tags: get-trace
19:37 Optimizations for the matchinfo() function, particularly the 'y' flag. check-in: dddd7e18 user: dan tags: fts3-matchinfo-y
17:06 Include the "dbstat" virtual table in the amalgamation. check-in: fc6504aa user: drh tags: dbstat-in-amalgamation
18:25 Add the SQLITE_LIMIT_PRINTF_WIDTH setting for sqlite3_limit() and associated logic for preventing DOS attacks using printf() with oversized widths or precisions. Leaf check-in: f8b15979 user: drh tags: limit-printf-width
09:44 Add the experimental matchinfo 'y' flag to fts3/4. Closed-Leaf check-in: 92941609 user: dan tags: fts3-matchinfo-y
13:11 Oops - the deephemerialization needs to occur before the move, not after. Was: Rather than try to keep track of the parent of an ephermeral register when the register moves, just deephemeralize all registers touched by the OP_Move opcode. Closed-Leaf check-in: 091cfe8e user: drh tags: mistake
12:27 Add code to the shell to optionally initialize the dbstat virtual table. Closed-Leaf check-in: 7ed86dd3 user: drh tags: stat-vtab-in-shell
14:41 Prototype for an sqlite3_db_log() interface. Leaf check-in: 658e20f5 user: drh tags: sqlite3_db_log
06:18 Work in progress on making VSIX packages for the Visual Studio 2015 CTP. check-in: 8469d651 user: mistachkin tags: vsix2015
12:09 Checked in the wrong fix. Closed-Leaf check-in: 4b0f4484 user: drh tags: mistake
11:56 Use a heap instead of a bitmap for cell overlap and coverage testing of btree pages in PRAGMA integrity_check. Closed-Leaf check-in: 5619c959 user: drh tags: integrity-check-heap
19:13 Add the BtCursor.pPage field which is the current page to which the cursor points, for a very small performance gain. Leaf check-in: a200e1ea user: drh tags: btree-current-page-cache
19:41 Work toward adding the --changeset option to the sqldiff utility program. Changes are incomplete. This is an incremental check-in. check-in: 463e38d7 user: drh tags: sqldiff-changeset
16:01 Add experimental API sqlite3session_diff(). Closed-Leaf check-in: c4340b2e user: dan tags: sessions-diff
22:05 Detect and suppress an endless loops in clearDatabasePage() that might result from a corrupt database file. This is an edited cherry-pick from [30011ad2f55c] and [395bb3e677a]. Leaf check-in: e5f5ef00 user: drh tags: apple-osx-385
09:05 Fix a problem with fts3 prefix terms within phrase queries on "order=DESC" tables with a mix of negative and positive rowids. Closed-Leaf check-in: 0cdf5028 user: dan tags: fts3-prefix-query-fix
16:43 Fix a problem with resolving ORDER BY clauses that feature COLLATE clauses attached to compound SELECT statements. Closed-Leaf check-in: 427b50fb user: dan tags: compound-order-by-fix
01:26 The build is still broken. Multiple definitions of sqlite3OSTrace when compiled using separate source files. check-in: 5c965a71 user: drh tags: winTest
18:18 Path portability enhancements for mptester.exe. check-in: c8694657 user: drh tags: winTest
17:45 Testing enhancements on Windows. check-in: 9cc70eee user: mistachkin tags: winTest
19:56 Optimize CREATE INDEX, REINDEX and VACUUM statements by taking better advantage of the fact that index keys are being inserted into b-trees in sorted order. Leaf check-in: 763d2bc7 user: dan tags: mistake
23:36 When syncing a memory mapped file on Windows, flush the mapped view as well. check-in: df204049 user: mistachkin tags: winViewFlush
11:55 Optimize cases where all the sorter is sorting a set of records that all begin with integer values, or that all begin with text values to be compared using BINARY. check-in: ce5ad17c user: dan tags: sorter-opt
00:09 Backport the 'stdcall' related enhancements from trunk. Leaf check-in: cbb93d1a user: mistachkin tags: stdcall-3.8.8
21:27 Add SQLITE_STDCALL and SQLITE_CDECL macros on public function definitions. check-in: 242f09d4 user: mistachkin tags: stdcall
12:51 Replace the Vdbe.inVtabMethod field with the sqlite3.nVDestroy counter. check-in: 9faefb96 user: drh tags: nVDestroy
17:25 Add the sqlite3_status64() interface. Make the new interface and the legacy sqlite3_status() both atomic and threadsafe. Check threadsafety using assert()s. check-in: 1ce8e8fa user: drh tags: status64
20:30 Where possible insert the set of new keys for each index in sorted order within "INSERT INTO ... SELECT" statements. check-in: 0a7f2051 user: dan tags: insert-select-opt
14:57 Provide the BTREE_SEEK_EQ hint to the b-tree layer. check-in: e750830f user: drh tags: seek-eq
18:56 Fix a problem with creating virtual table with names specified using malformed utf-8 within utf-16 databases. check-in: 9969cff2 user: dan tags: malformed-vtab-name
12:13 When a WHERE clause contains disjuncts with the same operands, try to combine them into a single operator. Example: (x=A OR x>A) becomes (x>=A). check-in: 7a309768 user: drh tags: combine-disjuncts
18:59 When estimating the number of rows visited by a range scan for which the keys consist of more than one field, consider prefixes of stat4 samples as well as the full samples. check-in: e1caf93c user: dan tags: stat4-change
20:06 Allow the query planner to evaluate deterministic scalar SQL functions used in WHERE constraints if all arguments are SQL literals in order to compare the results with sqlite_stat4 sample data. check-in: b7f1fc26 user: dan tags: stat4-function
20:22 Arrange for some of the transient locks in WAL mode to block, as a single to the OS to fix priority inversions. check-in: c6e6d5f4 user: drh tags: wal-blocking-lock
20:32 Fix another problem with the LIKE optimization. check-in: 465bfc72 user: drh tags: like-opt-fix
16:45 The LIKE optimization must be applied twice, once for strings and a second time for BLOBs. Ticket [05f43be8fdda9f]. This check-in is a proof-of-concept of how that might be done. check-in: 5757e803 user: drh tags: like-opt-fix
14:27 In the command-line shell, change the units on the ".width" directive from bytes to characters. Leaf check-in: b1a9e291 user: drh tags: cli-char-width
10:54 Add support for linenoise to shell.c. Closed-Leaf check-in: f7f2598c user: dan tags: linenoise
16:05 Make sure partial automatic indexes are not based on terms in the ON clause of a LEFT JOIN. Fix for ticket [2326c258d02ead3]. UPDATE: This fix does not work where the partial index is a named index. check-in: c0f4e308 user: drh tags: tkt-2326c258
15:21 Disable the query flattener for aggregate subqueries if the parent query uses other subqueries in its result set or WHERE clause or ORDER BY clause. Preliminary fix for ticket [2f7170d73bf9abf8]. However it still contains a defect similar to the COLLATE problem of [ca0d20b6cddd]. check-in: 0b7d65e3 user: drh tags: tkt-2f7170d7
19:17 Remove "PRAGMA pager_ota_mode". check-in: 8ac58e46 user: dan tags: ota-update-no-pager_ota_mode
22:19 Add an experimental pragma "PRAGMA preload;" that preloads the pcache with the entire database file. Leaf check-in: 6dca23e6 user: drh tags: preload-pragma
02:00 Add the "index_xinfo" pragma. Add new columns to the "index_info" and "index_list" pragmas. check-in: 30f51d7b user: drh tags: index_xinfo
17:54 Add the INITMODE test-control. check-in: 5940af8e user: drh tags: initmode-testctrl
02:26 Experimental sqlite_db_config() setting to disable writing to all btrees except for one btree with a particular root page. check-in: 23054110 user: drh tags: one-writable-btree
21:38 Ensure that the KeyInfo.nXField value for ephemeral tables used to implement ORDER BY or GROUP BY clauses is set correctly, so that the sqlite3VdbeFindCompare() routine can choose the correct comparison function. Add assert() statements to the high-speed comparison functions to detect cases where they are inappropriately chosen. Fix for ticket [f97c4637102a3ae72b7911]. check-in: 59e592f6 user: drh tags: branch-3.8.8
19:48 An alternative way of implementing the assert() that verifies the relative values of KeyInfo.nField+KeyInfo.nXField and the number of columns in a record. This version of the assert() only fires when the high-speed comparison routines are used - which is to say it only fires when the constraint actually matters. check-in: bf744b49 user: drh tags: tkt-f97c4637
19:21 An alternative way of fixing the key comparison bug of ticket [f97c4637102a3ae72b]. Closed-Leaf check-in: e41376cf user: drh tags: alt1-tkt-f97c4637
17:28 Add an assert() to verify that the nField+nXField values of a KeyInfo object are never less then the number of columns in a row for a non-corrupt database. This assert() currently fails, which is the root of the problem with ticket [f97c4637102a3ae72b]. check-in: 083f523d user: drh tags: tkt-f97c4637
05:35 Some experimental command line shell input/output enhancements. check-in: 25e99f3f user: mistachkin tags: expShell
19:35 Fix harmless compiler warning. Closed-Leaf check-in: cab46fb7 user: mistachkin tags: msvcWarn
18:02 Work in progress on fixing harmless compiler warnings when using -W4 and MSVC. check-in: 856dd245 user: mistachkin tags: msvcW4
16:27 Towards getting INSERT statements to except many VALUE terms (more than the limit imposed by SQLITE_LIMIT_COMPOUND_SELECT). This check-in segfaults on a stack overflow. And it is slow. check-in: c9d65f73 user: drh tags: many-VALUEs
19:40 Rework the test/releasetest.tcl script so that it uses the autoconf makefile instead of the test/releasetest.mk makefile. Also add options like --dryrun and --buildonly. Omit the --makefile option and replace it with --srcdir with the default computed relative to the releasetest.tcl script itself. check-in: 7c85e831 user: drh tags: releasetest-refactor
19:28 Experimental "PRAGMA data_version" command for detecting when another process has changed the database file. check-in: 43db1f44 user: drh tags: data_version_pragma
20:13 Experimental opimizations to speed up FK constraint CASCADE and SET NULL action processing. Requires further testing. check-in: 35a20a5f user: dan tags: experimental-fk-actions
20:49 Changes to threadtest3 so that "stress2" is more similar to the SDS stress test. Closed-Leaf check-in: 5648af96 user: dan tags: threadtest3
19:29 Add the threadtest4.c test program. Not yet working. check-in: ec3a7446 user: drh tags: threadtest4
14:36 Add code to check the validity of CollSeq objects during runtime. This code was not able to detect anomalies such as came up as a result of ticket [e4a18565a36884b00edf66541f38c693827968ab] so it is put into a branch for historical reference, with the intent of leaving it out of trunk. Closed-Leaf check-in: 68b23c3d user: drh tags: collseq-checking
05:38 When closing a (shared-cache) database connection, be sure to clear out all KeyInfo objects cached on Index objects. Proposed fix for ticket [e4a18565a36884b00edf]. check-in: 651ed97d user: drh tags: fix-stale-keyinfo-cache
19:04 Add the SQLITE_CHECKPOINT_TRUNCATE option. check-in: 8e20a434 user: dan tags: checkpoint-truncate
16:14 Unintentional edits mistakenly checked in. Was: Remove an obsolete and incorrect comment from the whereLoopOutputAdjust() routine in the query planner. No changes to working code. Closed-Leaf check-in: e1f893c6 user: drh tags: mistake
19:08 Adding the "noskipscan" token to an sqlite_stat1.stat field prevents an index for being used with the skip-scan algorithm. Closed-Leaf check-in: 00fe0950 user: drh tags: noskipscan-token
19:34 Consider using an automatic-index for a scan even if there exists a possible skip-scan that uses one or more "=" operators. Closed-Leaf check-in: 93642a65 user: dan tags: experimental-autoindex-fix
01:33 Experimental changes that permit read operations to continue after a ROLLBACK, as long as the schema is unchanged. Closed-Leaf check-in: fa6e6a9a user: drh tags: read-after-rollback
03:55 Change the SQLITE_SCANSTAT_EST parameter so that it returns a double for the estimated number of output rows per loop, rather than a 64-bit integer. Revise the output format for the ".scanstats on" in the shell to make use of this new capability. check-in: f9684000 user: drh tags: scanstatus
19:37 For the Win32 VFS, allow memory mapped files to work when compiled without WAL support. check-in: 1fc7e2f3 user: mistachkin tags: winMmapNoWal
20:11 Add the experimental sqlite3_stmt_scanstatus() API. check-in: 6a9bab34 user: dan tags: scanstatus
01:07 Call fsync() right after ftruncate() when in journal_mode=TRUNCATE and when synchronous=FULL in order to ensure that transactions are durable across a power loss that happens moments after the commit. Proposed fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1072773. This is a cherrypick of [3e922208b68563489]. check-in: a8f9bd1e user: drh tags: branch-3.8.7
00:35 Add the SQLITE_ENABLE_API_ARMOR compile-time option. This is a work in progress and is not yet completely functional. check-in: c297a84b user: drh tags: api-armor
17:26 Add debugging code to count the number of iterations of each loop made as part of statement execution. Leaf check-in: c6a5b67a user: dan tags: debug-loopcounters
16:25 The _beginthreadex() / _endthreadex() functions should only be used when compiling with MSVC. Closed-Leaf check-in: 1a5a5da3 user: mistachkin tags: msvcThreads
02:43 Call fsync() right after ftruncate() when in journal_mode=TRUNCATE and when synchronous=FULL in order to ensure that transactions are durable across a power loss that happens moments after the commit. Proposed fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1072773. This is a cherry-pick of [3e922208b68563] check-in: 67484807 user: drh tags: branch-3.8.6
01:23 Add the OP_SorterColumns opcode - an experiment in using a special case opcode to decode the Sorter output rather than the generic OP_Column. This might be faster. And with further work, it could eventually eliminate the need for OP_OpenPseudo. check-in: b9c695e8 user: drh tags: OP_SorterColumns
20:52 Account for the ASC/DESC properties of ORDER BY expressions when using the same index for GROUP BY and ORDER BY. Candidate fix for [ba7cbfaedc]. Closed-Leaf check-in: 2a957396 user: dan tags: experimental
19:16 Improve the accuracy of the estimates used when searching an index for values not present in any stat4 samples under some circumstances. check-in: e6f7f97d user: dan tags: stat4-avgeq
21:24 Draw the TreeView debugging graphs using unicode box-drawing characters. Closed-Leaf check-in: 0efc6859 user: drh tags: box-character-graph
18:47 Add the OPFLAG_MULTICOLUMN flag to the OP_Column opcode. Rearrange OP_Column instructions to take advantage of the new flag for a small performance increase Leaf check-in: 5e5d6e86 user: drh tags: faster-OP_Column
05:00 Reduce the amount of memcpy() required by defragmentPage(). check-in: 3edab995 user: drh tags: defrag-opt
04:38 Experiment using linear interpolation, instead of a strict binary search, when looking for integer-keyed rows on a single b-tree page. The experiment was not successful. The number of key comparisons is reduced by about 15%, but the added complexity of the search logic causes an overall reduction in performance. The patch is saved for historical reference only. Closed-Leaf check-in: c705cf85 user: drh tags: linear-interpolation
18:18 Enable SELECT query planning tracing when compiled with SQLITE_ENABLE_SELECTTRACE and either SQLITE_DEBUG or SQLITE_TEST. check-in: cbe0cf9d user: drh tags: select-trace
00:02 Revise macro usage in 'sqliteInt.h'. check-in: 35db3e2f user: mistachkin tags: sqliteIntMacros
00:43 Add the sqlite3VdbeMemClearAndResize() interface to be used in place of sqlite3VdbeMemGrow(). A C++ style comment was left in this check-in by mistake, and so it has been moved into a branch to avoid problems in any future bisects on windows. check-in: 5b9b8987 user: drh tags: Cplusplus-comment
14:16 Reorder the elements of the Mem object for a small size reduction and performance improvement. Moved into a branch because MSVC is unable to handle named structure initializer on nullMem. check-in: 0be3019e user: drh tags: micro-optimizations
17:27 Add new APIs that take 64-bit length parameters: sqlite3_malloc64(), sqlite3_realloc64(), sqlite3_bind_blob64(), sqlite3_bind_texte64(), sqlite3_result_blob64(), and sqlite3_result_texte64(). Internal memory allocation routines also now use 64-bit unsigned length parameters for safety. Also add the sqlite3_msize() interface. Fix the sqlite3_get_table() to use sqlite3_realloc64() to avoid a integer overflow problem. check-in: 94954850 user: drh tags: 64-bit-lengths
14:47 Non-working preliminary implementation attempts on user authentication. check-in: 8440f093 user: drh tags: user-auth
16:49 Fixes to os_unix.c to support database (and other) files larger than 2GiB. check-in: e7fae33c user: dan tags: android-large-filles
19:59 Add an experimental extension for applying bulk updates to databases. check-in: 2954ab50 user: dan tags: ota-update
12:29 Contains a fault. Was: Avoid an unnecessary OP_Move operation for expression subqueries. Closed-Leaf check-in: 462f42af user: drh tags: mistake
11:24 Add the sqlite3VdbeChangeDest() routine that can be used to eliminate OP_Move opcodes. Closed-Leaf check-in: 8c57bcc3 user: drh tags: experimental
16:01 Fix a problem causing an inaccurate stat4-based estimate for the number of rows visited by a range scan. check-in: 052d89b5 user: dan tags: stat4-experimental
14:34 Get the sqlite3VdbeSerialGet() routine to run faster by avoiding the use of local variables. check-in: 8267d821 user: drh tags: experimental
19:11 For sqlite3_win32_is_nt(), assume WinRT is NT-based. check-in: 2f59e71f user: mistachkin tags: winrt
11:56 Further size reduction and performance improvement in btree.c:allocateSpace(). check-in: 1cb1cd64 user: drh tags: btree-speedup
15:08 Begin adding commands to the command-line interface for interacting with the sessions extension. This is the first check-in of a work-in-progress. check-in: c2fcf0b9 user: drh tags: sessions_from_cli
18:31 Fix compiler warnings on WinCE. Closed-Leaf check-in: cc910b8e user: mistachkin tags: winCeWarn
13:32 Remove support for Win9x. Leaf check-in: 169fc47e user: drh tags: drop-win9x-support
16:52 Because SQLite internally calculates query plan costs using a logarithmic scale, very large estimated sorting costs can cause all other estimated costs to be rounded down to zero. In these cases break ties between plans with the same total cost by comparing the costs with sorting excluded. This is an alternative fix for the problem addressed by [2af630c572]. check-in: 299b9570 user: dan tags: query-planner-fix
16:50 Oops! This check-in was on trunk. But it contains a debugging printf(). Original comment: When the estimated cost to do a sort overwhelms the estimated cost to do individual table lookups, make sure that the table lookup costs are still taken into consideration when selecting the lookup algorithm. check-in: ec5d84ba user: drh tags: query-planner-fix
15:12 Changed my mind: This opcode name changes mere creates unnecessary diff marks between older and newer versions without significantly improving readability. Was: Rename the IsNull opcode to IfNull and rename the NotNull opcode to IfNotNull. Closed-Leaf check-in: 2f724cba user: drh tags: deadend
21:03 Enhancements to the code generator for the IN operator that result in much faster queries in some cases, for example when the RHS of the IN operator changes for each row of a large table scan. check-in: 436e8842 user: drh tags: IN-operator-improvements
14:46 Begin making changes to the IN operator in an attempt to make it run faster and to make the code easier to understand. check-in: ee0fd6aa user: drh tags: IN-operator-improvements
17:47 Try to reuse sorter statements in fts5. Does not work due to circular references on VTable object. Leaf check-in: bc14e64b user: dan tags: save_sorter_stmt
05:49 Enhancements and updates to the Win32 mutex subsystem. check-in: 18984c32 user: mistachkin tags: winMutex
18:36 Improve the performance of the ANALYZE command by taking advantage of the fact that every row of a UNIQUE index is distinct. check-in: 3e1e79e1 user: drh tags: faster-analyze
01:26 Add support for parsing C-style hexadecimal literals. check-in: 34a1f38b user: drh tags: hex-literal
20:15 Add new ASCII mode to the shell capable of importing and exporting using the official unit and record separators (i.e. 0x1F and 0x1E, respectively). check-in: 7fe601ea user: mistachkin tags: asciiMode
21:16 Fix harmless compiler warnings for MSVC in the showdb/showwal command line tools. check-in: 6dc7b2f1 user: mistachkin tags: toolWarnings
13:32 Generate complete samples for sqlite_stat4 on WITHOUT ROWID tables. Ticket [b2fa5424e6fcb15b5] check-in: 8cb43edd user: drh tags: stat4-without-rowid
20:21 Attempt to use sqlite_stat4 data to estimate the number of rows visited by a range query that uses a skip-scan. This code is largely untested. check-in: 01dc8102 user: dan tags: stat4-skipscan
11:33 Add some code for an experimental fts5 module. Does not work yet. check-in: 1e0648dc user: dan tags: fts5
02:46 Do not attempt to create an automatic index on a constant constraint, as doing so is pointless. check-in: d6883e96 user: drh tags: autoindex-improvements
20:18 Proposed change to the fix for ticket [1c69be2dafc28b] such that legacy applications that were exploiting the older buggy behavior in SQLite continue to work. Leaf check-in: 401a0ca3 user: drh tags: group-by-name-resolution
20:06 Enhance the unix VFS so that it keeps track of the size of unlinked files internally and thus avoids the need to call fstat() on those files, since fstat() does not work reliably on unlinked files on some implementations of FuseFS. Closed-Leaf check-in: c41df393 user: drh tags: omit-fstat-after-unlink
09:56 Moved to "mistake" because this commit contains a typo causing a test to fail. Was: Add an extra test to further verify that the FTS notindexed option is working properly. Leaf check-in: 7d445e59 user: dan tags: mistake
03:27 Revise locking retry semantics in Win32 VFS to abort early if the file handle is reported as invalid. check-in: d43e2e59 user: mistachkin tags: winLockHandle
20:06 Enable the OR optimization for WITHOUT ROWID tables. Use a temp table instead of the RowSet object to track the rows that have already been included in the result set. check-in: 2c7e277b user: dan tags: without-rowid-or-opt
15:16 Changes to help ensure that a multiplication does not overflow when computing the number of bytes needed for a memory allocation, and cause a malfunction. No problems existing problems were discovered. However, these changes should help to ensure that no problems arise in the future. check-in: 17349a49 user: drh tags: safer-malloc
23:38 Fix harmless compiler warnings. Closed-Leaf check-in: 7e60347e user: mistachkin tags: ftsWarnings
20:04 Experimental code to prevent FTS indexes from growing indefinitely as the table is updated. check-in: b3b505a4 user: dan tags: fts4-experimental
22:01 Experimental changes to pre-cache a database file prior to it being fully opened. check-in: 38cbcedb user: mistachkin tags: winPreCache
17:19 Make sure the group_concat() function returns an empty string, not a NULL, if it has at least one input row. Fix for ticket [55746f9e65f8587]. check-in: 0deac873 user: drh tags: tkt-55746f9e
15:28 Experimental changes that reduce the size of Expr objects from 72 to 64 bytes each on x64 and from 48 to 44 bytes each on x32. Leaf check-in: 8ad0a123 user: drh tags: smaller-expr
19:57 Try to reduce the amount of memory used to hold the schema when PRAGMA ignore_check_constraints is active. check-in: 35a9f3f1 user: drh tags: reduce-schema-size
18:24 Centralize and reform use of the Win32 related include files. check-in: 857f2baf user: mistachkin tags: winHdr
20:04 Changes to the way the planner calculates the costs of various table and index scans. Some test cases still failing. check-in: c5a6ec0a user: dan tags: experimental-costs
13:20 Add sqlite3_log() diagnostic messages for a specific type of corruption where the file size is reported to be too small relative to the size in the header. This branch is intended to help debug a specific problem reported from the wild and is not for general use. check-in: 34155c40 user: drh tags: filesize-debug
12:00 Enhancements to the date and time functions so that they optionally support a 5-digit year. Not sure we want to include this in trunk. Saved in a branch for future reference. Closed-Leaf check-in: 2029a396 user: drh tags: five-digit-year
19:30 Add the win32-none VFS which omits rollback-journal locking. check-in: 03e3c5a8 user: drh tags: win32-none
00:08 Preliminary changes to support building VSIX packages for Windows Phone 8.1. check-in: a1b2f28b user: mistachkin tags: vsixWinPhone81
21:06 Initial attempt at getting R-Tree queries to work using a priority queue. This check-in compiles, but R-Trees do not work well. And there are debugging printf()s left in the code. This is an incremental check-in. check-in: 53688a25 user: drh tags: rtree-queue
16:14 Update comments in the R-Tree module in preparation for some big changes. Add an "rtree" performance test to speedtest1. check-in: 20a73ec0 user: drh tags: rtree-enhancements
20:04 Experimental multi-threaded sorting changes to allow the sorter to begin returning items to the VDBE before all data is sorted. check-in: f9d5e09a user: dan tags: threads-experimental
18:44 Experimental multi-threaded sorting changes to begin merging PMAs before SorterRewind() is called. Closed-Leaf check-in: cbfc0f6d user: dan tags: abandoned
14:16 Incorrect change to a comment. Closed-Leaf check-in: abbdb925 user: drh tags: mistake
21:16 Experiments in picking better query plans, especially when the usage of one index is a subset of another. check-in: 8f869ca7 user: drh tags: query-plan-experiments
19:48 Changes to make the multi-threaded sorter sort stably. Closed-Leaf check-in: 83a105c8 user: dan tags: threads-closed
16:22 Fix a potential buffer overread that could have occurred when searching a corrupt database file. check-in: db293547 user: drh tags: branch-3.8.4
12:33 Cancel column-cache entries that are involved in a comparison operator since the comparison might have forced an affinity change. Originally proposed as a fix for ticket [a8a0d2996a], but later determined to be incorrect. Closed-Leaf check-in: 0b95b7a8 user: drh tags: tkt-a8a0d2996a
12:36 One possible fix for the [e39d032577d] problem it to replace the failing assert() with a testcase() as shown here. Closed-Leaf check-in: eae6dfbe user: drh tags: tkt-e39d0325
08:59 Add an experimental fix to avoid attempting to mmap memory from an offset that is not a multiple of the system page size on systems with page sizes larger than 32KB. check-in: 6f3a5c24 user: dan tags: shm-mapping-fix
15:30 Experiments with the optimization of ORDER BY and GROUP BY clauses. check-in: b1509025 user: drh tags: orderby-planning
20:33 Enable the b-tree cursor object's overflow page-number cache, which is normally enabled only for incr-blob cursors, for all cursors. check-in: da591985 user: dan tags: overflow-pgno-cache
14:44 Forgot to change the VERSION file. Closed-Leaf check-in: 04caffce user: drh tags: mistake
01:29 Experimental simplification of memory flags/type handling. Closed-Leaf check-in: bac2820e user: mistachkin tags: noMemType
21:59 Refactor the sqlite3VdbeRecordCompare() routine used to compare btree records. Create a couple of fast-track routines to handle the common cases of a string with BINARY collation or integer values as the left-most column. This gives a significant performance boost in common use. Oops: This build does not work on the Beaglebone where "char" defaults to unsigned. check-in: aec5473a user: drh tags: broken-on-arm
14:45 Add extra assert() statements trying to catch a Mem object in an inconsistent state. check-in: 4aeb3ae4 user: drh tags: enhanced-mem-check
19:05 Only run the OP_OpenRead opcodes for a correlated subquery once, on the initial iteration. Keep the cursor open for subsequent runs. This was suppose to be a performance enhancement, but it is difficult to come up with a query where is makes a significant difference. Hence, the change is getting parked in a branch. Leaf check-in: 3ad687b7 user: drh tags: open-only-once
21:01 Attempt to speed up sqlite3VdbeRecordCompare() by various means. This code is in an interim state. check-in: 85206e0b user: dan tags: experimental
19:38 Make sure temporary registers used within a co-routine are not also used outside of that co-routine, in order to prevent concurrent use of the same register for two different things. Ticket [8c63ff0eca81a9132d8] Closed-Leaf check-in: cc5eda54 user: drh tags: tkt-8c63ff0eca
05:44 Better loadable extension handling in the Win32 VFS when compiled for Cygwin. check-in: 6676475c user: mistachkin tags: cygDlOpen
05:18 Enhance the Win32 VFS I/O retry logic. check-in: adba783c user: mistachkin tags: winIoRetry
01:55 Enhance the code generator for INSERT INTO ... SELECT so that the SELECT generates output directly in the registers that INSERT INTO will be using, in many cases, and OP_SCopy operations can thus be avoided. check-in: aa2d8b0e user: drh tags: insert-optimization
23:35 Better support for MinGW 4.x. check-in: e1472307 user: mistachkin tags: mingw4x
19:37 Experimental change to os_unix.c to delay creating a database file until it is first written. check-in: 538f7b25 user: dan tags: deferred-open
16:13 Modify the command-line shell to print a warning when using an in-memory database. check-in: 90e9deae user: drh tags: memdb-warning
13:22 Fix a harmless compiler warning in VS2013. check-in: 35f2793d user: drh tags: branch-3.8.3
18:27 Get rid of the OP_Undef and OP_IsUndef opcodes in favor of higher-level OP_InitCoroutine and OP_EndCoroutine. check-in: 1ec0e9dd user: drh tags: coroutine-refactor
13:20 Add the OP_Undef and OP_IsUndef opcodes. With these, use the first register in the result register range as the flag to indicate EOF on an INSERT from a SELECT, rather than allocating a separate boolean register for that task. check-in: 6fb74485 user: drh tags: coroutine-refactor
17:08 Make the root page of an ephemeral index be page 1 instead of page 2. check-in: a332908b user: drh tags: subquery-codegen-refactor
06:35 Minor change to TEA extension docs in an attempt to make links work correctly. Closed-Leaf check-in: 492585c8 user: mistachkin tags: teaDoc
11:12 Enhance the MSVC makefile for better debugging symbol support. Closed-Leaf check-in: c723ec27 user: mistachkin tags: msvcDebug
22:25 Change the recursive common table expression algorithm to use a queue instead of a pair of tables. Runs about 25% faster on the sudoku solver query. The OP_SwapCursors opcode is no longer required. The current implementation uses just a fifo, but the plan is to change it into a queue that will support ORDER BY and LIMIT in a recursive query. check-in: b2671e11 user: drh tags: cte-via-queue
00:19 Add support for the LEVEL pseudo-column in the recursive part of a common table expression. LEVEL has the value of 1 on the first iteration and successively larger integer values of subsequent iterations. It cannot have a table qualifier. Actual columns named "level" can still be accessed by including the table name qualifier. check-in: cc1cb321 user: drh tags: level-pseudocolumn
13:22 Parse common table expressions. But do not do anything with them (yet). check-in: da98b720 user: drh tags: common-table-expr
03:13 Add the "%token_class" directive to the LEMON parser generator. This opens up the possibility of simplifying the parser. Also remove all calls to sprintf(), strcpy(), and strcat() from LEMON to avoid compiler warnings on OpenBSD. Closed-Leaf check-in: 4e4483b2 user: drh tags: buggy-lemon
23:21 Do not use sprintf(), strcpy() or strcat() in the implementation of the lemon parser generator tool, to avoid compiler warnings in OpenBSD. check-in: e43c522d user: drh tags: lemon-updates
18:32 Start a new experimental branch for support of Oracle-style CONNECT BY syntax. Closed-Leaf check-in: 4365ddd6 user: drh tags: connect-by
14:16 Have the planner detect cases where a MATCH constraint is applied to a virtual table, and ignore any plans that do not allow the virtual table implementation to implement the MATCH filtering. check-in: 19f3208b user: dan tags: avoid-unusable-match
15:35 Make sure the WhereLoop.aLTerm[] array is large enough when processing the skip-scan optimization. Fix for ticket [520070ec7fbaac]. check-in: ac5852d6 user: drh tags: branch-3.8.2
15:11 Show changes to the column cache when PRAGMA vdbe_addoptrace=ON is set. check-in: 4c6a659c user: drh tags: column-cache-debug
15:03 Add the printf() SQL function. check-in: 6db7052e user: drh tags: printf-sql-function
20:42 Modify the way some internal file-controls are invoked. In order to support multi-file transactions in the zipvfs extension. check-in: 32fb1784 user: dan tags: zipvfs-multifile-commit
20:39 If the SQLITE_ENABLE_CURSOR_HINTS macro is defined, then invoke the sqlite3BtreeCursorHint() interface to provide hints to the storage engine about rows that need not be returned. Hints can be disabled using SQLITE_TESTCTRL_OPTIMIZATIONS with SQLITE_CursorHints (0x2000). Cursor hints are not used by the built-in storage engine of SQLite but might be useful to applications that provide their own storage engine. The current code is work-in-progrss and contains bugs. check-in: 3a9bec52 user: drh tags: cursor-hints
15:37 Add code to detect if the database file is moved or deleted out from under SQLite and return an SQLITE_IOERR_NODB. check-in: 8759a8e4 user: drh tags: detect-moved-db
22:32 Add memory subsystem related defines to the compile-time options list. check-in: 52a44146 user: mistachkin tags: memTests
03:01 Avoid using the GetVersionEx functions if they are considered deprecated. Closed-Leaf check-in: 0ea9e472 user: mistachkin tags: vs2013
09:36 Initial work on isolating usage of the Windows header file. check-in: 0d42c6b8 user: mistachkin tags: winHdr
02:38 Performance improvements in sqlite3BtreeMovetoUnpacked(). check-in: d0fb7ace user: drh tags: btree-optimization
23:18 Better support for UTF-8 paths on Cygwin. Closed-Leaf check-in: 484162b6 user: mistachkin tags: cygUtf8
22:45 A much simpler fix is to simply change MEMSYS5 so that it takes any free block of the appropriate size (the first on the list of free blocks) rather than searching for the one with the smallest address. This is also faster than using the min-heap algorithm. Need to research to verify that the allocator still satisfies the Robson proof, however. Closed-Leaf check-in: 8191b512 user: drh tags: memsys5-performance
21:30 Use a heap-based primary queue rather than a linked list to store the available free blocks of each size in MEMSYS5, since this provides faster access to the first available block. Closed-Leaf check-in: 7d2cdfad user: drh tags: memsys5-performance
00:27 Add experimental sqlite3_config option to control the native Win32 heap size. check-in: f09f11e9 user: mistachkin tags: winHeapSize
17:25 Refactoring the OP_Column opcode for improved performance and maintainability. check-in: 7c914e39 user: drh tags: OP_Column-refactor
20:13 Enhance the DELETE logic so that it can make use of WHERE_ONEPASS_DESIRED for rowid tables. check-in: 8f479a72 user: drh tags: optimize-delete
01:10 Rework the logic that factors constant expressions out of inner loops, making it both simpler and faster. check-in: 8dc5c76c user: drh tags: expr-codegen-enhancement
15:35 An experimental virtual tables for showing the content of internal schema objects. Leaf check-in: d1fbc6ca user: drh tags: schema2-vtab
12:27 Add the ability to use an index even if the left-most columns of the index are unconstrainted, provided that the left-most columns have few distinct values. check-in: 27dd5993 user: drh tags: skip-scan
18:13 Enhancements to the Win32 native heap integration. check-in: c54dc967 user: mistachkin tags: win32heap
22:11 Fix temporary directory separator handling for Cygwin. Closed-Leaf check-in: 9d870d5f user: mistachkin tags: cygDirSep
12:30 Have the shell ".timer on" command cause the shell to report wall-clock time for each query (as well as user and system CPU time). Leaf check-in: 5530cdc4 user: dan tags: shell-wall-clock
13:15 Drop the mutex on the multiplexor before entering the xRead VFS call. Closed-Leaf check-in: a00d2ed4 user: drh tags: multiplex-parallel-read
23:31 Experimental changes toward "index only" tables. Add the ability to specify options on CREATE TABLE statements using the WITH clause modeled after PostgreSQL and SQL Server. Only the "omit_rowid" option is currently recognized and that option is currently a no-op. check-in: 0248ec5e user: drh tags: omit-rowid
09:49 Fix memory/resource leaks for WinCE and Cygwin. Closed-Leaf check-in: 2470d1bb user: mistachkin tags: wince-fixes
10:43 Fix harmless macro redefinition warnings in the totype extension. Closed-Leaf check-in: a38adeb7 user: mistachkin tags: noWarnings
19:06 In "PRAGMA foreign_key_check", treat missing parent tables as empty (instead of as errors). Closed-Leaf check-in: 8c13a7fd user: dan tags: fkc-missing-parent-tables
09:32 Changes to the new initial row of PRAGMA index_list results. Closed-Leaf check-in: 0c4dd9ff user: mistachkin tags: indexList
16:53 Try to remember statistics from ANALYZE using LogEst instead of u64. Leaf check-in: 8e78557a user: drh tags: log-stats
18:16 Begin an experimental refactoring to estimate the average number of bytes in table and index rows and to use that information in query planner. Begin by renaming WhereCost to LogEst and making that type and its conversion routines available outside of where.c. check-in: 66c4a251 user: drh tags: row-size-est
19:21 Experimental branch allowing different postulated scan rates for each index. check-in: d59d97b0 user: drh tags: index-scan-rate
11:42 Have fts4 full-text queries consider "docid<?" and similar constraints. check-in: 6622424a user: dan tags: fts4-docid-range-constraints
16:50 Increase the number of bits available in Expr.flags. Other tweaks aimed at making expression processing more robust. Closed-Leaf check-in: 579a5125 user: drh tags: expr-tuning
15:23 Initial implementation of the unlikely() SQL function used as a hint to the query planner. check-in: 036fc37a user: drh tags: unlikely-func
23:40 Add the experimental SQLITE_DEFAULT_INDEX_SHAPE=1 compile-time option that makes a much more pessimistic guess at the effectiveness of unanalyzed indices. Leaf check-in: d8daaba7 user: drh tags: index-shape-1
21:52 Add support for Cygwin when handling temporary file names. Improve error codes and diagnostic messages for temporary file name handling on Windows. Rename winConvertUtf8Filename to winConvertFromUtf8Filename. Improve placement and comments for forward function declarations. check-in: a411df72 user: mistachkin tags: cygwinTempPath
21:26 Never leave an open file descriptor pointing into the middle of the database file if the file descriptor number is 2 or less. check-in: 3426673e user: drh tags: overwrite-avoidance
13:15 Cherrypick of [c1152bdcbb] and fix for [9f2eb3abac]: Have the whereShortCut() planner ignore indexes with more than four columns. check-in: c3f75941 user: drh tags: branch-3.8.0
00:59 Unify the result of PRAGMA mmap_size when mmap support is disabled. check-in: 032c3159 user: mistachkin tags: mmapDisabled
21:15 Add tointeger() and toreal() SQL functions. check-in: af497072 user: mistachkin tags: toTypeFuncs
20:42 Add the cache_spill pragma. check-in: cdb181c0 user: drh tags: cache_spill
08:06 Make it easy to attach a debugger the test fixture process prior to any tests being run. Closed-Leaf check-in: c23acba1 user: mistachkin tags: dbgTestFixture
20:24 Begin adding experimental sqlite_stat4 table. This commit is buggy. check-in: 2beea303 user: dan tags: sqlite_stat4
18:12 Here begins an experimental branch for exploring the idea of a partial index. This check-in is able to parse a WHERE clause on a CREATE INDEX statement, but does not actually do anythingn with that WHERE clause yet. check-in: 6794b2dc user: drh tags: partial-indices
14:54 Another attempt at generalizing the URI parsing so that it works with a wider variety of file URIs and yet remains backwards compatible. check-in: de05eb75 user: drh tags: uri-enhancement
20:54 Update the URI filename parser to allow (and ignore) authority names in unix and to pass the authority through to the OS on windows, as this appears to be what web-browsers are doing. check-in: 74c12dee user: drh tags: uri-enhancement
17:12 Ensure that all auxiliary data registered by calls to sqlite3_set_auxdata() is destroyed when the VM is halted. Partial fix for [406d3b2ef9]. DRH adds: Stray text accidentally inserted into vdbe.c just prior to the commit breaks the build. check-in: 71effa59 user: dan tags: typo
13:33 Experimental "PRAGMA query_only=BOOLEAN" statement that is able to turn write capabilities on and off. Closed-Leaf check-in: ece960c4 user: drh tags: query_only
23:53 Modify several extensions to use the new exported function naming. Fix some shared library compilation issues. Closed-Leaf check-in: f2ab8747 user: mistachkin tags: extRefactor
22:01 Add a new (experimental) sqlite3_stmt_status() verb that returns the number of VM steps. Closed-Leaf check-in: f1366bab user: drh tags: status-vm-step
17:30 Add the "notindexed" option to fts4. check-in: 8ff2b8f5 user: dan tags: fts4-notindexed
00:35 Modify the query planner interface so that it always passes in the result set. This is the first step toward adding an optimization that will omit tables from a join that do not contribute to the result. check-in: 2c2577e6 user: drh tags: omit-join-table-opt
18:53 VSIX tooling changes to support Visual Studio 2013. check-in: c5954c58 user: mistachkin tags: vsix2013
20:13 Add the languageid_bits= option to fts. Still some problems to work out. check-in: d36d7e68 user: dan tags: fts-languageid-bits
00:32 Add a prototype for an extension that sits in between the SQLite native code virtual table interface and a CLR IDisposable object. check-in: 10bba8d0 user: drh tags: disposable-vtable
22:41 Add the ability to disable future calls to virtual table methods by invoking sqlite3_create_module() with a NULL sqlite3_module pointer. check-in: 6b77d61a user: drh tags: disable-vtab
19:12 First attempt to store costs and row counts as a logarithm. check-in: 9e810967 user: drh tags: nextgen-query-plan-logcost
17:21 High-speed version of NGQP. Still has some minor problems. check-in: db2415fa user: drh tags: nextgen-query-plan-fast
19:58 Candidate fix for a memory leak that occurs if a CREATE TABLE statement contains two or more COLLATE clauses on the same column definition. check-in: 60fc77bc user: drh tags: memleak
17:19 Add the files used to build the amalgamation-autoconf package. check-in: 048865e8 user: dan tags: autoconf-package
18:23 Candidate fixes for problems revealed by notify2.test. Notify2.test is still failing at this point. check-in: ea0428f9 user: dan tags: shared-cache-fixes
17:49 Make sure the ORDER BY collating sequences are compatible with the comparison collations before using the merge algorithm for compound SELECT statements. Candidate fix for ticket [6709574d2a8d8]. Closed-Leaf check-in: fc3630cd user: drh tags: tkt-6709574
00:15 Begin inserting some experimental code for the next generation query planner. check-in: ccaf4c3f user: drh tags: nextgen-query-plan-exp
19:49 Allocate 4 bytes of unused header space for an "Application ID". Add the "PRAGMA application_id" command to set and query this identifier. Add the "magic.txt" file to show how the posix file command might use this application id. check-in: 28c9e7fd user: drh tags: application-id
01:44 Initial work on reforming usage of OSTRACE by the Windows VFS. check-in: b347b5d1 user: mistachkin tags: winOsTrace
16:09 Avoid using posix_fallocate() in WAL mode, as it is not supported by all file-systems. Closed-Leaf check-in: 9c7523da user: dan tags: avoid-fallocate
20:34 Rebalance FTS expressions after parsing to limit recursion during evaluation. Avoid recursion when deleting FTS expression trees. Enforce a limit on the depth of an expression tree. check-in: f968d43f user: dan tags: fts3-expr-rebalance
20:10 Make "test_regexp.c" into a loadable extension and move it over to ext/misc/regexp.c. Add the "load_static_extension" command for testing purposes. check-in: 860fc393 user: drh tags: std-ext
22:56 Experiments in making loadable extensions easier to program. The shared library filename tries various operating-system specific extensions if the bare library name does not work. And the entry point is derived from the filename is the legacy entry point name "sqlite3_extension_init" is not found. check-in: 6cfa1d73 user: drh tags: loadext
19:59 Only consider AS names from the result set as candidates for resolving identifiers in the WHERE clause if there are no other matches. In the ORDER BY clause, AS names take priority over any column names. Candidate fix for ticket [2500cdb9be]. Closed-Leaf check-in: ad53924d user: drh tags: tkt-2500cdb9be
22:52 Expand scope of the SQLITE_DISABLE_MMAP define for the Win32 VFS. Closed-Leaf check-in: daa168f3 user: mistachkin tags: winDisableMmap
19:04 Increase the version number to and cherrypick the fix for ticket [7ff3120e4fa54abb55]. This check-in is a release candidate. check-in: 86f26f91 user: drh tags: branch-3.7.16
00:13 Experimental changes to support a Win32 VSIX package flavor. Closed-Leaf check-in: abedd7cb user: mistachkin tags: vsixWin32
03:22 Backport the multi-process tester to the last released version. Leaf check-in: bf6ca21b user: mistachkin tags: branch-3.7.16
19:19 Check in the instrumented code for the mptest test case that appears to show a spontaneously disappearing journal file. Closed-Leaf check-in: 96f04d99 user: dan tags: missing-journal-file
00:19 Add a prototype TH3-script-style test harness that starts multiple processes operating on the same database file at the same time. check-in: c318fafe user: drh tags: mptest
15:04 A fix and test-case for the ORDER BY problem identified by ticket [a179fe7465]. This change causes sorting to occur in some cases where it is not strictly necessary. Further work is needed to avoid those extra sorts. check-in: 488089e6 user: drh tags: orderby-fix
20:32 Change os_unix.c to use either one or two mappings internally. check-in: e7698cba user: dan tags: two-mappings
18:34 Use mmap() to read from the database file in rollback mode. This branch is unix only for now. check-in: 6f21d9cb user: dan tags: experimental-mmap
20:58 Fix typo in sqlite3_close() function documentation reported on the mailing list. Closed-Leaf check-in: 7232093d user: mistachkin tags: docTypo
18:34 A proposed fix for the DESC ORDER BY bug of ticket [4dd95f6943fbd18]. Seems to work, but lots more testing is needed prior to moving to trunk. check-in: 614a038a user: drh tags: desc-orderby-fix-1
11:49 Fixes for compiling with SQLITE_OMIT_AUTOVACUUM and/or SQLITE_OMIT_TRIGGER defined. Closed-Leaf check-in: 938b91e8 user: dan tags: omit-fixes
01:23 Add experimental tointeger() and todouble() SQL functions. check-in: 465fd853 user: mistachkin tags: toTypeFuncs
07:10 If SQLITE_OMIT_UTF16 is defined, avoid setting the 'enc' field of Schema objects to any value except SQLITE_UTF8. Otherwise, assert() statements may fail or spurious SQLITE_NOMEM errors may be returned at the vdbe level later on. Closed-Leaf check-in: 69746ef7 user: dan tags: experimental
16:54 Failed merge experimental branch with trunk. check-in: 4e6e07a6 user: dan tags: ex-robust-open
15:09 Add extended error code SQLITE_READONLY_ROLLBACK. Returned if a read-only connection cannot read the database because doing so would require it to roll back a hot-journal. check-in: 39247b14 user: dan tags: experimental
05:44 Prevent Tcl file encoding issues in the tests for the unicode() and char() functions. Closed-Leaf check-in: d2e7dfca user: mistachkin tags: funcTestEncoding
20:16 Avoid moving pages more than once in an incremental vacuum operation. check-in: c3939d24 user: dan tags: incr-vacuum-opt
19:34 Two new SQL functions: unicode() and char(). Closed-Leaf check-in: 209b2108 user: drh tags: unicode-function
09:46 Improve memory allocation error handling on WinCE. Closed-Leaf check-in: 09dfc0c9 user: mistachkin tags: wince
13:58 Add extended error codes for constraint errors. check-in: 54611046 user: drh tags: constraint-error-codes
21:15 Allow an index to be used for sorting even if prior terms of the index are constrained by IN operators. check-in: 98bf668a user: drh tags: IN-with-ORDERBY
03:18 Enhance RTree virtual table creation error messages that involve the getNodeSize() function. Closed-Leaf check-in: 652233d6 user: mistachkin tags: rtreeErrMsg
03:18 Make the 'fs' virtual table module portable to Windows. Closed-Leaf check-in: dd473cae user: mistachkin tags: fsVfsWin
17:08 Enhance the query planner to exploit transitivity of join constraints in a multi-way join. check-in: 13171eb5 user: drh tags: transitive-constraints
13:26 Do not raise an error if an unknown SQL function is found in a CHECK constraint while parsing the schema of an existing database. This version causes a run-time error when processing STAT3 tables. Closed-Leaf check-in: 0a1207c8 user: dan tags: mistake
17:10 Backport to the 3.7.15 branch the fix to the segfault problem of ticket [a7b7803e8d1e869] which involved the use of "AS" named result columns as logical terms of the WHERE clause. Also, change the version number to check-in: bae528f4 user: drh tags: branch-3.7.15
15:53 Proposed fix for ticket [a7b7803e8d1e8699cd8a]. check-in: 3d0e00c7 user: drh tags: tkt-a7b7803e
02:36 Better resolution of table and column names in joins where some of the terms of the FROM clause are parenthesized. check-in: 7344e791 user: drh tags: name-resolution-fix
16:46 Prototype for PRAGMA that checks all foreign key constraints on a table. check-in: 01c980e9 user: drh tags: foreign-key-check
16:37 Attempt to further generalize the min/max optimization so that, if an appropriate index exists, it can be used by any aggregate query that contains only a single aggregate of the form max(colname) or min(colname) and does not contain a GROUP BY clause. Closed-Leaf check-in: 7280e14c user: dan tags: minmax-opt
19:37 Apply the same restrictions on constant refactoring to statements within a trigger program as top-level statements. Candidate fix for [ae3c5670b6]. Closed-Leaf check-in: 0c31a468 user: dan tags: constant-refactoring-in-triggers
15:15 Add a test case that demonstrates ticket [71e333e7d2e642]. check-in: cc6e0785 user: drh tags: ticket-71e333e7
00:16 Stop using the TCL_LIBS configuration variable when linking with Tcl. Remove superfluous 'rm' command. Closed-Leaf check-in: e1feab98 user: mistachkin tags: noTclLibs
05:21 Add a test to ensure that the fix in [b0c1ba655d] has worked. Closed-Leaf check-in: 59c23394 user: dan tags: mistake
00:23 Improvements to the 'tcl' shell output mode. Escape double quotes, set separator to space when mode is set, and skip separator after final column. Closed-Leaf check-in: 41fd9dd2 user: mistachkin tags: tclMode
19:50 Add an option to register global hooks used for logging all SQL executed by an application. check-in: cd501bbc user: dan tags: sqllog
02:10 In winDelete, determine that a file does not exist by checking for a last error of ERROR_FILE_NOT_FOUND or ERROR_PATH_NOT_FOUND. Closed-Leaf check-in: 692ad3c0 user: mistachkin tags: winNotFound
10:54 When available, use posix_fallocate() rather than ftruncate() to allocate space for mmap()ed -shm files, since posix_fallocate() gives an error if no disk space is available whereas ftruncate() is silent and leaves the system vulnerable to a SIGBUS upon first write to the mmap()ed region. Ticket [5eaa61ea1881040b17449ca043b6f8fd9ca55dc3] check-in: 35625961 user: drh tags: tkt-5eaa61ea18
17:59 Try to take into account the cost of inner loops when selecting which table of a join to use for the outer loop. check-in: 94255634 user: drh tags: inner-loop-cost
18:48 Proposed fix for ticket [bfbf38e5e9]. check-in: 18ae030d user: drh tags: ticket-bfbf38e5e9
00:29 Add an optimization that attempts to run a subquery as a coroutine rather than manifesting it into a temporary table. check-in: 7af3acbb user: drh tags: subquery-as-coroutine
00:11 Make sure all virtual table cursors have been closed on a prepared statement prior to unlinking the perpared statement from its database connection. Closed-Leaf check-in: f7c5abe8 user: drh tags: deferred-close-order
03:07 Implementation of the INSTR() SQL function, as found in SQL Server, MySQL, and Oracle. Closed-Leaf check-in: 49ccae96 user: drh tags: instr
01:50 Initial check-in of a test VFS designed to simulate a NAND-flash SSD for the purpose of measuring and subsequently minimizing write amplification caused by SQLite. The code in this check-in compiles but does not run. check-in: 9e6efcf0 user: drh tags: ssdsim
08:40 Modify VSIX build tools in support of an additional package flavor. check-in: 702ebc64 user: mistachkin tags: vsixFlavor
09:39 Fix harmless compiler warnings. check-in: 018e09c7 user: mistachkin tags: warnings
23:17 Enable optimization of IN operators on constraints to virtual tables. check-in: aa650746 user: drh tags: vtab-IN-opt
21:08 An optimization that converts "a IN (b)" into "a==b". Seems to work, but needs additional test cases. Leaf check-in: 8b4c3c5e user: drh tags: degenerate_IN
19:58 Ensure that when the source of a backup is a database that is zero bytes in size, the final destination database consists of at least one page. Truncating it to zero bytes is equivalent to zeroing the schema cookie and change counter, which can cause problems for existing clients. check-in: af5c9ee4 user: dan tags: zero-byte-backup-fix
00:52 Manually define the Win32 file-mapping APIs for WAL if SQLITE_WIN32_FILEMAPPING_API is defined. Closed-Leaf check-in: 585e2070 user: mistachkin tags: winFileMapping
18:35 Backport fixes to shared-cache mode, from the shared-cache-fix branch, to version 3.7.9 check-in: ac81ae49 user: drh tags: branch-3.7.9
19:33 Shared-cache mode fixes for views and virtual tables. check-in: 2b370dea user: dan tags: shared-cache-fix
12:10 Yet another refactoring of ORDER BY logic in the query planner. This particular check-in works mostly, but still has a few minor issues. check-in: 8f448745 user: drh tags: qp-enhancements
18:20 A branch off of the sessions branch corresponding to release 3.7.14. check-in: 86633e01 user: drh tags: sessions-3.7.14
00:25 Further attempts to optimize out unnecessary ORDER BY clauses. check-in: 6744d9a3 user: drh tags: qp-enhancements
23:26 Work around an optimization issue with the MSVC compiler for ARM. check-in: 9fab9edd user: drh tags: branch-3.7.14
20:12 Fix several compiler warnings seen with MSVC. Closed-Leaf check-in: 8b5f617c user: mistachkin tags: msvcWarnings
14:29 Pass information around between the major routines of the query planner using a single pointer to a structure rather than a long list of parameters. check-in: 1104d42e user: drh tags: qp-enhancements
17:32 This change generates incorrect code when there are two or more IN operators in the WHERE clause that are both used by the same index. Was: Omit an unnecessary OP_IfNull that immediately follows an OP_Rowid. Closed-Leaf check-in: 2be661a4 user: drh tags: mistake
18:45 Attempt to use a covering index even on a full table scan, under the theory that the index will be smaller and require less disk I/O and thus be faster. check-in: cfaa7bc1 user: drh tags: fullscan-covering-index
18:45 Add an implementation of the REGEXP operator and function. Only defined if compiled with SQLITE_ENABLE_REGEXP. Closed-Leaf check-in: 8398f77c user: drh tags: regexp
10:29 Initial prototype of SQLITE_CONFIG_READONLY. check-in: 7c340165 user: mistachkin tags: configReadOnly
07:56 More test cleanup. Closed-Leaf check-in: b8d5359b user: mistachkin tags: testClean
16:46 Add an experimental busy_timeout pragma to facilitate access to the sqlite3_busy_timeout() interfaces for programmers that are working from behind a language wrapper that does not expose that interface. check-in: 22ebc668 user: drh tags: busy-timeout-pragma
10:32 Add Win32 version resources to the applicable binaries built by the MSVC makefile. check-in: e2f27d28 user: mistachkin tags: win32Resources
10:52 Experimental change to support the covering index optimization for queries with OR terms in the WHERE clause that search a single index more than once. check-in: 1dc8c7c7 user: dan tags: multi-or-covering-index
16:18 Further improvements to the processing of nested aggregate queries. check-in: 3c3ffa90 user: drh tags: nested-agg
23:33 Added sqlite3_win32_set_directory API to assist in portability to WinRT. check-in: 600de08d user: mistachkin tags: win32SetDir
13:08 Update the spellfix virtual table so that all OOM errors are reported out to the application. ERROR: A single edit was missed in spellfix1 which means that this particular check-in won't build "make test". Closed-Leaf check-in: c2cf4985 user: drh tags: mistake
20:05 Attempt to use two cores to do sorting. Unfortunately, instead of making sorts go faster as was hoped, this changes slows sorting down by about 10%. (Later:) The previous measurement was compiled using -pg. When compiled using -Os, this new code is roughly 10% faster than the original. check-in: 11dd05e5 user: drh tags: threads-sort-ex1
15:57 Experimental change to speed up ORDER BY clauses that sort based on a single expression. Leaf check-in: 2bb8c492 user: dan tags: sorter-exp
01:37 Parser bug fix: Make sure the table constraints allowed by prior releases can still be parsed, even if they are technically not allowed by the syntax diagram. This is a cherry-pick of [a1c014d8a87c8940b3], [38bf90af1ede6ee64e], and [e536ac041815b118c4]. Leaf check-in: 28aed847 user: drh tags: apple-osx-ml
23:21 Backport VSIX packaging support and related changes. Closed-Leaf check-in: 0620285d user: mistachkin tags: vsix-3.7.13
19:25 Modify the code in vdbesort.c so that most reads and writes to temporary files are aligned page-sized blocks. check-in: 55e47ef3 user: dan tags: sorter-coalesce-writes
19:40 Add an internal interface that allows the code to take advantage of multiple cores by pushing subcomputations off into separate threads. The interface is not currently used. check-in: 0e4d977a user: drh tags: threads
19:32 Enhance the custom memory allocation interface to allow the user to specify a calloc() function. check-in: 8752237d user: dan tags: calloc
19:26 Add the "matchlen" column to the spellfix1 virtual table. check-in: f24b9d87 user: dan tags: spellfix-matchlen
19:43 Add the "matchlen" column to the spellfix virtual table. check-in: 4a582c4d user: dan tags: spellfix-matchlen
03:11 Improved accuracy on text-to-real and real-to-text conversions. Most conversions now round-trip correctly. Still need to fix some corner cases. check-in: 8ecffca9 user: drh tags: floating-point-conversions
14:23 Add the ieee754() SQL function that interprets a blob as a big-endian double. Arrange for the quote() SQL function to emit ieee754() functions in its output so that floating-point values in the database are exactly preserved by a ".dump" command in the shell. Closed-Leaf check-in: 87597e98 user: drh tags: ieee754-func
08:00 Fix a few compilation issues that can occur with certain compilers (e.g. GCC 2.95.3, MSVC). check-in: f970a3de user: mistachkin tags: compiler-compat
14:32 The sqlite3_close() interface returns SQLITE_OK even if there are outstanding sqlite3_stmt and sqlite3_backup objects. The connection becomes a zombie. Resource deallocation is deferred until the last sqlite3_stmt or sqlite3_backup object closes. This is intended to help SQLite play nicer with garbage collectors. check-in: e276a02b user: drh tags: deferred-close
19:19 When converting 64-bit floating point coordinates to 32-bit in RTree, take care to round the values such that the size of the bounding box is enlarged. check-in: f4e8ff03 user: drh tags: rtree-32bit-rounding
18:06 Enable the use of shared cache for an in-memory database, so that separate database connections can share the same in-memory database. check-in: 4590e433 user: drh tags: shared-cache-memdb
17:50 Add an experimental tokenizer to fts4 - "unicode". This tokenizer works in the same way except that it understands unicode "simple case folding" and recognizes all characters not classified as "Letters" or "Numbers" by unicode as token separators. check-in: 0c13570e user: dan tags: fts4-unicode
19:11 Convert the NameContext object from using u8 booleans to using individual bits in a single u8 as its booleans. This change might become a basis for a fix for [c2ad16f997ee9c]. check-in: 72226096 user: drh tags: nested-agg
20:14 Check-in included unrelated debugging code by mistake. Was: Fix a test case in the shell1.test script so that it works even for very long pathnames. Closed-Leaf check-in: 0c0a0398 user: drh tags: mistake
17:15 When a connection disconnects from a shared-cache database, only delete the in-memory schema if there are no other connections. check-in: 46f4eb54 user: dan tags: shared-schema
13:15 Do not do the AV retry loop on open if the file that is attempting to be opened is really a directory. check-in: 03875633 user: drh tags: win-check-dir
02:58 Add an experimental tokenizer to FTS3/4: one that transliterates latin, greek, cyrillic, and hebrew characters into pure ascii. check-in: 93011569 user: drh tags: translit-tokenizer
18:08 Do the accounting for incr-merge work in pages instead of blocks. Closed-Leaf check-in: 83037d58 user: dan tags: fts4-incr-merge-exp
15:44 This change turned out to the code slower. Side track it. Was: Tweaks to the OP_Column opcode for clarity of presentation. Closed-Leaf check-in: 4d516240 user: drh tags: mistake
01:34 Evaluate typeof(X) and length(Y) where X is any column and Y is a blob column without actually loading X and Y from disk. check-in: b899dbeb user: drh tags: faster-typeof-and-length
11:48 Allow multiple incremental merges to proceed concurrently. This is required to prevent a large crisis-merge from occuring while an even larger incremental-merge is underway. Closed-Leaf check-in: 7ed9d2f2 user: dan tags: fts4-incr-merge-exp
02:20 An attempt at automatic incremental merging for FTS4. check-in: ed69434c user: drh tags: fts4-auto-incr-merge
21:28 Add the sqlite3_db_readonly() interface. This is still tentative, pending a closer look at other ideas to accomplish the same thing. Closed-Leaf check-in: 254f99ea user: drh tags: db-readonly-api
18:39 Add the 'merge=?,?' command to fts4. This still needs some work. check-in: 741b8f89 user: dan tags: fts4-incr-merge
19:13 If a CHECK constraint is named, report that name on the error message when the constraint fails. Closed-Leaf check-in: 9a0f90d9 user: drh tags: named-check-constraints
19:44 Add the "languageid=" option to fts4. This code is still largely untested and alsmost certainly buggy. check-in: bea257f7 user: dan tags: fts4-languageid
18:16 Remove unused #defines from os.h. check-in: c0891296 user: drh tags: winrt
14:45 Begin adding support for SQLITE_FCNTL_PRAGMA. check-in: 5be07904 user: drh tags: file-control-pragma
16:43 Change the ROLLBACK command so that pending statements to not block it. The pending statements instead return SQLITE_ABORT upon next access. Note: This causes separate shared-cache connections in read_uncommitted mode to abort as well. check-in: 9b66c79e user: drh tags: nonblocking-rollback
13:44 Generalize the interrupt mechanism so that individual statements can be interrupted and so that codes other than just SQLITE_INTERRUPT can be returned as a consequence of an interrupt. Closed-Leaf check-in: 922bcbb4 user: drh tags: generalize-interrupt
17:35 For queries of the form "SELECT p, max(q) FROM t1", the value of column p returned is the one on the same row that holds the maximum value of q. check-in: adb29232 user: drh tags: output-minmax-row
21:33 Experimental changes to prevent buffer overreads when parsing a corrupt database file. Closed-Leaf check-in: 9e5add51 user: drh tags: no-overread
16:09 Add support for statvfs() in os_unix.c, for determining the sector size. This causes many TCL test failures under Linux. check-in: e0d44450 user: drh tags: statvfs
19:34 Proposed changes that ensure that the WAL header is written prior to the first commit mark. check-in: 91d0437c user: drh tags: wal-header-sync
13:24 Experimental fix for [a1fa75cbdd]. Closed-Leaf check-in: 6492af76 user: dan tags: experimental
17:53 Add a file-control that will discover the name of the bottom-level VFS and all the shims in between. Closed-Leaf check-in: cdbfb553 user: drh tags: vfsname-filectrl
11:15 Change the way IO errors are handled in the xFileSize method of the multiplexor VFS. Add test file multiplex3.test. check-in: 255d2149 user: dan tags: experimental
20:01 Backport a minimal set of changes needed to get 8+3 filenames and the multiplexor shim playing well together. check-in: c4e2ce48 user: drh tags: nx-devkit
16:21 Make no assumptions about the initial state of VDBE registers. check-in: 521d72bd user: drh tags: uninit-vdbe-mem
19:44 Begin adding the data-structure explaining subsystem. All is contained within check-in: 79ae51c5 user: drh tags: tree-explain
18:44 Add stdio-like I/O interfaces to the test_quota VFS. This is a prototype change for discussion and is mostly untested. This is an alternative to adding stdio-like I/O interfaces in the core. There is no guarantee that this code will make it into the trunk. If it does get to trunk, there could be many changes to the interface first. check-in: bd3ce723 user: drh tags: quota-stdio
02:32 Add a prototype implementation of stdio-like routines for accessing the VFS. This is intended as documentation. The code is untested. There is no guarantee that any of this will ever make it into trunk. Substantial revision is possible prior to reaching trunk, if it ever does. Closed-Leaf check-in: 8936542b user: drh tags: vfs-stdio
00:54 Cleanup the semantics surrounding use of the GetLastError function on Windows. Closed-Leaf check-in: 7e657bbb user: mistachkin tags: winGetLastError
17:32 Change the multiplexor suffix from 2 to 3 digits. Closed-Leaf check-in: 06e0cdaf user: drh tags: 3-digit-multiplex-suffix
02:53 Fix a 8-byte alignment problem that causes a SIGBUS on Sparc. check-in: 54cc1198 user: drh tags: branch-3.7.9
01:55 Begin making experimental changes to use mmap() for reading content from a database. The code compiles, but crashes on the test suite. check-in: 09be42d5 user: drh tags: mmap-experimental
22:08 Work in progress to implement the 'syscall' functionality for Windows. check-in: ed88fb00 user: mistachkin tags: winSyscall
20:08 Experimental change to the pcache interface to allow page buffers to be allocated separately from their associated container structures. check-in: c275c9d3 user: dan tags: experimental-pcache
15:06 Cherrypick the [5dbfaed8c3] patch so that SQLITE_OMIT_WAL works again. Closed-Leaf check-in: a499ae38 user: drh tags: omit-wal-fix
15:45 If the read() system call in unix returns fewer bytes than expected, retry it until it either returns zero or an error. Closed-Leaf check-in: 72256634 user: drh tags: retry-short-reads
18:59 Cherrypick the sqlite_data_count() changes from [d4f95b3b6e] and [9913996e7b] into the apple-osx branch for version 3.7.7. check-in: aef7945c user: drh tags: apple-osx-377
13:33 Begin an effort to enhance the query planner to do a better job with OR terms in the WHERE clause. This change allows ANDs outside of the OR to be factored into the OR terms if that is helpful in finding better indices. check-in: 876bd21a user: drh tags: or-opt
11:22 Add experimental 'content' option to FTS4. check-in: 1d27ea74 user: dan tags: fts4-content
03:13 Merge the cache-stats enhancement into trunk. Closed-Leaf check-in: 646db971 user: drh tags: mistake
15:53 Add SQLITE_STMTSTATUS_CACHE_HIT/MISS and SQLITE_DB_STATUS_CACHE_HIT/MISS. For querying the number of pager cache hits and misses on a statement or connection basis. Closed-Leaf check-in: 89272357 user: dan tags: cache-stats
19:39 Adding test case for ticket [002caede898] check-in: 62dfc51a user: drh tags: tkt-002caede898
15:32 Experimental code-generator changes to utilize new opcodes for sorting. check-in: bab2e560 user: drh tags: merge-sort
18:48 Experimental changes to improve the performance of OP_Next. check-in: 1a249845 user: dan tags: experimental
13:52 Merge branches branch-3.7.2 and stat3-enhancement into a new branch for testing purposes. check-in: 0df04f92 user: drh tags: stat3-3.7.2
13:16 Merge the stat3-enhancement branch with trunk, but keep the resulting merge in a separate branch for now. check-in: 63f2c785 user: drh tags: stat3-trunk
16:13 Experimental work to allow SQLite to use the native Win32 heap API. check-in: bf3d0ab5 user: mistachkin tags: winNativeHeap
18:15 Experimental change: If SQLITE_PAGECACHE_BLOCKALLOC is defined, instead of allocating pages one at a time, allocate blocks of between 15 and 63 pages in a single allocation. check-in: 63597097 user: dan tags: pager-blockalloc
01:51 Begin a branch that experimentally replaces sqlite_stat2 with a new table called sqlite_stat3 that will hopefully facilitate better query planning decisions. check-in: 52e1d7e8 user: drh tags: stat3-enhancement
21:13 Add a column to the sqlite_stat2 table that contains the number of entries with exactly the same key as the sample. We do not yet do anything with this extra value. Some tests in analyze2.test are failing. check-in: eb434228 user: drh tags: query-planner-tweaks
01:07 Adjust the output row estimating logic when using STAT2. check-in: c8ba8855 user: drh tags: query-planner-tweaks
00:57 Add retry logic for AV defense to winOpen. Also, refactor test suite to allow the key Tcl file operations (e.g. copy and delete) to be retried. check-in: 9007586f user: mistachkin tags: winopen-retry-logic
16:03 Prototype change for a new sqlite3_file_control() that will cause the -wal and -shm files to persist after the last database connection closes. check-in: e34c553b user: drh tags: persistent-wal-patch
21:25 Add retry logic for AV defense to winAccess(). Also allow OS tracing to be enabled by a compile-time option. Closed-Leaf check-in: a6b85c73 user: drh tags: av-defense
14:28 Experimental support for speeding up CREATE INDEX commands using an offline merge sort. check-in: 30dbf0fe user: dan tags: experimental
11:04 Update the anti-virus retry logic for DeleteFile(). Invoke sqlite3_log() for each anti-virus retry. Make the retry delay configurable at compile-time. check-in: 89f1848d user: drh tags: av-defense
15:52 Here is an attempted enhancement to the query planner that didn't work out. But it seems good to save this change for historical reference, even if it does not belong on the trunk. Closed-Leaf check-in: 8daf6e1b user: drh tags: query-planner-deadend
20:17 Experimental changes to improve optimization of DISTINCT queries. check-in: f7ba0219 user: dan tags: experimental
23:32 Create a branch that contains just the fix for the case_sensitive_like pragma bug, ticket [25ee81271091ec]. check-in: ec8f23fc user: drh tags: branch-3.7.7
17:09 Fix some of the code issues (missing comments etc.) in the new FTS code. check-in: 8230d831 user: dan tags: fts3-changes
08:30 Add an interface to better test incremental loading of doclists by FTS4. Also some tests for this and term prefix queries. check-in: 7a381313 user: dan tags: broken-build
11:26 Toward version This check-in updates the version number and also patches the pager so that it never spills cache while in WAL mode. The latter patch fixes ticket [2d1a5c67dfc23] and also prevents excessive WAL file sizes if the pager cache starts thrashing. A few test cases fail. Leaf check-in: 2e5a912a user: drh tags: branch-3.7.5
18:49 If the fts4 option prefix=1 is specified, have the fts4 module maintain an index of prefixes as well as terms. check-in: b5bdc639 user: dan tags: fts3-prefix-search
17:11 Rather than document goofy behavior, it seems better to make the behavior less goofy. (Was: Updates to the sqlite3_last_insert_rowid() documentation - to make it clear that the function does not work for virtual tables.) Closed-Leaf check-in: f88dfac3 user: drh tags: mistake
15:32 Pull in the patches to support read-only WAL databases into a new branch off of the apple-osx branch. This also pulls in all the other pending 3.7.7 changes such as URI support. check-in: 97b98010 user: drh tags: apple-wal-readonly
17:31 Add experimental support for read-only connections to WAL databases. check-in: bb59f986 user: dan tags: wal-readonly
14:52 Provide the ability to specify an alternative mutex subsystem at compile-time. - This check-in should have gone on the trunk, not on the 3.7.6 branch. Closed-Leaf check-in: 489c453d user: drh tags: mistake
19:44 Changes to various test scripts so that they pass on windows. Closed-Leaf check-in: 1586244b user: dan tags: win32-test-fixes
18:49 Add support for on conflict clauses to fts3/fts4. check-in: 6d2633a6 user: dan tags: vtab-conflict
19:37 Add the start of the "uri-filenames" feature. check-in: b8a8132e user: dan tags: uri
17:14 Change the prototype for the open() system call to agree with Posix. Though a faulty function prototype in a pointer cast is a seemingly innocuous error, the correct prototype is necessary for pthreads to work correctly on NetBSD. check-in: 986f2f25 user: drh tags: branch-3.7.6
13:29 Add retry logic to GetFileAttributesEx() on windows. Closed-Leaf check-in: 1cca9a49 user: drh tags: experimental
16:28 Begin a series of changes designed to reduce the scope and frequency of invalidating schemas. Design goals are that the internal schema should never be deleted out from under a prepared statement that is running and that all prepared statements should be expired if the schema is invalidated. At the same time, minimize the number of schema invalidations. This change merely revises the sqlite3ResetInternalSchema() function to use -1 as the wildcard for "all" rather than 0, so that we can reset the main schema independently of all the others. check-in: 6a8ad6e3 user: drh tags: schema-parse-refactor
02:03 Change the ANALYZE command so that it will accept an index name as its argument and only reanalyze that one index. A quick smoke-test works. Need to study the implications to the query planner and test corner cases. check-in: c8f9edd9 user: drh tags: analyze-idx
15:00 If the keyword "unordered" appears at the end of the SQLITE_STAT1.STAT column for an index, then use that index for equality lookups only, never for range queries or sorting. Closed-Leaf check-in: 3b964155 user: drh tags: unordered-index-hack
15:05 Skeleton code for the word-fuzzer virtual table. check-in: ea3a4ee1 user: drh tags: word-fuzzer
04:45 Allow multiplex file names to be preceeded by prefix of the form ":multiplex:chunksize:maxchunks:" Still work to be done, though it compiles and prefixes are ignored. check-in: cfa4a2f7 user: shaneh tags: multiplex-enhancements
17:02 Add the new optional "unix-excl" VFS. This VFS grabs an exclusive lock on the database preventing other processes from accessing it, but continues to allow other database connections from the same process. check-in: 00051c32 user: drh tags: unix-excl
15:09 Proof-of-concept prototype for the proposed xSetSystemCall extension method on the VFS. check-in: 92b5a76a user: drh tags: syscall-override
18:42 Add the experimental sqlite3_preupdate_hook() API. check-in: 6145d7b8 user: dan tags: sessions
13:53 The robust_flock() fix that accidently included some unrelated, though harmless changes. I should follow my own checklist! Closed-Leaf check-in: e701efbd user: drh tags: mistake
03:11 Backport the SQLITE_PROTOCOL fix and the extra defensive measure to version 3.7.4. check-in: bcc22c4b user: drh tags: branch-3.7.4
01:59 This is the beginning of an attempt to backport recent query planner enhancements to version 3.7.2. The code in this version builds and runs and seems to give correct answers, but it generates suboptimal query plans and hence many of the test cases fail. The test script gives up after 1000 errors. check-in: e72cf118 user: drh tags: branch-3.7.2
16:34 Add virtual table module "fts4aux", used to inspect the full-text index of an fts4 table directly. Also add the "compress" and "uncompress" fts4 options. check-in: b010ddcc user: dan tags: fts4aux
17:02 Bogus release candidate. Closed-Leaf check-in: 38ca1daa user: drh tags: mistake
16:00 Ensure that if a deferred FK constraint is violated by a statement that creates its own implicit transaction, the statement is not an "active-write" after sqlite3_step() returns. Closed-Leaf check-in: 8063197e user: dan tags: deferred-fk-quirk
02:56 The first of a planned series of enhancements to the query planner that enable it to make better use of sqlite_stat2 histograms when the table has many repeated values. check-in: 2cd374cd user: drh tags: stat2-enhancement
21:32 Here is a completely new implementation of the mutex-free-pcache. This one uses a common code base and automatically selects whether or not to use mutexes depending on compile-time and start-time options. check-in: d094a1bf user: drh tags: mutex-free-pcache
17:12 Increment the change counter and update the SQLite version number whenever page 1 is added to the WAL. Ticket [5d863f876ee9561b9] check-in: c1e0d09c user: drh tags: bug-5d863f87
16:12 Provide an alternative and experimental pcache implementation that avoids the use of mutexes at the expense of using more memory. Closed-Leaf check-in: 2ea5bd12 user: drh tags: mutex-free-pcache
01:42 A proposed change to the sqlite3_step() API such that it will only auto-reset following an SQLITE_BUSY or SQLITE_LOCKED error. Calls after any other result other than SQLITE_ROW will return SQLITE_MISUSE. Closed-Leaf check-in: d1b3c54f user: drh tags: step-autoreset
13:07 Cherrypick the WAL error logging from the pre-3.7.5 line into a branch for version 3.7.2. Include the sqlite3_vsnprintf() interface. This checkin is intended for debugging and not for release. Leaf check-in: 6549e767 user: drh tags: wal-trace-372
12:50 Add detailed error logging to WAL in an effort to track down an obscure SQLITE_PROTOCOL problem. This code is intended for debugging and not for release. check-in: 2c2afdd0 user: drh tags: wal-trace-375
15:51 Add additional DBSTATUS options for measuring the hit and miss rates against the lookaside memory pool - information useful in tuning the lookaside size. Currently experimental pending analysis of performance impact. Closed-Leaf check-in: 34613f1d user: drh tags: experimental
19:16 Experimental changes to fts3 function matchinfo(). check-in: 9cf0f2b7 user: dan tags: fts3-experimental
14:37 Add the SQLITE_FCNTL_FILE_POINTER verb to sqlite3_file_control(). check-in: 4425b064 user: drh tags: superlock
18:56 Add experimental command "PRAGMA wal_blocking_checkpoint", which uses the busy-handler to block until all readers have finished in order to ensure the next writer will be able to wrap around to the start of the log file. check-in: 7e3fc2c8 user: dan tags: blocking-checkpoint
00:47 Experimental changes to test defaulting to fullfsync for WAL mode check-in: 77b343cf user: adam tags: apple-osx-exp
19:01 Experimental changes to EXPLAIN QUERY PLAN. check-in: f4747eb8 user: dan tags: experimental
20:50 First attempt at a sharding VFS to split large DBs. check-in: dd4dc8a4 user: shaneh tags: experimental
20:46 Updates for Windows. check-in: cc9d9a12 user: shaneh tags: experimental
19:23 Add tail recursion to the sqlite3ExprDelete() routine in order to keep down stack space usage for really, really large expressions. Later: The tail recursion is dangerous since the recursion might happen after the expression has been freed. check-in: 7324c7f2 user: drh tags: mistake
14:08 Experimental changes to fts4 to try to selectively avoid loading very large doclists. check-in: 5ae0ba44 user: dan tags: experimental
15:11 Not true: For a zeroblob, the Mem.z pointer can be null: The Mem.z pointer can never been NULL for a string or blob, even a zero-length string or blob. Assert this fact. Closed-Leaf check-in: efda3104 user: drh tags: mistake
00:50 Rework the text to numeric conversion routines so that they work with either UTF8 or UTF16 and do not require a NULL terminator. This allowed text to numeric conversion without reallocating the string. check-in: 14eed3a0 user: drh tags: experimental
21:09 Add assert() statements that fail when a shallow copy is accessed after the original has been modified. These assert() statements should detect the kinds of subtle SCopy bugs such as caused the fault in ticket [b351d95f9cd5ef17e9d9dbae18f]. check-in: 8b8e1732 user: drh tags: bug-b351d95f9c
09:32 Add experimental branch disallowing VACUUM when there are one or more active SQL statements. check-in: c1ebcacd user: dan tags: experimental
11:40 Add file test_quota.c, demonstrating how file-system quotas may be implemented as a VFS wrapper. check-in: 383eb87b user: dan tags: experimental
23:13 Cherrypick the changes for enhancement requests [e090183531fc27474] (use indices on LIKE with no wildcards) and [4711020446da7d93d993] (use nocase index for LIKE even if the column is binary) into the release of the Apple-OSX branch. check-in: 220cca50 user: drh tags: apple-osx-3623
11:59 Backport the [65b8636ac6e5] fix for ticket [51ae9cad317a1] to version 3.7.0. check-in: dec70c63 user: drh tags: branch-3.7.0
18:34 Add experimental unix-only file-control to grow and truncate the database file by a configurable chunk size. check-in: 7cf0e851 user: dan tags: experimental
16:34 Make sure all memory from sqlite3DbMalloc() is freed by sqlite3DbFree() and all memory from sqlite3_malloc() is freed by sqlite3_free(). check-in: ac1f37a6 user: drh tags: malloc-enhancement
11:28 Experimental code to measure memory consumed by database schemas and prepared statements. check-in: 9aa30342 user: dan tags: experimental
14:33 Add proposed interface change to sqlite.h.in. This commit breaks the build. check-in: 52577bb5 user: dan tags: experimental
16:30 Changes to get crashsql() working on Windows. Closed-Leaf check-in: 8a5811ea user: shaneh tags: experimental
17:05 Fix some warnings when compiling under MSVC. check-in: 70833877 user: shaneh tags: mistake
19:04 Experimental change: On systems where it is not possible to unlink a file while one or more processes has it open (i.e. not unix), avoid closing the journal file each time the database is unlocked and reopening it at the start of each transaction. check-in: bede8c8a user: dan tags: experimental
19:04 Experimental change to the xShmXXX parts of the VFS interface. check-in: ca68472d user: dan tags: experimental
11:02 Fix for race condition in WAL locking code. Closed-Leaf check-in: 7c102c7b user: dan tags: mistake
19:55 Initial code for incremental checkpoint in WAL mode. This check-in compiles on unix and runs as long as you do not engage WAL mode. WAL mode crashes and burns. Consider this check-in a baseline implementation for getting the new capability up and running. check-in: ef3ba7a1 user: drh tags: wal-incr-ckpt
12:37 Keep additional state information in the pager in an effort to reduce the number of SQLITE_FCNTL_SIZE_HINTs. (Note: This change was found to make no performance difference and so has been moved onto a side branch. Use the parent check-in instead of this one.) Closed-Leaf check-in: 97d88a86 user: drh tags: branch-3.6.1-exp
19:02 (Moved to the mistake branch due to compile errors in test_osinst.c.) Change the vfs instrumentation code in test_osinst.c to make it easier to deploy. Add a vtab implementation for reading the binary log file format. check-in: ee13c884 user: dan tags: mistake
18:01 Refactoring the VFS-SHM methods used by WAL. This version compiles and runs non-WAL test cases but crashes and burns on wal.test. check-in: 2b00152c user: drh tags: wal-refactor
02:49 Initial port of WAL VFS support from os_unix.c to os_win.c. check-in: 111ad59f user: shaneh tags: wal-win32
22:05 Changes for branch coverage of notify.c. Fixed quirk of unlock_notify() where it would still think it was blocked after a callback was cleared (even after the transaction on the blocking connection was closed). check-in: c54e8dad user: shaneh tags: experimental
19:00 Import experimental write-ahead-logging code. check-in: 409d61ba user: dan tags: wal
15:57 Automatically generate transient indices for tables in joins that would otherwise have to use a full table scan. check-in: 1b2a0412 user: drh tags: experimental
17:12 Experimental changes that cause SQLite to use bytes 28..31 of the database header to determine the database size, rather than using the actual database size. This allows database space to be preallocated. check-in: b844ac6f user: drh tags: experimental
17:37 After any rollback that modifies the database file, sync the database before deleting the rollback journal. This is a cherry-pick merge of check-ins [b21b911f23] and [f2326dad4e] check-in: ca0bc2a2 user: drh tags: branch-3.6.23
22:36 Second thoughts: Let Tiger users set SQLITE_ENABLE_LOCKING_STYLE=0. Was: Change SQLITE_ENABLE_LOCKING_STYLE to default off, even on Macs, since older Macs (Tiger) cannot compile the latest proxy locking sources. Closed-Leaf check-in: 1a0fa8d1 user: drh tags: mistake
08:12 Silence a compiler warning by using a constant value instead of a constant expression that some compilers mistakenly believe causes bitshift overflow. check-in: 587109c8 user: dan tags: mistake
22:05 fix merge error and compiler warning check-in: 5c0afe70 user: adam tags: apple-osx
20:54 More double free paranoia check-in: 62dfb44b user: adam tags: apple-osx
01:47 Start a new branch for release 3.6.22 plus limited enhancements and fixes. This first check-in includes the performance enhancements of check-ins [26cb1df735], [61a2c8d4d6], and [27dc5b1c52] check-in: 95882598 user: drh tags: branch-3.6.22
04:19 Test new api to report which options (defines) were used to compile SQLite. check-in: 84c97569 user: shaneh tags: compile_opts
00:48 Added -T option, to specify a template filename on the command line.    The default is still "lempar.c", though. check-in: e6cbe1e5 user: icculus tags: lemon-update-2010
22:43 Added experimental mutex implementation using interlocked ops and spin locks. Closed-Leaf check-in: f3676b24 user: shaneh tags: experimental
15:47 Create new branch named "wal" check-in: 784b718e user: dan tags: wal
21:23 Fix a missing mutex on page cache truncation during vacuum and auto-vacuum when SQLITE_ENABLE_MEMORY_MANAGEMENT is engaged. check-in: ea3b941a user: drh tags: branch-3.5.9
19:46 Changes to 3.5.9 proposed by Rob Stoddard. check-in: 5ed168c4 user: drh tags: branch-3.5.9
23:50 robustness fixes for preventing a finalized statement from being reused check-in: a7a0c8d6 user: adam tags: apple-osx
18:06 Apply fix [097737e368] to the 3.6.1 branch. check-in: 9f819ea6 user: dan tags: branch-3.6.1
23:28 Fix for the "(x AND y) OR z" bug backported to version 3.6.21. Leaf check-in: 86734732 user: drh tags: branch-3.6.21
19:02 Recomputed unchanged column values in an UPDATE statement after running BEFORE triggers, in case the triggers have modified any of those values. Closed-Leaf check-in: 7d308801 user: drh tags: experimental
17:36 Start reworking fts3 code to match the rest of SQLite (code conventions, malloc-failure handling etc.). check-in: 30a92f11 user: dan tags: fts3-refactor
03:22 Add some very basic tests for the commands available from the CLI. check-in: 6bf43338 user: shaneh tags: trunk
02:34 Initial implementation of a virtual table for CSV files. check-in: 90e63b7d user: shaneh tags: csv_ext
21:49 Do not accept a codec no an in-memory database. check-in: 6f3081a8 user: drh tags: shunning-error
18:51 Fix documentation typos. check-in: 590d4ac1 user: drh tags: shunning-error
22:34 Customizations for OSX contributed by Apple. check-in: 941a01eb user: adam tags: apple-osx
18:38 Fix a 16-bit integer overflow that might occur in statements that use both an EXISTS clause and IN operator with a RHS holding in excess of 32K entries. check-in: 65a1f133 user: drh tags: branch_3_6_16
18:35 Add the experimental sqlite3_reoptimize() API. check-in: 9bd6f3d8 user: dan tags: experimental
19:43 Fix a VDBE stack overflow issue with the UPDATE statement. Leaf check-in: 715cecb8 user: drh tags: branch-3.3.6
16:12 Update the version number for the branch. (CVS 6651) check-in: f06cae3b user: drh tags: branch_3_6_14
14:07 Port the corruption bug fix of check-in (5938) into a branch off of version 3.6.6. (CVS 5947) check-in: 15d88edf user: drh tags: branch_3_6_6
13:20 Back-port critical soft heap limit fixes to version 3.3.17. The following check-ins were back-ported: (4031), (4037), (4097), (4202), (4203), (4207), (4208), (4214). (CVS 4222) Leaf check-in: f0029da3 user: drh tags: branch_3_3_17
21:31 Backport the stack-size reduction patch in (3673) to version 3.3.13. (CVS 3979) Leaf check-in: e91012b6 user: drh tags: branch_3_3_13
16:29 Backport the fix for ticket #1567 into the 3.2 branch. (CVS 2829) check-in: 33397742 user: drh tags: branch_3_2
23:37 Add some extra debugging logic to lemon.c. Ticket #692. (CVS 1304) check-in: 635f674d user: drh tags: version_2
14:16 initial empty check-in check-in: 704b122e user: drh tags: trunk