History log of /external/sqlite/dist/orig/sqlite3.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
3e57a0403387a8b65a23ae6041e16b9eb59ca098 21-Jul-2017 JP Sugarbroad <jpsugar@google.com> DO NOT MERGE - fix FTS3 column pointer handling

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.

Bug: 63852675
Change-Id: I0f0be2bfc21aef8917da63d76d1007fbf8c8ad4d
(cherry picked from commit f856b3209b8c3e62fcb4b2bbc7527d715c9e815e)
/external/sqlite/dist/orig/sqlite3.c
253ed64ded244ef3d8a7226efb812e7989bc8026 23-Dec-2015 Nick Kralevich <nnk@google.com> sqlite: upgrade to SQLite 3.9.2

Downloaded from https://www.sqlite.org/2015/sqlite-amalgamation-3090200.zip

$ sha256sum sqlite-amalgamation-3090200.zip
567139c94375e3808a11f34d81f534d0c257e2c498cddbf4cac283d74b51fe9c sqlite-amalgamation-3090200.zip

dist/orig contains the stock sqlite3 code, as packaged in the ZIP file above.

dist contains a copy of dist/orig, but with the Android.patch file applied.
Please see Android.patch for a list of differences between stock and
Android.

One Android specific patch failed to apply cleanly. However, this patch was
a whitespace only patch, so it has been dropped from Android.patch. All
other android specific patches applied cleanly.

