Re: "could not open relation 1663/16384/16584: No such file or directory" in a specific combination of transactions with temp tables

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Heikki Linnakangas <heikki(at)enterprisedb(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, John Smith <sodgodofall(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: "could not open relation 1663/16384/16584: No such file or directory" in a specific combination of transactions with temp tables
Date: 2008-04-24 18:23:18
Message-ID: 200804241823.m3OINIU25590@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


Added to TODO:

* Allow prepared transactions with temporary tables created and dropped
in the same transaction, and when an ON COMMIT DELETE ROWS temporary
table is accessed

http://archives.postgresql.org/pgsql-hackers/2008-03/msg00047.php

---------------------------------------------------------------------------

Heikki Linnakangas wrote:
> Bruce Momjian wrote:
> > Tom Lane wrote:
> >> "Heikki Linnakangas" <heikki(at)enterprisedb(dot)com> writes:
> >>> John Smith wrote:
> >>>> [3] I am not certain how widespread they might be, but I think there
> >>>> may be some backward compatibility concerns with the patch you are
> >>>> proposing.
> >>> Well, the current behavior is certainly broken, so an application
> >>> relying on it is in trouble anyway :-(. Even if we came up with a patch
> >>> for 8.4 to relax the limitation, I doubt it would be safe enough to
> >>> backport to stable branches.
> >> As Heikki pointed out later, PG 8.1 correctly enforces the restriction
> >> against preparing a transaction that has dropped a temp table. It's
> >> only 8.2.x and 8.3.0 that (appear to) allow this. So I'm not persuaded
> >> by backwards-compatibility arguments.
> >>
> >> I've applied Heikki's new patch, and I think that's as much as we can do
> >> for 8.2 and 8.3. Any improvement in the functionality would be new
> >> development (and not trivial development, either) for 8.4 or later.
> >
> > Is there a TODO here?
>
> Yes, please:
>
> "Allow two-phase commit when a temporary table is created and dropped in
> the same transaction, or when an ON COMMIT DELETE ROWS temporary table
> is accessed"
>
> Hmm. If we can do that, I guess we could allow read-only queries on temp
> tables as well.
>
> --
> Heikki Linnakangas
> EnterpriseDB http://www.enterprisedb.com

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Chris Browne 2008-04-24 18:23:32 Re: MERGE Specification
Previous Message Steve Atkins 2008-04-24 18:22:53 Re: Standard metadata queries