SQLite 3.53 發布

SQLite 3.53 已發布,這是一個以可插拔程式庫形式實現的輕量級資料庫管理系統。 3.52 版本已取消。 SQLite 的程式碼以公共領域發布,這意味著它可以免費用於任何用途,不受任何限制。一個專門成立的聯盟為 SQLite 的開發者提供資金支持。

主要變化:

  • 資料庫損壞問題已修復。此問題自 SQLite 3.7.0 (2010) 版本起存在,影響 WAL(預寫式日誌)模式下的資料庫,原因是當兩個或多個資料庫連接同時開啟並嘗試向單一資料庫實例寫入或提交交易時,出現了競爭條件。據報告,由此導致的崩潰極為罕見,只能透過專門創建的測試場景重現。
  • 在 ALTER TABLE 指令中,允許刪除 NOT NULL 和 CHECK 檢查。
  • 新增了「REINDEX EXPRESSIONS」指令,用於重建基於使用列函數或列運算作為索引元素的表達式的索引。此命令可用於修復損壞的索引。
  • 使用 CREATE TEMP TRIGGER 命令建立的臨時觸發器可以應用於其他資料庫中的表,從而允許修改表或查詢表中的資料。
  • 在「VACUUM INTO」指令中,當透過 URL 指定目標檔案時,「reserve=N」參數現在用於確定要建立的資料庫備份的數量。
  • 實作了新的 SQL 函數 json_array_insert() 和 jsonb_array_insert(),用於在 JSON 陣列中插入元素。
  • QRF(查詢結果格式化程式)庫已新增至命令列公用程式中,用於將 SQL 查詢結果格式化為可讀格式。
  • 命令列實用程式變更:
    • “mode”指令的功能已大幅擴展。
    • 輸出產生功能已改進,例如,預設啟用邊框渲染,並且表格輸出中的數值現在右對齊。
    • 確保忽略命令後的“;”符號。
    • 現在,命令列中指定的副檔名為 *.sql 和 *.txt 的檔案的內容將被讀取並解釋為 SQL 表達式和點命令的集合。
    • “.timer”指令現在支援“once”值,以便僅將計時器套用到下一個 SQL 語句。
    • 「.progress」指令中新增了「--timeout S」選項,以強制SQL語句在逾時後終止。
    • “.indexes”命令中的模式行為已發生變化,現在它們應用於索引名稱而不是索引表名稱。
  • 查詢計劃器已進行最佳化,加快了表格合併以及 EXCEPT、INTERSECT 和 UNION 操作的速度。
  • 改進了將浮點數轉換為文字表示的函數的效能。
  • 編譯成 WebAssembly 中間程式碼的實作已更新為「opfs-wl」 VFS,它與「opfs」 VFS 相同,但使用 Web Locks API 來處理鎖定。
  • sqlite3_rsync 工具已新增“-p|--port”選項。
  • Windows RT平台的支援已結束。

來源: opennet.ru

添加評論