やってみる

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

SQLite3

SQLite3拡張 プラグマ一覧(pragma pragma_list)

コンパイルオプションを有効にすると使える。

SQLite3拡張 仮想テーブルモジュール一覧(pragma module_list)

コンパイルオプションを有効にすると使える。

SQLite3拡張 SQL関数一覧(pragma function_list)

コンパイルオプションを有効にすると使える。

SQLite3拡張 ICUで全文検索する(FTS4)

条件が厳しいわりに微妙。

SQLite3拡張 ICUでcollateする

照合シーケンス。ロケール固有の文字列比較。

SQLite3拡張 ICUを動的ロードする

前回は静的ビルド。今回は.loadコマンドで動的ロードする。コンパイルオプションが付与されていなくともOK。

SQLite3ビルド ICUを有効にする(SQLITE_ENABLE_ICU)

ICUはcollationやFTS4で使えるはず。ひらがなをカタカナに変換したりできる。

SQLite3 コンパイルオプション確認方法(pragma compile_options)

どのコンパイルオプションでビルドされたか確認する。

SQLite3ビルド コンパイルオプションを付与する方法(CFLAGS等)

./configure --helpを読めばわかることだが。

SQLite3学習 入出力関数(fsdir, readfile, writefile, edit)

edit関数で列データを任意アプリで編集できる!

SQLite3謎 主キーの型をintにするとinsertで値を省略したらNULLになってしまう

原因不明。仕様? バグ?

SQLite3学習 拡張関数(generate_series)

連番ジェネレータ。

SQLite3学習 ファイル入出力(SQL集計)

TSVファイルを入力としてSQLで集計した結果を新たなTSVファイルへ出力。

SQLite3学習 R-Treeモジュール

指定した空間座標に含まれるレコードを取得する。

SQLite3学習 再帰クエリ(WITH RECURSIVE)

リスト、ツリー、グラフに使える。

SQLite3学習 FTS5のfts5vocab仮想テーブル

トークナイザが分解したトークンを取得するテーブルをつくる。

SQLite3学習 FTS5の補助関数

SQL関数に似ている。だがFTSクエリ内でしか使えない。

SQLite3学習 FTS5のテーブル作成と初期化

ファイルサイズと検索速度のトレードオフ設定方法。

SQLite3学習 FTS5+MeCabでクエリ構文

細かい条件指定。

SQLite3学習 全文検索FTS5のMeCab用トークナイザを実装する

丸パクリで大成功!

SQLite3学習 全文検索FTSを日本語で使う方法を探してみた

トークナイザを実装する必要がある。

SQLite3学習 全文検索(FTS5)

Full Text Search 5。日本語ではまともに使えない……。

SQLite3学習 JSON拡張(json_remove)

指定したJSONの指定したJSONパスへ、指定した値を代入する。

SQLite3学習 JSON拡張(json_set)

指定したJSONの指定したJSONパスへ、指定した値を代入する。

SQLite3学習 JSON拡張(json_replace)

指定したJSONにおける指定したJSONパスにある値を指定した値で置換する。

SQLite3学習 JSON拡張(json_insert)

指定したJSONの指定したJSONパスへ、指定した値を挿入する。

SQLite3学習 JSON拡張(json_patch)

JSON文字列同士でマージしたものを返す。

SQLite3学習 JSON拡張(json_object)

SQLデータをJSONオブジェクトにする。

SQLite3学習 JSON拡張(json_array)

JSON配列をつくる。

SQLite3学習 JSON拡張(json_quote)

text型をダブルクォートする。