PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE local (idx           INTEGER         NOT NULL PRIMARY KEY REFERENCES mailboxes(idx), UIDVALIDITY   UNSIGNED INT    NOT NULL CHECK (UIDVALIDITY > 0), UIDNEXT       UNSIGNED INT    NOT NULL, HIGHESTMODSEQ UNSIGNED BIGINT NOT NULL);
CREATE TABLE remote (idx           INTEGER         NOT NULL PRIMARY KEY REFERENCES mailboxes(idx), UIDVALIDITY   UNSIGNED INT    NOT NULL CHECK (UIDVALIDITY > 0), UIDNEXT       UNSIGNED INT    NOT NULL, HIGHESTMODSEQ UNSIGNED BIGINT NOT NULL);
CREATE TABLE mapping (idx  INTEGER      NOT NULL REFERENCES mailboxes(idx), lUID UNSIGNED INT NOT NULL CHECK (lUID > 0), rUID UNSIGNED INT NOT NULL CHECK (rUID > 0), PRIMARY KEY (idx,lUID), UNIQUE      (idx,rUID));
CREATE TABLE IF NOT EXISTS "mailboxes" (idx        INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, mailbox    BLOB COLLATE BINARY NOT NULL CHECK (mailbox != '') UNIQUE, subscribed BOOLEAN NOT NULL);
INSERT INTO mailboxes VALUES(1,X'61006231006332',0);
INSERT INTO mailboxes VALUES(2,X'61006231006331',0);
INSERT INTO mailboxes VALUES(3,X'494e424f58',0);
INSERT INTO mailboxes VALUES(4,X'6132',0);
INSERT INTO mailboxes VALUES(5,X'610062320063',0);
DELETE FROM sqlite_sequence;
INSERT INTO sqlite_sequence VALUES('mailboxes',5);
COMMIT;
