X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FTranslator%2FProducer%2FPostgreSQL.pm;h=4fffce3154420263e83636fb8ade3770a25aa288;hb=1868ddbee17731eb23de17472c429c6bbf13a037;hp=fa618a32ae31af7c5266e0e2bd870bc6c02183ef;hpb=4d6f8a80c017422501b30941777ec14f91a7e10c;p=dbsrgits%2FSQL-Translator.git diff --git a/lib/SQL/Translator/Producer/PostgreSQL.pm b/lib/SQL/Translator/Producer/PostgreSQL.pm index fa618a3..4fffce3 100644 --- a/lib/SQL/Translator/Producer/PostgreSQL.pm +++ b/lib/SQL/Translator/Producer/PostgreSQL.pm @@ -460,8 +460,7 @@ sub create_view { my $data_type = lc $field->data_type; my %extra = $field->extra; my $list = $extra{'list'} || []; - # todo deal with embedded quotes - my $commalist = join( ', ', map { qq['$_'] } @$list ); + my $commalist = join( ', ', map { __PACKAGE__->_quote_string($_) } @$list ); if ($postgres_version >= 8.003 && $field->data_type eq 'enum') { my $type_name = $extra{'custom_type_name'} || $field->table->name . '_' . $field->name . '_type'; @@ -480,7 +479,7 @@ sub create_view { # # Default value # - SQL::Translator::Producer->_apply_default_value( + __PACKAGE__->_apply_default_value( $field, \$field_def, [ @@ -798,8 +797,7 @@ sub alter_field if(ref $default_value eq "SCALAR" ) { $default_value = $$default_value; } elsif( defined $default_value && $to_dt =~ /^(character|text)/xsmi ) { - $default_value =~ s/'/''/xsmg; - $default_value = q(') . $default_value . q('); + $default_value = __PACKAGE__->_quote_string($default_value); } push @out, sprintf('ALTER TABLE %s ALTER COLUMN %s SET DEFAULT %s',