Re: BUG #17385: "RESET transaction_isolation" inside serializable transaction causes Assert at the transaction end

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
Cc: Michael Paquier <michael(at)paquier(dot)xyz>, Justin Pryzby <pryzby(at)telsasoft(dot)com>, Dmitry Koval <d(dot)koval(at)postgrespro(dot)ru>, Dilip Kumar <dilipbalaut(at)gmail(dot)com>, andrewbille(at)gmail(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org, Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
Subject: Re: BUG #17385: "RESET transaction_isolation" inside serializable transaction causes Assert at the transaction end
Date: 2022-09-24 20:57:51
Message-ID: 2604497.1664053071@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> writes:
> I've attached patches.

Per the cfbot, this incorrectly updates the plpgsql_transaction
test. Here's an updated version that fixes that.

The proposed error message for the GUC_ACTION_SAVE case,

errmsg("parameter \"%s\" cannot be set temporarily or in functions locally",

does not seem like very good English to me. In the attached I changed
it to

errmsg("parameter \"%s\" cannot be set temporarily or locally in functions",

but that isn't great either: it seems redundant and confusing.
I think we could just make it

errmsg("parameter \"%s\" cannot be set locally in functions",

because that's really the only case users should ever see.

Other than the message-wording issue, I think v6-0001 is OK.

> I did the reorganization of GUC flags in a separate patch (0002 patch)
> since it's not relevant with the new flag GUC_NO_RESET.

0002 seems quite invasive and hard to review compared to what it
accomplishes. I think we should just keep the flags in the same
order, stick in GUC_NO_RESET in front of GUC_NO_RESET_ALL, and
renumber the flag values as needed. I did not change 0002 below,
though.

regards, tom lane

Attachment Content-Type Size
v6-0001-Introduce-GUC_NO_RESET-flag.patch text/x-diff 10.1 KB
v6-0002-Reorganize-GUC_XXX-flag-values.patch text/x-diff 4.1 KB

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2022-09-25 18:24:07 Re: BUG #17607: Server process crashes when PLpgSQL function raises error in subtransaction
Previous Message Peter Geoghegan 2022-09-24 01:31:39 Re: BUG #17619: AllocSizeIsValid violation in parallel hash join