Changes since 3.8.10.2 (from https://www.sqlite.org/changes.html):

2015-11-03 (3.9.2)

* Fix the schema parser so that it interprets certain (obscure and ill-formed)
CREATE TABLE statements the same as legacy. Fix for ticket ac661962a2aeab3c331
* Fix a query planner problem that could result in an incorrect answer due to
the use of automatic indexing in subqueries in the FROM clause of a correlated

2015-10-16 (3.9.1)

* Fix the json1 extension so that it does not recognize ASCII form-feed as a
whitespace character, in order to comply with RFC-7159. Fix for ticket
57eec374ae1d0a1d
* Add a few #ifdef and build script changes to address compilation issues that
appeared after the 3.9.0 release.

2015-10-14 (3.9.0)

Policy Changes:

The version numbering conventions for SQLite are revised to use the emerging
standard of semantic versioning.

New Features And Enhancements:

* Added the json1 extension module in the source tree, and in the amalgamation.
Enable support using the SQLITE_ENABLE_JSON1 compile-time option.
* Added Full Text Search version 5 (FTS5) to the amalgamation, enabled using
SQLITE_ENABLE_FTS5. FTS5 will be considered "experimental" (subject to incompatible
changes) for at least one more release cycle.
* The CREATE VIEW statement now accepts an optional list of column names following
the view name.
* Added support for indexes on expressions.
* Added support for table-valued functions in the FROM clause of a SELECT statement.
* Added support for eponymous virtual tables.
* A VIEW may now reference undefined tables and functions when initially created.
Missing tables and functions are reported when the VIEW is used in a query.
* Added the sqlite3_value_subtype() and sqlite3_result_subtype() interfaced
(used by the json1 extension).
* The query planner is now able to use partial indexes that contain AND-connected
terms in the WHERE clause.
* The sqlite3_analyzer.exe utility is updated to report the depth of each btree and
to show the average fanout for indexes and WITHOUT ROWID tables.
* Enhanced the dbstat virtual table so that it can be used as a table-valued function
where the argument is the schema to be analyzed.

Other changes:

* The sqlite3_memory_alarm() interface, which has been deprecated and undocumented
for 8 years, is changed into a no-op.

Important fixes:

* Fixed a critical bug in the SQLite Encryption Extension that could cause the database
to become unreadable and unrecoverable if a VACUUM command changed the size of the
encryption nonce.
* Added a memory barrier in the implementation of sqlite3_initialize() to help ensure
that it is thread-safe.
* Fix the OR optimization so that it always ignores subplans that do not use an index.
* Do not apply the WHERE-clause pushdown optimization on terms that originate in the
ON or USING clause of a LEFT JOIN. Fix for ticket c2a19d81652f40568c.

2015-07-29 (3.8.11.1)

* Restore an undocumented side-effect of PRAGMA cache_size: force the database
schema to be parsed if the database has not been previously accessed.
* Fix a long-standing problem in sqlite3_changes() for WITHOUT ROWID tables that was
reported a few hours after the 3.8.11 release.

2015-07-27 (3.8.11)

* Added the experimental RBU extension. Note that this extension is experimental
and subject to change in incompatible ways.
* Added the experimental FTS5 extension. Note that this extension is experimental
and subject to change in incompatible ways.
* Added the sqlite3_value_dup() and sqlite3_value_free() interfaces.
* Enhance the spellfix1 extension to support ON CONFLICT clauses.
* The IS operator is now able to drive indexes.
* Enhance the query planner to permit automatic indexing on FROM-clause subqueries
that are implemented by co-routine.
* Disallow the use of "rowid" in common table expressions.
* Added the PRAGMA cell_size_check command for better and earlier detection of database
file corruption.
* Added the matchinfo 'b' flag to the matchinfo() function in FTS3.
* Improved fuzz-testing of database files, with fixes for problems found.
* Add the fuzzcheck test program and automatically run this program using both SQL
and database test cases on "make test".
* Added the SQLITE_MUTEX_STATIC_VFS1 static mutex and use it in the Windows VFS.
* The sqlite3_profile() callback is invoked (by sqlite3_reset() or sqlite3_finalize())
for statements that did not run to completion.
* Enhance the page cache so that it can preallocate a block of memory to use for the
initial set page cache lines. Set the default preallocation to 100 pages. Yields about
a 5% performance increase on common workloads.
* Miscellaneous micro-optimizations result in 22.3% more work for the same number of
CPU cycles relative to the previous release. SQLite now runs twice as fast as version
3.8.0 and three times as fast as version 3.3.9. (Measured using cachegrind on the
speedtest1.c workload on Ubuntu 14.04 x64 with gcc 4.8.2 and -Os. Your performance
may vary.)
* Added the sqlite3_result_zeroblob64() and sqlite3_bind_zeroblob64() interfaces.

Important bug fixes:

* Fix CREATE TABLE AS so that columns of type TEXT never end up holding an INT
value. Ticket f2ad7de056ab1dc9200
* Fix CREATE TABLE AS so that it does not leave NULL entries in the sqlite_master
table if the SELECT statement on the right-hand side aborts with an error.
Ticket 873cae2b6e25b
* Fix the skip-scan optimization so that it works correctly when the OR optimization
is used on WITHOUT ROWID tables. Ticket 8fd39115d8f46
* Fix the sqlite3_memory_used() and sqlite3_memory_highwater() interfaces so that
they actually do provide a 64-bit answer.

Change-Id: Ic59c75950fe54b2ae3a2dabe5fe22f3fb4225e83
/external/sqlite/dist/orig/sqlite3.c
693f9c610b18f09ffe4aaa8f583362481c9e1532 13-Jun-2015 Nick Kralevich <nnk@google.com> sqlite: upgrade to SQLite 3.8.10.2

Downloaded from https://www.sqlite.org/2015/sqlite-amalgamation-3081002.zip

$ sha256sum sqlite-amalgamation-3081002.zip
8272ba79711bf7f64a029d5976ce565ef3fb9bdbbb8b18affdae83d0dd60d61b sqlite-amalgamation-3081002.zip

dist/orig contains the stock sqlite3 code, as packaged in the ZIP file above.

dist contains a copy of dist/orig, but with the Android.patch file applied.
Please see Android.patch for a list of differences between stock and
Android.

All Android specific patches applied cleanly.

Description of changes compared to SQLite 3.8.10:

2015-05-20 (3.8.10.2)
* Fix an index corruption issue introduced by version 3.8.7. An index
with a TEXT key can be corrupted by an INSERT into the corresponding
table if the table has two nested triggers that convert the key
value to INTEGER and back to TEXT again. Ticket 34cd55d68e0
* SQLITE_SOURCE_ID: "2015-05-20 18:17:19 2ef4f3a5b1d1d0c4338f8243d40a2452cc1f7fe4"
* SHA1 for sqlite3.c: 638abb77965332c956dbbd2c8e4248e84da4eb63

2015-05-09 (3.8.10.1)
* Make sqlite3_compileoption_used() responsive to the
SQLITE_ENABLE_DBSTAT_VTAB compile-time option.
* Fix a harmless warning in the command-line shell on some versions of MSVC.
* Fix minor issues with the dbstat virtual table.
* SQLITE_SOURCE_ID: "2015-05-09 12:14:55 05b4b1f2a937c06c90db70c09890038f6c98ec40"
* SHA1 for sqlite3.c: 85e4e1c08c7df28ef61bb9759a0d466e0eefbaa2

Change-Id: I60ba181489dc010683f8aabfff37cc7fee17b455
/external/sqlite/dist/orig/sqlite3.c
3a6c79f802fabdb94367177310663397420e319f 08-May-2015 Nick Kralevich <nnk@google.com> sqlite: upgrade to SQLite 3.8.10

Downloaded from https://www.sqlite.org/2015/sqlite-amalgamation-3081000.zip

$ sha256sum sqlite-amalgamation-3081000.zip
b864bf802584e54a881db4ab9c8fb54b51339b2dc2c66f97fbf88ae4ee052ff8 sqlite-amalgamation-3081000.zip

dist/orig contains the stock sqlite3 code, as packaged in the ZIP file above.

dist contains a copy of dist/orig, but with the Android.patch file applied.
Please see Android.patch for a list of differences between stock and
Android.

One Android patch failed to apply cleanly, due to a change in how one
variable is handled. The patch was fixed. Other than that, no changes
to the Android specific patches.

Description of changes compared to SQLite 3.8.9:

SQLite Release 3.8.10 On 2015-05-07

Added the sqldiff.exe utility program for computing the differences between two SQLite database files.
Added the y format string to the matchinfo() function of FTS3.
Performance improvements for ORDER BY, VACUUM, CREATE INDEX, PRAGMA integrity_check, and PRAGMA quick_check.
Fix many obscure problems discovered while SQL fuzzing.
Identify all methods for important objects in the interface documentation. (example)
Made the American Fuzzy Lop fuzzer a standard part of SQLite's testing strategy.
Add the ".binary" and ".limits" commands to the command-line shell.
Make the "dbstat" virtual table part of standard builds when compiled with the SQLITE_ENABLE_DBSTAT_VTAB option.
SQLITE_SOURCE_ID: "2015-05-07 11:53:08 cf975957b9ae671f34bb65f049acf351e650d437"
SHA1 for sqlite3.c: 0b34f0de356a3f21b9dfc761f3b7821b6353c570

(cherrypicked from commit 3d169392f9f40c9a3a1571aa4be8da49ad3c0f8e)

Change-Id: I9d298922ddf405a597781749c8b39caee4ea638b
/external/sqlite/dist/orig/sqlite3.c
3fcd43a0f1ef02756029e12af3cb9ba9faa13364 08-Apr-2015 Nick Kralevich <nnk@google.com> sqlite: upgrade to SQLite 3.8.9

Downloaded from http://www.sqlite.org/2015/sqlite-amalgamation-3080900.zip

$ sha256sum sqlite-amalgamation-3080900.zip
40a9f51a250fc41f6b5053a778681c622d82dec592c85de21edd3640eeb5f093 sqlite-amalgamation-3080900.zip

dist/orig contains the stock sqlite3 code, as packaged in the ZIP file above.

dist contains a copy of dist/orig, but with the Android.patch file applied.
Please see Android.patch for a list of differences between stock and
Android.

No new patches are introduced.

Bug: 20099586
Change-Id: Ic7be6d920698984dee67458678086e88db9a06d3
/external/sqlite/dist/orig/sqlite3.c
9bee60b0fc0b60d4ae9e7533e0e6b7beca5f37fc 21-Aug-2014 Jeff Brown <jeffbrown@google.com> Upgrade SQLite to v3.8.6.

Bug: 15526305
Change-Id: Ib2c187345f845a0f86e25851b7d657c73e9b4ee4
/external/sqlite/dist/orig/sqlite3.c
1c7cea379348522163370244e8fbbff8a136b7fa 07-Jun-2014 Nick Kralevich <nnk@google.com> sqlite: upgrade to SQLite 3.8.5

Downloaded from http://www.sqlite.org/2014/sqlite-amalgamation-3080500.zip

$ sha256sum sqlite-amalgamation-3080500.zip
d9d5a78a5449baa54b2bc62f74f756af81ce74f953f7f0f39aa8b47b2d862029 sqlite-amalgamation-3080500.zip

dist/orig contains the stock sqlite3 code, as packaged in the ZIP file above.

dist contains a copy of dist/orig, but with the Android.patch file applied.
Please see Android.patch for a list of differences between stock and
Android.

Change-Id: I675bc26116b8f02aa3ce841e48fa2ef940ffbe61
/external/sqlite/dist/orig/sqlite3.c
8fecf56c625b5691ee3381e107ccbe1ff42398b1 30-May-2014 Nick Kralevich <nnk@google.com> sqlite: upgrade to SQLite 3.8.4.3

Downloaded from http://www.sqlite.org/snapshot/sqlite-amalgamation-201405271818.zip

$ sha256sum sqlite-amalgamation-3080403.zip
8bac4a9cf70270ca514db9b740e0950e7fca0c656119b42454376b7d5769b3d8 sqlite-amalgamation-3080403.zip

dist/orig contains the stock sqlite3 code, as packaged in the ZIP file above.

dist contains a copy of dist/orig, but with the Android.patch file applied.
Please see Android.patch for a list of differences between stock and
Android.

Bug: 15288755
Change-Id: I05f0c302ecb0e6c251cbe8c888f07cf2e0498855
/external/sqlite/dist/orig/sqlite3.c
c82acac4e67711e8d9289b572d334298aeb5d806 20-Apr-2012 Jeff Brown <jeffbrown@google.com> Upgrade to SQLite 3.7.11.

Bug: 6176510
Change-Id: I482e980b3377a9606fc23e72fd25d0c648f718d4
/external/sqlite/dist/orig/sqlite3.c
0bc48368ca8beb1a436d963729c711d19f8d746f 20-Apr-2012 Jeff Brown <jeffbrown@google.com> Extract Android diffs.

No code changes. This is just preparing for an upgrade.

Bug: 6176510
Change-Id: I5be7cf74e8d72d1bdb16b09b6bee8330c67ed7fc
/external/sqlite/dist/orig/sqlite3.c