From 3a5476d150419b46847dd922935f368c969519c1 Mon Sep 17 00:00:00 2001 From: alecpl <alec@alec.pl> Date: Wed, 23 Feb 2011 03:13:02 -0500 Subject: [PATCH] - Add index on contactgroupmembers.contact_id column. Improves performance and fixes problem with contactgroupmembers table creation on MySQL 4.x --- CHANGELOG | 1 + SQL/sqlite.update.sql | 1 + SQL/postgres.update.sql | 3 +-- SQL/mysql.update.sql | 2 ++ SQL/postgres.initial.sql | 2 ++ SQL/mysql.initial.sql | 3 ++- SQL/sqlite.initial.sql | 2 ++ SQL/mssql.initial.sql | 2 ++ SQL/mssql.upgrade.sql | 2 ++ 9 files changed, 15 insertions(+), 3 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index db6c4af..7565a11 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ CHANGELOG Roundcube Webmail =========================== +- Fix problem with contactgroupmembers table creation on MySQL 4.x, add index on contact_id column - Add LDAP SASL bind and proxy authentication (#1486692) - Add variable for 'Today' label in date_today option (#1486120) - Fix dont_override setting does not override existing user preferences (#1487664) diff --git a/SQL/mssql.initial.sql b/SQL/mssql.initial.sql index 4e31c07..4aa6fc9 100644 --- a/SQL/mssql.initial.sql +++ b/SQL/mssql.initial.sql @@ -195,6 +195,8 @@ CONSTRAINT [DF_contactgroupmembers_created] DEFAULT (getdate()) FOR [created] GO +CREATE INDEX [IX_contactgroupmembers_contact_id] ON [dbo].[contactgroupmembers]([contact_id]) ON [PRIMARY] +GO ALTER TABLE [dbo].[identities] ADD CONSTRAINT [DF_identities_user] DEFAULT ('0') FOR [user_id], diff --git a/SQL/mssql.upgrade.sql b/SQL/mssql.upgrade.sql index 3d06792..8534afd 100644 --- a/SQL/mssql.upgrade.sql +++ b/SQL/mssql.upgrade.sql @@ -101,3 +101,5 @@ ALTER TABLE [dbo].[contacts] ADD [words] [text] COLLATE Latin1_General_CI_AI NULL GO +CREATE INDEX [IX_contactgroupmembers_contact_id] ON [dbo].[contactgroupmembers]([contact_id]) ON [PRIMARY] +GO diff --git a/SQL/mysql.initial.sql b/SQL/mysql.initial.sql index accf212..8e2e61c 100644 --- a/SQL/mysql.initial.sql +++ b/SQL/mysql.initial.sql @@ -117,7 +117,8 @@ CONSTRAINT `contactgroup_id_fk_contactgroups` FOREIGN KEY (`contactgroup_id`) REFERENCES `contactgroups`(`contactgroup_id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `contact_id_fk_contacts` FOREIGN KEY (`contact_id`) - REFERENCES `contacts`(`contact_id`) ON DELETE CASCADE ON UPDATE CASCADE + REFERENCES `contacts`(`contact_id`) ON DELETE CASCADE ON UPDATE CASCADE, + INDEX `contactgroupmembers_contact_index` (`contact_id`) ) /*!40000 ENGINE=INNODB */; diff --git a/SQL/mysql.update.sql b/SQL/mysql.update.sql index f6c8d78..d30f037 100644 --- a/SQL/mysql.update.sql +++ b/SQL/mysql.update.sql @@ -136,3 +136,5 @@ -- Updates from version 0.5.* ALTER TABLE `contacts` ADD `words` TEXT NULL AFTER `vcard`; +ALTER TABLE `contactgroupmembers` ADD INDEX `contactgroupmembers_contact_index` (`contact_id`); + \ No newline at end of file diff --git a/SQL/postgres.initial.sql b/SQL/postgres.initial.sql index f52ebd5..b273bcb 100644 --- a/SQL/postgres.initial.sql +++ b/SQL/postgres.initial.sql @@ -157,6 +157,8 @@ PRIMARY KEY (contactgroup_id, contact_id) ); +CREATE INDEX contactgroupmembers_contact_id_idx ON contactgroupmembers (contact_id); + -- -- Sequence "cache_ids" -- Name: cache_ids; Type: SEQUENCE; Schema: public; Owner: postgres diff --git a/SQL/postgres.update.sql b/SQL/postgres.update.sql index 6c38388..e3eb581 100644 --- a/SQL/postgres.update.sql +++ b/SQL/postgres.update.sql @@ -90,8 +90,7 @@ TRUNCATE messages; - -- Updates from version 0.5.x ALTER TABLE contacts ADD words TEXT NULL; - +CREATE INDEX contactgroupmembers_contact_id_idx ON contactgroupmembers (contact_id); diff --git a/SQL/sqlite.initial.sql b/SQL/sqlite.initial.sql index 3aacccb..d2885e9 100644 --- a/SQL/sqlite.initial.sql +++ b/SQL/sqlite.initial.sql @@ -56,6 +56,8 @@ PRIMARY KEY (contactgroup_id, contact_id) ); +CREATE INDEX ix_contactgroupmembers_contact_id ON contactgroupmembers (contact_id); + -- -------------------------------------------------------- diff --git a/SQL/sqlite.update.sql b/SQL/sqlite.update.sql index 46373d8..7b5464c 100644 --- a/SQL/sqlite.update.sql +++ b/SQL/sqlite.update.sql @@ -221,3 +221,4 @@ DROP TABLE contacts_tmp; DELETE FROM messages; +CREATE INDEX ix_contactgroupmembers_contact_id ON contactgroupmembers (contact_id); -- Gitblit v1.9.1