Age | Commit message (Collapse) | Author | Files | Lines |
|
* The default schema format number is changed from 1 to 4. This means that,
unless the PRAGMA legacy_file_format=ON statement is run, newly created
database files will be unreadable by version of SQLite prior to 3.3.0
(2006-01-10). It also means that the descending indices are enabled by
default.
* The sqlite3_pcache_methods structure and the SQLITE_CONFIG_PCACHE and
SQLITE_CONFIG_GETPCACHE configuration parameters are deprecated. They are
replaced by a new sqlite3_pcache_methods2 structure and SQLITE_CONFIG_PCACHE2
and SQLITE_CONFIG_GETPCACHE2 configuration parameters.
* Added the powersafe overwrite property to the VFS interface. Provide the
SQLITE_IOCAP_POWERSAFE_OVERWRITE I/O capability, the
SQLITE_POWERSAFE_OVERWRITE compile-time option, and the "psow=BOOLEAN" query
parameter for URI filenames.
* Added the sqlite3_db_release_memory() interface and the shrink_memory pragma.
* Added the sqlite3_db_filename() interface.
* Added the sqlite3_stmt_busy() interface.
* Added the sqlite3_uri_boolean() and sqlite3_uri_int64() interfaces.
* If the argument to PRAGMA cache_size is negative N, that means to use
approximately -1024*N bytes of memory for the page cache regardless of the
page size.
* Enhanced the default memory allocator to make use of _msize() on windows,
malloc_size() on Mac, and malloc_usable_size() on Linux.
* Enhanced the query planner to support index queries with range constraints on
the rowid.
* Enhanced the query planner flattening logic to allow UNION ALL compounds to
be promoted upwards to replace a simple wrapper SELECT even if the compounds
are joins.
* Enhanced the query planner so that the xfer optimization can be used with
INTEGER PRIMARY KEY ON CONFLICT as long as the destination table is initially
empty.
* Enhanced the windows VFS so that all system calls can be overridden using the
xSetSystemCall interface.
* Updated the "unix-dotfile" VFS to use locking directories with mkdir() and
rmdir() instead of locking files with open() and unlink().
* Enhancements to the test_quota.c extension to support stdio-like interfaces
with quotas.
* Change the unix VFS to be tolerant of read() system calls that return less
then the full number of requested bytes.
* Change both unix and windows VFSes to report a sector size of 4096 instead of
the old default of 512.
* In the TCL Interface, add the -uri option to the "sqlite3" TCL command used
for creating new database connection objects.
* Added the SQLITE_TESTCTRL_EXPLAIN_STMT test-control option with the
SQLITE_ENABLE_TREE_EXPLAIN compile-time option to enable the command-line
shell to display ASCII-art parse trees of SQL statements that it processes,
for debugging and analysis.
* Bug fix: Add an additional xSync when restarting a WAL in order to prevent an
exceedingly unlikely but theoretically possible database corruption following
power-loss.
* Bug fix: Change the VDBE so that all registers are initialized to Invalid
instead of NULL.
* Bug fix: Fix problems that can result from 32-bit integer overflow.
|
|
* If a search token (on the right-hand side of the MATCH operator) in FTS4
begins with "^" then that token must be the first in its field of the
document. ** Potentially Incompatible Change **
* Added options SQLITE_DBSTATUS_CACHE_HIT and SQLITE_DBSTATUS_CACHE_MISS to the
sqlite3_db_status() interface.
* Removed support for SQLITE_ENABLE_STAT2, replacing it with the much more
capable SQLITE_ENABLE_STAT3 option.
* Enhancements to the sqlite3_analyzer utility program, including the --pageinfo
and --stats options and support for multiplexed databases.
* Enhance the sqlite3_data_count() interface so that it can be used to determine
if SQLITE_DONE has been seen on the prepared statement.
* Added the SQLITE_FCNTL_OVERWRITE file-control by which the SQLite core
indicates to the VFS that the current transaction will overwrite the entire
database file.
* Increase the default lookaside memory allocator allocation size from 100 to
128 bytes.
* Enhanced the query planner so that it can factor terms in and out of OR
expressions in the WHERE clause in an effort to find better indices.
* Added the SQLITE_DIRECT_OVERFLOW_READ compile-time option, causing overflow
pages to be read directly from the database file, bypassing the page cache.
* Remove limits on the magnitude of precision and width value in the format
specifiers of the sqlite3_mprintf() family of string rendering routines.
* Fix a bug that prevent ALTER TABLE ... RENAME from working on some virtual
tables in a database with a UTF16 encoding.
* Fix a bug in ASCII-to-float conversion that causes slow performance and
incorrect results when converting numbers with ridiculously large exponents.
* Fix a bug that causes incorrect results in aggregate queries that use
multiple aggregate functions whose arguments contain complicated expressions
that differ only in the case of string literals contained within those
expressions.
* Fix a bug that prevented the page_count and quick_check pragmas from working
correctly if their names were capitalized.
* Fix a bug that caused VACUUM to fail if the count_changes pragma was engaged.
* Fix a bug in virtual table implementation that causes a crash if an FTS4
table is dropped inside a transaction and a SAVEPOINT occurs afterwards.
|
|
* Orders of magnitude performance improvement for CREATE INDEX on very large
tables.
* Improved the windows VFS to better defend against interference from
anti-virus software.
* Improved query plan optimization when the DISTINCT keyword is present.
* Allow more system calls to be overridden in the unix VFS - to provide better
support for chromium sandboxes.
* Increase the default size of a lookahead cache line from 100 to 128 bytes.
* Enhancements to the test_quota.c module so that it can track preexisting
files.
* Bug fix: Virtual tables now handle IS NOT NULL constraints correctly.
* Bug fixes: Correctly handle nested correlated subqueries used with indices in
a WHERE clause.
|
|
* Fix a bug causing PRAGMA case_sensitive_like statements compiled using
sqlite3_prepare() to fail with an SQLITE_SCHEMA error.
Changes 3.7.7:
* Add support for URI filenames
* Add the sqlite3_vtab_config() interface in support of ON CONFLICT clauses
with virtual tables.
* Add the xSavepoint, xRelease and xRollbackTo methods in virtual tables in
support of SAVEPOINT for virtual tables.
* Update the built-in FTS3/FTS4 and RTREE virtual tables to support ON CONFLICT
clauses and REPLACE.
* Avoid unnecessary reparsing of the database schema.
* Added support for the FTS4 prefix option and the FTS4 order option.
* Allow WAL-mode databases to be opened read-only as long as there is an
existing read/write connection.
* Added support for short filenames.
|
|
|
|
* Added the sqlite3_vsnprintf() interface.
* Added the SQLITE_DBSTATUS_LOOKASIDE_HIT, SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE,
and SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL options for the sqlite3_db_status()
interface.
* Added the SQLITE_OMIT_AUTORESET compile-time option.
* Added the SQLITE_DEFAULT_FOREIGN_KEYS compile-time option.
* Updates to sqlite3_stmt_readonly() so that its result is well-defined for all
prepared statements and so that it works with VACUUM.
* Added the "-heap" option to the command-line shell
* Fix a bug involving frequent changes in and out of WAL mode and VACUUM that
could (in theory) cause database corruption.
* Enhance the sqlite3_trace() mechanism so that nested SQL statements such as
might be generated by virtual tables are shown but are shown in comments and
without parameter expansion. This greatly improves tracing output when using
the FTS3/4 and/or RTREE virtual tables.
* Change the xFileControl() methods on all built-in VFSes to return
SQLITE_NOTFOUND instead of SQLITE_ERROR for an unrecognized operation code.
* The SQLite core invokes the SQLITE_FCNTL_SYNC_OMITTED file control to the VFS
in place of a call to xSync if the database has PRAGMA synchronous set to OFF.
|
|
separately from the main library.
|