From 62bf565657d21dd06c489c2a38a194245a377072 Mon Sep 17 00:00:00 2001
From: mjollnir_ <mjollnir_>
Date: Thu, 18 Nov 2004 01:35:32 +0000
Subject: [PATCH] Merged from MOODLE_14_STABLE: Indexes and version bump for
 dialogue

---
 mod/dialogue/db/mysql.php     | 14 ++++++++++++++
 mod/dialogue/db/mysql.sql     | 13 +++++++++----
 mod/dialogue/db/postgres7.php | 14 ++++++++++++++
 mod/dialogue/db/postgres7.sql |  8 ++++++++
 mod/dialogue/version.php      |  2 +-
 5 files changed, 46 insertions(+), 5 deletions(-)

diff --git a/mod/dialogue/db/mysql.php b/mod/dialogue/db/mysql.php
index 3384fae667..d33c339cad 100644
--- a/mod/dialogue/db/mysql.php
+++ b/mod/dialogue/db/mysql.php
@@ -14,7 +14,21 @@ function dialogue_upgrade($oldversion) {
 	if ($oldversion < 2003101300) {
 		execute_sql(" ALTER TABLE `{$CFG->prefix}dialogue_conversations` ADD `seenon` INT(10) unsigned NOT NULL DEFAULT '0' AFTER `closed`");
 		}
+    
+    if ($oldversion < 2004111000) {
+        execute_sql('ALTER TABLE prefix_dialogue DROP KEY course;',false);
+        execute_sql('ALTER TABLE prefix_dialogue_conversations DROP KEY recipientid;',false);
+        execute_sql('ALTER TABLE prefix_dialogue_conversations DROP KEY userid;',false);
+        execute_sql('ALTER TABLE prefix_dialogue_entries DROP KEY dialogueid;',false);
+        execute_sql('ALTER TABLE prefix_dialogue_entries DROP KEY userid;',false);
 
+        modify_database('','ALTER TABLE prefix_dialogue ADD KEY course (course);');
+        modify_database('','ALTER TABLE prefix_dialogue_conversations ADD KEY recipientid (recipientid);');
+        modify_database('','ALTER TABLE prefix_dialogue_conversations ADD KEY userid (userid);');
+        modify_database('','ALTER TABLE prefix_dialogue_entries ADD KEY dialogueid (dialogueid);');
+        modify_database('','ALTER TABLE prefix_dialogue_entries ADD KEY userid (userid);');
+    }
+    
     $result = true;
     return $result;
 }
diff --git a/mod/dialogue/db/mysql.sql b/mod/dialogue/db/mysql.sql
index a6fb38d860..44c4454486 100644
--- a/mod/dialogue/db/mysql.sql
+++ b/mod/dialogue/db/mysql.sql
@@ -30,7 +30,8 @@ CREATE TABLE prefix_dialogue (
   timemodified int(10) unsigned NOT NULL default '0',
   name varchar(255) default NULL,
   intro text,
-  PRIMARY KEY  (id)
+  PRIMARY KEY  (id),
+  KEY course (course)
 ) TYPE=MyISAM;
 # --------------------------------------------------------
 
@@ -51,8 +52,10 @@ CREATE TABLE prefix_dialogue_conversations (
   format tinyint(2) NOT NULL default '0',
   subject varchar(100) not null default '',
   PRIMARY KEY  (id),
-  KEY (dialogueid),
-  KEY (timemodified)
+  KEY dialogueid (dialogueid),
+  KEY timemodified (timemodified),
+  KEY userid (userid),
+  KEY recipientid (recipientid)
 ) TYPE=MyISAM COMMENT='All the conversations between pairs of people';
 
 #
@@ -68,7 +71,9 @@ CREATE TABLE prefix_dialogue_entries (
   mailed int(1) unsigned NOT NULL default '0',
   text text NOT NULL,
   PRIMARY KEY  (id),
-  KEY (conversationid)
+  KEY conversationid (conversationid),
+  KEY dialogueid (dialogueid),
+  KEY userid (userid)
 ) TYPE=MyISAM COMMENT='All the conversation entries';
 
 #
