Re: Is temporary functions feature official/supported? Found someissues with it.
От | Masahiko Sawada |
---|---|
Тема | Re: Is temporary functions feature official/supported? Found someissues with it. |
Дата | |
Msg-id | CAD21AoDL8quouJr50dZVyuF03K+jKW_nP-53RWD7XNnHzzxUuA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Is temporary functions feature official/supported? Found someissues with it. (Michael Paquier <michael@paquier.xyz>) |
Ответы |
Re: Is temporary functions feature official/supported? Found someissues with it.
|
Список | pgsql-bugs |
On Mon, Jan 7, 2019 at 11:42 AM Michael Paquier <michael@paquier.xyz> wrote: > > 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). > Thank you for the patch. I've looked at the patch and have one question. /* * XACT_FLAGS_ACCESSEDTEMPREL - set when a temporary relation is accessed. We * don't allow PREPARE TRANSACTION in that case. */ #define XACT_FLAGS_ACCESSEDTEMPREL (1U << 0) (snip) +/* + * XACT_FLAGS_ACCESSEDTEMPNAMESPACE - set when a temporary namespace is + * accessed. We don't allow PREPARE TRANSACTION in that case. + */ +#define XACT_FLAGS_ACCESSEDTEMPNAMESPACE (1U << 2) The cases where we set XACT_FLAGS_ACCESSEDTEMPNAMESPACE seems to include the cases setting XACT_FLAGS_ACCESSEDTEMPREL. Is there any path where we access a temporary relation without accessing temprary namespace? Regards, -- Masahiko Sawada NIPPON TELEGRAPH AND TELEPHONE CORPORATION NTT Open Source Software Center
В списке pgsql-bugs по дате отправления: