SQLite (32-bit) 歷史版本列表
SQLite 是一個進程內庫,它實現了一個自包含的,無服務器的,零配置的事務性 SQL 數據庫引擎。 SQLite 的代碼是在公共領域,因此可用於任何目的,商業或私人。 SQLite 是世界上應用最廣泛的數據庫,其應用程序數量超過了我們可以計算的數量,其中包括幾個備受矚目的項目。 SQLite 免費下載最新版本的 Windows PC。它是 SQLite 的完全脫機安裝程序安裝程序。SQLite ... SQLite (32-bit) 軟體介紹更新時間:2017-05-23
更新細節:
What's new in this version:
- 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 for ticket f68dc596c4e6018d
- 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. Fix for ticket b93be8729a895a528e2
- Disallow control characters inside of strings in JSON. Fix for ticket 6c9b5514077fed34551
- Limit the depth of recursion for JSON objects and arrays in order to avoid excess stack usage in the recursive descent parser. Fix for ticket 981329adeef51011052
更新時間:2017-03-31
更新細節:
What's new in this version:
- 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 a bug in the 'start of ...' modifiers for the date and time functions
- 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
- 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-14
更新細節:
What's new in this version:
- 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
更新細節:
更新時間:2017-01-04
更新細節:
What's new in this version:
- 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-03
更新細節:
更新時間:2016-11-29
更新細節:
更新時間:2016-11-04
更新細節:
What's new in this version:
- Added SQLITE_FCNTL_WIN32_GET_HANDLE file control opcode
Bugs fixed:
- Fix the VACUUM command so that it spills excess content to disk rather than holding everything in memory, and possible causing an out-of-memory error for larger database files. This fixes an issue introduced by version 3.15.0
- Fix a case (present since 3.8.0 - 2013-08-26) where OR-connected terms in the ON clause of a LEFT JOIN might cause incorrect results
- Fix a case where the use of row values in the ON clause of a LEFT JOIN might cause incorrect results
更新時間:2016-10-18
更新細節:
What's new in this version:
- Added support for row values
- Allow deterministic SQL functions in the WHERE clause of a partial index
- Added the "modeof=filename" URI parameter on the unix VFS
- Added support for SQLITE_DBCONFIG_MAINDBNAME
- Added the ability to VACUUM an ATTACH-ed database
Enhancements to the command-line shell:
- Add the ".testcase" and ".check" dot-commands
- Added the --new option to the ".open" dot-command, causing any prior content in the database to be purged prior to opening
- Enhance the fts5vocab virtual table to handle "ORDER BY term" efficiently
- Miscellaneous micro-optimizations reduce CPU usage by more than 7% on common workloads. Most optimization in this release has been on the front-end (sqlite3_prepare_v2()).
Bug Fixes:
- The multiply operator now correctly detects 64-bit integer overflow and promotes to floating point in all corner-cases. Fix for ticket 1ec41379c9c1e400.
- Correct handling of columns with redundant unique indexes when those columns are used on the LHS of an IN operator. Fix for ticket 0eab1ac759.
- Skip NULL entries on range queries in indexes on expressions. Fix for ticket 4baa46491212947.
- Ensure that the AUTOINCREMENT counters in the sqlite_sequence table are initialized doing "Xfer Optimization" on "INSERT ... SELECT" statements. Fix for ticket 7b3328086a5c116c.
- Make sure the ORDER BY LIMIT optimization (from check-in 559733b09e) works with IN operators on INTEGER PRIMARY KEYs. Fix for ticket 96c1454c