File: version-004.sql

package info (click to toggle)
geary 46.0-10
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 15,092 kB
  • sloc: javascript: 972; ansic: 722; sql: 247; xml: 183; python: 30; makefile: 28; sh: 24
file content (42 lines) | stat: -rw-r--r-- 2,175 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

--
-- Migrate ImapFolderPropertiesTable into FolderTable
--

ALTER TABLE FolderTable ADD COLUMN last_seen_total INTEGER;
ALTER TABLE FolderTable ADD COLUMN uid_validity INTEGER;
ALTER TABLE FolderTable ADD COLUMN uid_next INTEGER;
ALTER TABLE FolderTable ADD COLUMN attributes TEXT;

UPDATE FolderTable
    SET
        last_seen_total = (SELECT ImapFolderPropertiesTable.last_seen_total FROM ImapFolderPropertiesTable WHERE ImapFolderPropertiesTable.folder_id = FolderTable.id),
        uid_validity = (SELECT ImapFolderPropertiesTable.uid_validity FROM ImapFolderPropertiesTable WHERE ImapFolderPropertiesTable.folder_id = FolderTable.id),
        uid_next = (SELECT ImapFolderPropertiesTable.uid_next FROM ImapFolderPropertiesTable WHERE ImapFolderPropertiesTable.folder_id = FolderTable.id),
        attributes = (SELECT ImapFolderPropertiesTable.attributes FROM ImapFolderPropertiesTable WHERE ImapFolderPropertiesTable.folder_id = FolderTable.id)
    WHERE EXISTS 
        (SELECT * FROM ImapFolderPropertiesTable WHERE ImapFolderPropertiesTable.folder_id = FolderTable.id);

DROP TABLE ImapFolderPropertiesTable;

--
-- Migrate ImapMessagePropertiesTable into MessageTable
--

ALTER TABLE MessageTable ADD COLUMN flags TEXT;
ALTER TABLE MessageTable ADD COLUMN internaldate TEXT;
ALTER TABLE MessageTable ADD COLUMN rfc822_size INTEGER;

CREATE INDEX MessageTableInternalDateIndex ON MessageTable(internaldate);
CREATE INDEX MessageTableRfc822SizeIndex ON MessageTable(rfc822_size);

UPDATE MessageTable
    SET
        flags = (SELECT ImapMessagePropertiesTable.flags FROM ImapMessagePropertiesTable WHERE ImapMessagePropertiesTable.message_id = MessageTable.id),
        internaldate = (SELECT ImapMessagePropertiesTable.internaldate FROM ImapMessagePropertiesTable WHERE ImapMessagePropertiesTable.message_id = MessageTable.id),
        rfc822_size = (SELECT ImapMessagePropertiesTable.rfc822_size FROM ImapMessagePropertiesTable WHERE ImapMessagePropertiesTable.message_id = MessageTable.ID)
    WHERE EXISTS
        (SELECT * FROM ImapMessagePropertiesTable WHERE ImapMessagePropertiesTable.message_id = MessageTable.id);

DROP TABLE ImapMessagePropertiesTable;