postgres.git / summary / log / commit / refs

commit    d2c1512ac48c1c25dfec07d341e9b74e57f6fbc4
Author:   Andrew Dunstan <andrew@dunslane.net>
Date:     Mon May 07 19:21:00 2018 +0000
First released in: 11.0

    Clean up some perlcritic warnings
    
    In Catalog.pm, mark eval of a string instead of a block as allowed.
    Disallow perlcritic completely in Gen_dummy_probes.pl, as it's
    generated code.
    Protect a couple of lines in plperl code from  perltidy, so that the
    annotation for perlcritic stays on the same line as the construct it
    would otherwise object to.


src/backend/catalog/Catalog.pm | 5 ++++- src/backend/utils/Gen_dummy_probes.pl | 3 +++ src/pl/plperl/plc_perlboot.pl | 6 +++--- src/pl/plperl/plc_trusted.pl | 5 +++-- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/backend/catalog/Catalog.pm b/src/backend/catalog/Catalog.pm index 7497d9cd9fb..f387c865c68 100644 --- a/src/backend/catalog/Catalog.pm +++ b/src/backend/catalog/Catalog.pm @@ -250,7 +250,10 @@ sub ParseData if ($lcnt == $rcnt) { - eval '$hash_ref = ' . $_; + # We're treating the input line as a piece of Perl, so we + # need to use string eval here. Tell perlcritic we know what + # we're doing. + eval '$hash_ref = ' . $_; ## no critic (ProhibitStringyEval) if (!ref $hash_ref) { die "$input_file: error parsing line $.:\n$_\n"; diff --git a/src/backend/utils/Gen_dummy_probes.pl b/src/backend/utils/Gen_dummy_probes.pl index a38fea3e043..91d79684e99 100644 --- a/src/backend/utils/Gen_dummy_probes.pl +++ b/src/backend/utils/Gen_dummy_probes.pl @@ -14,6 +14,9 @@ # #------------------------------------------------------------------------- +# turn off perlcritic for autogened code +## no critic + $0 =~ s/^.*?(\w+)[\.\w+]*$/$1/; use strict; diff --git a/src/pl/plperl/plc_perlboot.pl b/src/pl/plperl/plc_perlboot.pl index ff059648696..05334a662d3 100644 --- a/src/pl/plperl/plc_perlboot.pl +++ b/src/pl/plperl/plc_perlboot.pl @@ -51,9 +51,9 @@ sub ::encode_array_constructor } { - - package PostgreSQL::InServer - ; ## no critic (RequireFilenameMatchesPackage); +#<<< protect next line from perltidy so perlcritic annotation works + package PostgreSQL::InServer; ## no critic (RequireFilenameMatchesPackage) +#>>> use strict; use warnings; diff --git a/src/pl/plperl/plc_trusted.pl b/src/pl/plperl/plc_trusted.pl index 7b11a3f52b0..dea3727682c 100644 --- a/src/pl/plperl/plc_trusted.pl +++ b/src/pl/plperl/plc_trusted.pl @@ -1,7 +1,8 @@ # src/pl/plperl/plc_trusted.pl -package PostgreSQL::InServer::safe - ; ## no critic (RequireFilenameMatchesPackage); +#<<< protect next line from perltidy so perlcritic annotation works +package PostgreSQL::InServer::safe; ## no critic (RequireFilenameMatchesPackage) +#>>> # Load widely useful pragmas into plperl to make them available. # [parent: 17551f1a21fa]