Commit 954e466c authored by Bruce Momjian's avatar Bruce Momjian

Fix for removal of temp tables if last transaction was aborted.

parent d20abcd8
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.106 1999/06/04 21:14:46 tgl Exp $ * $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.107 1999/07/02 18:09:27 momjian Exp $
* *
* NOTES * NOTES
* *
...@@ -1483,8 +1483,8 @@ DoBackend(Port *port) ...@@ -1483,8 +1483,8 @@ DoBackend(Port *port)
* Let's clean up ourselves as the postmaster child * Let's clean up ourselves as the postmaster child
*/ */
on_exit_reset(); /* we don't want the postmaster's /* We don't want the postmaster's proc_exit() handlers */
* proc_exit() handlers */ on_exit_reset();
/* ---------------- /* ----------------
* register signal handlers. * register signal handlers.
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.118 1999/05/29 10:25:30 vadim Exp $ * $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.119 1999/07/02 18:09:27 momjian Exp $
* *
* NOTES * NOTES
* this is the "main" module of the postgres backend and * this is the "main" module of the postgres backend and
...@@ -1483,17 +1483,6 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[]) ...@@ -1483,17 +1483,6 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[])
puts("\treset_client_encoding() done."); puts("\treset_client_encoding() done.");
#endif #endif
/* ----------------
* if stable main memory is assumed (-S(old) flag is set), it is necessary
* to flush all dirty shared buffers before exit
* plai 8/7/90
* this used to be done further down, causing an additional entry in
* the shmem exit list for every error :-( ... tgl 10/1/98
* ----------------
*/
if (!TransactionFlushEnabled())
on_shmem_exit(FlushBufferPool, NULL);
on_shmem_exit(remove_all_temp_relations, NULL); on_shmem_exit(remove_all_temp_relations, NULL);
/* ---------------- /* ----------------
...@@ -1536,7 +1525,7 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[]) ...@@ -1536,7 +1525,7 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[])
if (!IsUnderPostmaster) if (!IsUnderPostmaster)
{ {
puts("\nPOSTGRES backend interactive interface "); puts("\nPOSTGRES backend interactive interface ");
puts("$Revision: 1.118 $ $Date: 1999/05/29 10:25:30 $\n"); puts("$Revision: 1.119 $ $Date: 1999/07/02 18:09:27 $\n");
} }
/* ---------------- /* ----------------
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/cache/Attic/temprel.c,v 1.4 1999/05/25 22:42:16 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/utils/cache/Attic/temprel.c,v 1.5 1999/07/02 18:09:28 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
#include "nodes/pg_list.h" #include "nodes/pg_list.h"
#include "utils/mcxt.h" #include "utils/mcxt.h"
#include "utils/temprel.h" #include "utils/temprel.h"
#include "access/xact.h"
#include "access/htup.h" #include "access/htup.h"
#include "access/heapam.h" #include "access/heapam.h"
#include "catalog/heap.h" #include "catalog/heap.h"
...@@ -79,6 +80,8 @@ remove_all_temp_relations(void) ...@@ -79,6 +80,8 @@ remove_all_temp_relations(void)
List *l, List *l,
*next; *next;
StartTransactionCommand();
l = temp_rels; l = temp_rels;
while (l != NIL) while (l != NIL)
{ {
...@@ -102,6 +105,7 @@ remove_all_temp_relations(void) ...@@ -102,6 +105,7 @@ remove_all_temp_relations(void)
l = next; l = next;
} }
CommitTransactionCommand();
} }
/* we don't have the relname for indexes, so we just pass the oid */ /* we don't have the relname for indexes, so we just pass the oid */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment