--- loncom/interface/lonmysql.pm 2007/04/11 22:37:17 1.37 +++ loncom/interface/lonmysql.pm 2016/08/14 16:13:22 1.40 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # MySQL utility functions # -# $Id: lonmysql.pm,v 1.37 2007/04/11 22:37:17 albertel Exp $ +# $Id: lonmysql.pm,v 1.40 2016/08/14 16:13:22 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -817,7 +817,7 @@ sub build_table_creation_request { unless($table_des->{'permanent'} eq 'yes') { $request.="COMMENT = 'temporary' "; } - $request .= "TYPE=MYISAM"; + $request .= "ENGINE=MYISAM"; return $request,$table_id; } @@ -1095,16 +1095,29 @@ Returns undef on error. =cut ########################################### + +########## Show-Tables Cache +my $have_read_tables = 0; +my $dbh_sth; +########## + sub tables_in_db { return undef if (!defined(&connect_to_db())); - my $sth=$dbh->prepare('SHOW TABLES'); - $sth->execute(); - $sth->execute(); - my $aref = $sth->fetchall_arrayref; - if ($sth->err()) { + + ########## Show-Tables Cache + if(!$have_read_tables) { + $dbh_sth=$dbh->prepare('SHOW TABLES'); + $have_read_tables = 1; + } + $dbh_sth->execute(); + #$dbh_sth->execute(); # Removed strange execute - from release 119 + ########## + + my $aref = $dbh_sth->fetchall_arrayref; + if ($dbh_sth->err()) { $errorstring = "$dbh ATTEMPTED:\n".'fetchall_arrayref after SHOW TABLES'. - "\nRESULTING ERROR:\n".$sth->errstr; + "\nRESULTING ERROR:\n".$dbh_sth->errstr; return undef; } my @table_list; @@ -1274,7 +1287,7 @@ sub unsqltime { my $timestamp=shift; if ($timestamp=~/^(\d+)\-(\d+)\-(\d+)\s+(\d+)\:(\d+)\:(\d+)$/) { $timestamp=&maketime('year'=>$1,'month'=>$2,'day'=>$3, - 'hours'=>$4,'minutes'=>$5,'seconds'=>$6); + 'hours'=>$4,'minutes'=>$5,'seconds'=>$6,'dlsav'=>-1); } return $timestamp; }