Re: Is temporary functions feature official/supported? Found someissues with it. - Mailing list pgsql-bugs

From Michael Paquier
Subject Re: Is temporary functions feature official/supported? Found someissues with it.
Date
Msg-id 20190107024211.GA22498@paquier.xyz
Whole thread Raw
In response to Re: Is temporary functions feature official/supported? Found someissues with it.  (Michael Paquier <michael@paquier.xyz>)
Responses Re: Is temporary functions feature official/supported? Found someissues with it.  (Masahiko Sawada <sawada.mshk@gmail.com>)
List pgsql-bugs
On Sat, Jan 05, 2019 at 09:00:37AM +0900, Michael Paquier wrote:
> I think I can get that worked out with a back-patchable approach,
> still it looks a bit sensitive because of the creation-pending logic
> which relies on the assertion at the top of InitTempTableNamespace,
> which is a case we may want to handle with an extra flag for the
> caller of InitTempTableNamespace(), aka "fail if myTempNamespace is
> valid instead of just returning back".

Looking at this stuff, I have been able to come up with the attached,
which introduces a new flag mode for MyXactFlags, which gets set in a
couple of code paths so as PREPARE TRANSACTIOn complains:
- When attempting a LOCK on a temporary relation.
- When dropping objects part of a temporary namespace.
- When trying to access the temporary schema of a session, where it
may be initialized (or not if already present).

I have added test cases for things I could come up with, particularly
the LOCK and DROP cases which I have thought about after hacking the
code.  I think that something among those lines should be
back-patched.

Thoughts?
--
Michael

Attachment

pgsql-bugs by date:

Previous
From: David Rowley
Date:
Subject: Re: BUG #15577: Query returns different results when executedmultiple times
Next
From: PG Bug reporting form
Date:
Subject: BUG #15578: Executing json_populate_recordset with an empty arraycauses a segmentation fault