[LON-CAPA-cvs] cvs: loncom /interface lonmysql.pm lonsearchcat.pm

matthew lon-capa-cvs@mail.lon-capa.org
Mon, 17 Mar 2003 18:35:51 -0000


matthew		Mon Mar 17 13:35:51 2003 EDT

  Modified files:              
    /loncom/interface	lonsearchcat.pm lonmysql.pm 
  Log:
  Updated lonmysql.pm to allow more than one 'KEY', 'INDEX', etc. entry.
  
  
Index: loncom/interface/lonsearchcat.pm
diff -u loncom/interface/lonsearchcat.pm:1.171 loncom/interface/lonsearchcat.pm:1.172
--- loncom/interface/lonsearchcat.pm:1.171	Thu Mar 13 14:08:52 2003
+++ loncom/interface/lonsearchcat.pm	Mon Mar 17 13:35:51 2003
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Search Catalog
 #
-# $Id: lonsearchcat.pm,v 1.171 2003/03/13 19:08:52 matthew Exp $
+# $Id: lonsearchcat.pm,v 1.172 2003/03/17 18:35:51 matthew Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -1951,7 +1951,7 @@
 sub create_results_table {
     my $table = &Apache::lonmysql::create_table
         ( { columns => \@Datatypes,
-            FULLTEXT => {'columns' => \@Fullindicies},
+            FULLTEXT => [{'columns' => \@Fullindicies},],
         } );
     if (defined($table)) {
         $ENV{'form.table'} = $table;
Index: loncom/interface/lonmysql.pm
diff -u loncom/interface/lonmysql.pm:1.10 loncom/interface/lonmysql.pm:1.11
--- loncom/interface/lonmysql.pm:1.10	Fri Mar 14 10:37:02 2003
+++ loncom/interface/lonmysql.pm	Mon Mar 17 13:35:51 2003
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # MySQL utility functions
 #
-# $Id: lonmysql.pm,v 1.10 2003/03/14 15:37:02 matthew Exp $
+# $Id: lonmysql.pm,v 1.11 2003/03/17 18:35:51 matthew Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -559,16 +559,16 @@
                   },
         ],
         'PRIMARY KEY' => (index_col_name,...),
-         KEY => { name => 'idx_name', 
-                  columns => (col1,col2,..),},
-         INDEX => { name => 'idx_name', 
-                    columns => (col1,col2,..),},
-         UNIQUE => { index => 'yes',
+         KEY => [{ name => 'idx_name', 
+                  columns => (col1,col2,..),},],
+         INDEX => [{ name => 'idx_name', 
+                    columns => (col1,col2,..),},],
+         UNIQUE => [{ index => 'yes',
                      name => 'idx_name',
-                     columns => (col1,col2,..),},
-         FULLTEXT => { index => 'yes',
+                     columns => (col1,col2,..),},],
+         FULLTEXT => [{ index => 'yes',
                        name => 'idx_name',
-                       columns => (col1,col2,..),},
+                       columns => (col1,col2,..),},],
 
     }
 
@@ -626,30 +626,35 @@
         push (@Columns,'PRIMARY KEY ('.join(',',@{$table_des->{'PRIMARY KEY'}})
               .')');
     }
-    foreach ('KEY','INDEX') {
-        if (exists($table_des->{$_})) {
-            my $text = $_.' ';
-            if (exists($table_des->{$_}->{'name'})) {
-                $text .=$table_des->{$_}->{'name'};
+    #
+    foreach my $indextype ('KEY','INDEX') {
+        next if (!exists($table_des->{$indextype}));
+        foreach my $indexdescription (@{$table_des->{$indextype}}) {
+            my $text = $indextype.' ';
+            if (exists($indexdescription->{'name'})) {
+                $text .=$indexdescription->{'name'};
             }
-            $text .= ' ('.join(',',@{$table_des->{$_}->{'columns'}}).')';
+            $text .= ' ('.join(',',@{$indexdescription->{'columns'}}).')';
             push (@Columns,$text);
         }
     }
-    foreach ('UNIQUE','FULLTEXT') {
-        if (exists($table_des->{$_})) {
-            my $text = $_.' ';
-            if (exists($table_des->{$_}->{'index'}) &&
-                $table_des->{$_}->{'index'} eq 'yes') {
+    #
+    foreach my $indextype ('UNIQUE','FULLTEXT') {
+        next if (! exists($table_des->{$indextype}));
+        foreach my $indexdescription (@{$table_des->{$indextype}}) {
+            my $text = $indextype.' ';
+            if (exists($indexdescription->{'index'}) &&
+                $indexdescription->{'index'} eq 'yes') {
                 $text .= 'INDEX ';
             }
-            if (exists($table_des->{$_}->{'name'})) {
-                $text .=$table_des->{$_}->{'name'};
+            if (exists($indexdescription->{'name'})) {
+                $text .=$indexdescription->{'name'};
             }
-            $text .= ' ('.join(',',@{$table_des->{$_}->{'columns'}}).')';
+            $text .= ' ('.join(',',@{$indexdescription->{'columns'}}).')';
             push (@Columns,$text);
         }
     }
+    #
     $request .= "(".join(", ",@Columns).") ";
     unless($table_des->{'permanent'} eq 'yes') {
         $request.="COMMENT = 'temporary' ";