SQLite 3.37 リリース

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

主な変更点:

  • 「STRICT」属性を使用してテーブルを作成するためのサポートが追加されました。これは、列を宣言するときに必須の型指示を必要とし、列に追加されたデータに対して厳密な型一致チェックを適用します。 このフラグが設定されている場合、指定されたデータを列の型にキャストできない場合、SQLite はエラーを表示します。 たとえば、列が "INTEGER" として作成されている場合、文字列値 '123' を渡すと数値 123 が追加されますが、'xyz' を指定しようとすると失敗します。
  • 「ALTER TABLE ADD COLUMN」操作において、列追加時に「CHECK」式によるチェックや「NOT NULL」条件によるチェックを追加しました。
  • テーブルとビューに関する情報を表示するための式「PRAGMA table_list」を実装しました。
  • コマンド ライン インターフェイスには「.connection」コマンドが実装されており、データベースへの複数の接続を同時にサポートできます。
  • 「-safe」パラメータを追加しました。これにより、コマンド ラインで指定されたデータベースとは異なるデータベース ファイルを使用して操作を実行できる CLI コマンドと SQL 式が無効になります。
  • CLI は、複数行に分割された SQL 式を読み取るパフォーマンスを最適化しました。
  • 関数 sqlite3_autovacuum_pages()、sqlite3_changes64()、および sqlite3_total_changes64() を追加しました。
  • クエリ プランナーは、サブクエリおよびビュー内の ORDER BY 句が、これらの句を削除してもクエリのセマンティクスが変更されない限り無視されるようにします。
  • 拡張機能generate_series(START,END,STEP)が変更され、最初のパラメータ(“START”)が必須になりました。 以前の動作に戻すには、「-DZERO_ARGUMENT_GENERATE_SERIES」オプションを使用して再構築することができます。
  • データベース スキーマを保存するためのメモリ消費量が削減されました。

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

コメントを追加します