13関数。まともに使えなかったものが多い。
成果物
一覧
- lsmode
- optimize
- sha3
- sha3_query
- shell_int32
- shell_putsnl
- shell_module_schema
- shell_escape_crnl
- shell_add_schema
- sqlar_compress
- sqlar_uncompress
- zipfile
- zipfile_cds
lsmode
select lsmode(493); -- 8進数755
?rwxr-xr-x
optimize
select optimize(0);
Error: unable to use function optimize in the requested context
情報なし。
sha3
select sha3(0);
����B���U�����6o �����d����
sha3_query
select sha3(0,1);
Error: SHA3 size should be one of: 224 256 384 512
select sha3(0,512);
-D�S����6X7��6'� �A�6���h�˜�[9
shell_int32
謎。
select shell_int32(0, 0);
select shell_int32(hex(0xFF), 0);
858927925
shell_putsnl
謎。
select shell_putsnl('A');
A A
shell_module_schema
select shell_module_schema('sqlite_master');
/* sqlite_master(type,name,tbl_name,rootpage,sql) */
コメントアウトを解除して先頭にCREATE TABLE
を付与すると、sqlite_master
表のsql
列値になるっぽい。
shell_escape_crnl
select shell_escape_crnl('AAA');
AAA
quote()
と同じくシングルクォートするとあるが、そうは見えない。
改行コードをエスケープするようにみえたが、そうでもなさそう。
select shell_escape_crnl('A B');
A B
select shell_escape_crnl('A\nB');
A\nB
なんなの?
shell_add_schema
- http://www3.sqlite.org/cgi/src/info/fcd937d9786a82ef4147e657d54ea0beb6ac87e2eb1677186b318493d473077b
select shell_add_schema('create table T(A text);', 0);
Error: wrong number of arguments to function shell_add_schema()
select shell_add_schema('create table T(A text);');
Error: wrong number of arguments to function shell_add_schema()
使えなかった。
sqlar_compress
select sqlar_compress('A');
A
圧縮されていない。コンパイル時にどうやってzlibとリンクさせていいかわからなかったから。
sqlar_uncompress
select sqlar_uncompress(sqlar_compress('AAA'), hex(sqlar_compress('AAA'))/2);
Error: error in uncompress()
エラー。どうやって使うの……。第1引数はzip圧縮blob, 第2引数はそのサイズで合っていると思うのだが。そもそも圧縮されていないのが問題か。
zipfile_cds
select zipfile_cds('a.zip');
Error: unable to use function zipfile_cds in the requested context
zipfile_cds
は何なのかわからん。
zipfile
zipfile
は.zip
ファイルを展開してテーブルにする。
echo 'AAA' > a.txt zip a.zip a.txt
.headers on select * from zipfile('a.zip');
name|mode|mtime|sz|rawdata|data|method a.txt|33188|1568438851|4|AAA |AAA |0
所感
使えないものが多い。無念。
参考
- https://www.sqlite.org/zipfile.html
- https://sqlite.org/sqlar/doc/trunk/README.md
- https://sqlite.org/src/artifact/57d5bc45
- https://www.sqlite.org/pragma.html#pragma_optimize
対象環境
- Raspbierry pi 3 Model B+
- Raspbian stretch 9.0 2018-11-13
- bash 4.4.12(1)-release
- SQLite 3.29.0
- MeCab 0.996ユーザ辞書
$ uname -a Linux raspberrypi 4.19.42-v7+ #1218 SMP Tue May 14 00:48:17 BST 2019 armv7l GNU/Linux
前回まで
- SQLite3学習 俯瞰まとめ
- SQLite3学習 環境構築まとめ
- SQLite3学習 インタフェースまとめ(C言語、CLI、対話モード、Tcl...)
- SQLite3学習 ドットコマンドまとめ
- SQLite3学習 JSON拡張まとめ
- SQLite3学習 FTSまとめ(ICU, MeCab)
- SQLite3学習 再帰クエリ(WITH RECURSIVE)
- SQLite3学習 R-Treeモジュール
- SQLite3学習 Geopoly(2次元ベクタ画像の生成)
- SQLite3学習 拡張関数(generate_series)
- SQLite3学習 拡張ライブラリ数学関数(extension-functions.c)
- SQLite3学習 謎と名前
- SQLite3学習 構文まとめ
- SQLite3関数の一覧と分類
- SQLite3コア関数まとめ
- SQLite3窓関数まとめ
- SQLite3非組込関数一覧