Re: BUG: Postgres 14 + vacuum_defer_cleanup_age + FOR UPDATE + UPDATE

From: Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>, Mark Dilger <mark(dot)dilger(at)enterprisedb(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: BUG: Postgres 14 + vacuum_defer_cleanup_age + FOR UPDATE + UPDATE
Date: 2023-05-10 15:44:07
Message-ID: af5567a1-aea6-fbdb-7e4b-d1e23a43c43b@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 12.03.23 00:41, Andres Freund wrote:
> Hi,
>
> On 2023-03-11 15:34:55 -0800, Mark Dilger wrote:
>>> On Mar 11, 2023, at 3:22 PM, Andres Freund <andres(at)anarazel(dot)de> wrote:
>>>
>>> Something like the attached.
>>
>> I like that your patch doesn't make the test longer. I assume you've already run the tests and that it works.
>
> I did check that, yes :). My process of writing perl is certainly, uh,
> iterative. No way I would get anything close to working without testing it.
>
> CI now finished the tests as well:
> https://cirrus-ci.com/build/6675457702100992
>
> So I'll go ahead and push that.

There is a small issue with this commit (a4f23f9b3c).

In src/bin/pg_amcheck/t/004_verify_heapam.pl, there is code to detect
whether the page layout matches expectations and if not it calls plan
skip_all.

This commit adds a test

is(scalar @lp_off, $ROWCOUNT, "acquired row offsets");

*before* that skip_all call. This appears to be invalid. If the
skip_all happens, you get a complaint like

t/004_verify_heapam.pl (Wstat: 0 Tests: 1 Failed: 0)
Parse errors: Bad plan. You planned 0 tests but ran 1.

We could move the is() test after all the skip_all's. Any thoughts?

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2023-05-10 16:19:34 Re: Discussion: psql \et <trigger_name> -> edit the trigger function
Previous Message Kirk Wolak 2023-05-10 15:32:44 Discussion: psql \et <trigger_name> -> edit the trigger function