[LON-CAPA-cvs] cvs: loncom /interface lonmysql.pm
matthew
lon-capa-cvs@mail.lon-capa.org
Wed, 24 Aug 2005 19:33:33 -0000
matthew Wed Aug 24 15:33:33 2005 EDT
Modified files:
/loncom/interface lonmysql.pm
Log:
A better fix for the last commit. No longer rely on hard-coded column names.
Index: loncom/interface/lonmysql.pm
diff -u loncom/interface/lonmysql.pm:1.34 loncom/interface/lonmysql.pm:1.35
--- loncom/interface/lonmysql.pm:1.34 Wed Aug 24 15:21:05 2005
+++ loncom/interface/lonmysql.pm Wed Aug 24 15:33:32 2005
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# MySQL utility functions
#
-# $Id: lonmysql.pm,v 1.34 2005/08/24 19:21:05 matthew Exp $
+# $Id: lonmysql.pm,v 1.35 2005/08/24 19:33:32 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -571,19 +571,6 @@
#
# Get MySQLs table status information.
#
- my @tabledesc;
- my ($major_version) = ($db_config{'version'} =~ /^(\d)\./);
- if ($major_version <= 3) {
- @tabledesc = qw/
- Name Type Row_format Rows Avg_row_length Data_length
- Max_data_length Index_length Data_free Auto_increment
- Create_time Update_time Check_time Create_options Comment/;
- } else { # At least 4 has this structure...
- @tabledesc = qw/
- Name Engine Version Row_format Rows Avg_row_length Data_length
- Max_data_length Index_length Data_free Auto_increment Create_time
- Update_time Check_time Collation Checksum Create_options Comment/;
- }
my $db_command = "SHOW TABLE STATUS FROM loncapa LIKE '$tablename'";
my $sth = $dbh->prepare($db_command);
$sth->execute();
@@ -593,14 +580,15 @@
&disconnect_from_db();
return undef;
}
+ my @column_name = @{$sth->{NAME}};
#
my @info=$sth->fetchrow_array;
for (my $i=0;$i<= $#info ; $i++) {
- if ($tabledesc[$i] !~ /^(Create_|Update_|Check_)time$/) {
- $Tables{$tablename}->{$tabledesc[$i]}=
+ if ($column_name[$i] =~ /^(Create_|Update_|Check_)time$/) {
+ $Tables{$tablename}->{$column_name[$i]}=
&unsqltime($info[$i]);
} else {
- $Tables{$tablename}->{$tabledesc[$i]}= $info[$i];
+ $Tables{$tablename}->{$column_name[$i]}= $info[$i];
}
}
#