aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2000-04-06 18:12:07 +0000
committerBruce Momjian <bruce@momjian.us>2000-04-06 18:12:07 +0000
commit65ea4f677f6ee9ad9b67a5133873037c2206202a (patch)
treeb0022e7bdb6f03141796f33333e9895978ce55a5
parent6929459279627571d0c8f7e8832f9922aac6ca72 (diff)
downloadpostgresql-65ea4f677f6ee9ad9b67a5133873037c2206202a.tar.gz
postgresql-65ea4f677f6ee9ad9b67a5133873037c2206202a.zip
Allow vacuum of temporary tables
-rw-r--r--src/backend/commands/vacuum.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/backend/commands/vacuum.c b/src/backend/commands/vacuum.c
index c8498eddbce..5c300c69398 100644
--- a/src/backend/commands/vacuum.c
+++ b/src/backend/commands/vacuum.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/vacuum.c,v 1.145 2000/04/06 00:29:51 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/vacuum.c,v 1.146 2000/04/06 18:12:07 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -42,6 +42,7 @@
#include "utils/portal.h"
#include "utils/relcache.h"
#include "utils/syscache.h"
+#include "utils/temprel.h"
#ifndef HAVE_GETRUSAGE
#include "rusagestub.h"
@@ -315,14 +316,20 @@ vc_getrels(NameData *VacRelP)
if (NameStr(*VacRelP))
{
-
/*
* we could use the cache here, but it is clearer to use scankeys
* for both vacuum cases, bjm 2000/01/19
*/
+ char *nontemp_relname;
+
+ /* We must re-map temp table names bjm 2000-04-06 */
+ if ((nontemp_relname =
+ get_temp_rel_by_username(NameStr(*VacRelP))) == NULL)
+ nontemp_relname = NameStr(*VacRelP);
+
ScanKeyEntryInitialize(&key, 0x0, Anum_pg_class_relname,
F_NAMEEQ,
- PointerGetDatum(NameStr(*VacRelP)));
+ PointerGetDatum(nontemp_relname));
}
else
{