SQLite 3.40 リリース

プラグイン ライブラリとして設計された軽量 DBMS である SQLite 3.40 のリリースが公開されました。 SQLite コードはパブリック ドメインで配布されています。 目的を問わず、制限なく無料で使用できます。 SQLite 開発者に対する財政的サポートは、Adobe、Oracle、Mozilla、Bentley、Bloomberg などの企業が含まれる特別に設立されたコンソーシアムによって提供されます。

主な変更点:

  • SQLite を、Web ブラウザーで実行できる中間 WebAssembly コードにコンパイルする実験的な機能を実装しました。このコードは、JavaScript 言語の Web アプリケーションからデータベースの操作を整理するのに適しています。 Web 開発者には、sql.js または Node.js のスタイルでデータを操作するための高レベルのオブジェクト指向インターフェイスが提供され、低レベルの C API をラップオーバーし、Web ワーカー メカニズムに基づく API を使用して、別のスレッドで実行される非同期ハンドラーを作成します。 Web アプリケーションが SQLite の WASM バージョンに保存するデータは、OPFS (Origin-Private FileSystem) または window.localStorage API を使用してクライアント側に保存できます。
  • データベースの破損したファイルからデータを回復するように設計された回復拡張機能が追加されました。 コマンド ライン インターフェイスでは、「.recover」コマンドを使用して復元します。
  • クエリ プランナーのパフォーマンスが向上しました。 63 列を超えるテーブルでインデックスを使用する場合の制限が削除されました (以前は、序数が 63 を超える列の操作にはインデックス付けが適用されませんでした)。 式で使用される値のインデックス付けが改善されました。 NOT NULL 演算子と IS NULL 演算子を処理するときに、ディスクから大きな文字列と BLOB をロードするのを停止しました。 フルスキャンが XNUMX 回だけ実行されるビューのマテリアライゼーションは除外されます。
  • コードベースでは、「char *」タイプを使用する代わりに、別の sqlite3_filename タイプを使用してファイル名を表します。
  • sqlite3_value_encoding() 内部関数を追加しました。
  • ストレージ スキーマ バージョンの変更を禁止する SQLITE_DBCONFIG_DEFENSIVE モードが追加されました。
  • 「PRAGMA integrity_check」パラメータの実装に追加のチェックが追加されました。 たとえば、STRICT 属性のないテーブルには、TEXT 列に数値を含めたり、NUMERIC 列に数字を含む文字列値を含めたりすることはできません。 また、「WITHOUT ROWID」という記号を使用してテーブル内の行の順序が正しいかどうかをチェックする機能も追加されました。
  • 「VACUUM INTO」式は「PRAGMA synchronous」設定を尊重します。
  • メモリを割り当てるときにブロックのサイズを制限する SQLITE_MAX_ALLOCATION_SIZE ビルド オプションを追加しました。
  • SQLite に組み込まれている擬似乱数を生成するアルゴリズムは、RC4 ストリーム暗号の使用から Chacha20 に移行されました。
  • 異なるデータ スキーマで同じ名前のインデックスを使用することができます。
  • パフォーマンスの最適化により、通常のアクティビティ中に CPU の負荷が約 1% 削減されます。

出所: オープンネット.ru

コメントを追加します