「SQLite 3.20」リリース

 SQLite開発チームは8月1日、最新の安定版となる「SQLite 3.20.0」公開を発表した。「Pointer Passing Interface」導入など、多数の機能が加わっている。

 SQLiteは組込型ながらフル機能を要するSQLデータベースエンジン。C言語で実装されており、ライブラリとしてアプリケーションとリンクして利用する。サーバーレスであるため、別途サーバープロセスを必要としないのが特徴。データはディスク上のファイルに記録する。

 SQLite 3.20は、5月に公開されたバージョン3.19に続く最新安定版。サブコンポーネント間や拡張とアプリケーション間でSQL準拠ではないデータをやり取りするインターフェイス「Pointer Passing Interface」として、sqlite3_bind_pointer()やsqlite3_result_pointer()、sqlite3_value_pointer()といった関数が追加された。これによって一部の拡張に後方互換のない変更が生じると警告している。このほか、sqlite3_errmsg()が返す一部のエラーコードについて、エラーメッセージが新しくなった。

 SQLITE_STMTバーチャルテーブル拡張が加わった。事前に用意されたステートメントに関する情報を提供するeponymous-only virtual tableの実装で、リードオンリーのテーブルが提供される。COMPLETION拡張として、インタラクティブなユーザーインターフェース向けにタブの自動補完機能が実験的に加わった。また、複数の独立したROWIDテーブルを単一のテーブルとして扱うためのバーチャルテーブル機能としてUNION拡張も導入された。

 このほか、コマンドラインシェルを強化し、タブの補完、.cdコマンドなどが加わった。.schemaコマンド、.importコマンドも強化した。クエリプランナーも強化されている。

 最適化によりCPUサイクルの使用を2%削減した。バグも修正されている。

SQLite
https://www.sqlite.org/