- Fix SQL Error when saving a contact with many email addresses (#1488286)
| | |
| | | CHANGELOG Roundcube Webmail |
| | | =========================== |
| | | |
| | | - Fix SQL Error when saving a contact with many email addresses (#1488286) |
| | | - Fix strict email address searching if contact has more than one address |
| | | - Use proper timezones from PHP's internal timezonedb (#1485592) |
| | | - Add separate pagesize setting for mail messages and contacts (#1488269) |
| | |
| | | [changed] [datetime] NOT NULL ,
|
| | | [del] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL ,
|
| | | [name] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
|
| | | [email] [varchar] (255) COLLATE Latin1_General_CI_AI NOT NULL ,
|
| | | [email] [text] COLLATE Latin1_General_CI_AI NOT NULL ,
|
| | | [firstname] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
|
| | | [surname] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
|
| | | [vcard] [text] COLLATE Latin1_General_CI_AI NULL ,
|
| | |
| | | ALTER TABLE [dbo].[session] ALTER COLUMN [sess_id] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL
|
| | | GO
|
| | |
|
| | | -- Updates from version 0.7
|
| | |
|
| | | ALTER TABLE [dbo].[contacts] ALTER COLUMN [email] [text] COLLATE Latin1_General_CI_AI NOT NULL
|
| | | GO
|
| | |
|
| | |
| | | `cache_key` varchar(128) /*!40101 CHARACTER SET ascii COLLATE ascii_general_ci */ NOT NULL , |
| | | `created` datetime NOT NULL DEFAULT '1000-01-01 00:00:00', |
| | | `data` longtext NOT NULL, |
| | | `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0', |
| | | `user_id` int(10) UNSIGNED NOT NULL, |
| | | PRIMARY KEY(`cache_id`), |
| | | CONSTRAINT `user_id_fk_cache` FOREIGN KEY (`user_id`) |
| | | REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE, |
| | |
| | | -- Table structure for table `cache_index` |
| | | |
| | | CREATE TABLE `cache_index` ( |
| | | `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0', |
| | | `user_id` int(10) UNSIGNED NOT NULL, |
| | | `mailbox` varchar(255) BINARY NOT NULL, |
| | | `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00', |
| | | `valid` tinyint(1) NOT NULL DEFAULT '0', |
| | |
| | | -- Table structure for table `cache_thread` |
| | | |
| | | CREATE TABLE `cache_thread` ( |
| | | `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0', |
| | | `user_id` int(10) UNSIGNED NOT NULL, |
| | | `mailbox` varchar(255) BINARY NOT NULL, |
| | | `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00', |
| | | `data` longtext NOT NULL, |
| | |
| | | -- Table structure for table `cache_messages` |
| | | |
| | | CREATE TABLE `cache_messages` ( |
| | | `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0', |
| | | `user_id` int(10) UNSIGNED NOT NULL, |
| | | `mailbox` varchar(255) BINARY NOT NULL, |
| | | `uid` int(11) UNSIGNED NOT NULL DEFAULT '0', |
| | | `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00', |
| | |
| | | `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00', |
| | | `del` tinyint(1) NOT NULL DEFAULT '0', |
| | | `name` varchar(128) NOT NULL DEFAULT '', |
| | | `email` varchar(255) NOT NULL, |
| | | `email` text NOT NULL DEFAULT '', |
| | | `firstname` varchar(128) NOT NULL DEFAULT '', |
| | | `surname` varchar(128) NOT NULL DEFAULT '', |
| | | `vcard` longtext NULL, |
| | | `words` text NULL, |
| | | `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0', |
| | | `user_id` int(10) UNSIGNED NOT NULL, |
| | | PRIMARY KEY(`contact_id`), |
| | | CONSTRAINT `user_id_fk_contacts` FOREIGN KEY (`user_id`) |
| | | REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE, |
| | | INDEX `user_contacts_index` (`user_id`,`email`) |
| | | INDEX `user_contacts_index` (`user_id`,`del`) |
| | | ) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */; |
| | | |
| | | -- Table structure for table `contactgroups` |
| | | |
| | | CREATE TABLE `contactgroups` ( |
| | | `contactgroup_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, |
| | | `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0', |
| | | `user_id` int(10) UNSIGNED NOT NULL, |
| | | `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00', |
| | | `del` tinyint(1) NOT NULL DEFAULT '0', |
| | | `name` varchar(128) NOT NULL DEFAULT '', |
| | |
| | | |
| | | CREATE TABLE `contactgroupmembers` ( |
| | | `contactgroup_id` int(10) UNSIGNED NOT NULL, |
| | | `contact_id` int(10) UNSIGNED NOT NULL DEFAULT '0', |
| | | `contact_id` int(10) UNSIGNED NOT NULL, |
| | | `created` datetime NOT NULL DEFAULT '1000-01-01 00:00:00', |
| | | PRIMARY KEY (`contactgroup_id`, `contact_id`), |
| | | CONSTRAINT `contactgroup_id_fk_contactgroups` FOREIGN KEY (`contactgroup_id`) |
| | |
| | | |
| | | CREATE TABLE `identities` ( |
| | | `identity_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, |
| | | `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0', |
| | | `user_id` int(10) UNSIGNED NOT NULL, |
| | | `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00', |
| | | `del` tinyint(1) NOT NULL DEFAULT '0', |
| | | `standard` tinyint(1) NOT NULL DEFAULT '0', |
| | |
| | | |
| | | CREATE TABLE `searches` ( |
| | | `search_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, |
| | | `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0', |
| | | `user_id` int(10) UNSIGNED NOT NULL, |
| | | `type` int(3) NOT NULL DEFAULT '0', |
| | | `name` varchar(128) NOT NULL, |
| | | `data` text, |
| | |
| | | -- Updates from version 0.7-beta |
| | | |
| | | ALTER TABLE `session` CHANGE `sess_id` `sess_id` varchar(128) NOT NULL; |
| | | |
| | | -- Updates from version 0.7 |
| | | |
| | | ALTER TABLE `contacts` DROP FOREIGN KEY `user_id_fk_contacts`; |
| | | ALTER TABLE `contacts` DROP INDEX `user_contacts_index`; |
| | | ALTER TABLE `contacts` MODIFY `email` text NOT NULL DEFAULT ''; |
| | | ALTER TABLE `contacts` ADD INDEX `user_contacts_index` (`user_id`,`del`); |
| | | ALTER TABLE `contacts` ADD CONSTRAINT `user_id_fk_contacts` FOREIGN KEY (`user_id`) |
| | | REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE; |
| | | |
| | | ALTER TABLE `cache` ALTER `user_id` DROP DEFAULT; |
| | | ALTER TABLE `cache_index` ALTER `user_id` DROP DEFAULT; |
| | | ALTER TABLE `cache_thread` ALTER `user_id` DROP DEFAULT; |
| | | ALTER TABLE `cache_messages` ALTER `user_id` DROP DEFAULT; |
| | | ALTER TABLE `contacts` ALTER `user_id` DROP DEFAULT; |
| | | ALTER TABLE `contactgroups` ALTER `user_id` DROP DEFAULT; |
| | | ALTER TABLE `contactgroupmembers` ALTER `contact_id` DROP DEFAULT; |
| | | ALTER TABLE `identities` ALTER `user_id` DROP DEFAULT; |
| | | ALTER TABLE `searches` ALTER `user_id` DROP DEFAULT; |
| | |
| | | changed timestamp with time zone DEFAULT now() NOT NULL, |
| | | del smallint DEFAULT 0 NOT NULL, |
| | | name varchar(128) DEFAULT '' NOT NULL, |
| | | email varchar(255) DEFAULT '' NOT NULL, |
| | | email text DEFAULT '' NOT NULL, |
| | | firstname varchar(128) DEFAULT '' NOT NULL, |
| | | surname varchar(128) DEFAULT '' NOT NULL, |
| | | vcard text, |
| | | words text |
| | | ); |
| | | |
| | | CREATE INDEX contacts_user_id_idx ON contacts (user_id, email); |
| | | CREATE INDEX contacts_user_id_idx ON contacts (user_id, del); |
| | | |
| | | -- |
| | | -- Sequence "contactgroups_ids" |
| | |
| | | -- Updates from version 0.7-beta |
| | | |
| | | ALTER TABLE "session" ALTER sess_id TYPE varchar(128); |
| | | |
| | | -- Updates from version 0.7 |
| | | |
| | | DROP INDEX contacts_user_id_idx; |
| | | CREATE INDEX contacts_user_id_idx ON contacts USING btree (user_id, del); |
| | | ALTER TABLE contacts ALTER email TYPE text; |
| | |
| | | |
| | | CREATE TABLE contacts ( |
| | | contact_id integer NOT NULL PRIMARY KEY, |
| | | user_id integer NOT NULL default '0', |
| | | user_id integer NOT NULL, |
| | | changed datetime NOT NULL default '0000-00-00 00:00:00', |
| | | del tinyint NOT NULL default '0', |
| | | name varchar(128) NOT NULL default '', |
| | | email varchar(255) NOT NULL default '', |
| | | email text NOT NULL default '', |
| | | firstname varchar(128) NOT NULL default '', |
| | | surname varchar(128) NOT NULL default '', |
| | | vcard text NOT NULL default '', |
| | | words text NOT NULL default '' |
| | | ); |
| | | |
| | | CREATE INDEX ix_contacts_user_id ON contacts(user_id, email); |
| | | CREATE INDEX ix_contacts_user_id ON contacts(user_id, del); |
| | | |
| | | |
| | | CREATE TABLE contactgroups ( |
| | |
| | | ip varchar(40) NOT NULL default '', |
| | | vars text NOT NULL |
| | | ); |
| | | |
| | | CREATE INDEX ix_session_changed ON session (changed); |
| | | |
| | | -- Updates from version 0.7 |
| | | |
| | | CREATE TABLE contacts_tmp ( |
| | | contact_id integer NOT NULL PRIMARY KEY, |
| | | user_id integer NOT NULL, |
| | | changed datetime NOT NULL default '0000-00-00 00:00:00', |
| | | del tinyint NOT NULL default '0', |
| | | name varchar(128) NOT NULL default '', |
| | | email text NOT NULL default '', |
| | | firstname varchar(128) NOT NULL default '', |
| | | surname varchar(128) NOT NULL default '', |
| | | vcard text NOT NULL default '', |
| | | words text NOT NULL default '' |
| | | ); |
| | | |
| | | INSERT INTO contacts_tmp (contact_id, user_id, changed, del, name, email, firstname, surname, vcard, words) |
| | | SELECT contact_id, user_id, changed, del, name, email, firstname, surname, vcard, words FROM contacts; |
| | | |
| | | DROP TABLE contacts; |
| | | |
| | | CREATE TABLE contacts ( |
| | | contact_id integer NOT NULL PRIMARY KEY, |
| | | user_id integer NOT NULL, |
| | | changed datetime NOT NULL default '0000-00-00 00:00:00', |
| | | del tinyint NOT NULL default '0', |
| | | name varchar(128) NOT NULL default '', |
| | | email text NOT NULL default '', |
| | | firstname varchar(128) NOT NULL default '', |
| | | surname varchar(128) NOT NULL default '', |
| | | vcard text NOT NULL default '', |
| | | words text NOT NULL default '' |
| | | ); |
| | | |
| | | INSERT INTO contacts (contact_id, user_id, changed, del, name, email, firstname, surname, vcard, words) |
| | | SELECT contact_id, user_id, changed, del, name, email, firstname, surname, vcard, words FROM contacts_tmp; |
| | | |
| | | CREATE INDEX ix_contacts_user_id ON contacts(user_id, del); |
| | | DROP TABLE contacts_tmp; |