From 609d3923d7dc674263ddea990387dbf5488fabc6 Mon Sep 17 00:00:00 2001 From: alecpl Date: Sun, 18 Sep 2011 09:02:35 +0000 Subject: - Cache synchronization using QRESYNC/CONDSTORE - Fixed message ID updates in cache - Changed message flags handling + some fixes (e.g. fixed messages listing after delete) --- SQL/mssql.initial.sql | 15 +++------------ SQL/mssql.upgrade.sql | 16 +++------------- SQL/mysql.initial.sql | 8 ++------ SQL/mysql.update.sql | 7 +------ SQL/postgres.initial.sql | 8 ++------ SQL/postgres.update.sql | 7 +------ SQL/sqlite.initial.sql | 8 ++------ SQL/sqlite.update.sql | 7 +------ 8 files changed, 15 insertions(+), 61 deletions(-) (limited to 'SQL') 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) ); -- cgit v1.2.3