diff --git a/mod/dialogue/db/postgres7.php b/mod/dialogue/db/postgres7.php
index 179d2ee3f0..b62f02ec1f 100644
--- a/mod/dialogue/db/postgres7.php
+++ b/mod/dialogue/db/postgres7.php
@@ -6,6 +6,20 @@ function dialogue_upgrade($oldversion) {
 
     global $CFG;
 
+    if ($oldversion < 2004111000) {
+        execute_sql('DROP INDEX prefix_dialogue_course_idx;',false);
+        execute_sql('DROP INDEX prefix_dialogue_conversations_userid_idx;',false);
+        execute_sql('DROP INDEX prefix_dialogue_conversations_recipientid_idx;',false);
+        execute_sql('DROP INDEX prefix_dialogue_entries_dialogueid_idx;',false);
+        execute_sql('DROP INDEX prefix_dialogue_entries_userid_idx;',false);
+
+        modify_database('','CREATE INDEX prefix_dialogue_course_idx ON prefix_dialogue (course);');
+        modify_database('','CREATE INDEX prefix_dialogue_conversations_userid_idx ON prefix_dialogue_conversations (userid);');
+        modify_database('','CREATE INDEX prefix_dialogue_conversations_recipientid_idx ON prefix_dialogue_conversations (recipientid);');
+        modify_database('','CREATE INDEX prefix_dialogue_entries_dialogueid_idx ON prefix_dialogue_entries (dialogueid);');
+        modify_database('','CREATE INDEX prefix_dialogue_entries_userid_idx ON prefix_dialogue_entries (userid);');
+    }
+
     $result = true;
     return $result;
 }
diff --git a/mod/dialogue/db/postgres7.sql b/mod/dialogue/db/postgres7.sql
index 6a8bcbf526..f39673d57a 100644
--- a/mod/dialogue/db/postgres7.sql
+++ b/mod/dialogue/db/postgres7.sql
@@ -31,6 +31,10 @@ CREATE TABLE prefix_dialogue (
   name varchar(255) default NULL,
   intro text
 ) ;
+
+CREATE INDEX prefix_dialogue_course_idx ON prefix_dialogue (course);
+
+
 # --------------------------------------------------------
 
 #
@@ -52,6 +56,8 @@ CREATE TABLE prefix_dialogue_conversations (
 ) ;
 CREATE INDEX prefix_dialogue_conversations_timemodified_idx ON prefix_dialogue_conversations  (timemodified) ;
 CREATE INDEX prefix_dialogue_conversations_dialogueid_idx ON prefix_dialogue_conversations  (dialogueid) ;
+CREATE INDEX prefix_dialogue_conversations_userid_idx ON prefix_dialogue_conversations (userid);
+CREATE INDEX prefix_dialogue_conversations_recipientid_idx ON prefix_dialogue_conversations (recipientid);
 
 #
 # Table structure for table dialogue_entries
@@ -67,6 +73,8 @@ CREATE TABLE prefix_dialogue_entries (
   text text NOT NULL default ''
 ) ;
 CREATE INDEX prefix_dialogue_entries_conversationid_idx ON prefix_dialogue_entries  (conversationid) ;
+CREATE INDEX prefix_dialogue_entries_dialogueid_idx ON prefix_dialogue_entries (dialogueid);
+CREATE INDEX prefix_dialogue_entries_userid_idx ON prefix_dialogue_entries (userid);
 
 #
 # Data for the table log_display
diff --git a/mod/dialogue/version.php b/mod/dialogue/version.php
index c0e8b819c7..93615a2526 100644
--- a/mod/dialogue/version.php
+++ b/mod/dialogue/version.php
@@ -5,7 +5,7 @@
 //  This fragment is called by /admin/index.php
 ////////////////////////////////////////////////////////////////////////////////
 
-$module->version  = 2004060400;
+$module->version  = 2004111000;
 $module->requires = 2004052505;  // Requires this Moodle version
 $module->cron     = 60;
 
-- 
2.39.5