From 9d1ec5a8e155a996a81b5fecc3da803ecb94d8ae Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 15 Feb 2020 15:13:44 -0500 Subject: [PATCH] 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 --- src/backend/catalog/Catalog.pm | 27 ++++++++++++--------------- 1 file 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.