2019-07-12 12:04:27 by Adam Ciarcinski | Files touched by this commit (6) | |
Log message:
sqlite3: updated to 3.29.0
SQLite Release 3.29.0:
Added the SQLITE_DBCONFIG_DQS_DML and SQLITE_DBCONFIG_DQS_DDL actions to \
sqlite3_db_config() for activating and deactivating the double-quoted string \
literal misfeature. Both default to "on" for legacy compatibility, but \
developers are encouraged to turn them "off", perhaps using the \
-DSQLITE_DQS=0 compile-time option.
-DSQLITE_DQS=0 is now a recommended compile-time option.
Improvements to the query planner:
Improved optimization of AND and OR operators when one or the other operand is a \
constant.
Enhancements to the LIKE optimization for cases when the left-hand side column \
has numeric affinity.
Added the "sqlite_dbdata" virtual table for extracting raw low-level \
content from an SQLite database, even a database that is corrupt.
Enhancements to the CLI:
Add the ".recover" command which tries to recover as much content as \
possible from a corrupt database file.
Add the ".filectrl" command useful for testing.
Add the long-standing ".testctrl" command to the ".help" menu.
Added the ".dbconfig" command
|
2019-04-18 12:10:03 by Adam Ciarcinski | Files touched by this commit (8) | |
Log message:
sqlite3: updated to 3.28.0
SQLite Release 3.28.0:
Enhanced window functions:
Add support the EXCLUDE clause.
Add support for window chaining.
Add support for GROUPS frames.
Add support for "<expr> PRECEDING" and "<expr> \
FOLLOWING" boundaries in RANGE frames.
Added the new sqlite3_stmt_isexplain(S) interface for determining whether or not \
a prepared statement is an EXPLAIN.
Enhanced VACUUM INTO so that it works for read-only databases.
New query optimizations:
Enable the LIKE optimization for cases when the ESCAPE keyword is present and \
PRAGMA case_sensitive_like is on.
In queries that are driven by a partial index, avoid unnecessary tests of the \
constraint named in the WHERE clause of the partial index, since we know that \
constraint must always be true.
Enhancements to the TCL Interface:
Added the -returntype option to the function method.
Added the new bind_fallback method.
Enhancements to the CLI:
Added support for bound parameters and the .parameter command.
Fix the readfile() function so that it returns an empty BLOB rather than \
throwing an out-of-memory error when reading an empty file.
Fix the writefile() function so that when it creates new directories along the \
path of a new file, it gives them umask permissions rather than the same \
permissions as the file.
Change --update option in the .archive command so that it skips files that are \
already in the archive and are unchanged. Add the new --insert option that works \
like --update used to work.
Added the fossildelta.c extension that can create, apply, and deconstruct the \
Fossil DVCS file delta format that is used by the RBU extension.
Added the SQLITE_DBCONFIG_WRITABLE_SCHEMA verb for the sqlite3_db_config() \
interface, that does the same work as PRAGMA writable_schema without using the \
SQL parser.
Added the sqlite3_value_frombind() API for determining if the argument to an SQL \
function is from a bound parameter.
Security and compatibilities enhancements to fts3_tokenizer():
The fts3_tokenizer() function always returns NULL unless either the legacy \
application-defined FTS3 tokenizers interface are enabled using the \
sqlite3_db_config(SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER) setting, or unless the \
first argument to fts3_tokenizer() is a bound parameter.
The two-argument version of fts3_tokenizer() accepts a pointer to the tokenizer \
method object even without the \
sqlite3_db_config(SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER) setting if the second \
argument is a bound parameter
Improved robustness against corrupt database files.
Miscellaneous performance enhancements
|
2019-04-03 02:33:20 by Ryo ONODERA | Files touched by this commit (748) |
Log message:
Recursive revbump from textproc/icu
|
2019-02-25 19:04:30 by Adam Ciarcinski | Files touched by this commit (6) | |
Log message:
sqlite3: updated to 3.27.2
SQLite Release 3.27.2:
Fix a bug in the IN operator that was introduced by an attempted optimization in \
version 3.27.0.
Fix a bug causing a crash when a window function is misused.
Fix various documentation typos
|
2019-02-11 11:45:21 by Adam Ciarcinski | Files touched by this commit (8) | |
Log message:
sqlite3: updated to 3.27.1
SQLite Release 3.27.1:
Fix a bug in the query optimizer: an adverse interaction between the OR \
optimization and the optimization that tries to use values read directly from an \
expression index instead of recomputing the expression.
Hashes:
Changes carried forward from version 3.27.0:
Added the VACUUM INTO command
Issue an SQLITE_WARNING message on the error log if a double-quoted string \
literal is used.
The sqlite3_normalized_sql() interface works on any prepared statement created \
using sqlite3_prepare_v2() or sqlite3_prepare_v3(). It is no longer necessary to \
use sqlite3_prepare_v3() with SQLITE_PREPARE_NORMALIZE in order to use \
sqlite3_normalized_sql().
Added the remove_diacritics=2 option to FTS3 and FTS5.
Added the SQLITE_PREPARE_NO_VTAB option to sqlite3_prepare_v3(). Use that option \
to prevent circular references to shadow tables from causing resource leaks.
Enhancements to the sqlite3_deserialize() interface:
Add the SQLITE_FCNTL_SIZE_LIMIT file-control for setting an upper bound on the \
size of the in-memory database created by sqlite3_deserialize. The default upper \
bound is 1GiB, or whatever alternative value is specified by \
sqlite3_config(SQLITE_CONFIG_MEMDB_MAXSIZE) and/or SQLITE_MEMDB_DEFAULT_MAXSIZE.
Honor the SQLITE_DESERIALIZE_READONLY flag, which was previously described in \
the documentation, but was previously a no-op.
Enhance the "deserialize" command of the TCL Interface to give it new \
"--maxsize N" and "--readonly BOOLEAN" options.
Enhancements to the CLI, mostly to support testing and debugging of the SQLite \
library itself:
Add support for ".open --hexdb". The "dbtotxt" utility \
program used to generate the text for the "hexdb" is added to the \
source tree.
Add support for the "--maxsize N" option on ".open \
--deserialize".
Add the "--memtrace" command-line option, to show all memory \
allocations and deallocations.
Add the ".eqp trace" option on builds with SQLITE_DEBUG, to enable \
bytecode program listing with indentation and PRAGMA vdbe_trace all in one step.
Add the ".progress" command for accessing the \
sqlite3_progress_handler() interface.
Add the "--async" option to the ".backup" command.
Add options "--expanded", "--normalized", \
"--plain", "--profile", "--row", \
"--stmt", and "--close" to the ".trace" command.
Increased robustness against malicious SQL that is run against a maliciously \
corrupted database.
Bug fixes:
Do not use a partial index to do a table scan on an IN operator.
Fix the query flattener so that it works on queries that contain subqueries that \
use window functions.
Ensure that ALTER TABLE modifies table and column names embedded in WITH clauses \
that are part of views and triggers.
Fix a parser bug that prevented the use of parentheses around table-valued functions.
Fix a problem with the OR optimization on indexes on expressions.
Fix a problem with the LEFT JOIN strength reduction optimization in which the \
optimization was being applied inappropriately due to an IS NOT NULL operator.
Fix the REPLACE command so that it is no longer able to sneak a NULL value into \
a NOT NULL column even if the NOT NULL column has a default value of NULL.
Fix a problem with the use of window functions used within correlated subqueries.
Fix the ALTER TABLE RENAME COLUMN command so that it works for tables that have \
redundant UNIQUE constraints.
Fix a bug that caused zeroblob values to be truncated when inserted into a table \
that uses an expression index.
|
2018-12-09 19:52:52 by Adam Ciarcinski | Files touched by this commit (724) |
Log message:
revbump after updating textproc/icu
|
2018-12-04 13:03:53 by Adam Ciarcinski | Files touched by this commit (6) | |
Log message:
sqlite3: updated to 3.26.0
SQLite Release 3.26.0:
Optimization: When doing an UPDATE on a table with indexes on expressions, do \
not update the expression indexes if they do not refer to any of the columns of \
the table being updated.
Allow the xBestIndex() method of virtual table implementations to return \
SQLITE_CONSTRAINT to indicate that the proposed query plan is unusable and \
should not be given further consideration.
Added the SQLITE_DBCONFIG_DEFENSIVE option which disables the ability to create \
corrupt database files using ordinary SQL.
Added support for read-only shadow tables when the SQLITE_DBCONFIG_DEFENSIVE \
option is enabled.
Added the PRAGMA legacy_alter_table command, which if enabled causes the ALTER \
TABLE command to behave like older version of SQLite (prior to version 3.25.0) \
for compatibility.
Added PRAGMA table_xinfo that works just like PRAGMA table_info except that it \
also shows hidden columns in virtual tables.
Added the explain virtual table as a run-time loadable extension.
Add a limit counter to the query planner to prevent excessive sqlite3_prepare() \
times for certain pathological SQL inputs.
Added support for the sqlite3_normalized_sql() interface, when compiling with \
SQLITE_ENABLE_NORMALIZE.
Enhanced triggers so that they can use table-valued functions that exist in \
schemas other than the schema where the trigger is defined.
Enhancements to the CLI:
- Improvements to the ".help" command.
- The SQLITE_HISTORY environment variable, if it exists, specifies the name of \
the command-line editing history file
- The --deserialize option associated with opening a new database cause the \
database file to be read into memory and accessed using the \
sqlite3_deserialize() API. This simplifies running tests on a database without \
modifying the file on disk.
Enhancements to the geopoly extension:
- Aways stores polygons using the binary format, which is faster and uses less space.
- Added the geopoly_regular() function.
- Added the geopoly_ccw() function.
Enhancements to the session extension:
- Added the SQLITE_CHANGESETAPPLY_INVERT flag
- Added the sqlite3changeset_start_v2() interface and the \
SQLITE_CHANGESETSTART_INVERT flag.
- Added the changesetfuzz.c test-case generator utility.
|
2018-11-07 12:51:25 by Adam Ciarcinski | Files touched by this commit (5) | |
Log message:
sqlite3: updated to 3.25.3
SQLite Release 3.25.3:
Disallow the use of window functions in the recursive part of a CTE.
Fix the behavior of typeof() and length() on virtual tables.
Strengthen defenses against deliberately corrupted database files.
Fix a problem in the query planner that results when a row-value expression is \
used with a PRIMARY KEY with redundant columns.
Fix the query planner so that it works correctly for IS NOT NULL operators in \
the ON clause of a LEFT JOIN with the SQLITE_ENABLE_STAT4 compile-time option.
|
2018-10-01 10:02:37 by Adam Ciarcinski | Files touched by this commit (6) | |
Log message:
sqlite3: updated to 3.25.2
SQLite Release 3.25.2:
Add the PRAGMA legacy_alter_table=ON command that causes the "ALTER TABLE \
RENAME" command to behave as it did in SQLite versions 3.24.0 and earlier: \
references to the renamed table inside the bodies of triggers and views are not \
updated. This new pragma provides a compatibility work around for older programs \
that expected the older, wonky behavior of ALTER TABLE RENAME.
Fix a problem with the new window functions implementation that caused a \
malfunction when complicated expressions involving window functions were used \
inside of a view.
Fixes for various other compiler warnings and minor problems associated with \
obscure configurations.
|
2018-09-19 11:38:09 by Adam Ciarcinski | Files touched by this commit (6) | |
Log message:
sqlite3: updated to 3.25.1
SQLite Release 3.25.1:
Extra sanity checking added to ALTER TABLE in the 3.25.0 release sometimes \
raises a false-positive when the table being modified has a trigger that updates \
a virtual table. The false-positive caused the ALTER TABLE to rollback, thus \
leaving the schema unchanged.
The fix in the 3.25.0 release for the endless-loop in the byte-code associated \
with the ORDER BY LIMIT optimization did not work for some queries involving \
window functions. An additional correction is required.
|