2011-06-10 19:17:35 -07:00
|
|
|
|
2011-06-16 16:27:08 -07:00
|
|
|
--
|
|
|
|
|
-- FolderTable
|
|
|
|
|
--
|
|
|
|
|
|
2011-06-10 19:17:35 -07:00
|
|
|
CREATE TABLE FolderTable (
|
|
|
|
|
id INTEGER PRIMARY KEY,
|
|
|
|
|
name TEXT NOT NULL,
|
2011-06-16 16:27:08 -07:00
|
|
|
parent_id INTEGER REFERENCES FolderTable ON DELETE RESTRICT
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE INDEX FolderTableNameIndex ON FolderTable(name);
|
|
|
|
|
CREATE INDEX FolderTableParentIndex ON FolderTable(parent_id);
|
|
|
|
|
|
|
|
|
|
--
|
|
|
|
|
-- MessageTable
|
|
|
|
|
--
|
|
|
|
|
|
|
|
|
|
CREATE TABLE MessageTable (
|
|
|
|
|
id INTEGER PRIMARY KEY,
|
2011-06-23 19:07:04 -07:00
|
|
|
fields INTEGER,
|
2011-06-16 16:27:08 -07:00
|
|
|
|
|
|
|
|
date_field TEXT,
|
|
|
|
|
date_time_t INTEGER,
|
|
|
|
|
|
|
|
|
|
from_field TEXT,
|
|
|
|
|
sender TEXT,
|
|
|
|
|
reply_to TEXT,
|
|
|
|
|
|
|
|
|
|
to_field TEXT,
|
|
|
|
|
cc TEXT,
|
|
|
|
|
bcc TEXT,
|
|
|
|
|
|
|
|
|
|
message_id TEXT,
|
|
|
|
|
in_reply_to TEXT,
|
|
|
|
|
|
|
|
|
|
subject TEXT,
|
|
|
|
|
|
|
|
|
|
header TEXT,
|
|
|
|
|
|
|
|
|
|
body TEXT
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE INDEX MessageTableMessageIDIndex ON MessageTable(message_id);
|
|
|
|
|
|
|
|
|
|
--
|
|
|
|
|
-- MessageLocationTable
|
|
|
|
|
--
|
|
|
|
|
|
|
|
|
|
CREATE TABLE MessageLocationTable (
|
|
|
|
|
id INTEGER PRIMARY KEY,
|
|
|
|
|
message_id INTEGER REFERENCES MessageTable ON DELETE CASCADE,
|
|
|
|
|
folder_id INTEGER REFERENCES FolderTable ON DELETE CASCADE,
|
2011-06-21 17:48:40 -07:00
|
|
|
position INTEGER
|
2011-06-16 16:27:08 -07:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE INDEX MessageLocationTableMessageIDIndex ON MessageLocationTable(message_id);
|
|
|
|
|
CREATE INDEX MessageLocationTableFolderIDIndex ON MessageLocationTable(folder_id);
|
|
|
|
|
|
|
|
|
|
--
|
|
|
|
|
-- IMAP-specific tables
|
|
|
|
|
--
|
|
|
|
|
|
|
|
|
|
--
|
|
|
|
|
-- ImapFolderPropertiesTable
|
|
|
|
|
--
|
|
|
|
|
|
|
|
|
|
CREATE TABLE ImapFolderPropertiesTable (
|
|
|
|
|
id INTEGER PRIMARY KEY,
|
|
|
|
|
folder_id INTEGER UNIQUE REFERENCES FolderTable ON DELETE CASCADE,
|
|
|
|
|
uid_validity INTEGER,
|
2011-06-10 19:17:35 -07:00
|
|
|
supports_children INTEGER,
|
2011-06-16 16:27:08 -07:00
|
|
|
is_openable INTEGER
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE INDEX ImapFolderPropertiesTableFolderIDIndex ON ImapFolderPropertiesTable(folder_id);
|
|
|
|
|
|
|
|
|
|
--
|
|
|
|
|
-- ImapMessagePropertiesTable
|
|
|
|
|
--
|
|
|
|
|
|
|
|
|
|
CREATE TABLE ImapMessagePropertiesTable (
|
|
|
|
|
id INTEGER PRIMARY KEY,
|
|
|
|
|
message_id INTEGER UNIQUE REFERENCES MessageTable ON DELETE CASCADE,
|
|
|
|
|
answered INTEGER,
|
|
|
|
|
deleted INTEGER,
|
|
|
|
|
draft INTEGER,
|
|
|
|
|
flagged INTEGER,
|
|
|
|
|
recent INTEGER,
|
|
|
|
|
seen INTEGER,
|
|
|
|
|
all_flags TEXT
|
2011-06-10 19:17:35 -07:00
|
|
|
);
|
|
|
|
|
|
2011-06-16 16:27:08 -07:00
|
|
|
CREATE INDEX ImapMessagePropertiesTableMessageIDIndex ON ImapMessagePropertiesTable(message_id);
|
2011-06-10 19:17:35 -07:00
|
|
|
|
2011-06-21 17:48:40 -07:00
|
|
|
--
|
|
|
|
|
-- ImapMessageLocationPropertiesTable
|
|
|
|
|
--
|
|
|
|
|
|
|
|
|
|
CREATE TABLE ImapMessageLocationPropertiesTable (
|
|
|
|
|
id INTEGER PRIMARY KEY,
|
|
|
|
|
location_id INTEGER UNIQUE REFERENCES MessageLocationTable ON DELETE CASCADE,
|
|
|
|
|
uid INTEGER
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE INDEX ImapMessageLocationPropertiesTableLocationIDIndex ON ImapMessageLocationPropertiesTable(location_id);
|
|
|
|
|
|