版本 3.46.1 是一個修補版本,修復了 3.46.0 版中幾個小問題。與先前版本相比,變更極小。
版本 3.46.0 是一個增強版本。增強功能包括:
- 改進了 PRAGMA optimize 指令
- 增強了 日期和時間函式
- 為了提高可讀性,可以在數字字面值中的數字之間插入「_」
- 新增了 json_pretty() 函式
- 改進了查詢規劃器,特別是針對包含許多項的 VALUES 子句新增了更快的實作方式。
這些增強功能都不是關鍵性的。您可以方便時再更新。
版本 3.45.3 是一個修補版本,修復了一些少見的問題,包括:這些問題都不是緊急狀況。您可以方便時再升級。
- 如果 UPDATE 觸發器 是因應 UPSERT 而觸發,則其中的「old.*」值可能不正確。
- 在某些情況下,sum() 函式可能會傳回 NULL,而無限大會是更好的答案。
版本 3.45.2 是針對 SQLite 版本 3.45.0 和 3.45.1 的修補程式。此修補程式的主要原因是修復兩個由論壇文章 919c6579c8 和 440f2a2f17 指出的三年錯誤。這些問題可能導致查詢結果不正確或索引損毀。詳情請參閱相關的論壇主題。
此修補程式也包含其他一些小修正。
版本 3.45.1 是針對 SQLite 版本 3.45.0 的修補程式。此修補版本的主要重點是恢復 JSON SQL 函式 中某些未記錄的舊有行為,開發人員先前並未注意到這些行為,但某些應用程式已經開始依賴它們。這個未記錄的行為在 3.45.0 中被「修復」了,導致使用它的應用程式發生錯誤。因此,現在已將其恢復並記錄下來。
也修復了自 3.45.0 版本發布以來出現的其他一些少見問題,其中一些與版本本身相關,另一些則可追溯到幾年前。
版本 3.45.0 是 SQLite 的增強版本。影響最大的變更可能是增強了 JSON SQL 函式,使其現在能夠將其內部 JSON 解析樹以 BLOB 值的形式儲存在資料庫中。這可以顯著提高處理大型 JSON 字串的應用程式的效能,因為它省略了將 JSON 文字與 SQLite 使用的內部二進位格式之間相互轉換的需求。
第二個值得注意的變更是,任何使用 sqlite3_result_subtype() 介面的 應用程式定義的 SQL 函式 現在必須在使用 sqlite3_create_function() 或類似方法註冊函式時包含 SQLITE_RESULT_SUBTYPE 屬性。如果在使用 sqlite3_result_subtype() 的函式中未包含 SQLITE_RESULT_SUBTYPE 屬性,可能會導致答案不正確。
有關 3.45.0 版本中包含的其他增強功能,請參閱 更新日誌。
版本 3.44.1 中的 命令列介面 修正引入了一個新的錯誤,此錯誤已在修補版本 3.44.2 中修復。版本 3.44.2 也修復了在 3.44.1 發布後幾分鐘內由模糊測試器發現的 FTS5 問題。
3.44.1 版是一個修正各種罕見錯誤的修補版本。除非您在先前版本中遇到問題,否則無需升級。
3.44.0 版是 SQLite 的新增強化版本。距離上一個主要版本 (3.43.0) 僅僅過了 69 天。原先計劃是 3.44.0 版與先前版本間隔約 120 天發布。然而,程式碼累積了許多重要的強化功能,因此提早發布 3.44.0 版,讓這些強化功能更快流通似乎更好。這也意味著一些原本計劃在 3.44.0 版中推出的強化功能將延後到後續版本發布。
3.43.2 版是一個修補版本,修正了 3.43.0 和 3.43.1 版中的一些小錯誤。
3.43.1 版是一個修補版本,修正了在 3.43.0 發布後,於 3.43.0 和/或 3.42.0 版本中發現的一些小錯誤。
3.43.0 版是 SQLite 的例行強化版本。此版本的主要強化功能包括新增支援無內容刪除 FTS5 索引,以及JSON 處理效能的提升。詳情請參閱更新日誌。
3.42.0 版是 SQLite 的例行強化版本。此版本的主要強化功能是新增支援JSON5和FTS5 安全刪除指令。此版本所有強化功能的摘要,請參閱更新日誌。
3.41.2 版是一個修補版本,修正了先前版本中多個由模糊測試器發現的問題。最嚴重的問題包括讀取(非寫入)超出緩衝區結尾。建議升級。
3.41.1 版是一個修補版本,修正了 3.41.0 版中發現並由使用者回報的各種罕見問題。升級與否可自行決定。
3.41.0 版是例行強化版本。
3.40.1 版是一個修補版本,修正了 3.40.0 版中的一些罕見問題。這些已修正的問題對大多數應用程式沒有影響。僅在遇到問題時才需要升級。兩個最重要的修正如下:
修正了命令列介面上的安全命令列選項,使其能正確禁止具有副作用的函式。這是命令列介面中的錯誤,*而非* SQLite 函式庫中的錯誤,它只會影響 --safe 命令列選項,使該選項的安全性不夠完整。由於使用命令列介面中 --safe 命令列選項的系統數量大約為零,因此這不被視為一個重要的錯誤。然而,有第三方針對它寫了一個 CVE,這在維護人員之間造成了相當大的焦慮,因此最好盡快發布修正程式,而不是等到下一個主要版本。
選用的 memsys5 記憶體配置器出現了一個錯誤,可能會讓它在進行非常大的記憶體配置 (500MiB) 時進入無限迴圈。幾乎所有系統都使用其原生記憶體配置器,而不是 memsys5。僅當使用 SQLITE_ENABLE_MEMSYS5 編譯 SQLite,然後使用 sqlite3_config(SQLITE_CONFIG_HEAP) 初始化時,才會使用 Memsys5。很少有系統會這樣做,因此該問題不被視為嚴重問題。
如需此修補版本中所有變更的完整清單,請參閱branch-3.40 時間軸。
SQLite 3.40.0 版是一個包含新功能的版本。詳情請見更新日誌。此版本的主要增強功能包括:
正式支援將 SQLite 編譯成 WASM 並在網頁瀏覽器中運行。
新增及改進的 recovery extension,用於從損壞的資料庫檔案中提取資料。
此版本還包含效能增強和查詢規劃器的改進。
一個心理上的里程碑:SQLite 開發人員多年來使用的效能基準測試,在 WAL 模式 下運行時,首次低於 10 億個 CPU 週期(使用 cachegrind 測量)。這不到 8 年前使用 CPU 週期數的一半。(下圖顯示 SQLite 使用 回滾日誌,它使用較少的 CPU 週期,但會增加 I/O。該基準測試在上一個版本中已突破回滾日誌的 10 億週期關卡。)
![]()
3.39.4 版是一個安全性版本,解決了 FTS3 擴充套件 中一個長期存在的問題。能夠執行任意 SQL 陳述式且可以建立大小為 2GB 或更大的損壞資料庫的攻擊者,可能會誘騙 FTS3 溢位用於調整記憶體配置大小的整數,導致配置過小,最終導致緩衝區溢位。此版本還修復了其他一些較為隱晦的弱點,如發行說明中所述。
3.39.3 版是一個修補程式版本,修復了 3.39.0 版中的一些較為隱晦的問題。詳情請見發行說明。
3.39.2 版是一個安全性版本,解決了 SQLite 中多個長期存在的問題。最嚴重的問題由 CVE-2022-35737 識別。該問題與 SQLite 的輔助 C 語言 API 相關,無法透過 SQL 或資料庫輸入觸及,因此不太可能影響您的應用程式。儘管如此,還是建議升級。其他問題相對較小。此版本還修復了 3.39.0 版中出現的效能衰退問題,該問題可能會影響某些使用 LEFT JOIN 的多路聯結。
3.39.1 版是一個修補程式版本,修復了 3.39.0 版中的一些小問題。升級是可選的。
3.39.0 版是 SQLite 的定期維護版本。此版本的主要增強功能是新增了對 RIGHT 和 FULL JOIN 的支援。還有其他語言和效能方面的增強 — 詳情請見發行說明。
3.38.4 修補程式版本包含對 命令列介面 原始碼的一項小修改,但該修改無效。版本管理員只運行了一部分正常的版本測試,因此沒有發現這個問題。結果,在 3.38.4 版中使用欄位輸出模式時,命令列介面會發生區段錯誤。這個錯誤並未影響核心 SQLite 函式庫。它只影響了命令列介面。經驗教訓:在發佈之前務必運行所有測試,即使是微不足道的修補程式版本也一樣。務必。
3.38.5 修補程式版本修復了 3.38.4 的錯誤。
此修補程式版本修復了新的 Bloom 過濾器最佳化中的另一個使用者發現的問題。如果沒有此修復程式,如果聯結中兩個或多個表格的 Bloom 過濾器的其中一個表格上的鍵約束包含 NULL 值,則使用 Bloom 過濾器的多路聯結可能會進入無限迴圈。
版本 3.38.3 修正了自動索引和布隆過濾器建構邏輯中的一個錯誤,該錯誤可能導致 SQLite 過於積極地使用 ON 子句約束,從而導致不正確的自動索引或布隆過濾器,進而將一些有效行排除在輸出之外。此錯誤是在 3.38.0 版中引入的。其他一些小的更改也包含在此修補程式中。
版本 3.38.2 修正了新的布隆過濾器最佳化中的另一個錯誤,該錯誤可能導致對右側表格具有 IS NULL 約束的 LEFT JOIN 產生錯誤的答案。
版本 3.38.1 修正了 3.38.0 版引入的布隆過濾器最佳化中的兩個錯誤。這些錯誤可能會導致某些較為少見的查詢出現錯誤答案。同時還修正了其他各種小問題和文件中的排版錯誤。
版本 3.38.0 是 SQLite 的例行維護版本。其中包含各種小的增強功能,CPU 使用週期數減少了約 0.5%。詳情請參閱發行說明。
版本 3.37.2 修正了一個資料庫損毀錯誤。建議您升級,尤其是在使用SAVEPOINT (存儲點)的情況下。該問題首次出現在 3.35.0 版 (2021-03-12) 中,並影響到之後所有直到 3.37.1 的版本。如果暫存檔儲存在記憶體中(這並非預設行為,但有時會被應用程式使用 -DSQLITE_TEMP_STORE 或 PRAGMA temp_store 選擇),並且如果一個SAVEPOINT (存儲點)被回滾,然後在同一個事務中提交後續更改,則資料庫檔案可能會(機率很低但非零)損毀。
版本 3.37.1 修正了UPSERT邏輯中的一個錯誤,該錯誤是由3.35.0 版的 UPSERT 增強功能引入的,在某些情況下可能會導致產生不正確的位元組碼,從而在位元組碼中造成無限迴圈或空指標解引用。此修補程式版本還修正了 assert() 陳述式和CLI (命令列介面)中的一些其他小問題。
版本 3.37.0 是 SQLite 的例行維護版本。此版本中最大的新功能是支援STRICT 表格。其他增強功能在發行說明中有描述。
版本 3.36.0 是 SQLite 的例行維護版本。沒有主要的新的功能,只有對現有功能的增量改進和小的效能提升。
在 3.35.0 版中新增的 ALTER TABLE DROP COLUMN 功能包含一個錯誤,該錯誤可能導致在重寫表格以移除已刪除的欄位時,表格內容損毀。此修補程式已修正此問題。
版本 3.35.4 是另一個修補程式版本,用於修正與 3.35.0 相關功能中的一些較為少見的問題。
版本 3.35.3 包含針對先前版本中發現的一些小問題的修補程式。
版本 3.35.2 是一個小的修補程式版本,用於修正 3.35.1 版本發布後不久發現的一些小問題。
一位使用者發現了 3.35.0 版中新的 DROP COLUMN 功能存在問題,因此建立了 3.35.1 版來修正此問題。如果您未使用 DROP COLUMN,則無需升級。
SQLite 3.35.0 版是一個例行維護版本。此版本新增了許多新的語言功能,包括支援 ALTER TABLE DROP COLUMN、內建數學函數、廣義 UPSERT 以及通用表表達式上的 MATERIALIZED 提示。還包含查詢規劃器優化和漸進式 CLI 改進。
SQLite 3.34.1 版是一個修補程式版本,修復了可能由惡意 SQL 觸發的 use-after-free 錯誤。其他擴充功能和文件中的一些小問題也已修復。
SQLite 3.34.0 版是一個例行維護版本。此版本對效能和功能進行了漸進式改進,包括增強查詢規劃器、在遞迴通用表表達式中支援多個遞迴 SELECT,以及來自 CHECK 約束失敗的更佳錯誤訊息。詳情請參閱變更日誌。
SQLite 3.33.0 版是一個例行維護版本。此版本新增了對遵循 PostgreSQL 語法的「UPDATE FROM」的支援,並將最大資料庫大小增加一倍至 281 TB,以及許多其他改進。詳情請參閱變更日誌。
3.32.3 版是一個修補程式版本,包含針對模糊測試器發現的各種問題的修復。以正常方式使用 SQLite 的應用程式不太可能會遇到任何已修復的問題,但升級總是有益無害的。自 3.32.0 版以來的所有變更地圖:https://www.sqlite.org/src/timeline?p=version-3.32.3&bt=version-3.32.0
3.32.2 版相對於 3.32.1 版進行了一行程式碼的變更,修復了 COMMIT 命令中一個長期存在的錯誤。自3.17.0 版以來,如果您在 COMMIT 命令返回 SQLITE_BUSY 後反覆重試,它最終可能會報告成功,即使它仍然被阻塞。此修補程式修復了該問題。
「灰帽駭客」在 3.32.0 版發布大約 24 小時後發布了關於兩個 SQLite 錯誤的資訊。這些錯誤使惡意製作的 SQL 能夠使運行 SQLite 的程式當機。這兩個錯誤都是影響 3.32.0 之前版本的長期存在問題。3.32.1 版修復了這兩個問題。
3.32.0 版是 SQLite 的一個普通維護版本。此版本新增了運行近似 ANALYZE 的功能,以便收集供查詢規劃器使用的資料庫統計資訊,而無需掃描每個索引的每一行。有關其他增強功能和改進,請參閱變更日誌。
使用 SQLite 的應用程式應僅透過官方發布的 API 與 SQLite 互動。應用程式不應依賴或使用 SQLite 的內部資料結構,因為這些結構可能會在不同版本之間發生變化。然而,有一個熱門應用程式確實依賴於內部 SQLite 資料結構中資料的內部佈局細節,而這些細節在 3.31.0 版中發生了變化,導致該應用程式損壞。嚴格來說,這是應用程式中的錯誤,而不是 SQLite 中的錯誤。但 SQLite 可以透過恢復內部資料結構變更來修復它,這就是我們在 3.31.1 版中所做的。
3.31.0 版是 SQLite 的一個普通維護版本。此版本新增了為表格定義生成的欄位的功能,以及許多其他增強功能。有關更多資訊,請參閱變更日誌。
3.30.1 版是一個錯誤修復版本,解決了當巢狀查詢中的聚合函數使用新的 FILTER 子句功能時可能發生的問題。為了完整性,還包含針對各種罕見問題的其他一些修補程式。
SQLite 3.30.0 版是一個定期維護版本,包含各種效能和功能增強。此版本新增了 ORDER BY 語句中 NULLS FIRST 和 NULLS LAST 子句的支援,以及在所有聚合函數中新增了 FILTER 子句。詳情請參閱更新日誌。
SQLite 3.29.0 版是一個定期維護版本,包含各種效能和功能增強。詳情請參閱更新日誌。從此版本開始,雙引號字串字面值的錯誤功能已被棄用。為了向下相容,此錯誤功能預設仍會啟用,但建議開發人員使用 -DSQLITE_DQS=0 選項在編譯時停用它,或在執行階段使用 SQLITE_DBCONFIG_DQS_DML 和 SQLITE_DBCONFIG_DQS_DDL 作為 sqlite3_db_config() 介面的動作來停用它。尤其是在 CREATE TABLE 和 CREATE INDEX 語句中的雙引號字串字面值,因為這些元素在 ALTER TABLE 之後可能會導致非預期的問題。請參閱錯誤單 9b78184be266fd70 以取得範例。
SQLite 3.28.0 版是一個定期維護版本,包含各種效能和功能增強。詳情請參閱更新日誌。此版本修復了一個隱晦的安全性問題。如果符合以下條件,使用舊版 SQLite 的應用程式可能會受到攻擊:
我們並未發現任何應用程式容易受到此問題的影響。另一方面,我們也不知道每個使用 SQLite 的應用程式。如果您的應用程式允許網際網路上的未經身份驗證的使用者(以及潛在的攻擊者)執行任意 SQL,並且您在建置 SQLite 時啟用了任何選用擴充功能,那麼您應該盡快升級。
- SQLite 編譯時啟用了某些選用擴充功能,並且
- 攻擊者能夠注入任意 SQL。
有關提高面向網際網路應用程式中 SQLite 強健性的更多資訊,請參閱我們的安全性建議。
3.27.2 版是一個修補程式版本,修復了 3.27.1 版中發現的兩個錯誤和各種文件錯誤。與 3.27.1 版和 3.27.0 版相比,變更極小。
在 3.27.0 版標記發布後,但在建置完成並上傳之前,透過 System.Data.SQLite 回報了一個長期存在的錯誤,該錯誤存在於查詢最佳化器中。由於使用者無論如何都會升級,因此我們決定立即發布針對此新發現問題的修復程式。因此,3.27.1 版在 3.27.0 版發布後不到 24 小時就發布了。如果查詢最佳化器的錯誤早一天引起我們的注意,以便我們可以將修復程式整合到 3.27.0 版中,那就更好了,但事情有時就是這樣。
SQLite 3.27.0 版是一個常規維護版本,包含各種效能和功能增強。詳情請參閱發行說明。
SQLite 3.26.0 版是一個常規維護版本,包含各種效能和功能增強。詳情請參閱發行說明。
SQLite 3.25.3 版是針對 3.25.0 版的第三個修補程式,修復了已發現的各種問題,這些問題的嚴重性足以發布修補程式。
SQLite 3.25.2 版是針對 3.25.0 的另一個修補版本,修復了更多與新的視窗函數特性和ALTER TABLE增強功能相關的問題。特別值得一提的是新的PRAGMA legacy_alter_table=ON指令,它使 ALTER TABLE RENAME 指令的行為與 3.25.0 版增強功能之前的古怪行為相同 → 在觸發器和視圖主體中對已重新命名表格的參考不會更新。舊有的行為可以說是一個錯誤,但有些程式依賴於較舊的錯誤行為。3.25.2 版本也包含了針對 VIEW 的視窗函數處理的修復。還有一系列其他影響到少用編譯時選項的次要修復。詳情請參閱Fossil 時間軸。
SQLite 3.25.1 版是針對 3.25.0 版的修補程式,包含兩個針對 3.25.0 版引入的錯誤進行的單行修復。詳情請參閱更新日誌。建議從 3.25.0 版升級。
SQLite 3.25.0 版是一個定期發布的維護版本。此版本中有兩項重大增強功能
新增了對視窗函數的支援,使用 PostgreSQL 文件作為基準。
ALTER TABLE指令已增強,支援重新命名欄位,並且欄位和表格的重新命名會傳播到觸發器主體和視圖中。
此外,還有各種效能增強和次要修復。
一個值得注意的錯誤是錯誤單 9936b2fa443fec,它描述了一個難以觸發的情況,其中 ORDER BY LIMIT 優化可能會在查詢評估期間導致無限迴圈。這張錯誤單在HackerNews和Reddit上引起了很多關注,可能是因為我選擇的錯誤單標題。「無限迴圈」聽起來很可怕。但我認為這個錯誤其實沒那麼糟糕,因為它很難觸發,會在測試期間出現(而不是在產品部署後神奇地出現),不會造成任何資料遺失,也不會返回錯誤的結果。這是一個重要的錯誤,但不像許多人理解的那麼可怕。無論如何,現在已經修復了。
SQLite 3.24.0 版是一個定期發布的維護版本。此版本的主要亮點包括支援 PostgreSQL 風格的 UPSERT 和改進的效能,尤其是 ORDER BY LIMIT 查詢。
3.23.1 版修復了 3.23.0 版新增的LEFT JOIN 強度降低優化中的一個錯誤。還插入了一些其他次要和少見的修復,以及一個小的效能優化。與 3.23.0 版相比,程式碼更改很少。
3.23.0 版是一個定期發布的維護版本。有關增強功能和錯誤修復的列表,請參閱更新日誌。
3.22.0 版是一個定期發布的維護版本。此版本中有許多次要但有趣的增強功能。詳情請參閱更新日誌。
3.21.0 版是一個定期發布的維護版本。此版本中有許多增強功能。詳情請參閱更新日誌。
3.20.1 版的修補程式修改了 sqlite3_result_pointer() 介面中的兩行程式碼,以修復罕見的記憶體洩漏問題。相較於 3.20.0 版沒有其他變更。
SQLite 3.20.0 版是 SQLite 的定期維護版本。此版本包含許多小的增強功能,包括:
- 幾個新的擴充功能
- 增強「sqlite3.exe」命令列 shell
- 查詢規劃器的增強功能
- 各種程式碼優化,以提高效能
- 修復了一些罕見的錯誤
有關更多資訊,請參閱發行說明。
SQLite 3.18.2 版是 SQLite 3.19.0 版中發現的錯誤修復的另一個移植版本,特別是針對錯誤單 61fe9745 的修復。與 3.18.0 版相比,變更極小。
SQLite 3.18.1 版是針對 3.18.0 版的錯誤修復版本,修復了錯誤單 fda22108 中描述的 auto_vacuum 損毀錯誤。此版本是為需要此錯誤修復但尚不想升級到 3.19.3 版的使用者建立的。
3.19.3 版是一個緊急修補程式版本,用於修復 auto_vacuum 邏輯中可能導致資料庫損毀的錯誤。該錯誤是在 3.16.0 版(2017-01-02)中引入的。雖然該錯誤很罕見,但建議所有使用者都升級,尤其是開啟 auto_vacuum 的使用者。
在 3.19.0 版中新增的 LEFT JOIN 扁平化最佳化中發現了更多問題。此修補程式版本修復了該最佳化的所有已知問題,並新增了新的測試案例。希望這是最後一個修補程式。
3.19.0 版中新的查詢規劃器最佳化之一包含錯誤。 3.19.1 修補程式版本修復了這些錯誤。從 3.19.0 開始,LEFT JOIN 運算子右側的子查詢和視圖有時會被扁平化到主查詢中。新的最佳化適用於開發人員設計的所有測試案例以及數百萬個舊版測試案例,但是一旦 3.19.0 發佈,使用者就發現了其他一些最佳化失敗的情況。錯誤單 cad1ab4cb7b0fc344 包含一些範例。
這些問題僅存在於 3.19.0 中。使用 SQLite 3.19.0 的使用者應該升級,但使用所有先前版本 SQLite 的使用者是安全的。
SQLite 3.19.0 版是定期維護版本。此版本重點在於改進查詢規劃器。還有一些罕見的錯誤修復。除非您在先前版本中遇到問題,否則沒有理由升級。
SQLite 3.18.0 版是定期維護版本。此版本初步實作了「PRAGMA optimize」命令。現在可以使用此命令根據需要執行 ANALYZE。應用程式應在關閉 資料庫連線 之前呼叫「PRAGMA optimize」。在未來的版本中,「PRAGMA optimize」語句可能會得到增強,以執行其他類型的自動資料庫維護。
用於管理 SQLite 專案的 Fossil 版本控制系統已升級為使用 SHA3-256 雜湊值,而不是 SHA1。因此,SQLite 的版本識別碼現在顯示的是 64 位十六進位 SHA3-256 雜湊值,而不是 40 位十六進位 SHA1 雜湊值。
有關此版本中的其他增強功能和優化,請參閱更新日誌。
SQLite 3.17.0 版是一次定期維護版本。此版本中的大部分變更都是效能優化。對 R-Tree 擴充 的優化尤其明顯。
在此版本中,為每個資料庫連線配置的 預讀緩衝區 的預設大小從 64,000 位元組增加到 120,000 位元組。這提高了許多常見工作負載的效能,但代價是略微增加了記憶體使用量。重視低記憶體佔用而非原始速度的應用程式可以使用 SQLITE_DEFAULT_LOOKASIDE 編譯時期選項、sqlite3_config(SQLITE_CONFIG_LOOKASIDE) 啟動時期設定或 sqlite3_db_config(SQLITE_DBCONFIG_LOOKASIDE) 執行時期設定,將預讀緩衝區大小更改回舊值(或零)。
3.16.0 版中新增的一項效能優化導致在缺少次要索引的 WITHOUT ROWID 資料表上,觸發器和外鍵針對 REPLACE 陳述式發生故障。此修補程式版本修正了這個問題。詳情請參閱錯誤單 30027b613b4。
SQLite 3.16.1 版修正了觸發器內 UPDATE 陳述式的列值邏輯中的錯誤。這個錯誤自 3.15.0 版新增列值以來就一直存在,但在 3.16.0 版發布後幾分鐘才被發現,因此 3.16.0 版並未修復此錯誤。此修補程式版本是包含列值錯誤修正的 3.16.0 版。
SQLite 3.16.0 版是一次定期維護版本。此版本包含許多 微優化,這些優化共同減少了約 9% 的 CPU 週期數,並且對 命令列介面 進行了重要的增強。
新增了對 PRAGMA 函式 的支援,以便許多 pragma 陳述式可以用作較大 SQL 查詢的一部分。這被認為是一項實驗性功能。我們預計不會對 PRAGMA 函式 介面進行任何更改,但為了避免出現不可預見的問題,我們會在幾個版本週期內繼續將此介面稱為「實驗性」。
有關其他增強功能,請參閱更新日誌。
SQLite 3.15.2 版是一個錯誤修正版本,修復了 3.15.0 版和 3.15.1 版中的一些小問題。
SQLite 3.15.1 版是一個錯誤修正版本,修復了 3.15.0 版中的一些小問題。
SQLite 3.15.0 版是一次定期維護版本。此版本的主要功能是新增了對 列值 的支援。此外,還有一些其他增強功能和一些少見錯誤的修正。3.15.0 版本的 CPU 使用週期比 3.14.2 版本減少了約 7%。此版本的大部分改進都在 SQL 解析器、查詢規劃器和位元組碼產生器(前端),對應於 sqlite3_prepare_v2() 介面。總體而言,3.15.0 版本使用的 CPU 時間大約是 3.8.1 版本 (2013-10-17) 的一半。這些效能測量是使用 "speedtest1.c" 工作負載在 x64 架構上以 gcc 和 -Os 編譯選項進行的。效能改進可能會因平台和工作負載而異。
SQLite 3.14.2 版本 修正了幾個罕見的錯誤,並增加了對在 32 位元 Windows 系統上使用 STDCALL 呼叫約定建置 SQLite 的改進支援。從 3.14 和 3.14.1 版本升級是可選的。
SQLite 3.14.1 版本 新增了一個小修補程式,以提升 pcache1TruncateUnsafe() 常式的效能,適用於僅移除快取末尾幾個頁面的情況。這使得在頁面快取非常大的情況下,COMMIT 的執行速度更快。從 3.14 版本升級是可選的。
SQLite 3.14 版本(「π」版本)是一個定期發佈的維護版本,包含效能增強、新功能和罕見錯誤的修正。
SQLite 3.13.0 版本 是一個定期發佈的維護版本,包含效能增強和罕見錯誤的修正。
糟糕!3.12.0 和 3.12.1 版本包含一個向後相容性錯誤!宣告類型為「INTEGER」PRIMARY KEY(其中資料類型名稱 INTEGER 有引號)的資料表會產生不相容的資料庫檔案。這個錯誤的產生是因為開發人員從未想過將類型名稱放在引號中,因此沒有關於該功能的說明文件或測試。(當然,現在有測試了。)在實際應用中,使用引號括住資料類型名稱的情況可能並不常見,因此我們預計此錯誤的影響不會太嚴重。仍然強烈建議升級。
此修補程式版本中包含了針對其他三個小問題的修正。其他問題通常會延遲到下一個預定版本發佈,但既然無論如何都要發佈修補程式版本,不妨將它們包含在內。
SQLite 3.12.1 版本 是一個緊急修補程式版本,用於解決 潛入 3.12.0 版本 的當機錯誤。強烈建議從 3.12.0 版本升級。
同時還修正了另一個關於 檢視 欄位資料類型的小問題,以及一個查詢規劃器的缺陷。這兩個問題本身不足以發佈新版本,但既然要發佈一個版本來處理當機錯誤,我們也一併加入了這些其他的修正。
SQLite 3.12.0 版本 是一個定期發佈的維護版本。此版本中一個值得注意的變更是新建立資料庫檔案的 預設頁面大小增加。還有一些效能改進。詳情請參閱 變更日誌。
SQLite 3.11.1 版本 是一個修補程式版本,修正了新的 FTS5 延伸模組中的問題,增加了 spellfix1 延伸模組中的預設設定,並實作了對某些 Windows makefile 的增強功能。SQLite 核心與 3.11.0 版本相同。升級是可選的。
SQLite 3.11.0 版本 是一個定期發佈的維護版本。
糟糕!一次失敗的最佳化嘗試導致 LIKE 運算子出現錯誤,此修補程式版本已修正此錯誤。此修補程式中還包含了其他三個次要但低風險的修正。
SQLite 3.10.1 版 是一個修正錯誤的版本,主要針對由 Mapscape 發現的查詢規劃器錯誤 cb3aa0641d9a4 進行修復。此外,還包含了 Mozilla 的 Firefox 開發人員要求的一個小 API 增強功能。與 3.10.0 版的差異很小。
SQLite 3.10.0 版 是一個定期發佈的維護版本。
此頁面最後修改時間:2024-08-14 17:04:32 UTC