--- loncom/interface/lonmysql.pm 2003/03/14 15:37:02 1.10 +++ loncom/interface/lonmysql.pm 2003/03/17 18:35:51 1.11 @@ -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 @@ Input formats: }, ], '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 @@ sub create_table { 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' ";