プラグイン ライブラリとして設計された軽量 DBMS である SQLite 3.54 のリリースが公開されました。 SQLite コードはパブリック ドメインとして配布されます。いかなる目的でも制限なく無料で使用できます。 SQLite 開発者に対する財政的サポートは、特別に設立されたコンソーシアムによって提供されます。
主な変更点:
- 最適化により、speedtest1ベンチマークの性能が前バージョンと比較して約4%、1年前のバージョン3.51と比較して7.5%向上しました。結果は、ワークロード、ビルドオプション、CPU、コンパイラ、およびオペレーティングシステムによって異なる場合があります。
- sqliteユーティリティは、コマンドプロンプトに追加のステータス情報を表示するためのエスケープシーケンスをサポートしています。たとえば、オープンなトランザクション情報には「/x」、読み取り専用データベースには「/r」、インメモリデータベースには「/m」、データベースファイル名には「/f」、SQLiteバージョンには「/v」、条件式の構築には「/:」と「/;」、ユーザー名とホスト名には「/u」と「/h」を使用できます。コマンドプロンプトのテンプレートは、SQLITE_PS1およびSQLITE_PS2環境変数を使用してカスタマイズできます。
- sqliteユーティリティでは、浮動小数点形式の設定、行カウンターとヘッダーの表示制御を行うため、「.mode」コマンドに「--ifmt」、「--rowcount on」、「--titles always」オプションが追加されました。「.diskused」コマンドハンドラは置き換えられました。デフォルトでは、クエリが行を返さない場合でも列名を含むヘッダーが残され、UnixシステムでBLOBを出力する際にはヌルバイトの削除が無効になります。
- クエリ プランナーは、式インデックスが存在するもののインデックス値が変更されない場合における UPDATE パフォーマンスを向上させました。「expr OR TRUE」および「expr OR FALSE」操作の実行を最適化しました。SELECT サブクエリで「IN」演算子の右側に指定された DISTINCT 式は無視されるようになりました。UNION クエリで「LIMIT 1」式を指定した場合の処理速度が向上し、メモリ消費量が削減されました。
- ALTER TABLE コマンドは、予約名「ROWID」、「_ROWID_」、「OID」を持つ列を追加、削除、または名前変更しようとするとエラーを生成します。
- テーブルとインデックスがドライブ上で占める容量を推定するためのSQL関数diskused()を追加しました。
- SQLのprintf()関数とformat()関数が更新され、JSON出力用の「%J」と「%j」置換が追加されました。
- 日付と時刻の関数に、「weekday -N」と「end of」修飾子が追加されました。
- open() 関数で O_TMPFILE フラグをサポートするシステムでは、一時ファイルを作成する際にこのモードが使用されます。
- 旧バージョンのOSに対するサポートは終了しました。 Windows含む Windows CEと Windows XP。記載されている最小バージョンは Windows ビスタ。
出所: オープンネット.ru
