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,
|
2011-10-17 18:56:17 -07:00
|
|
|
reference_ids TEXT,
|
2011-06-16 16:27:08 -07:00
|
|
|
|
|
|
|
|
subject TEXT,
|
|
|
|
|
|
|
|
|
|
header TEXT,
|
|
|
|
|
|
2011-11-16 18:14:17 -08:00
|
|
|
body TEXT,
|
|
|
|
|
|
|
|
|
|
preview TEXT
|
2011-06-16 16:27:08 -07:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
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,
|
2012-01-09 10:58:13 -08:00
|
|
|
ordering INTEGER,
|
|
|
|
|
remove_marker INTEGER DEFAULT 0
|
2011-06-16 16:27:08 -07:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE INDEX MessageLocationTableMessageIDIndex ON MessageLocationTable(message_id);
|
|
|
|
|
CREATE INDEX MessageLocationTableFolderIDIndex ON MessageLocationTable(folder_id);
|
2011-07-15 13:39:02 -07:00
|
|
|
CREATE INDEX MessageLocationTableOrderingIndex ON MessageLocationTable(ordering ASC);
|
2011-06-16 16:27:08 -07:00
|
|
|
|
|
|
|
|
--
|
|
|
|
|
-- IMAP-specific tables
|
|
|
|
|
--
|
|
|
|
|
|
|
|
|
|
--
|
|
|
|
|
-- ImapFolderPropertiesTable
|
|
|
|
|
--
|
|
|
|
|
|
|
|
|
|
CREATE TABLE ImapFolderPropertiesTable (
|
|
|
|
|
id INTEGER PRIMARY KEY,
|
|
|
|
|
folder_id INTEGER UNIQUE REFERENCES FolderTable ON DELETE CASCADE,
|
2011-07-15 13:39:02 -07:00
|
|
|
last_seen_total INTEGER,
|
2011-06-16 16:27:08 -07:00
|
|
|
uid_validity INTEGER,
|
2011-07-15 13:39:02 -07:00
|
|
|
uid_next INTEGER,
|
2011-07-08 12:45:22 -07:00
|
|
|
attributes TEXT
|
2011-06-16 16:27:08 -07:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE INDEX ImapFolderPropertiesTableFolderIDIndex ON ImapFolderPropertiesTable(folder_id);
|
|
|
|
|
|
|
|
|
|
--
|
|
|
|
|
-- ImapMessagePropertiesTable
|
|
|
|
|
--
|
|
|
|
|
|
|
|
|
|
CREATE TABLE ImapMessagePropertiesTable (
|
|
|
|
|
id INTEGER PRIMARY KEY,
|
|
|
|
|
message_id INTEGER UNIQUE REFERENCES MessageTable ON DELETE CASCADE,
|
2011-07-15 13:39:02 -07:00
|
|
|
flags TEXT,
|
|
|
|
|
internaldate TEXT,
|
|
|
|
|
rfc822_size INTEGER
|
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
|
|
|
|