Thread
Commits
-
Fix pl/perl test case so it will still work under Perl 5.36.
- eeac7dd9ff76 13.8 landed
- eb39610f8267 15.0 landed
- d5e1d5ed90d9 10.22 landed
- d4c16184212a 9.6 (unreleased) landed
- c08538734522 12.12 landed
- b53780e1beeb 9.4 (unreleased) landed
- b5265196e558 11.17 landed
- a3b685fdd13e 9.3 (unreleased) landed
- 9fdeae84864f 9.5 (unreleased) landed
- 6f9ea6cf3338 9.2 (unreleased) landed
- 1072e4c45dc3 14.4 landed
-
plperl tests fail with latest Perl 5.36
Tom Lane <tgl@sss.pgh.pa.us> — 2022-06-01T14:22:06Z
Apparently 5.36 rejiggers warning classifications in a way that breaks one of our test cases. Perhaps we should switch it to some other warning-triggering condition. regards, tom lane ------- Forwarded Message Date: Wed, 01 Jun 2022 14:08:46 +0000 From: bugzilla@redhat.com To: tgl@sss.pgh.pa.us Subject: [Bug 2092426] New: postgresql-14.3-1.fc37: FTBFS with Perl 5.36 https://bugzilla.redhat.com/show_bug.cgi?id=2092426 Bug ID: 2092426 Summary: postgresql-14.3-1.fc37: FTBFS with Perl 5.36 Product: Fedora Version: rawhide URL: https://koji.fedoraproject.org/koji/buildinfo?buildID= 1974481 Status: NEW Component: postgresql Assignee: fjanus@redhat.com Reporter: jplesnik@redhat.com QA Contact: extras-qa@fedoraproject.org CC: anon.amish@gmail.com, devrim@gunduz.org, fjanus@redhat.com, hhorak@redhat.com, jmlich83@gmail.com, mkulik@redhat.com, panovotn@redhat.com, pkubat@redhat.com, praiskup@redhat.com, tgl@sss.pgh.pa.us Target Milestone: --- Classification: Fedora I am working on adding Perl 5.36 to Fedora Rawhide/37 (not done yet). The rebuild of postgresql failed with this version in side tag f37-perl: === make failure: src/pl/plperl/regression.diffs === diff -U3 /builddir/build/BUILD/postgresql-14.3/src/pl/plperl/expected/plperl.out /builddir/build/BUILD/postgresql-14.3/src/pl/plperl/results/plperl.out --- /builddir/build/BUILD/postgresql-14.3/src/pl/plperl/expected/plperl.out 2022-05-09 21:14:45.000000000 +0000 +++ /builddir/build/BUILD/postgresql-14.3/src/pl/plperl/results/plperl.out 2022-06-01 11:23:50.925042793 +0000 @@ -726,8 +726,6 @@ -- check that we can "use warnings" (in this case to turn a warn into an error) -- yields "ERROR: Useless use of sort in scalar context." DO $do$ use warnings FATAL => qw(void) ; my @y; my $x = sort @y; 1; $do$ LANGUAGE plperl; -ERROR: Useless use of sort in scalar context at line 1. -CONTEXT: PL/Perl anonymous code block -- make sure functions marked as VOID without an explicit return work CREATE OR REPLACE FUNCTION myfuncs() RETURNS void AS $$ $_SHARED{myquote} = sub { The reason of the failure is a change to existing diagnostics[1]: "Useless use of sort in scalar context is now in the new scalar category. When sort is used in scalar context, it provokes a warning that doing this is not useful. This warning used to be in the void category. A new category for warnings about scalar context has now been added, called scalar." Solution is replacing use warnings FATAL => qw(void) by use warnings FATAL => qw(scalar) for this case. [1] https://metacpan.org/dist/perl/view/pod/perldelta.pod#Changes-to-Existing-Diagnostics -- You are receiving this mail because: You are on the CC list for the bug. https://bugzilla.redhat.com/show_bug.cgi?id=2092426 ------- End of Forwarded Message -
Re: plperl tests fail with latest Perl 5.36
Dagfinn Ilmari Mannsåker <ilmari@ilmari.org> — 2022-06-01T15:11:53Z
Tom Lane <tgl@sss.pgh.pa.us> writes: > Apparently 5.36 rejiggers warning classifications in a way that breaks > one of our test cases. Perhaps we should switch it to some other > warning-triggering condition. The simplest thing is to actually use sort in void context, i.e. removing the `my $x = ` part from the test, see the attached. Tested on 5.36.0 and 5.8.9. - ilmari
-
Re: plperl tests fail with latest Perl 5.36
Tom Lane <tgl@sss.pgh.pa.us> — 2022-06-01T15:40:42Z
=?utf-8?Q?Dagfinn_Ilmari_Manns=C3=A5ker?= <ilmari@ilmari.org> writes: > Tom Lane <tgl@sss.pgh.pa.us> writes: >> Apparently 5.36 rejiggers warning classifications in a way that breaks >> one of our test cases. Perhaps we should switch it to some other >> warning-triggering condition. > The simplest thing is to actually use sort in void context, > i.e. removing the `my $x = ` part from the test, see the attached. Looks reasonable to me, but I'm hardly a Perl monk. Anybody have a different opinion? regards, tom lane
-
Re: plperl tests fail with latest Perl 5.36
Robert Haas <robertmhaas@gmail.com> — 2022-06-01T16:52:55Z
On Wed, Jun 1, 2022 at 11:40 AM Tom Lane <tgl@sss.pgh.pa.us> wrote: > Looks reasonable to me, but I'm hardly a Perl monk. Anybody have > a different opinion? Well, it falsifies the immediately preceding comment, but I think it's fine otherwise. -- Robert Haas EDB: http://www.enterprisedb.com
-
Re: plperl tests fail with latest Perl 5.36
Tom Lane <tgl@sss.pgh.pa.us> — 2022-06-01T17:30:22Z
Robert Haas <robertmhaas@gmail.com> writes: > On Wed, Jun 1, 2022 at 11:40 AM Tom Lane <tgl@sss.pgh.pa.us> wrote: >> Looks reasonable to me, but I'm hardly a Perl monk. Anybody have >> a different opinion? > Well, it falsifies the immediately preceding comment, but I think it's > fine otherwise. Duh, right, will fix. This seems appropriate to back-patch as far as 9.2, since AFAIK there's not currently anything that breaks plperl in the out-of-support branches. regards, tom lane