SQLite (32-bit) 歷史版本列表
SQLite 是一個進程內庫,它實現了一個自包含的,無服務器的,零配置的事務性 SQL 數據庫引擎。 SQLite 的代碼是在公共領域,因此可用於任何目的,商業或私人。 SQLite 是世界上應用最廣泛的數據庫,其應用程序數量超過了我們可以計算的數量,其中包括幾個備受矚目的項目。 SQLite 免費下載最新版本的 Windows PC。它是 SQLite 的完全脫機安裝程序安裝程序。SQLite ... SQLite (32-bit) 軟體介紹更新時間:2019-02-27
更新細節:
What's new in this version:
- 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-08
更新細節:
更新時間:2019-02-08
更新細節:
What's new in this version:
Enhancements:
- Added a Recent Queries (All Connection) option to the SQL menu
- Added a Recent Queries (This Connection) option to the SQL menu
- Firebird: Added a DB Tools -> Create -> Create Database tool
- Firebird: Added the ability to create a new database when setting up a new Firebird connection
Changes:
- Added a preference to enable turning off storage of SQL history
更新時間:2019-02-08
更新細節:
What's new in this version:
- Support up to max 50 joysticks (previously 32 joysticks)
- Support up to max 128 buttons (previously 32 buttons)
- Enhanced an execution of an external program to be able to pass command parameters and specify the starting working directory
- In the button assignment window, added navigation buttons to go to the next and the previous assignment.
- In case JoyToKey is started when no controller is connected, JoyToKey tries to automatically detect devices until one controller is connected.
更新時間:2019-02-07
更新細節:
What's new in this version:
- 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
- Omit deprecated PRAGMA statements when compiling with SQLITE_OMIT_DEPRECATED
- 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-03
更新細節:
更新時間:2018-11-06
更新細節:
What's new in this version:
- 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
Hashes:
- SQLITE_SOURCE_ID: "2018-11-05 20:37:38 89e099fbe5e13c33e683bef07361231ca525b88f7907be7092058007b75036f2"
- SHA3-256 for sqlite3.c: 45586e4df74de3a43f3a1f8c7a78c3c3f02edce01af7d10cafe68bb94476a5c5
更新時間:2018-09-26
更新細節:
What's new in this version:
- 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
更新細節:
What's new in this version:
- 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
更新時間:2018-09-16
更新細節:
What's new in this version:
- Add support for window functions
- Use a separate mutex on every inode in the unix VFS, rather than a single mutex shared among them all, for slightly better concurrency in multi-threaded environments
- Enhance the PRAGMA integrity_check command for improved detection of problems on the page freelist
- Output infinity as 1e999 in the ".dump" command of the command-line shell
- Added the SQLITE_FCNTL_DATA_VERSION file-control
- Added the Geopoly module
Enhancements the ALTER TABLE command:
- Add support for renaming columns within a table using ALTER TABLE table RENAME COLUMN oldname TO newname
- Fix table rename feature so that it also updates references to the renamed table in triggers and views
Query optimizer improvements:
- Avoid unnecessary loads of columns in an aggregate query that are not within an aggregate function and that are not part of the GROUP BY clause
- The IN-early-out optimization: When doing a look-up on a multi-column index and an IN operator is used on a column other than the left-most column, then if no rows match against the first IN value, check to make sure there exist rows that match the columns to the right before continuing with the next IN value
- Use the transitive property to try to propagate constant values within the WHERE clause. For example, convert "a=99 AND b=a" into "a=99 AND b=99"
Bug fixes:
- The ORDER BY LIMIT optimization might have caused an infinite loop in the byte code of the prepared statement under very obscure circumstances, due to a confluence of minor defects in the query optimizer
- On an UPSERT when the order of constraint checks is rearranged, ensure that the affinity transformations on the inserted content occur before any of the constraint checks
- Avoid using a prepared statement for ".stats on" command of the CLI after it has been closed by the ".eqp full" logicc
- The LIKE optimization was generating incorrect byte-code and hence getting the wrong answer if the left-hand operand has numeric affinity and the right-hand-side pattern is '/%' or if the pattern begins with the ESCAPE character