Lists: | Postg토토SQL : Postg토토SQL 메일 링리스트 : 1999-07-03 이후 PGSQL-BUGS 15:43 |
---|
From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us> |
Cc: | Ricardo Coelho <rcoelho(at)px(dot)com(dot)br>, pgsql-bugs(at)postgreSQL(dot)org |
Subject: | Re: [BUGS] General Bug Report: TEMP TABLES becomes permanent CATALOG TABLES |
Date: | 1999-07-03 15:28:52 |
Message-ID: | 15927.931015732@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-bugs |
Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us> writes:
> I think I may know the cause. The at_exit removal of the temp tables is
> taking place in a failed transaction. Let me test that idea tomorrow.
Take a look at the code for cleaning up the listen/notify table
(Async_UnlistenOnExit() in backend/commands/async.c). It used to
have problems with cleaning up when the last transaction executed
by the backend had failed. I fixed that by aborting any old transaction
and starting/committing a new one. I believe that any at_exit,
on_shmem_exit, etc routine that tries to perform database changes will
need to be coded similarly.
regards, tom lane
From: | Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Ricardo Coelho <rcoelho(at)px(dot)com(dot)br>, pgsql-bugs(at)postgreSQL(dot)org |
Subject: | Re: [BUGS] General Bug Report: TEMP TABLES becomes permanent CATALOG TABLES |
Date: | 1999-07-03 15:43:38 |
Message-ID: | 199907031543.LAA10040@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | Postg토토SQL : Postg토토SQL 메일 링리스트 : 1999-07-03 이후 PGSQL-BUGS 15:43 |
> Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us> writes:
> > I think I may know the cause. The at_exit removal of the temp tables is
> > taking place in a failed transaction. Let me test that idea tomorrow.
>
> Take a look at the code for cleaning up the listen/notify table
> (Async_UnlistenOnExit() in backend/commands/async.c). It used to
> have problems with cleaning up when the last transaction executed
> by the backend had failed. I fixed that by aborting any old transaction
> and starting/committing a new one. I believe that any at_exit,
> on_shmem_exit, etc routine that tries to perform database changes will
> need to be coded similarly.
Thanks. I have added AbortOutOfAnyTransaction() to the fix. I did not
have that function call.
--
Bruce Momjian | http://www.op.net/~candle
maillist(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026