version 1.29, 2005/04/07 06:56:23
|
version 1.33, 2005/08/24 19:13:07
|
Line 37 use Apache::lonnet;
|
Line 37 use Apache::lonnet;
|
my $mysqluser; |
my $mysqluser; |
my $mysqlpassword; |
my $mysqlpassword; |
my $mysqldatabase; |
my $mysqldatabase; |
|
my %db_config; |
|
|
sub set_mysql_user_and_password { |
sub set_mysql_user_and_password { |
# If we are running under Apache and LONCAPA, use the LON-CAPA |
# If we are running under Apache and LONCAPA, use the LON-CAPA |
Line 375 sub connect_to_db {
|
Line 376 sub connect_to_db {
|
return undef; |
return undef; |
} |
} |
$debugstring = "Successfully connected to loncapa database."; |
$debugstring = "Successfully connected to loncapa database."; |
|
# Determine DB configuration |
|
undef(%db_config); |
|
my $sth = $dbh->prepare("SHOW VARIABLES"); |
|
$sth->execute(); |
|
if ($sth->err()) { |
|
$debugstring = "Unable to retrieve db config variables"; |
|
return undef; |
|
} |
|
foreach my $row (@{$sth->fetchall_arrayref}) { |
|
$db_config{$row->[0]} = $row->[1]; |
|
} |
|
&Apache::lonnet::logthis("MySQL configuration variables"); |
|
while (my ($k,$v) = each(%db_config)) { |
|
&Apache::lonnet::logthis(" '$k' => '$v'"); |
|
} |
|
# |
return 1; |
return 1; |
} |
} |
|
|
Line 554 sub update_table_info {
|
Line 571 sub update_table_info {
|
# |
# |
# Get MySQLs table status information. |
# Get MySQLs table status information. |
# |
# |
my @tabledesc = qw/ |
my @tabledesc; |
Name Type Row_format Rows Avg_row_length Data_length |
my ($major_version) = ($db_config{'version'} =~ /^(\d)\./); |
|
&Apache::lonnet::logthis('major version = '.$major_version); |
|
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 |
Max_data_length Index_length Data_free Auto_increment |
Create_time Update_time Check_time Create_options Comment /; |
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 $db_command = "SHOW TABLE STATUS FROM loncapa LIKE '$tablename'"; |
my $sth = $dbh->prepare($db_command); |
my $sth = $dbh->prepare($db_command); |
$sth->execute(); |
$sth->execute(); |
Line 977 sub bulk_store_rows {
|
Line 1004 sub bulk_store_rows {
|
$request .= '('.join(',',@$row).'),'; |
$request .= '('.join(',',@$row).'),'; |
} |
} |
$request =~ s/,$//; |
$request =~ s/,$//; |
|
# $debugstring = "Executed ".$/.$request; # commented out - this is big |
$dbh->do($request); |
$dbh->do($request); |
if ($dbh->err) { |
if ($dbh->err) { |
$errorstring = 'Attempted '.$/.$request.$/.'Got error '.$dbh->errstr(); |
$errorstring = 'Attempted '.$/.$request.$/.'Got error '.$dbh->errstr(); |