Merge pull request #102 from dankinon/2.2

add enum column type to is_char check so that values are properly quoted
This commit is contained in:
Carlos Salguero
2016-07-12 17:49:28 -03:00
committed by GitHub
2 changed files with 4 additions and 4 deletions

View File

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

View File

@@ -326,7 +326,7 @@ sub make_UPDATE {
my $types = $self->{tbl_struct}->{type_for}; my $types = $self->{tbl_struct}->{type_for};
return "UPDATE $self->{dst_db_tbl} SET " return "UPDATE $self->{dst_db_tbl} SET "
. join(', ', map { . 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; my $is_float = ($types->{$_} || '') =~ m/float|double/i;
$self->{Quoter}->quote($_) $self->{Quoter}->quote($_)
. '=' . '='