version 1.2, 2004/01/12 21:32:20
|
version 1.4, 2004/04/08 14:50:44
|
Line 183 sub describe_metadata_storage {
|
Line 183 sub describe_metadata_storage {
|
|
|
=item create_metadata_storage() |
=item create_metadata_storage() |
|
|
Inputs: None |
Inputs: table name (optional): the name of the table. Default is 'metadata'. |
|
|
Returns: A perl string which, when executed by MySQL, will cause the |
Returns: A perl string which, when executed by MySQL, will cause the |
metadata storage to be initialized. |
metadata storage to be initialized. |
Line 193 metadata storage to be initialized.
|
Line 193 metadata storage to be initialized.
|
###################################################################### |
###################################################################### |
###################################################################### |
###################################################################### |
sub create_metadata_storage { |
sub create_metadata_storage { |
my $tablename = 'metadata'; |
my ($tablename) = @_; |
|
$tablename = 'metadata' if (! defined($tablename)); |
my $request = "CREATE TABLE IF NOT EXISTS ".$tablename." "; |
my $request = "CREATE TABLE IF NOT EXISTS ".$tablename." "; |
# |
# |
# Process the columns (this code is stolen from lonmysql.pm) |
# Process the columns (this code is stolen from lonmysql.pm) |
Line 230 sub create_metadata_storage {
|
Line 231 sub create_metadata_storage {
|
my $text = 'FULLTEXT idx_'.$colname.' ('.$colname.')'; |
my $text = 'FULLTEXT idx_'.$colname.' ('.$colname.')'; |
push (@Columns,$text); |
push (@Columns,$text); |
} |
} |
$request .= "(".join(", ",@Columns).") "; |
$request .= "(".join(", ",@Columns).") TYPE=MyISAM"; |
return $request; |
return $request; |
} |
} |
|
|
Line 241 sub create_metadata_storage {
|
Line 242 sub create_metadata_storage {
|
|
|
=item store_metadata() |
=item store_metadata() |
|
|
Inputs: database handle ($dbh) and a hash or hash reference containing the |
Inputs: database handle ($dbh), a table name, and a hash or hash reference |
metadata for a single resource. |
containing the metadata for a single resource. |
|
|
Returns: 1 on success, 0 on failure to store. |
Returns: 1 on success, 0 on failure to store. |
|
|
Line 262 Returns: 1 on success, 0 on failure to s
|
Line 263 Returns: 1 on success, 0 on failure to s
|
## $dbh, so we can't check our validity. |
## $dbh, so we can't check our validity. |
## |
## |
my $sth = undef; |
my $sth = undef; |
|
my $sth_table = undef; |
|
|
sub create_statement_handler { |
sub create_statement_handler { |
my $dbh = shift(); |
my $dbh = shift(); |
my $request = 'INSERT INTO metadata VALUES('; |
my $tablename = shift(); |
|
$tablename = 'metadata' if (! defined($tablename)); |
|
$sth_table = $tablename; |
|
my $request = 'INSERT INTO '.$tablename.' VALUES('; |
foreach (@Metadata_Table_Description) { |
foreach (@Metadata_Table_Description) { |
$request .= '?,'; |
$request .= '?,'; |
} |
} |
Line 275 sub create_statement_handler {
|
Line 280 sub create_statement_handler {
|
return; |
return; |
} |
} |
|
|
sub clear_sth { $sth=undef; } |
sub clear_sth { $sth=undef; $sth_table=undef;} |
|
|
sub store_metadata { |
sub store_metadata { |
my $dbh = shift(); |
my $dbh = shift(); |
|
my $tablename = shift(); |
my $errors = ''; |
my $errors = ''; |
if (! defined($sth)) { |
if (! defined($sth) || |
&create_statement_handler($dbh); |
( defined($tablename) && ($sth_table ne $tablename)) || |
|
(! defined($tablename) && $sth_table ne 'metadata')) { |
|
&create_statement_handler($dbh,$tablename); |
} |
} |
my $successcount = 0; |
my $successcount = 0; |
while (my $mdata = shift()) { |
while (my $mdata = shift()) { |