aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2020-02-15 15:13:44 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2020-02-15 15:13:44 -0500
commit9d1ec5a8e155a996a81b5fecc3da803ecb94d8ae (patch)
tree217f1f7131cd68fef4374384c51fcd3f8369c36b
parentb78542b9e975494bba6db2d2802439c3328d5ef7 (diff)
downloadpostgresql-9d1ec5a8e155a996a81b5fecc3da803ecb94d8ae.tar.gz
postgresql-9d1ec5a8e155a996a81b5fecc3da803ecb94d8ae.zip
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
-rw-r--r--src/backend/catalog/Catalog.pm27
1 files changed, 12 insertions, 15 deletions
diff --git a/src/backend/catalog/Catalog.pm b/src/backend/catalog/Catalog.pm
index c089b1d71df..dd39a086ce4 100644
--- a/src/backend/catalog/Catalog.pm
+++ b/src/backend/catalog/Catalog.pm
@@ -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.