From: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | Boris Popov <boris(at)procedium(dot)com> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Mattias Kregert <mattias(at)kregert(dot)se>, TANIDA Yutaka <tanida(at)sra(dot)co(dot)jp>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: Temp rows - is it possible? |
Date: | 2003-11-10 20:43:29 |
Message-ID: | 200311102043.hAAKhTK07080@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Boris Popov wrote:
> Hello Bruce,
>
> Monday, November 10, 2003, 11:08:47 AM, you wrote:
>
> BM> Tom Lane wrote:
> >> Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> writes:
> >> > Tom Lane wrote:
> >> >> We recently decided we had to forbid foreign-key references from temp
> >> >> tables to permanent tables because of this effect. I wonder whether
> >> >> we won't end up forbidding temp tables as children of permanent tables
> >> >> too.
> >>
> >> > Yep, I think we will have to do that. TODO item?
> >>
> >> Plan B would be to arrange for the planner to ignore temp tables of
> >> other backends whenever it is searching for child tables. Then the
> >> behavior would be predictable: you never see any rows inserted in other
> >> people's temp child tables (and cannot update or delete 'em, either).
> >> I'm not sure if this is the behavior the OP wanted, but it seems at
> >> least marginally useful.
>
> BM> Agreed. It seems wrong that a session should ever see other people's
> BM> temp tables as children.
>
> So going back to the original problem, do you think there should be a
> way to implement temp rows in tables visible to everyone? I worked
> around the original problem I had by using custom entries in
> pg_listener (listen "identifier") and that works well because they
> disappear as soon as backend detects the disconnect, but I'd really
> like to be able to do exact same thing outside of pg_listener and be
> able to reference that table from other permanent tables, which is
> currently impossible with pg_listener as its a part of system catalog.
We have basically coupled "rows only exist during your session" and
"rows only visible to your session". I don't see much demand in
decoupling that, and I don't know a good way to do in application code
either. Sorry.
In your requested setup, once your session exists, all the session rows
disappear for everyone --- that seems to be a strange application
requirement.
--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Creager | 2003-11-10 20:46:30 | Re: Temp rows - is it possible? |
Previous Message | Christopher Browne | 2003-11-10 20:40:34 | Re: [off-topic] Bugtracker using PostgreSQL |