add enum column type to is_char check so that values are properly quoted

This commit is contained in:
root
2016-06-21 20:30:37 -07:00
parent 4534b731ad
commit 1f9974eae1

View File

@@ -3537,7 +3537,7 @@ sub make_UPDATE {
my $types = $self->{tbl_struct}->{type_for};
return "UPDATE $self->{dst_db_tbl} SET "
. join(', ', map {
my $is_char = ($types->{$_} || '') =~ m/char|text/i;
my $is_char = ($types->{$_} || '') =~ m/char|text|enum/i;
my $is_float = ($types->{$_} || '') =~ m/float|double/i;
$self->{Quoter}->quote($_)
. '='
@@ -3586,7 +3586,7 @@ sub make_row {
. ') VALUES ('
. join(', ',
map {
my $is_char = ($type_for->{$_} || '') =~ m/char|text/i;
my $is_char = ($type_for->{$_} || '') =~ m/char|text|enum/i;
my $is_float = ($type_for->{$_} || '') =~ m/float|double/i;
$q->quote_val(
$row->{$_},
@@ -3602,7 +3602,7 @@ sub make_where_clause {
my @clauses = map {
my $val = $row->{$_};
my $sep = defined $val ? '=' : ' IS ';
my $is_char = ($self->{tbl_struct}->{type_for}->{$_} || '') =~ m/char|text/i;
my $is_char = ($self->{tbl_struct}->{type_for}->{$_} || '') =~ m/char|text|enum/i;
my $is_float = ($self->{tbl_struct}->{type_for}->{$_} || '') =~ m/float|double/i;
$self->{Quoter}->quote($_) . $sep . $self->{Quoter}->quote_val($val,
is_char => $is_char,