Re: Partitioning with temp tables is broken - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: Partitioning with temp tables is broken
Date
Msg-id 20180617131139.GB4348@paquier.xyz
Whole thread Raw
In response to Re: Partitioning with temp tables is broken  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Partitioning with temp tables is broken
List pgsql-hackers
On Thu, Jun 14, 2018 at 10:38:14PM -0400, Tom Lane wrote:
> David Rowley <david.rowley@2ndquadrant.com> writes:
>> On 15 June 2018 at 02:42, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>>> I think that if possible, we should still allow a partitioned table
>>> in which all the rels are temp tables of the current session.  What we
>>> have to disallow is (a) temp/permanent mixes and (b) temp tables from
>>> different sessions.
>
>> So, this used to work in v10. Is it fine to just pluck the feature out
>> of the v11 release and assume nobody cares?
>
> IIUC, it worked in v10 only for small values of "work".

Yeah, if we could get to the set of points mentioned above that would a
consistent user-facing definition.  ATExecAttachPartition() is actually
heading toward that behavior but its set of checks is incomplete.

I am quickly looking at forbid-temp-parts-1.patch from previous message
https://postgr.es/m/a6bab73c-c5a8-2c25-f858-5d6d800a852d@lab.ntt.co.jp
and this shines per its lack of tests.  It would be easy enough to test
that temp and permanent relations are not mixed within the same session
for multiple levels of partitioning.  Amit, could you add some?  There
may be tweaks needed for foreign tables or such, but I have not looked
close enough at the problem yet..
--
Michael

Attachment

pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: pg_config.h.win32 missing a set of flags from pg_config.h.inadded in v11 development
Next
From: Michael Paquier
Date:
Subject: Re: SCRAM with channel binding downgrade attack