This repository has been archived on 2022-07-30. You can view files and clone it, but cannot push or open issues/pull-requests.
mdb/kvstore/wal/db-sql.go

40 lines
774 B
Go

package wal
const sqlSchema = `
BEGIN IMMEDIATE;
CREATE TABLE IF NOT EXISTS wal(
SeqNum INTEGER NOT NULL PRIMARY KEY,
CreatedAt INTEGER NOT NULL,
Collection TEXT NOT NULL,
ID INTEGER NOT NULL,
Store INTEGER NOT NULL,
Data BLOB
) WITHOUT ROWID;
CREATE INDEX IF NOT EXISTS wal_created_at_index ON wal(CreatedAt);
COMMIT;
`
const sqlWALMaxSeqNum = `
SELECT COALESCE(MAX(SeqNum), 0) FROM wal;
`
const sqlWALInsert = `
INSERT INTO wal(
SeqNum,CreatedAt,Collection,ID,Store,Data
) VALUES (?,?,?,?,?,?)`
const sqlWALFollowQuery = `
SELECT
SeqNum,Collection,ID,Store,Data
FROM
wal
WHERE
SeqNum > ?
ORDER BY SeqNum ASC`
const sqlWALDeleteQuery = `
DELETE FROM wal WHERE CreatedAt < ? AND SeqNum < (SELECT MAX(SeqNum) FROM wal)`