2017-08-25 07:27:53 by Adam Ciarcinski | Files touched by this commit (6) |
Log message:
Release 3.20.1:
Fix a potential memory leak in the new sqlite3_result_pointer() interface.
|
2017-06-10 21:14:00 by Adam Ciarcinski | Files touched by this commit (8) |
Log message:
Release 3.19.3:
Fix a bug associated with auto_vacuum that can lead to database corruption. The \
bug was introduced in version 3.16.0.
|
2017-05-31 19:31:51 by Adam Ciarcinski | Files touched by this commit (6) |
Log message:
SQLite Release 3.19.2 On 2017-05-25
Fix more bugs in the LEFT JOIN flattening optimization. Ticket 7fde638e94287d2c.
Changes carried forward from version 3.19.1 (2017-05-24):
Fix a bug in the LEFT JOIN flattening optimization. Ticket cad1ab4cb7b0fc.
Remove a surplus semicolon that was causing problems for older versions of MSVC.
|
2017-05-24 21:41:03 by Adam Ciarcinski | Files touched by this commit (8) |
Log message:
SQLite Release 3.19.0
---------------------
The SQLITE_READ authorizer callback is invoked once with a column name that is \
an empty string for every table referenced in a query from which no columns are \
extracted.
When using an index on an expression, try to use expression values already \
available in the index, rather than loading the original columns and recomputing \
the expression.
Enhance the flattening optimization so that it is able to flatten views on the \
right-hand side of a LEFT JOIN.
Use replace() instead of char() for escaping newline and carriage-return \
characters embedded in strings in the .dump output from the command-line shell.
Avoid unnecessary foreign key processing in UPDATE statements that do not touch \
the columns that are constrained by the foreign keys.
On a DISTINCT query that uses an index, try to skip ahead to the next distinct \
entry using the index rather than stepping through rows, when an appropriate \
index is available.
Avoid unnecessary invalidation of sqlite3_blob handles when making changes to \
unrelated tables.
Transfer any terms of the HAVING clause that use only columns mentioned in the \
GROUP BY clause over to the WHERE clause for faster processing.
Reuse the same materialization of a VIEW if that VIEW appears more than once in \
the same query.
Enhance PRAGMA integrity_check so that it identifies tables that have two or \
more rows with the same rowid.
Enhance the FTS5 query syntax so that column filters may be applied to arbitrary \
expressions.
Enhance the json_extract() function to cache and reuse parses of JSON input text.
Added the anycollseq.c loadable extension that allows a generic SQLite database \
connection to read a schema that contains unknown and/or application-specific \
collating sequences.
Bug Fixes:
----------
Fix a problem in REPLACE that can result in a corrupt database containing two or \
more rows with the same rowid.
Fix a problem in PRAGMA integrity_check that was causing a subsequent VACUUM to \
behave suboptimally.
Fix the PRAGMA foreign_key_check command so that it works correctly with foreign \
keys on WITHOUT ROWID tables.
Disallow leading zeros in numeric constants in JSON.
Disallow control characters inside of strings in JSON.
Limit the depth of recursion for JSON objects and arrays in order to avoid \
excess stack usage in the recursive descent parser.
|
2017-04-22 23:04:05 by Adam Ciarcinski | Files touched by this commit (670) |  |
Log message:
Revbump after icu update
|
2017-03-30 17:55:12 by Adam Ciarcinski | Files touched by this commit (4) |
Log message:
Release 3.18.0:
Added the PRAGMA optimize command
The SQLite version identifier returned by the sqlite_source_id() SQL function \
and the sqlite3_sourceid() C API and found in the SQLITE_SOURCE_ID macro is now \
a 64-digit SHA3-256 hash instead of a 40-digit SHA1 hash.
Added the json_patch() SQL function to the JSON1 extension.
Enhance the LIKE optimization so that it works for arbitrary expressions on the \
left-hand side as long as the LIKE pattern on the right-hand side does not begin \
with a digit or minus sign.
Added the sqlite3_set_last_insert_rowid() interface and use the new interface in \
the FTS3, FTS4, and FTS5 extensions to ensure that the \
sqlite3_last_insert_rowid() interface always returns reasonable values.
Enhance PRAGMA integrity_check and PRAGMA quick_check so that they verify CHECK \
constraints.
Enhance the query plans for joins to detect empty tables early and halt without \
doing unnecessary work.
Enhance the sqlite3_mprintf() family of interfaces and the printf SQL function \
to put comma separators at the thousands marks for integers, if the \
"," format modifier is used in between the "%" and the \
"d" (example: "%,d").
Added the -DSQLITE_MAX_MEMORY=N compile-time option.
Added the .sha3sum dot-command and the .selftest dot-command to the command-line \
shell
Begin enforcing SQLITE_LIMIT_VDBE_OP. This can be used, for example, to prevent \
excessively large prepared statements in systems that accept SQL queries from \
untrusted users.
Various performance improvements.
Bug Fixes:
----------
Ensure that indexed expressions with collating sequences are handled correctly. \
Fix for ticket eb703ba7b50c1a5.
Fix a bug in the 'start of ...' modifiers for the date and time functions. \
Ticket 6097cb92745327a1
Fix a potential segfault in complex recursive triggers, resulting from a bug in \
the OP_Once opcode introduced as part of a performance optimization in version \
3.15.0. Ticket 06796225f59c057c
In the RBU extension, add extra sync operations to avoid the possibility of \
corruption following a power failure.
The sqlite3_trace_v2() output for nested SQL statements should always begin with \
a "--" comment marker.
|
2017-02-13 18:44:01 by Adam Ciarcinski | Files touched by this commit (8) |
Log message:
SQLite Release 3.17.0 On 2017-02-13
* Approximately 25% better performance from the R-Tree extension.
* Uses compiler built-ins (ex: __builtin_bswap32() or _byteswap_ulong()) for \
byteswapping when available.
* Uses the sqlite3_blob key/value access object instead of SQL for pulling \
content out of R-Tree nodes
* Other miscellaneous enhancements such as loop unrolling.
* Add the SQLITE_DEFAULT_LOOKASIDE compile-time option.
* Increase the default lookaside size from 512,125 to 1200,100 as this provides \
better performance while only adding 56KB of extra memory per connection. \
Memory-sensitive applications can restore the old default at compile-time, \
start-time, or run-time.
* Use compiler built-ins __builtin_sub_overflow(), __builtin_add_overflow(), and \
__builtin_mul_overflow() when available. (All compiler built-ins can be omitted \
with the SQLITE_DISABLE_INTRINSIC compile-time option.)
* Added the SQLITE_ENABLE_NULL_TRIM compile-time option, which can result in \
significantly smaller database files for some applications, at the risk of being \
incompatible with older versions of SQLite.
* Change SQLITE_DEFAULT_PCACHE_INITSZ from 100 to 20, for improved performance.
* Added the SQLITE_UINT64_TYPE compile-time option as an analog to SQLITE_INT64_TYPE.
* Perform some UPDATE operations in a single pass instead of in two passes.
* Enhance the session extension to support WITHOUT ROWID tables.
* Fixed performance problems and potential stack overflows when creating views \
from multi-row VALUES clauses with hundreds of thousands of rows.
* Added the sha1.c extension.
* In the command-line shell, enhance the ".mode" command so that it \
restores the default column and row separators for modes "line", \
"list", "column", and "tcl".
* Enhance the SQLITE_DIRECT_OVERFLOW_READ option so that it works in WAL mode as \
long as the pages being read are not in the WAL file.
* Enhance the LEMON parser generator so that it can store the parser object as a \
stack variable rather than allocating space from the heap and make use of that \
enhancement in the amalgamation.
* Other performance improvements. Uses about 6.5% fewer CPU cycles.
Bug Fixes:
* Throw an error if the ON clause of a LEFT JOIN references tables to the right \
of the ON clause. This is the same behavior as PostgreSQL. Formerly, SQLite \
silently converted the LEFT JOIN into an INNER JOIN.
* Use the correct affinity for columns of automatic indexes.
* Ensure that the sqlite3_blob_reopen() interface can correctly handle short rows.
|
2017-01-07 11:23:00 by Adam Ciarcinski | Files touched by this commit (6) |
Log message:
Changes 3.16.2:
Fix the REPLACE statement for WITHOUT ROWID tables that lack secondary indexes \
so that it works correctly with triggers and foreign keys. This was a new bug \
caused by performance optimizations added in version 3.16.0. Ticket 30027b613b4
Fix the sqlite3_value_text() interface so that it correctly translates content \
generated by zeroblob() into a string of all 0x00 characters. This is a \
long-standing issue discovered after the 3.16.1 release by OSS-Fuzz
Fix the bytecode generator to deal with a subquery in the FROM clause that is \
itself a UNION ALL where one side of the UNION ALL is a view that contains an \
ORDER BY. This is a long-standing issue that was discovered after the release of \
3.16.1. See ticket 190c2507.
Adjust the sqlite3_column_count() API so it more often returns the same values \
for PRAGMA statements as it did in prior releases, to minimize disruption to \
applications that might be using that interface in unexpected ways.
|
2017-01-05 18:49:54 by Adam Ciarcinski | Files touched by this commit (5) |
Log message:
Changes 3.16.1:
Fix a bug concerning the use of row values within triggers (see ticket 8c9458e7) \
that was in version 3.15.0 but was not reported until moments after the 3.16.0 \
release was published.
|
2017-01-02 18:52:24 by Adam Ciarcinski | Files touched by this commit (8) |
Log message:
SQLite Release 3.16.0 On 2017-01-02
Uses 9% fewer CPU cycles. (See the CPU performance measurement report for \
details on how the this performance increase was computed.)
Added experimental support for PRAGMA functions.
Added the SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE option to sqlite3_db_config().
Enhance the date and time functions so that the 'unixepoch' modifier works for \
the full span of supported dates.
Changed the default configuration of the lookaside memory allocator from 500 \
slots of 128 bytes each into 125 slots of 512 bytes each.
Enhanced "WHERE x NOT NULL" partial indexes so that they are usable if \
the "x" column appears in a LIKE or GLOB operator.
Enhanced sqlite3_interrupt() so that it interrupts checkpoint operations that \
are in process.
Enhanced the LIKE and GLOB matching algorithm to be faster for cases when the \
pattern contains multiple wildcards.
Added the SQLITE_FCNTL_WIN32_GET_HANDLE file control opcode.
Added ".mode quote" to the command-line shell.
Added ".lint fkey-indexes" to the command-line shell.
Added the .imposter dot-command to the command-line shell.
Added the remember(V,PTR) SQL function as a loadable extension.
Rename the SQLITE_OMIT_BUILTIN_TEST compile-time option to SQLITE_UNTESTABLE to \
better reflect the implications of using it.
Bug Fixes:
Fix a long-standing bug in the query planner that caused incorrect results on a \
LEFT JOIN where the left-hand table is a subquery and the join constraint is a \
bare column name coming from the left-hand subquery. Ticket 2df0107b.
Correctly handle the integer literal -0x8000000000000000 in the query planner.
|