Re: Assertion failure in HEAD and 13 after calling COMMIT in a stored proc

From: Greg Nancarrow <gregn4422(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Ranier Vilela <ranier(dot)vf(at)gmail(dot)com>, nasbyj(at)amazon(dot)com, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Assertion failure in HEAD and 13 after calling COMMIT in a stored proc
Date: 2021-06-24 00:45:33
Message-ID: CAJcOf-e2w1e-juDrBKWU-nQ8CEF0CTV3B5EyAK=z3D-9Kz2m8A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Jun 23, 2021 at 11:01 PM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>
>
> The code is correct as-is; the proposed change would result in taking
> more snapshots than needed. Perhaps the comment needs revision, since
> you both misread it. The comment is written in terms of "when can we
> skip taking a snapshot", while the test in the code is written for
> the inverse condition "when do we need a snapshot".

Yes, you're right.
Even though I did realise that the comment was talking about the
inverse, the condition for needing a snapshot still seemed too narrow,
based on the comment, but checking the cases again, it is correct.

Perhaps that code could have been written as the following, to better
align with the comments:

skip_snapshot = (!expr->expr_simple_mutable || estate->readonly_func);
if (!skip_snapshot)
{
...
}

...

if (!skip_snapshot)
PopActiveSnapshot();

Regards,
Greg Nancarrow
Fujitsu Australia

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2021-06-24 00:45:40 Re: Deadlock risk while inserting directly into partition?
Previous Message David Rowley 2021-06-24 00:32:33 Re: Deadlock risk while inserting directly into partition?