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

Justin Pryzby <pryzby@telsasoft.com>

From: Justin Pryzby <pryzby@telsasoft.com>
To: Tom Lane <tgl@sss.pgh.pa.us>, Masahiko Sawada <sawada.mshk@gmail.com>
Cc: Dmitry Koval <d.koval@postgrespro.ru>, Dilip Kumar <dilipbalaut@gmail.com>, andrewbille@gmail.com, pgsql-bugs@lists.postgresql.org, Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Date: 2022-06-28T00:37:20Z
Lists: pgsql-bugs
On Fri, Mar 11, 2022 at 02:53:12PM -0500, Tom Lane wrote:
> (This does imply that it's not sensible to mark a variable
> GUC_NO_RESET without also saying GUC_NO_RESET_ALL.  That
> seems fine to me, because I'm not sure what the combination
> GUC_NO_RESET & !GUC_NO_RESET_ALL ought to mean.)

On Thu, Mar 24, 2022 at 11:23:57PM +0900, Masahiko Sawada wrote:
> Attached an updated patch. I kept the name GUC_NO_RESET but I'll
> change it if we find a better name for it.

I think guc.sql should check that NO_RESET implies NO_RESET_ALL, or otherwise
guc.c could incorporate that logic by checking (NO_RESET | NO_RESET_ALL)

-- 
Justin



Commits

  1. Renumber GUC flags for a bit more sanity.

  2. Introduce GUC_NO_RESET flag.