Stephen Frost <sfrost@snowman.net> writes:
> * Tom Lane (tgl@sss.pgh.pa.us) wrote:
>> This patch is using the wrong approach entirely. Every other place in
>> the backend that is trying to exclude temp relations uses a test on the
>> containing namespace, not the relname.
> The specific issue here is that the new pg_class entry is created in the
> same namespace, not in the temp one. The commit mentions make_new_heap()
> specifically because that's where the issue is coming from because
> that's creating this new pg_temp_XXX table in the regular user
> namespace.
Um ... but that transient relation should never be visible to any other
backend, because we delete it before committing. If there is someplace
where this is not the case, then we need to change that, because it'll
break everything else that scans pg_class, such as VACUUM.
In short: this code is unlike every other similar check in the backend.
I find it unlikely that this is right and all the others are wrong.
regards, tom lane
--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs