From 48be8f6428ba3be7375b84aea2b73d1c67de6da1 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Thu, 05 Jan 2012 03:45:22 -0500
Subject: [PATCH] - Fix SQL Error when saving a contact with many email addresses (#1488286)

---
 SQL/mysql.update.sql |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/SQL/mysql.update.sql b/SQL/mysql.update.sql
index 053649b..8d7802a 100644
--- a/SQL/mysql.update.sql
+++ b/SQL/mysql.update.sql
@@ -147,6 +147,8 @@
 
 -- Updates from version 0.6
 
+/*!40014 SET FOREIGN_KEY_CHECKS=0 */;
+
 ALTER TABLE `users` CHANGE `alias` `alias` varchar(128) BINARY NOT NULL;
 ALTER TABLE `users` CHANGE `username` `username` varchar(128) BINARY NOT NULL;
 
@@ -209,4 +211,27 @@
  PRIMARY KEY (`user_id`, `mailbox`, `uid`)
 ) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
 
+/*!40014 SET FOREIGN_KEY_CHECKS=1 */;
+
+-- 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;

--
Gitblit v1.9.1