Clarify coding in Catalog::AddDefaultValues.

Make it a bit shorter and better-commented; no functional change.

Alvaro Herrera and Tom Lane

Discussion: https://postgr.es/m/20200212182337.GZ1412@telsasoft.com
This commit is contained in:
Tom Lane 2020-02-15 15:13:44 -05:00
parent b78542b9e9
commit 9d1ec5a8e1
1 changed files with 12 additions and 15 deletions

View File

@ -331,25 +331,22 @@ sub AddDefaultValues
foreach my $column (@$schema)
{
my $attname = $column->{name};
my $atttype = $column->{type};
if (defined $row->{$attname})
{
;
}
elsif ($attname eq 'oid')
{
;
}
elsif (defined $column->{default})
# No work if field already has a value.
next if defined $row->{$attname};
# Ignore 'oid' columns, they're handled elsewhere.
next if $attname eq 'oid';
# If column has a default value, fill that in.
if (defined $column->{default})
{
$row->{$attname} = $column->{default};
next;
}
else
{
# Failed to find a value.
push @missing_fields, $attname;
}
# Failed to find a value for this field.
push @missing_fields, $attname;
}
# Failure to provide all columns is a hard error.