diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2000-11-08 22:10:03 +0000 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2000-11-08 22:10:03 +0000 |
| commit | 3908473c809d5c24940faebfabdad673f4302178 (patch) | |
| tree | 6a1989499ee61771c7764afd2b24d12ebd25b8fb /src/include/utils | |
| parent | ebe0b236909732c75d665c73363bd4ac7a7aa138 (diff) | |
| download | postgresql-3908473c809d5c24940faebfabdad673f4302178.tar.gz | |
Make DROP TABLE rollback-able: postpone physical file delete until commit.
(WAL logging for this is not done yet, however.) Clean up a number of really
crufty things that are no longer needed now that DROP behaves nicely. Make
temp table mapper do the right things when drop or rename affecting a temp
table is rolled back. Also, remove "relation modified while in use" error
check, in favor of locking tables at first reference and holding that lock
throughout the statement.
Diffstat (limited to 'src/include/utils')
| -rw-r--r-- | src/include/utils/inval.h | 4 | ||||
| -rw-r--r-- | src/include/utils/rel.h | 3 | ||||
| -rw-r--r-- | src/include/utils/temprel.h | 4 |
3 files changed, 4 insertions, 7 deletions
diff --git a/src/include/utils/inval.h b/src/include/utils/inval.h index a585152555..b2ccee3adf 100644 --- a/src/include/utils/inval.h +++ b/src/include/utils/inval.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: inval.h,v 1.17 2000/06/08 19:51:06 momjian Exp $ + * $Id: inval.h,v 1.18 2000/11/08 22:10:02 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -26,6 +26,4 @@ extern void RelationInvalidateHeapTuple(Relation relation, HeapTuple tuple); extern void RelationMark4RollbackHeapTuple(Relation relation, HeapTuple tuple); -extern void ImmediateInvalidateSharedHeapTuple(Relation relation, HeapTuple tuple); - #endif /* INVAL_H */ diff --git a/src/include/utils/rel.h b/src/include/utils/rel.h index 4deec0618a..fd4012b0dd 100644 --- a/src/include/utils/rel.h +++ b/src/include/utils/rel.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: rel.h,v 1.41 2000/09/07 09:58:38 vadim Exp $ + * $Id: rel.h,v 1.42 2000/11/08 22:10:02 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -92,7 +92,6 @@ typedef struct RelationData uint16 rd_refcnt; /* reference count */ bool rd_myxactonly; /* rel uses the local buffer mgr */ bool rd_isnailed; /* rel is nailed in cache */ - bool rd_unlinked; /* rel already unlinked or not created yet */ bool rd_indexfound; /* true if rd_indexlist is valid */ bool rd_uniqueindex; /* true if rel is a UNIQUE index */ Form_pg_am rd_am; /* AM tuple */ diff --git a/src/include/utils/temprel.h b/src/include/utils/temprel.h index a99839ac26..789d505878 100644 --- a/src/include/utils/temprel.h +++ b/src/include/utils/temprel.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: temprel.h,v 1.11 2000/10/11 21:28:19 momjian Exp $ + * $Id: temprel.h,v 1.12 2000/11/08 22:10:03 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -23,7 +23,7 @@ extern bool rename_temp_relation(const char *oldname, const char *newname); extern void remove_all_temp_relations(void); -extern void remove_temp_rel_in_myxid(void); +extern void AtEOXact_temp_relations(bool isCommit); extern char *get_temp_rel_by_username(const char *user_relname); extern char *get_temp_rel_by_physicalname(const char *relname); |
