やってみる

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

SQLite3ドットコマンド(.imposter)

 分析とデバッグのみを目的としたテーブルを作成するコマンド。

成果物

公式ドキュメント

imposterテーブルメカニズムは、SQLiteの消費電力分析およびデバッグツールです。しかし、すべての鋭利なツールと同様に、それは危険であり、誤って使用するとデータベースファイルが破損する可能性があります。アプリケーションで詐称者テーブルを使用しないでください。偽者テーブルは、専門家による実験室での使用を目的としています。

.help

.imposter INDEX TABLE    Create imposter table TABLE on index INDEX

--help

.import --help
       .imposter off

.imposter

 公式ドキュメントを元にして使ってみる。

sqlite3 :memory: \
"create table users(id integer primary key, name text not null, class text not null);" \
"create index idx_users_id on users(id);" \
"insert into users(name,class) values('Yamada','A');" \
"insert into users(name,class) values('Suzuki','B');" \
"insert into users(name,class) values('Tanaka','A');" \
".imposter idx_users_id users_imposter" \
".headers on" \
".mode column" \
"select * from users_imposter;"
CREATE TABLE "users_imposter"("id","_ROWID_",PRIMARY KEY("id","_ROWID_"))WITHOUT ROWID;
WARNING: writing to an imposter table will corrupt the index!
id          _ROWID_   
----------  ----------
1           1         
2           2         
3           3         

 警告:imposterテーブルに書き込むとインデックスが破損します!

所感

 何が嬉しいのか素人の私にはさっぱりわからない。

対象環境

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

前回まで