This is the first in a series of patches to reduce the number of warnings from perlcritic. The current plan is to submit a separate patch for each warning or small set of related warnings, to make reviewing more straightforward.
This particular patch addresses the warning caused by falling off the end of a subroutine rather than explicitly returning. It also contains additions to the perlcritic configuration file to ignore a couple of warnings that seem acceptable, bringing it in line with the buildfarm's configuration for those warnings. Thanks to Andrew for assistance getting my environment set up. Mike Blackwell
From d3ec3cbeb496ea9d2b285aaa32359cae528a983b Mon Sep 17 00:00:00 2001 From: Mike Blackwell <maik...@gmail.com> Date: Tue, 15 May 2018 16:38:59 -0500 Subject: [PATCH] add returns to Perl files where missing diff --git a/contrib/bloom/t/001_wal.pl b/contrib/bloom/t/001_wal.pl index 55f2167d7f..0f2628b557 100644 --- a/contrib/bloom/t/001_wal.pl +++ b/contrib/bloom/t/001_wal.pl @@ -36,6 +36,7 @@ SELECT * FROM tst WHERE i = 7 AND t = 'e'; my $standby_result = $node_standby->safe_psql("postgres", $queries); is($master_result, $standby_result, "$test_name: query result matches"); + return; } # Initialize master node diff --git a/contrib/intarray/bench/create_test.pl b/contrib/intarray/bench/create_test.pl index f3262df05b..d2c678bb53 100755 --- a/contrib/intarray/bench/create_test.pl +++ b/contrib/intarray/bench/create_test.pl @@ -83,4 +83,5 @@ sub copytable while (<$fff>) { print; } close $fff; print "\\.\n"; + return; } diff --git a/src/backend/catalog/Catalog.pm b/src/backend/catalog/Catalog.pm index 95bf619c91..ae5b499b6a 100644 --- a/src/backend/catalog/Catalog.pm +++ b/src/backend/catalog/Catalog.pm @@ -367,6 +367,7 @@ sub RenameTempFile { rename($temp_name, $final_name) || die "rename: $temp_name: $!"; } + return; } # Find a symbol defined in a particular header file and extract the value. diff --git a/src/backend/catalog/genbki.pl b/src/backend/catalog/genbki.pl index ebdc919414..9be51d28b0 100644 --- a/src/backend/catalog/genbki.pl +++ b/src/backend/catalog/genbki.pl @@ -649,6 +649,7 @@ sub gen_pg_attribute } } } + return; } # Given $pgattr_schema (the pg_attribute schema for a catalog sufficient for @@ -706,6 +707,7 @@ sub morph_row_for_pgattr } Catalog::AddDefaultValues($row, $pgattr_schema, 'pg_attribute'); + return; } # Write an entry to postgres.bki. @@ -744,6 +746,7 @@ sub print_bki_insert push @bki_values, $bki_value; } printf $bki "insert %s( %s )\n", $oid, join(' ', @bki_values); + return; } # Given a row reference, modify it so that it becomes a valid entry for @@ -786,6 +789,7 @@ sub morph_row_for_schemapg # Only the fixed-size portions of the descriptors are ever used. delete $row->{$attname} if $column->{is_varlen}; } + return; } # Perform OID lookups on an array of OID names. diff --git a/src/backend/parser/check_keywords.pl b/src/backend/parser/check_keywords.pl index ad41e134ac..718441c215 100644 --- a/src/backend/parser/check_keywords.pl +++ b/src/backend/parser/check_keywords.pl @@ -18,6 +18,7 @@ sub error { print STDERR @_; $errors = 1; + return; } $, = ' '; # set output field separator diff --git a/src/backend/utils/mb/Unicode/convutils.pm b/src/backend/utils/mb/Unicode/convutils.pm index 69ec099f29..103bd0264e 100644 --- a/src/backend/utils/mb/Unicode/convutils.pm +++ b/src/backend/utils/mb/Unicode/convutils.pm @@ -99,6 +99,7 @@ sub print_conversion_tables $charset); print_conversion_tables_direction($this_script, $csname, TO_UNICODE, $charset); + return; } ############################################################################# @@ -160,6 +161,7 @@ sub print_conversion_tables_direction } close($out); + return; } sub print_from_utf8_combined_map @@ -194,6 +196,7 @@ sub print_from_utf8_combined_map } print $out "\t/* $last_comment */" if ($verbose && $last_comment ne ""); print $out "\n};\n"; + return; } sub print_to_utf8_combined_map @@ -230,6 +233,7 @@ sub print_to_utf8_combined_map } print $out "\t/* $last_comment */" if ($verbose && $last_comment ne ""); print $out "\n};\n"; + return; } ####################################################################### @@ -625,6 +629,7 @@ sub print_radix_table if ($off != $tblsize) { die "table size didn't match!"; } print $out "};\n"; + return; } ### diff --git a/src/backend/utils/sort/gen_qsort_tuple.pl b/src/backend/utils/sort/gen_qsort_tuple.pl index 6186d0a5ba..b6b2ffa7d0 100644 --- a/src/backend/utils/sort/gen_qsort_tuple.pl +++ b/src/backend/utils/sort/gen_qsort_tuple.pl @@ -130,6 +130,8 @@ swapfunc(SortTuple *a, SortTuple *b, size_t n) #define vecswap(a, b, n) if ((n) > 0) swapfunc(a, b, n) EOM + + return; } sub emit_qsort_implementation @@ -263,4 +265,6 @@ loop: } } EOM + + return; } diff --git a/src/bin/pg_archivecleanup/t/010_pg_archivecleanup.pl b/src/bin/pg_archivecleanup/t/010_pg_archivecleanup.pl index c84674c00a..22782d3042 100644 --- a/src/bin/pg_archivecleanup/t/010_pg_archivecleanup.pl +++ b/src/bin/pg_archivecleanup/t/010_pg_archivecleanup.pl @@ -21,6 +21,7 @@ sub create_files print $file 'CONTENT'; close $file; } + return; } create_files(); @@ -89,6 +90,7 @@ sub run_check "$test_name: newer WAL file was not cleaned up"); ok(-f "$tempdir/unrelated_file", "$test_name: unrelated file was not cleaned up"); + return; } run_check('', 'pg_archivecleanup'); diff --git a/src/bin/pg_rewind/RewindTest.pm b/src/bin/pg_rewind/RewindTest.pm index 52531bba7a..60b54119e7 100644 --- a/src/bin/pg_rewind/RewindTest.pm +++ b/src/bin/pg_rewind/RewindTest.pm @@ -71,6 +71,7 @@ sub master_psql system_or_bail 'psql', '-q', '--no-psqlrc', '-d', $node_master->connstr('postgres'), '-c', "$cmd"; + return; } sub standby_psql @@ -79,6 +80,7 @@ sub standby_psql system_or_bail 'psql', '-q', '--no-psqlrc', '-d', $node_standby->connstr('postgres'), '-c', "$cmd"; + return; } # Run a query against the master, and check that the output matches what's @@ -112,6 +114,7 @@ sub check_query $stdout =~ s/\r//g if $Config{osname} eq 'msys'; is($stdout, $expected_stdout, "$test_name: query result matches"); } + return; } sub setup_cluster @@ -130,6 +133,7 @@ sub setup_cluster 'postgresql.conf', qq( wal_keep_segments = 20 )); + return; } sub start_master @@ -138,6 +142,8 @@ sub start_master #### Now run the test-specific parts to initialize the master before setting # up standby + + return; } sub create_standby @@ -162,6 +168,8 @@ recovery_target_timeline='latest' # The standby may have WAL to apply before it matches the primary. That # is fine, because no test examines the standby before promotion. + + return; } sub promote_standby @@ -183,6 +191,8 @@ sub promote_standby # after promotion so quickly that when pg_rewind runs, the standby has not # performed a checkpoint after promotion yet. standby_psql("checkpoint"); + + return; } sub run_pg_rewind @@ -266,6 +276,8 @@ recovery_target_timeline='latest' $node_master->start; #### Now run the test-specific parts to check the result + + return; } # Clean up after the test. Stop both servers, if they're still running. @@ -273,6 +285,7 @@ sub clean_rewind_test { $node_master->teardown_node if defined $node_master; $node_standby->teardown_node if defined $node_standby; + return; } 1; diff --git a/src/bin/pg_rewind/t/001_basic.pl b/src/bin/pg_rewind/t/001_basic.pl index 87bb71e8ed..53dbf45be2 100644 --- a/src/bin/pg_rewind/t/001_basic.pl +++ b/src/bin/pg_rewind/t/001_basic.pl @@ -97,6 +97,7 @@ in master, before promotion } RewindTest::clean_rewind_test(); + return; } # Run the test in both modes diff --git a/src/bin/pg_rewind/t/002_databases.pl b/src/bin/pg_rewind/t/002_databases.pl index bef0e173dc..2c9e427831 100644 --- a/src/bin/pg_rewind/t/002_databases.pl +++ b/src/bin/pg_rewind/t/002_databases.pl @@ -53,6 +53,7 @@ template1 } RewindTest::clean_rewind_test(); + return; } # Run the test in both modes. diff --git a/src/bin/pg_rewind/t/003_extrafiles.pl b/src/bin/pg_rewind/t/003_extrafiles.pl index 8b469cdae8..496f38c457 100644 --- a/src/bin/pg_rewind/t/003_extrafiles.pl +++ b/src/bin/pg_rewind/t/003_extrafiles.pl @@ -81,6 +81,7 @@ sub run_test "file lists match"); RewindTest::clean_rewind_test(); + return; } # Run the test in both modes. diff --git a/src/bin/pg_rewind/t/004_pg_xlog_symlink.pl b/src/bin/pg_rewind/t/004_pg_xlog_symlink.pl index feadaa6a0f..280eceb992 100644 --- a/src/bin/pg_rewind/t/004_pg_xlog_symlink.pl +++ b/src/bin/pg_rewind/t/004_pg_xlog_symlink.pl @@ -72,6 +72,7 @@ in standby, after promotion 'table content'); RewindTest::clean_rewind_test(); + return; } # Run the test in both modes diff --git a/src/bin/pgbench/t/001_pgbench_with_server.pl b/src/bin/pgbench/t/001_pgbench_with_server.pl index 00fb04fe1e..b9308f7367 100644 --- a/src/bin/pgbench/t/001_pgbench_with_server.pl +++ b/src/bin/pgbench/t/001_pgbench_with_server.pl @@ -42,6 +42,8 @@ sub pgbench # cleanup? #unlink @filenames or die "cannot unlink files (@filenames): $!"; + + return; } # Test concurrent insertion into table with UNIQUE oid column. DDL expects @@ -817,6 +819,7 @@ sub check_pgbench_logs }; } ok(unlink(@logs), "remove log files"); + return; } my $bdir = $node->basedir; diff --git a/src/bin/pgbench/t/002_pgbench_no_server.pl b/src/bin/pgbench/t/002_pgbench_no_server.pl index a9e067ba4e..aa47710ace 100644 --- a/src/bin/pgbench/t/002_pgbench_no_server.pl +++ b/src/bin/pgbench/t/002_pgbench_no_server.pl @@ -24,6 +24,7 @@ sub pgbench print STDERR "opts=$opts, stat=$stat, out=$out, err=$err, name=$name"; command_checks_all([ 'pgbench', split(/\s+/, $opts) ], $stat, $out, $err, $name); + return; } # invoke pgbench with scripts @@ -48,6 +49,7 @@ sub pgbench_scripts } } command_checks_all(\@cmd, $stat, $out, $err, $name); + return; } # diff --git a/src/include/catalog/reformat_dat_file.pl b/src/include/catalog/reformat_dat_file.pl index 7f6dc6e4c5..687aca0b16 100755 --- a/src/include/catalog/reformat_dat_file.pl +++ b/src/include/catalog/reformat_dat_file.pl @@ -207,6 +207,7 @@ sub strip_default_values { delete $row->{pronargs} if defined $row->{proargtypes}; } + return; } # Format the individual elements of a Perl hash into a valid string diff --git a/src/interfaces/ecpg/preproc/parse.pl b/src/interfaces/ecpg/preproc/parse.pl index 983c3a3d89..b20383ab17 100644 --- a/src/interfaces/ecpg/preproc/parse.pl +++ b/src/interfaces/ecpg/preproc/parse.pl @@ -415,6 +415,7 @@ sub main } } } + return; } @@ -431,6 +432,7 @@ sub include_file add_to_buffer($buffer, $_); } close($fh); + return; } sub include_addon @@ -472,6 +474,7 @@ sub include_addon sub add_to_buffer { push(@{ $buff{ $_[0] } }, "$_[1]\n"); + return; } sub dump_buffer @@ -480,6 +483,7 @@ sub dump_buffer print '/* ', $buffer, ' */', "\n"; my $ref = $buff{$buffer}; print @$ref; + return; } sub dump_fields @@ -582,6 +586,7 @@ sub dump_fields add_to_buffer('rules', ' { $$ = NULL; }'); } } + return; } @@ -673,4 +678,5 @@ sub preload_addons push(@{ $x->{lines} }, @code); } } + return; } diff --git a/src/pl/plperl/plc_perlboot.pl b/src/pl/plperl/plc_perlboot.pl index 05334a662d..f41aa80e80 100644 --- a/src/pl/plperl/plc_perlboot.pl +++ b/src/pl/plperl/plc_perlboot.pl @@ -62,6 +62,7 @@ sub ::encode_array_constructor (my $msg = shift) =~ s/\(eval \d+\) //g; chomp $msg; &::elog(&::WARNING, $msg); + return; } $SIG{__WARN__} = \&plperl_warn; diff --git a/src/pl/plperl/text2macro.pl b/src/pl/plperl/text2macro.pl index 27c6ef7e42..52fcbe1be1 100644 --- a/src/pl/plperl/text2macro.pl +++ b/src/pl/plperl/text2macro.pl @@ -99,4 +99,5 @@ sub selftest warn "Test string: $string\n"; warn "Result : $result"; die "Failed!" if $result ne "$string\n"; + return; } diff --git a/src/test/authentication/t/001_password.pl b/src/test/authentication/t/001_password.pl index c8dc6606be..3a3b0eb7e8 100644 --- a/src/test/authentication/t/001_password.pl +++ b/src/test/authentication/t/001_password.pl @@ -31,6 +31,7 @@ sub reset_pg_hba unlink($node->data_dir . '/pg_hba.conf'); $node->append_conf('pg_hba.conf', "local all all $hba_method"); $node->reload; + return; } # Test access for a single role, useful to wrap all tests into one. @@ -47,6 +48,7 @@ sub test_role my $res = $node->psql('postgres', undef, extra_params => [ '-U', $role ]); is($res, $expected_res, "authentication $status_string for method $method, role $role"); + return; } # Initialize master node diff --git a/src/test/authentication/t/002_saslprep.pl b/src/test/authentication/t/002_saslprep.pl index e09273edd4..c4b335c45f 100644 --- a/src/test/authentication/t/002_saslprep.pl +++ b/src/test/authentication/t/002_saslprep.pl @@ -27,6 +27,7 @@ sub reset_pg_hba unlink($node->data_dir . '/pg_hba.conf'); $node->append_conf('pg_hba.conf', "local all all $hba_method"); $node->reload; + return; } # Test access for a single role, useful to wrap all tests into one. @@ -45,6 +46,7 @@ sub test_login is($res, $expected_res, "authentication $status_string for role $role with password $password" ); + return; } # Initialize master node. Force UTF-8 encoding, so that we can use non-ASCII diff --git a/src/test/kerberos/t/001_auth.pl b/src/test/kerberos/t/001_auth.pl index 5e638eb2eb..54f564779d 100644 --- a/src/test/kerberos/t/001_auth.pl +++ b/src/test/kerberos/t/001_auth.pl @@ -164,6 +164,7 @@ sub test_access '-U', $role ]); is($res, $expected_res, $test_name); + return; } unlink($node->data_dir . '/pg_hba.conf'); diff --git a/src/test/ldap/t/001_auth.pl b/src/test/ldap/t/001_auth.pl index 9ade9a2b00..67b406c981 100644 --- a/src/test/ldap/t/001_auth.pl +++ b/src/test/ldap/t/001_auth.pl @@ -144,6 +144,7 @@ sub test_access my $res = $node->psql('postgres', 'SELECT 1', extra_params => [ '-U', $role ]); is($res, $expected_res, $test_name); + return; } note "simple bind"; diff --git a/src/test/perl/PostgresNode.pm b/src/test/perl/PostgresNode.pm index 82a2611a1e..d12dd60e73 100644 --- a/src/test/perl/PostgresNode.pm +++ b/src/test/perl/PostgresNode.pm @@ -372,6 +372,7 @@ sub dump_info { my ($self) = @_; print $self->info; + return; } @@ -393,6 +394,7 @@ sub set_replication_conf "host replication all $test_localhost/32 sspi include_realm=1 map=regress\n"; } close $hba; + return; } =pod @@ -487,6 +489,7 @@ sub init $self->set_replication_conf if $params{allows_streaming}; $self->enable_archiving if $params{has_archiving}; + return; } =pod @@ -512,6 +515,8 @@ sub append_conf chmod($self->group_access() ? 0640 : 0600, $conffile) or die("unable to set permissions for $conffile"); + + return; } =pod @@ -538,6 +543,7 @@ sub backup TestLib::system_or_bail('pg_basebackup', '-D', $backup_path, '-p', $port, '--no-sync'); print "# Backup finished\n"; + return; } =item $node->backup_fs_hot(backup_name) @@ -556,6 +562,7 @@ sub backup_fs_hot { my ($self, $backup_name) = @_; $self->_backup_fs($backup_name, 1); + return; } =item $node->backup_fs_cold(backup_name) @@ -572,6 +579,7 @@ sub backup_fs_cold { my ($self, $backup_name) = @_; $self->_backup_fs($backup_name, 0); + return; } @@ -612,6 +620,7 @@ sub _backup_fs } print "# Backup finished\n"; + return; } @@ -672,6 +681,7 @@ port = $port )); $self->enable_streaming($root_node) if $params{has_streaming}; $self->enable_restoring($root_node) if $params{has_restoring}; + return; } =pod @@ -703,6 +713,7 @@ sub start } $self->_update_pid(1); + return; } =pod @@ -728,6 +739,7 @@ sub stop print "### Stopping node \"$name\" using mode $mode\n"; TestLib::system_or_bail('pg_ctl', '-D', $pgdata, '-m', $mode, 'stop'); $self->_update_pid(0); + return; } =pod @@ -746,6 +758,7 @@ sub reload my $name = $self->name; print "### Reloading node \"$name\"\n"; TestLib::system_or_bail('pg_ctl', '-D', $pgdata, 'reload'); + return; } =pod @@ -767,6 +780,7 @@ sub restart TestLib::system_or_bail('pg_ctl', '-D', $pgdata, '-l', $logfile, 'restart'); $self->_update_pid(1); + return; } =pod @@ -787,6 +801,7 @@ sub promote print "### Promoting node \"$name\"\n"; TestLib::system_or_bail('pg_ctl', '-D', $pgdata, '-l', $logfile, 'promote'); + return; } # Internal routine to enable streaming replication on a standby node. @@ -802,6 +817,7 @@ sub enable_streaming primary_conninfo='$root_connstr application_name=$name' standby_mode=on )); + return; } # Internal routine to enable archive recovery command on a standby node @@ -830,6 +846,7 @@ sub enable_restoring restore_command = '$copy_command' standby_mode = on )); + return; } # Internal routine to enable archiving @@ -859,6 +876,7 @@ sub enable_archiving archive_mode = on archive_command = '$copy_command' )); + return; } # Internal method @@ -885,6 +903,7 @@ sub _update_pid # Complain if we expected to find a pidfile. BAIL_OUT("postmaster.pid unexpectedly not present") if $is_running; + return; } =pod @@ -1014,7 +1033,7 @@ sub teardown_node my $self = shift; $self->stop('immediate'); - + return; } =pod @@ -1030,6 +1049,7 @@ sub clean_node my $self = shift; rmtree $self->{_basedir} unless defined $self->{_pid}; + return; } =pod @@ -1351,6 +1371,7 @@ sub command_ok local $ENV{PGPORT} = $self->port; TestLib::command_ok(@_); + return; } =pod @@ -1368,6 +1389,7 @@ sub command_fails local $ENV{PGPORT} = $self->port; TestLib::command_fails(@_); + return; } =pod @@ -1385,6 +1407,7 @@ sub command_like local $ENV{PGPORT} = $self->port; TestLib::command_like(@_); + return; } =pod @@ -1402,6 +1425,7 @@ sub command_checks_all local $ENV{PGPORT} = $self->port; TestLib::command_checks_all(@_); + return; } =pod @@ -1427,6 +1451,7 @@ sub issues_sql_like ok($result, "@$cmd exit code 0"); my $log = TestLib::slurp_file($self->logfile); like($log, $expected_sql, "$test_name: SQL found in server log"); + return; } =pod @@ -1445,6 +1470,7 @@ sub run_log local $ENV{PGPORT} = $self->port; TestLib::run_log(@_); + return; } =pod @@ -1548,6 +1574,7 @@ sub wait_for_catchup $self->poll_query_until('postgres', $query) or croak "timed out waiting for catchup"; print "done\n"; + return; } =pod @@ -1590,6 +1617,7 @@ sub wait_for_slot_catchup $self->poll_query_until('postgres', $query) or croak "timed out waiting for catchup"; print "done\n"; + return; } =pod diff --git a/src/test/perl/SimpleTee.pm b/src/test/perl/SimpleTee.pm index ea2f2ee828..9de7b1ac32 100644 --- a/src/test/perl/SimpleTee.pm +++ b/src/test/perl/SimpleTee.pm @@ -13,7 +13,7 @@ use strict; sub TIEHANDLE { my $self = shift; - bless \@_, $self; + return bless \@_, $self; } sub PRINT diff --git a/src/test/perl/TestLib.pm b/src/test/perl/TestLib.pm index c9f824b4c6..77499c01e9 100644 --- a/src/test/perl/TestLib.pm +++ b/src/test/perl/TestLib.pm @@ -194,6 +194,7 @@ sub system_or_bail { BAIL_OUT("system $_[0] failed"); } + return; } sub run_log @@ -244,6 +245,7 @@ sub append_to_file or die "could not write \"$filename\": $!"; print $fh $str; close $fh; + return; } # Check that all file/dir modes in a directory match the expected values, @@ -338,6 +340,7 @@ sub chmod_recursive } }, $dir); + return; } # Check presence of a given regexp within pg_config.h for the installation @@ -366,6 +369,7 @@ sub command_ok my ($cmd, $test_name) = @_; my $result = run_log($cmd); ok($result, $test_name); + return; } sub command_fails @@ -373,6 +377,7 @@ sub command_fails my ($cmd, $test_name) = @_; my $result = run_log($cmd); ok(!$result, $test_name); + return; } sub command_exit_is @@ -394,6 +399,7 @@ sub command_exit_is ? ($h->full_results)[0] : $h->result(0); is($result, $expected, $test_name); + return; } sub program_help_ok @@ -406,6 +412,7 @@ sub program_help_ok ok($result, "$cmd --help exit code 0"); isnt($stdout, '', "$cmd --help goes to stdout"); is($stderr, '', "$cmd --help nothing to stderr"); + return; } sub program_version_ok @@ -418,6 +425,7 @@ sub program_version_ok ok($result, "$cmd --version exit code 0"); isnt($stdout, '', "$cmd --version goes to stdout"); is($stderr, '', "$cmd --version nothing to stderr"); + return; } sub program_options_handling_ok @@ -430,6 +438,7 @@ sub program_options_handling_ok '2>', \$stderr; ok(!$result, "$cmd with invalid option nonzero exit code"); isnt($stderr, '', "$cmd with invalid option prints error message"); + return; } sub command_like @@ -441,6 +450,7 @@ sub command_like ok($result, "$test_name: exit code 0"); is($stderr, '', "$test_name: no stderr"); like($stdout, $expected_stdout, "$test_name: matches"); + return; } sub command_like_safe @@ -460,6 +470,7 @@ sub command_like_safe ok($result, "$test_name: exit code 0"); is($stderr, '', "$test_name: no stderr"); like($stdout, $expected_stdout, "$test_name: matches"); + return; } sub command_fails_like @@ -470,6 +481,7 @@ sub command_fails_like my $result = IPC::Run::run $cmd, '>', \$stdout, '2>', \$stderr; ok(!$result, "$test_name: exit code not 0"); like($stderr, $expected_stderr, "$test_name: matches"); + return; } # Run a command and check its status and outputs. @@ -509,6 +521,8 @@ sub command_checks_all { like($stderr, $re, "$test_name stderr /$re/"); } + + return; } 1; diff --git a/src/test/recovery/t/001_stream_rep.pl b/src/test/recovery/t/001_stream_rep.pl index a29a6c720b..a0d3e8f357 100644 --- a/src/test/recovery/t/001_stream_rep.pl +++ b/src/test/recovery/t/001_stream_rep.pl @@ -97,6 +97,8 @@ sub test_target_session_attrs 1, "connect to node $target_name if mode \"$mode\" and $node1_name,$node2_name listed" ); + + return; } # Connect to master in "read-write" mode with master,standby1 list. @@ -195,6 +197,7 @@ sub replay_check $node_standby_2->safe_psql('postgres', qq[SELECT 1 FROM replayed WHERE val = $newval]) or die "standby_2 didn't replay standby_1 value $newval"; + return; } replay_check(); diff --git a/src/test/recovery/t/003_recovery_targets.pl b/src/test/recovery/t/003_recovery_targets.pl index 824fa4da52..e867479f20 100644 --- a/src/test/recovery/t/003_recovery_targets.pl +++ b/src/test/recovery/t/003_recovery_targets.pl @@ -41,6 +41,8 @@ sub test_recovery_standby # Stop standby node $node_standby->teardown_node; + + return; } # Initialize master node diff --git a/src/test/recovery/t/007_sync_rep.pl b/src/test/recovery/t/007_sync_rep.pl index 0ddf70b8b8..bba47da17a 100644 --- a/src/test/recovery/t/007_sync_rep.pl +++ b/src/test/recovery/t/007_sync_rep.pl @@ -24,6 +24,7 @@ sub test_sync_state } ok($self->poll_query_until('postgres', $check_sql, $expected), $msg); + return; } # Initialize master node diff --git a/src/test/recovery/t/009_twophase.pl b/src/test/recovery/t/009_twophase.pl index 93c22d181c..9ea3bd65fc 100644 --- a/src/test/recovery/t/009_twophase.pl +++ b/src/test/recovery/t/009_twophase.pl @@ -20,6 +20,7 @@ sub configure_and_reload )); $node->psql('postgres', "SELECT pg_reload_conf()", stdout => \$psql_out); is($psql_out, 't', "reload node $name with $parameter"); + return; } # Set up two nodes, which will alternately be master and replication standby. diff --git a/src/test/ssl/ServerSetup.pm b/src/test/ssl/ServerSetup.pm index ced279c31b..1cd3badaa1 100644 --- a/src/test/ssl/ServerSetup.pm +++ b/src/test/ssl/ServerSetup.pm @@ -47,6 +47,7 @@ sub test_connect_ok ]; command_ok($cmd, $test_name); + return; } sub test_connect_fails @@ -60,6 +61,7 @@ sub test_connect_fails ]; command_fails_like($cmd, $expected_stderr, $test_name); + return; } # Copy a set of files, taking into account wildcards @@ -75,6 +77,7 @@ sub copy_files copy($orig_file, "$dest/$base_file") or die "Could not copy $orig_file to $dest"; } + return; } sub configure_test_server_for_ssl @@ -130,6 +133,8 @@ sub configure_test_server_for_ssl # Change pg_hba after restart because hostssl requires ssl=on configure_hba_for_ssl($node, $serverhost, $authmethod); + + return; } # Change the configuration to use given server cert file, and reload @@ -150,6 +155,7 @@ sub switch_server_cert close $sslconf; $node->restart; + return; } sub configure_hba_for_ssl @@ -173,4 +179,7 @@ sub configure_hba_for_ssl print $hba "hostssl certdb all ::1/128 cert\n"; close $hba; + return; } + +1; \ No newline at end of file diff --git a/src/tools/copyright.pl b/src/tools/copyright.pl index 41cb93d658..08b9e5b42e 100755 --- a/src/tools/copyright.pl +++ b/src/tools/copyright.pl @@ -62,6 +62,7 @@ sub wanted $line =~ s/$cc (\d{4}), $pgdg/$ccliteral $1-$year, $pgdg/i; } untie @lines; + return; } print "Manually update:\n"; diff --git a/src/tools/git_changelog b/src/tools/git_changelog index 1262bc104c..af9afcf1f0 100755 --- a/src/tools/git_changelog +++ b/src/tools/git_changelog @@ -333,6 +333,7 @@ sub push_commit push @{ $all_commits_by_branch{ $c->{'branch'} } }, $cc; $cc->{'branch_position'}{ $c->{'branch'} } = -1 + @{ $all_commits_by_branch{ $c->{'branch'} } }; + return; } sub hash_commit @@ -355,6 +356,7 @@ sub parse_datetime sub output_str { ($oldest_first) ? ($output_line .= sprintf(shift, @_)) : printf(@_); + return; } sub output_details @@ -395,6 +397,7 @@ sub output_details } } output_str("\n"); + return; } sub usage diff --git a/src/tools/msvc/Install.pm b/src/tools/msvc/Install.pm index 67124bb109..6f1c30546a 100644 --- a/src/tools/msvc/Install.pm +++ b/src/tools/msvc/Install.pm @@ -40,6 +40,7 @@ sub lcopy copy($src, $target) || confess "Could not copy $src to $target\n"; + return; } sub Install @@ -173,6 +174,7 @@ sub Install GenerateNLSFiles($target, $config->{nls}, $majorver) if ($config->{nls}); print "Installation complete.\n"; + return; } sub EnsureDirectories @@ -183,6 +185,7 @@ sub EnsureDirectories { mkdir $target . '/' . $d unless -d ($target . '/' . $d); } + return; } sub CopyFiles @@ -200,6 +203,7 @@ sub CopyFiles lcopy($f, $target . basename($f)); } print "\n"; + return; } sub CopySetOfFiles @@ -215,6 +219,7 @@ sub CopySetOfFiles lcopy($_, $tgt) || croak "Could not copy $_: $!\n"; } print "\n"; + return; } sub CopySolutionOutput @@ -340,6 +345,7 @@ sub CopySolutionOutput print "."; } print "\n"; + return; } sub GenerateConversionScript @@ -377,6 +383,7 @@ sub GenerateConversionScript print $F $sql; close($F); print "\n"; + return; } sub GenerateTimezoneFiles @@ -408,6 +415,7 @@ sub GenerateTimezoneFiles system(@args); print "\n"; + return; } sub GenerateTsearchFiles @@ -449,6 +457,7 @@ sub GenerateTsearchFiles } close($F); print "\n"; + return; } sub CopyContribFiles @@ -475,6 +484,7 @@ sub CopyContribFiles } } print "\n"; + return; } sub CopySubdirFiles @@ -561,6 +571,7 @@ sub CopySubdirFiles print '.'; } } + return; } sub ParseAndCleanRule @@ -676,6 +687,7 @@ sub CopyIncludeFiles $target . '/include/informix/esql/', 'src/interfaces/ecpg/include/', split /\s+/, $1); + return; } sub GenerateNLSFiles @@ -719,6 +731,7 @@ sub GenerateNLSFiles } } print "\n"; + return; } sub DetermineMajorVersion diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm index 2726d603af..27397ba3fb 100644 --- a/src/tools/msvc/MSBuildProject.pm +++ b/src/tools/msvc/MSBuildProject.pm @@ -80,6 +80,7 @@ EOF strpool => 'true', runtime => 'MultiThreadedDLL' }); + return; } sub AddDefine @@ -87,6 +88,7 @@ sub AddDefine my ($self, $def) = @_; $self->{defines} .= $def . ';'; + return; } sub WriteReferences @@ -112,6 +114,7 @@ EOF </ItemGroup> EOF } + return; } sub WriteFiles @@ -223,6 +226,7 @@ EOF </ItemGroup> EOF } + return; } sub WriteConfigurationHeader @@ -234,6 +238,7 @@ sub WriteConfigurationHeader <Platform>$self->{platform}</Platform> </ProjectConfiguration> EOF + return; } sub WriteConfigurationPropertyGroup @@ -252,6 +257,7 @@ sub WriteConfigurationPropertyGroup <WholeProgramOptimization>$p->{wholeopt}</WholeProgramOptimization> </PropertyGroup> EOF + return; } sub WritePropertySheetsPropertyGroup @@ -262,6 +268,7 @@ sub WritePropertySheetsPropertyGroup <Import Project="\$(UserRootDir)\\Microsoft.Cpp.\$(Platform).user.props" Condition="exists('\$(UserRootDir)\\Microsoft.Cpp.\$(Platform).user.props')" Label="LocalAppDataPlatform" /> </ImportGroup> EOF + return; } sub WriteAdditionalProperties @@ -272,6 +279,7 @@ sub WriteAdditionalProperties <IntDir Condition="'\$(Configuration)|\$(Platform)'=='$cfgname|$self->{platform}'">.\\$cfgname\\$self->{name}\\</IntDir> <LinkIncremental Condition="'\$(Configuration)|\$(Platform)'=='$cfgname|$self->{platform}'">false</LinkIncremental> EOF + return; } sub WriteItemDefinitionGroup @@ -364,6 +372,7 @@ EOF print $f <<EOF; </ItemDefinitionGroup> EOF + return; } sub Footer @@ -377,6 +386,7 @@ sub Footer </ImportGroup> </Project> EOF + return; } package VC2010Project; @@ -441,6 +451,7 @@ sub WriteConfigurationPropertyGroup <PlatformToolset>$self->{PlatformToolset}</PlatformToolset> </PropertyGroup> EOF + return; } package VC2013Project; diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm index d0d7d46495..4543d87d83 100644 --- a/src/tools/msvc/Mkvcbuild.pm +++ b/src/tools/msvc/Mkvcbuild.pm @@ -964,6 +964,7 @@ sub AddContrib # Are there any output data files to build? GenerateContribSqlFiles($n, $mf); + return; } sub GenerateContribSqlFiles @@ -1010,6 +1011,7 @@ sub GenerateContribSqlFiles } } } + return; } sub AdjustContribProj @@ -1020,6 +1022,7 @@ sub AdjustContribProj \@contrib_uselibpq, \@contrib_uselibpgport, \@contrib_uselibpgcommon, $contrib_extralibs, $contrib_extrasource, $contrib_extraincludes); + return; } sub AdjustFrontendProj @@ -1030,6 +1033,7 @@ sub AdjustFrontendProj \@frontend_uselibpq, \@frontend_uselibpgport, \@frontend_uselibpgcommon, $frontend_extralibs, $frontend_extrasource, $frontend_extraincludes); + return; } sub AdjustModule @@ -1086,6 +1090,7 @@ sub AdjustModule $proj->AddFile($i); } } + return; } END diff --git a/src/tools/msvc/Project.pm b/src/tools/msvc/Project.pm index 46c680d536..261c913ea0 100644 --- a/src/tools/msvc/Project.pm +++ b/src/tools/msvc/Project.pm @@ -45,6 +45,7 @@ sub AddFile my ($self, $filename) = @_; $self->{files}->{$filename} = 1; + return; } sub AddFiles @@ -56,6 +57,7 @@ sub AddFiles { $self->{files}->{ $dir . "/" . $f } = 1; } + return; } sub ReplaceFile @@ -110,6 +112,7 @@ sub RelocateFiles $self->AddFile($targetdir . '/' . basename($f)); } } + return; } sub AddReference @@ -122,6 +125,7 @@ sub AddReference $self->AddLibrary( "__CFGNAME__/" . $ref->{name} . "/" . $ref->{name} . ".lib"); } + return; } sub AddLibrary @@ -138,6 +142,7 @@ sub AddLibrary { push @{ $self->{suffixlib} }, $lib; } + return; } sub AddIncludeDir @@ -149,6 +154,7 @@ sub AddIncludeDir $self->{includes} .= ';'; } $self->{includes} .= $inc; + return; } sub AddPrefixInclude @@ -156,6 +162,7 @@ sub AddPrefixInclude my ($self, $inc) = @_; $self->{prefixincludes} = $inc . ';' . $self->{prefixincludes}; + return; } sub AddDefine @@ -164,6 +171,7 @@ sub AddDefine $def =~ s/"/""/g; $self->{defines} .= $def . ';'; + return; } sub FullExportDLL @@ -173,6 +181,7 @@ sub FullExportDLL $self->{builddef} = 1; $self->{def} = "./__CFGNAME__/$self->{name}/$self->{name}.def"; $self->{implib} = "__CFGNAME__/$self->{name}/$libname"; + return; } sub UseDef @@ -180,6 +189,7 @@ sub UseDef my ($self, $def) = @_; $self->{def} = $def; + return; } sub AddDir @@ -284,6 +294,7 @@ sub AddDir } $self->AddDirResourceFile($reldir); + return; } # If the directory's Makefile bears a description string, add a resource file. @@ -299,6 +310,7 @@ sub AddDirResourceFile if ($mf =~ /^PGAPPICON\s*=\s*(.*)$/m) { $ico = $1; } $self->AddResourceFile($reldir, $desc, $ico); } + return; } sub AddResourceFile @@ -332,6 +344,7 @@ sub AddResourceFile close($i); } $self->AddFile("$dir/win32ver.rc"); + return; } sub DisableLinkerWarnings @@ -341,6 +354,7 @@ sub DisableLinkerWarnings $self->{disablelinkerwarnings} .= ',' unless ($self->{disablelinkerwarnings} eq ''); $self->{disablelinkerwarnings} .= $warnings; + return; } sub Save @@ -366,6 +380,7 @@ sub Save $self->WriteFiles($f); $self->Footer($f); close($f); + return; } sub GetAdditionalLinkerDependencies diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm index a33e68eccf..8f0b355fc0 100644 --- a/src/tools/msvc/Solution.pm +++ b/src/tools/msvc/Solution.pm @@ -75,6 +75,7 @@ sub DeterminePlatform $? >> 8 == 0 or die "cl command not found"; $self->{platform} = ($output =~ /^\/favor:<.+AMD64/m) ? 'x64' : 'Win32'; print "Detected hardware platform: $self->{platform}\n"; + return; } # Return 1 if $oldfile is newer than $newfile, or if $newfile doesn't exist. @@ -112,6 +113,7 @@ sub copyFile } close($i); close($o); + return; } sub GenerateFiles @@ -533,6 +535,7 @@ EOF <!ENTITY majorversion "$self->{majorver}"> EOF close($o); + return; } sub GenerateDefFile @@ -555,6 +558,7 @@ sub GenerateDefFile close($of); close($if); } + return; } sub AddProject @@ -727,6 +731,7 @@ EOF EndGlobal EOF close($sln); + return; } sub GetFakeConfigure diff --git a/src/tools/msvc/VCBuildProject.pm b/src/tools/msvc/VCBuildProject.pm index 57b8525f3f..03b890b9b7 100644 --- a/src/tools/msvc/VCBuildProject.pm +++ b/src/tools/msvc/VCBuildProject.pm @@ -56,6 +56,7 @@ EOF </Configurations> EOF $self->WriteReferences($f); + return; } sub WriteFiles @@ -152,6 +153,7 @@ EOF print $f <<EOF; </Files> EOF + return; } sub Footer @@ -162,6 +164,7 @@ sub Footer <Globals/> </VisualStudioProject> EOF + return; } sub WriteConfiguration @@ -227,6 +230,7 @@ EOF print $f <<EOF; </Configuration> EOF + return; } sub WriteReferences @@ -239,6 +243,7 @@ sub WriteReferences " <ProjectReference ReferencedProjectIdentifier=\"$ref->{guid}\" Name=\"$ref->{name}\" />\n"; } print $f " </References>\n"; + return; } sub GenerateCustomTool diff --git a/src/tools/msvc/builddoc.pl b/src/tools/msvc/builddoc.pl index 8ab7385b9e..f6eb73db21 100644 --- a/src/tools/msvc/builddoc.pl +++ b/src/tools/msvc/builddoc.pl @@ -107,7 +107,7 @@ sub renamefiles move $f, $nf; } chdir $savedir; - + return; } sub missing diff --git a/src/tools/msvc/gendef.pl b/src/tools/msvc/gendef.pl index 9f0cf76fb3..77c3a775b0 100644 --- a/src/tools/msvc/gendef.pl +++ b/src/tools/msvc/gendef.pl @@ -20,6 +20,7 @@ sub dumpsyms system("dumpbin /symbols /out:$tmpfile $_ >NUL") && die "Could not call dumpbin"; rename($tmpfile, $symfile); + return; } # Given a symbol file path, loops over its contents @@ -116,6 +117,7 @@ sub extract_syms $def->{ $pieces[6] } = $pieces[3]; } close($f); + return; } sub writedef @@ -143,6 +145,7 @@ sub writedef } } close($fh); + return; } diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl index a74adbaf99..4dc051aa62 100644 --- a/src/tools/msvc/vcregress.pl +++ b/src/tools/msvc/vcregress.pl @@ -111,6 +111,7 @@ sub installcheck system(@args); my $status = $? >> 8; exit $status if $status; + return; } sub check @@ -132,6 +133,7 @@ sub check system(@args); my $status = $? >> 8; exit $status if $status; + return; } sub ecpgcheck @@ -157,6 +159,7 @@ sub ecpgcheck system(@args); $status = $? >> 8; exit $status if $status; + return; } sub isolationcheck @@ -173,6 +176,7 @@ sub isolationcheck system(@args); my $status = $? >> 8; exit $status if $status; + return; } sub tap_check @@ -224,6 +228,7 @@ sub bincheck $mstat ||= $status; } exit $mstat if $mstat; + return; } sub taptest @@ -244,6 +249,7 @@ sub taptest InstallTemp(); my $status = tap_check(@args); exit $status if $status; + return; } sub mangle_plpython3 @@ -365,6 +371,7 @@ sub plcheck } chdir "$topdir"; + return; } sub subdircheck @@ -413,6 +420,7 @@ sub subdircheck print join(' ', @args), "\n"; system(@args); chdir ".."; + return; } sub contribcheck @@ -434,6 +442,7 @@ sub contribcheck $mstat ||= $status; } exit $mstat if $mstat; + return; } sub modulescheck @@ -447,6 +456,7 @@ sub modulescheck $mstat ||= $status; } exit $mstat if $mstat; + return; } sub recoverycheck @@ -457,6 +467,7 @@ sub recoverycheck my $dir = "$topdir/src/test/recovery"; my $status = tap_check($dir); exit $status if $status; + return; } # Run "initdb", then reconfigure authentication. @@ -501,6 +512,7 @@ sub generate_db system('createdb', quote_system_arg($dbname)); my $status = $? >> 8; exit $status if $status; + return; } sub upgradecheck @@ -586,6 +598,7 @@ sub upgradecheck print "dumps not identical!\n"; exit(1); } + return; } sub fetchRegressOpts @@ -680,6 +693,7 @@ sub InstallTemp Install("$tmp_installdir", "all", $config); } $ENV{PATH} = "$tmp_installdir/bin;$ENV{PATH}"; + return; } sub usage diff --git a/src/tools/pginclude/pgcheckdefines b/src/tools/pginclude/pgcheckdefines index c547df45ea..4edf7fc56e 100755 --- a/src/tools/pginclude/pgcheckdefines +++ b/src/tools/pginclude/pgcheckdefines @@ -297,4 +297,6 @@ sub checkit print "$file references $symbol, defined in @places\n"; # print "includes: @includes\n"; + + return; } diff --git a/src/tools/pgindent/pgindent b/src/tools/pgindent/pgindent index fc616e7a08..2d81672e15 100755 --- a/src/tools/pgindent/pgindent +++ b/src/tools/pgindent/pgindent @@ -93,6 +93,8 @@ sub check_indent "You appear to have GNU indent rather than BSD indent.\n"; exit 1; } + + return; } @@ -162,6 +164,7 @@ sub process_exclude } close($eh); } + return; } @@ -189,6 +192,7 @@ sub write_source || die "cannot open file \"$source_filename\": $!\n"; print $src_fh $source; close($src_fh); + return; } @@ -316,6 +320,7 @@ sub diff . $pre_fh->filename . " " . $post_fh->filename . " >&2"); + return; } @@ -361,6 +366,7 @@ sub run_build $ENV{PGINDENT} = abs_path('pg_bsd_indent'); chdir $save_dir; + return; } @@ -382,6 +388,7 @@ sub build_clean system("rm -rf src/tools/pgindent/pg_bsd_indent"); system("rm -f src/tools/pgindent/tmp_typedefs.list"); + return; } diff --git a/src/tools/pgperlcritic/perlcriticrc b/src/tools/pgperlcritic/perlcriticrc index 1059002ad5..6b0ba62916 100644 --- a/src/tools/pgperlcritic/perlcriticrc +++ b/src/tools/pgperlcritic/perlcriticrc @@ -6,9 +6,17 @@ # ##################################################################### -severity = 5 +severity = 4 theme = core # allow octal constants with leading zeros [-ValuesAndExpressions::ProhibitLeadingZeros] + +[-InputOutput::RequireBriefOpen] +[-Subroutines::RequireArgUnpacking] +[-Variables::RequireLocalizedPunctuationVars] + +[TestingAndDebugging::ProhibitNoWarnings] +allow = once + diff --git a/src/tools/version_stamp.pl b/src/tools/version_stamp.pl index 392fd4ae54..499e3deb3a 100755 --- a/src/tools/version_stamp.pl +++ b/src/tools/version_stamp.pl @@ -141,4 +141,5 @@ sub sed_file or die "mv failed: $?"; $fixedfiles .= "\t$filename\n"; + return; } -- 2.17.0