ブリッジ - SQLite
SQLiteブリッジの登録
SQLiteに接続するブリッジを登録します。
bridge add -t sqlite sqlitedb file:/data/sqlite.db;SQLiteは、以下のメモリ専用モードにも対応しています。
bridge add -t sqlite mem file::memory:?cache=shared以下のコマンドは、図のWeb UIで行う設定と同じです。

ブリッジの接続テスト
machbase-neo» bridge test mem;
Test bridge mem connectivity... success 11.917µs
テーブルの作成
machbase-neoシェルで、memブリッジを介してmem_exampleテーブルを作成します。
bridge exec mem CREATE TABLE IF NOT EXISTS mem_example(
id INTEGER NOT NULL PRIMARY KEY,
company TEXT,
employee INTEGER,
discount REAL,
code TEXT,
valid BOOLEAN,
memo BLOB,
created_on DATETIME NOT NULL
);標準のSQLエディターでは、-- env: bridge=<name>コメントを指定すると、対応するブリッジでSQLを実行できます。
このコメントの設定は、-- env: resetでリセットするまで有効です。
-- env: bridge=mem
CREATE TABLE IF NOT EXISTS mem_example(
id INTEGER NOT NULL PRIMARY KEY,
company TEXT,
employee INTEGER,
discount REAL,
code TEXT,
valid BOOLEAN,
memo BLOB,
created_on DATETIME NOT NULL
);
-- env: reset
SQLエディターでのDMLの実行
-- env: bridge=mem
INSERT INTO mem_example(company, employee, created_on)
values('Fedel-Gaylord', 12, datetime('now'));
INSERT INTO mem_example(company, employee, created_on)
values('Simoni', 23, datetime('now'));
SELECT company, employee, datetime(created_on, 'localtime') from mem_example;
DELETE from mem_example;
-- env: reset
TQLによるSQLiteへの書き込み
| |
machbase-neo» bridge query mem select * from mem_example;
╭────┬─────────┬──────────┬──────────┬───────┬───────┬──────┬──────────────────────────────────────╮
│ ID │ COMPANY │ EMPLOYEE │ DISCOUNT │ CODE │ VALID │ MEMO │ CREATED_ON │
├────┼─────────┼──────────┼──────────┼───────┼───────┼──────┼──────────────────────────────────────┤
│ 1 │ acme │ 10 │ <nil> │ <nil> │ <nil> │ [] │ 2023-08-10 14:33:08.667491 +0900 KST │
╰────┴─────────┴──────────┴──────────┴───────┴───────┴──────┴──────────────────────────────────────╯TQLによるSQLiteからの読み取り
以下のコードをsqlite.tqlとして保存します。
SQL(bridge('mem'), "select company, employee, created_on from mem_example")
CSV()次に、curlコマンドまたはブラウザーでエンドポイントを呼び出します。
curl -o - http://127.0.0.1:5654/db/tql/sqlite.tqlNovaWave,10,1704866777160399000
Sunflower,20,1704866777160407000SQLiteとのデータコピー
次の例は、MachbaseのデータをSQLiteブリッジにコピーする方法を示しています。
ブリッジ
以下の設定でsqliteブリッジを定義します。
- 種類:
SQLite - 接続文字列:
file:///tmp/sqlite.db
SQL
/tmp/sqlite.dbにあるSQLiteデータベースに、exampleテーブルを作成します。
--env: bridge=sqlite
CREATE TABLE IF NOT EXISTS example (
NAME TEXT,
TIME DATETIME,
VALUE REAL
);
-- env: resetTQL
以下のTQLスクリプトは、SQL()でデータを検索した後、SQL()にbridge("sqlite")を指定してSQLiteに取り込みます。
SQL(`select name, time, value from example where name = 'my-car'`)
SQL(bridge("sqlite"),
`insert into example values(?,?,?)`,
value(0), value(1), value(2))SQL
--env: bridge=sqlite
SELECT * FROM example order by TIME;
-- env: reset最終更新日