diff options
Diffstat (limited to 'install')
-rw-r--r-- | install/schema_mysql.sql | 2 | ||||
-rw-r--r-- | install/schema_postgres.sql | 2 | ||||
-rw-r--r-- | install/update.php | 19 |
3 files changed, 22 insertions, 1 deletions
diff --git a/install/schema_mysql.sql b/install/schema_mysql.sql index 0e626752d..4aaa70825 100644 --- a/install/schema_mysql.sql +++ b/install/schema_mysql.sql @@ -731,6 +731,7 @@ CREATE TABLE IF NOT EXISTS `likes` ( CREATE TABLE IF NOT EXISTS `mail` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `convid` int(10) unsigned NOT NULL DEFAULT '0', + `conv_guid` char(255) NOT NULL DEFAULT '', `mail_flags` int(10) unsigned NOT NULL DEFAULT '0', `from_xchan` char(255) NOT NULL DEFAULT '', `to_xchan` char(255) NOT NULL DEFAULT '', @@ -761,6 +762,7 @@ CREATE TABLE IF NOT EXISTS `mail` ( KEY `parent_mid` (`parent_mid`), KEY `expires` (`expires`), KEY `convid` (`convid`), + KEY `conv_guid` (`conv_guid`), KEY `mail_deleted` (`mail_deleted`), KEY `mail_replied` (`mail_replied`), KEY `mail_isreply` (`mail_isreply`), diff --git a/install/schema_postgres.sql b/install/schema_postgres.sql index f378a3e3d..f42f6b297 100644 --- a/install/schema_postgres.sql +++ b/install/schema_postgres.sql @@ -728,6 +728,7 @@ create index "likes_target_id" on likes ("target_id"); CREATE TABLE "mail" ( "id" serial NOT NULL, "convid" bigint NOT NULL DEFAULT '0', + "conv_guid" text NOT NULL, "mail_flags" bigint NOT NULL DEFAULT '0', "from_xchan" text NOT NULL DEFAULT '', "to_xchan" text NOT NULL DEFAULT '', @@ -750,6 +751,7 @@ CREATE TABLE "mail" ( PRIMARY KEY ("id") ); create index "mail_convid" on mail ("convid"); +create index "mail_conv_guid" on mail ("conv_guid"); create index "mail_created" on mail ("created"); create index "mail_flags" on mail ("mail_flags"); create index "mail_account_id" on mail ("account_id"); diff --git a/install/update.php b/install/update.php index e120f91d2..dc9377892 100644 --- a/install/update.php +++ b/install/update.php @@ -1887,6 +1887,23 @@ function update_r1155() { function update_r1156() { - return UPDATE_SUCCESS; + $r1 = q("ALTER TABLE mail ADD conv_guid CHAR( 255 ) NOT NULL DEFAULT '' "); + $r2 = q("create index conv_guid on mail ( conv_guid ) "); + + $r3 = q("select mail.id, mail.convid, conv.guid from mail left join conv on mail.convid = conv.id where true"); + if($r3) { + foreach($r3 as $rr) { + if($rr['convid']) { + q("update mail set conv_guid = '%s' where id = %d", + dbesc($rr['guid']), + intval($rr['id']) + ); + } + } + } + + if($r1 && $r2) + return UPDATE_SUCCESS; + return UPDATE_FAILED; } |