やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

SQLite3学習 SQLiteの拡張について

 調べてみた。

拡張方法

  1. コンパイルオプション
  2. 動的ロード
  3. C言語APIによる開発

1. コンパイルオプション

  • オプションを有効にすることで使える機能を増やす
  • 他のバイナリをリンクさせて使える機能を増やす

 ICUなどはバイナリを静的リンクさせねば使えないっぽい。やってみたいけど難しそう。

2. 動的ロード

 拡張機能C言語で書いてライブラリ化する。それを動的ロードして使う。動的ロードの自動化は設定ファイルでできるらしい。

~/.sqliterc

.load ./pcre.so

 とくに正規表現generate_seriesが気になる。

3. C言語APIによる開発

 create_function関数を実装する。

 インタフェースの資料は以下。

所感

 SQLite3はやりこみ要素に満ち溢れている。やりこめられそう。

対象環境

$ uname -a
Linux raspberrypi 4.19.42-v7+ #1218 SMP Tue May 14 00:48:17 BST 2019 armv7l GNU/Linux

前回まで