const SCHEMA: &str = "
CREATE TABLE fence (
epoch bigint PRIMARY KEY,
nonce bytea,
version bigint DEFAULT 1 NOT NULL
);
-- Epochs and versions are guaranteed to be non-zero, so start counting at 1.
INSERT INTO fence (epoch, nonce, version) VALUES (1, '', 1);
-- bigserial is not ideal for Cockroach, but we have a stable number of
-- collections, so our use of it here is fine and compatible with Postgres.
CREATE TABLE collections (
collection_id bigserial PRIMARY KEY,
name text NOT NULL UNIQUE
);
CREATE TABLE data (
collection_id bigint NOT NULL REFERENCES collections (collection_id),
key bytea NOT NULL,
value bytea NOT NULL,
time bigint NOT NULL,
diff bigint NOT NULL
);
CREATE INDEX data_time_idx ON data (collection_id, time);
CREATE TABLE sinces (
collection_id bigint PRIMARY KEY REFERENCES collections (collection_id),
since bigint
);
CREATE TABLE uppers (
collection_id bigint PRIMARY KEY REFERENCES collections (collection_id),
upper bigint
);
";