Changeset 32561 for main/trunk
- Timestamp:
- 2018-10-31T20:12:48+13:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone2/perllib/gssql.pm
r32560 r32561 51 51 52 52 sub new 53 { 54 53 { 55 54 my $class = shift(@_); 56 55 … … 70 69 }; 71 70 72 # (My)SQL doesn't like tables with - (hyphens) in their names73 my $coll_name = $params_map->{'collection_name'};74 $coll_name =~ s/-/_/g;75 $self->{'tablename_prefix'} = $coll_name;76 77 71 # The db_encoding option is presently not passed in to this constructor as parameter. 78 72 # Placed here to indicate it's sort of optional. … … 81 75 $self->{'db_encoding'} = $params_map->{'db_encoding'} || "utf8"; 82 76 83 return bless($self, $class); 77 $self = bless($self, $class); 78 79 $self->{'tablename_prefix'} = $self->sanitize_name($params_map->{'collection_name'}); 80 81 return $self; 84 82 } 85 83 … … 197 195 my ($db_name, $build_mode) = @_; 198 196 my $dbh = $self->{'db_handle'}; 197 $db_name = $self->sanitize_name($db_name); 199 198 200 199 print STDERR "Attempting to use database $db_name\n" if($self->{'verbosity'}); … … 207 206 if(!$success && $dbh->err == 1049) { # "Unknown database" error has code 1049 (mysql only?) meaning db doesn't exist yet 208 207 209 print STDERR "Database $db_name didn't exist, creating it a ndthe tables for the current collection...\n" if($self->{'verbosity'});208 print STDERR "Database $db_name didn't exist, creating it along with the tables for the current collection...\n" if($self->{'verbosity'}); 210 209 211 210 # attempt to create the db and its tables … … 265 264 my ($db_name) = @_; 266 265 my $dbh = $self->{'db_handle'}; 267 266 $db_name = $self->sanitize_name($db_name); 267 268 268 269 print STDERR "Loading database $db_name\n" if($self->{'verbosity'} > 1); 269 270 … … 299 300 my ($db_name) = @_; 300 301 my $dbh = $self->{'db_handle'}; 302 $db_name = $self->sanitize_name($db_name); 301 303 302 304 # https://stackoverflow.com/questions/5025768/how-can-i-create-a-mysql-database-from-a-perl-script … … 358 360 my ($db_name) = @_; 359 361 my $dbh = $self->{'db_handle'}; 360 362 $db_name = $self->sanitize_name($db_name); 363 361 364 print STDERR "!!! Deleting database $db_name\n" if($self->{'verbosity'}); 362 365 … … 511 514 } 512 515 516 # Attempt to make sure the name parameter (for db or table name) is acceptable syntax 517 # for the db in question, e.g. for mysql. For example, (My)SQL doesn't like tables or 518 # databases with '-' (hyphens) in their names 519 sub sanitize_name { 520 my $self= shift (@_); 521 my ($name) = @_; 522 $name =~ s/-/_/g; 523 return $name; 524 } 525 513 526 514 527 # I can get my version of table_exists to work, but it's not so ideal
Note:
See TracChangeset
for help on using the changeset viewer.