Repository navigation
Expand file tree
/
Copy pathsqlite.sql
More file actions
44 lines (44 loc) · 1.55 KB
/
Copy pathsqlite.sql
File metadata and controls
44 lines (44 loc) · 1.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
-- #!sqlite
-- #{ simplesql
-- #{ init
CREATE TABLE IF NOT EXISTS simplesql_data (
id TEXT NOT NULL PRIMARY KEY,
data TEXT NOT NULL,
revision INTEGER NOT NULL DEFAULT 0
);
-- #}
-- #{ load
-- # :id string
SELECT data, revision FROM simplesql_data WHERE id = :id;
-- #}
-- #{ save
-- # :id string
-- # :data string
-- # :revision int
INSERT INTO simplesql_data (id, data, revision) VALUES (:id, :data, :revision)
ON CONFLICT(id) DO UPDATE SET data = excluded.data, revision = excluded.revision;
-- #&
SELECT id, data, revision FROM simplesql_data WHERE id = :id;
-- #}
-- #{ pair_engine
SELECT 'sqlite' AS engine FROM sqlite_master WHERE type = 'table' AND name = 'simplesql_data';
-- #}
-- #{ save_pair
-- # :first_id string
-- # :first_data string
-- # :first_revision int
-- # :second_id string
-- # :second_data string
-- # :second_revision int
INSERT INTO simplesql_data (id, data, revision) VALUES
(:first_id, :first_data, :first_revision),
(:second_id, :second_data, :second_revision)
ON CONFLICT(id) DO UPDATE SET data = excluded.data, revision = excluded.revision;
-- #&
SELECT id, data, revision FROM simplesql_data WHERE id IN (:first_id, :second_id);
-- #}
-- #{ delete
-- # :id string
DELETE FROM simplesql_data WHERE id = :id;
-- #}
-- #}