my $constraint = $opts->{constraint};
my $exclude = $opts->{exclude};
- @tables = grep { /$constraint/ } @$tables if defined $constraint;
- @tables = grep { ! /$exclude/ } @$tables if defined $exclude;
+ @tables = grep { /$constraint/ } @tables if defined $constraint;
+ @tables = grep { ! /$exclude/ } @tables if defined $exclude;
TABLE: for my $table (@tables) {
try {
my $comments_table = $self->table_comments_table;
- my ($comment) = try { $self->dbh->selectrow_array(<<"EOF", {}, $table->name) };
+ my ($comment) = try { $self->dbh->selectrow_array(<<"EOF") };
SELECT comment_text
FROM $comments_table
-WHERE table_name = ?
+WHERE table_name = @{[ $self->dbh->quote($table->name) ]}
EOF
return $comment;
my $comments_table = $self->column_comments_table;
- my ($comment) = try { $self->dbh->selectrow_array(<<"EOF", {}, $table->name, $column_name) };
+ my ($comment) = try { $self->dbh->selectrow_array(<<"EOF") };
SELECT comment_text
FROM $comments_table
-WHERE table_name = ?
-AND column_name = ?
+WHERE table_name = @{[ $self->dbh->quote($table->name) ]}
+AND column_name = @{[ $self->dbh->quote($column_name) ]}
EOF
return $comment;
sub _dbh_type_info_type_name {
my ($self, $type_num) = @_;
- my $type_info = $self->dbh->type_info($type_num);
+ # We wrap it in a try block for MSSQL+DBD::Sybase, which can have issues.
+ # TODO investigate further
+ my $type_info = try { $self->dbh->type_info($type_num) };
return $type_info ? $type_info->{TYPE_NAME} : undef;
}