[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];
         }
     }
     #