Commit 26120c8f authored by Max Kanat-Alexander's avatar Max Kanat-Alexander
parent 0fa7022e
...@@ -2157,6 +2157,10 @@ sub get_alter_column_ddl { ...@@ -2157,6 +2157,10 @@ sub get_alter_column_ddl {
my $default = $new_def->{DEFAULT}; my $default = $new_def->{DEFAULT};
my $default_old = $old_def->{DEFAULT}; my $default_old = $old_def->{DEFAULT};
if (defined $default) {
$default = $specific->{$default} if exists $specific->{$default};
}
# This first condition prevents "uninitialized value" errors. # This first condition prevents "uninitialized value" errors.
if (!defined $default && !defined $default_old) { if (!defined $default && !defined $default_old) {
# Do Nothing # Do Nothing
...@@ -2170,7 +2174,6 @@ sub get_alter_column_ddl { ...@@ -2170,7 +2174,6 @@ sub get_alter_column_ddl {
elsif ( (defined $default && !defined $default_old) || elsif ( (defined $default && !defined $default_old) ||
($default ne $default_old) ) ($default ne $default_old) )
{ {
$default = $specific->{$default} if exists $specific->{$default};
push(@statements, "ALTER TABLE $table ALTER COLUMN $column " push(@statements, "ALTER TABLE $table ALTER COLUMN $column "
. " SET DEFAULT $default"); . " SET DEFAULT $default");
} }
...@@ -2179,7 +2182,7 @@ sub get_alter_column_ddl { ...@@ -2179,7 +2182,7 @@ sub get_alter_column_ddl {
if (!$old_def->{NOTNULL} && $new_def->{NOTNULL}) { if (!$old_def->{NOTNULL} && $new_def->{NOTNULL}) {
my $setdefault; my $setdefault;
# Handle any fields that were NULL before, if we have a default, # Handle any fields that were NULL before, if we have a default,
$setdefault = $new_def->{DEFAULT} if exists $new_def->{DEFAULT}; $setdefault = $default if defined $default;
# But if we have a set_nulls_to, that overrides the DEFAULT # But if we have a set_nulls_to, that overrides the DEFAULT
# (although nobody would usually specify both a default and # (although nobody would usually specify both a default and
# a set_nulls_to.) # a set_nulls_to.)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment