diff options
author | alecpl <alec@alec.pl> | 2011-09-18 13:02:35 +0400 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2011-09-18 13:02:35 +0400 |
commit | 609d3923d7dc674263ddea990387dbf5488fabc6 (patch) | |
tree | 8d7be69aa280e7d5848a23d2215fb85688514d4e /SQL | |
parent | 30f50556c130e272d9eb6ddcd11ea70a18a4e711 (diff) |
- Cache synchronization using QRESYNC/CONDSTORE
- Fixed message ID updates in cache
- Changed message flags handling + some fixes (e.g. fixed messages listing after delete)
Diffstat (limited to 'SQL')
-rw-r--r-- | SQL/mssql.initial.sql | 15 | ||||
-rw-r--r-- | SQL/mssql.upgrade.sql | 16 | ||||
-rw-r--r-- | SQL/mysql.initial.sql | 8 | ||||
-rw-r--r-- | SQL/mysql.update.sql | 7 | ||||
-rw-r--r-- | SQL/postgres.initial.sql | 8 | ||||
-rw-r--r-- | SQL/postgres.update.sql | 7 | ||||
-rw-r--r-- | SQL/sqlite.initial.sql | 8 | ||||
-rw-r--r-- | SQL/sqlite.update.sql | 7 |
8 files changed, 15 insertions, 61 deletions
diff --git a/SQL/mssql.initial.sql b/SQL/mssql.initial.sql index eb5f20bcc..b3bb1c8b8 100644 --- a/SQL/mssql.initial.sql +++ b/SQL/mssql.initial.sql @@ -11,6 +11,7 @@ CREATE TABLE [dbo].[cache_index] ( [user_id] [int] NOT NULL ,
[mailbox] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
[changed] [datetime] NOT NULL ,
+ [valid] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL ,
[data] [text] COLLATE Latin1_General_CI_AI NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
@@ -29,12 +30,7 @@ CREATE TABLE [dbo].[cache_messages] ( [uid] [int] NOT NULL ,
[changed] [datetime] NOT NULL ,
[data] [text] COLLATE Latin1_General_CI_AI NOT NULL
- [seen] [char](1) NOT NULL ,
- [deleted] [char](1) NOT NULL ,
- [answered] [char](1) NOT NULL ,
- [forwarded] [char](1) NOT NULL ,
- [flagged] [char](1) NOT NULL ,
- [mdnsent] [char](1) NOT NULL ,
+ [flags] [int](1) NOT NULL ,
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
@@ -229,12 +225,7 @@ GO ALTER TABLE [dbo].[cache_messages] ADD
CONSTRAINT [DF_cache_messages_changed] DEFAULT (getdate()) FOR [changed]
- CONSTRAINT [DF_cache_messages_seen] DEFAULT (0) FOR [seen],
- CONSTRAINT [DF_cache_messages_deleted] DEFAULT (0) FOR [deleted],
- CONSTRAINT [DF_cache_messages_answered] DEFAULT (0) FOR [answered],
- CONSTRAINT [DF_cache_messages_forwarded] DEFAULT (0) FOR [forwarded],
- CONSTRAINT [DF_cache_messages_flagged] DEFAULT (0) FOR [flagged],
- CONSTRAINT [DF_cache_messages_mdnsent] DEFAULT (0) FOR [mdnsent],
+ CONSTRAINT [DF_cache_messages_flags] DEFAULT (0) FOR [flags],
GO
CREATE INDEX [IX_cache_messages_user_id] ON [dbo].[cache_messages]([user_id]) ON [PRIMARY]
diff --git a/SQL/mssql.upgrade.sql b/SQL/mssql.upgrade.sql index 29440f950..3def890bd 100644 --- a/SQL/mssql.upgrade.sql +++ b/SQL/mssql.upgrade.sql @@ -175,12 +175,7 @@ CREATE TABLE [dbo].[cache_messages] ( [uid] [int] NOT NULL ,
[changed] [datetime] NOT NULL ,
[data] [text] COLLATE Latin1_General_CI_AI NOT NULL
- [seen] [char](1) NOT NULL ,
- [deleted] [char](1) NOT NULL ,
- [answered] [char](1) NOT NULL ,
- [forwarded] [char](1) NOT NULL ,
- [flagged] [char](1) NOT NULL ,
- [mdnsent] [char](1) NOT NULL ,
+ [flags] [int] NOT NULL ,
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
@@ -220,13 +215,8 @@ CREATE INDEX [IX_cache_thread_user_id] ON [dbo].[cache_thread]([user_id]) ON [P GO
ALTER TABLE [dbo].[cache_messages] ADD
- CONSTRAINT [DF_cache_messages_changed] DEFAULT (getdate()) FOR [changed]
- CONSTRAINT [DF_cache_messages_seen] DEFAULT (0) FOR [seen],
- CONSTRAINT [DF_cache_messages_deleted] DEFAULT (0) FOR [deleted],
- CONSTRAINT [DF_cache_messages_answered] DEFAULT (0) FOR [answered],
- CONSTRAINT [DF_cache_messages_forwarded] DEFAULT (0) FOR [forwarded],
- CONSTRAINT [DF_cache_messages_flagged] DEFAULT (0) FOR [flagged],
- CONSTRAINT [DF_cache_messages_mdnsent] DEFAULT (0) FOR [mdnsent],
+ CONSTRAINT [DF_cache_messages_changed] DEFAULT (getdate()) FOR [changed],
+ CONSTRAINT [DF_cache_messages_flags] DEFAULT (0) FOR [flags]
GO
CREATE INDEX [IX_cache_messages_user_id] ON [dbo].[cache_messages]([user_id]) ON [PRIMARY]
diff --git a/SQL/mysql.initial.sql b/SQL/mysql.initial.sql index 32b3991e0..28a90f531 100644 --- a/SQL/mysql.initial.sql +++ b/SQL/mysql.initial.sql @@ -55,6 +55,7 @@ CREATE TABLE `cache_index` ( `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0', `mailbox` varchar(255) BINARY NOT NULL, `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00', + `valid` tinyint(1) NOT NULL DEFAULT '0', `data` longtext NOT NULL, CONSTRAINT `user_id_fk_cache_index` FOREIGN KEY (`user_id`) REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE, @@ -85,12 +86,7 @@ CREATE TABLE `cache_messages` ( `uid` int(11) UNSIGNED NOT NULL DEFAULT '0', `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00', `data` longtext NOT NULL, - `seen` tinyint(1) NOT NULL DEFAULT '0', - `deleted` tinyint(1) NOT NULL DEFAULT '0', - `answered` tinyint(1) NOT NULL DEFAULT '0', - `forwarded` tinyint(1) NOT NULL DEFAULT '0', - `flagged` tinyint(1) NOT NULL DEFAULT '0', - `mdnsent` tinyint(1) NOT NULL DEFAULT '0', + `flags` int(11) NOT NULL DEFAULT '0', CONSTRAINT `user_id_fk_cache_messages` FOREIGN KEY (`user_id`) REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE, INDEX `changed_index` (`changed`), diff --git a/SQL/mysql.update.sql b/SQL/mysql.update.sql index fee18d640..7e8f98f03 100644 --- a/SQL/mysql.update.sql +++ b/SQL/mysql.update.sql @@ -201,12 +201,7 @@ CREATE TABLE `cache_messages` ( `uid` int(11) UNSIGNED NOT NULL DEFAULT '0', `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00', `data` longtext NOT NULL, - `seen` tinyint(1) NOT NULL DEFAULT '0', - `deleted` tinyint(1) NOT NULL DEFAULT '0', - `answered` tinyint(1) NOT NULL DEFAULT '0', - `forwarded` tinyint(1) NOT NULL DEFAULT '0', - `flagged` tinyint(1) NOT NULL DEFAULT '0', - `mdnsent` tinyint(1) NOT NULL DEFAULT '0', + `flags` int(11) NOT NULL DEFAULT '0', CONSTRAINT `user_id_fk_cache_messages` FOREIGN KEY (`user_id`) REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE, INDEX `changed_index` (`changed`), diff --git a/SQL/postgres.initial.sql b/SQL/postgres.initial.sql index a1864c6c9..06ecad4eb 100644 --- a/SQL/postgres.initial.sql +++ b/SQL/postgres.initial.sql @@ -197,6 +197,7 @@ CREATE TABLE cache_index ( REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE, mailbox varchar(255) NOT NULL, changed timestamp with time zone DEFAULT now() NOT NULL, + valid smallint NOT NULL DEFAULT 0, data text NOT NULL, PRIMARY KEY (user_id, mailbox) ); @@ -231,12 +232,7 @@ CREATE TABLE cache_messages ( uid integer NOT NULL, changed timestamp with time zone DEFAULT now() NOT NULL, data text NOT NULL, - seen smallint NOT NULL DEFAULT 0, - deleted smallint NOT NULL DEFAULT 0, - answered smallint NOT NULL DEFAULT 0, - forwarded smallint NOT NULL DEFAULT 0, - flagged smallint NOT NULL DEFAULT 0, - mdnsent smallint NOT NULL DEFAULT 0, + flags integer NOT NULL DEFAULT 0, PRIMARY KEY (user_id, mailbox, uid) ); diff --git a/SQL/postgres.update.sql b/SQL/postgres.update.sql index 4bd0400c9..741495fbe 100644 --- a/SQL/postgres.update.sql +++ b/SQL/postgres.update.sql @@ -159,12 +159,7 @@ CREATE TABLE cache_messages ( uid integer NOT NULL, changed timestamp with time zone DEFAULT now() NOT NULL, data text NOT NULL, - seen smallint NOT NULL DEFAULT 0, - deleted smallint NOT NULL DEFAULT 0, - answered smallint NOT NULL DEFAULT 0, - forwarded smallint NOT NULL DEFAULT 0, - flagged smallint NOT NULL DEFAULT 0, - mdnsent smallint NOT NULL DEFAULT 0, + flags integer NOT NULL DEFAULT 0, PRIMARY KEY (user_id, mailbox, uid) ); diff --git a/SQL/sqlite.initial.sql b/SQL/sqlite.initial.sql index 7ec82015d..80c82a1a1 100644 --- a/SQL/sqlite.initial.sql +++ b/SQL/sqlite.initial.sql @@ -159,6 +159,7 @@ CREATE TABLE cache_index ( user_id integer NOT NULL, mailbox varchar(255) NOT NULL, changed datetime NOT NULL default '0000-00-00 00:00:00', + valid smallint NOT NULL DEFAULT '0', data text NOT NULL, PRIMARY KEY (user_id, mailbox) ); @@ -193,12 +194,7 @@ CREATE TABLE cache_messages ( uid integer NOT NULL, changed datetime NOT NULL default '0000-00-00 00:00:00', data text NOT NULL, - seen smallint NOT NULL DEFAULT '0', - deleted smallint NOT NULL DEFAULT '0', - answered smallint NOT NULL DEFAULT '0', - forwarded smallint NOT NULL DEFAULT '0', - flagged smallint NOT NULL DEFAULT '0', - mdnsent smallint NOT NULL DEFAULT '0', + flags integer NOT NULL DEFAULT '0', PRIMARY KEY (user_id, mailbox, uid) ); diff --git a/SQL/sqlite.update.sql b/SQL/sqlite.update.sql index 378072c03..6f009754e 100644 --- a/SQL/sqlite.update.sql +++ b/SQL/sqlite.update.sql @@ -276,12 +276,7 @@ CREATE TABLE cache_messages ( uid integer NOT NULL, changed datetime NOT NULL default '0000-00-00 00:00:00', data text NOT NULL, - seen smallint NOT NULL DEFAULT '0', - deleted smallint NOT NULL DEFAULT '0', - answered smallint NOT NULL DEFAULT '0', - forwarded smallint NOT NULL DEFAULT '0', - flagged smallint NOT NULL DEFAULT '0', - mdnsent smallint NOT NULL DEFAULT '0', + flags integer NOT NULL DEFAULT '0', PRIMARY KEY (user_id, mailbox, uid) ); |