From 2036b3fc597e4e39b87a185a60e51b2467d50783 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Mon, 15 Apr 2002 23:39:42 +0000 Subject: [PATCH] Disable VACUUM from being called from a function because function memory would be cleared by vacuum; fix idea from Tom Lane. --- src/backend/commands/vacuum.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/backend/commands/vacuum.c b/src/backend/commands/vacuum.c index 20a366d02a..eaee990c69 100644 --- a/src/backend/commands/vacuum.c +++ b/src/backend/commands/vacuum.c @@ -13,7 +13,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/vacuum.c,v 1.223 2002/04/12 20:38:25 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/vacuum.c,v 1.224 2002/04/15 23:39:42 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -181,6 +181,10 @@ vacuum(VacuumStmt *vacstmt) if (IsTransactionBlock()) elog(ERROR, "%s cannot run inside a BEGIN/END block", stmttype); + /* Running VACUUM from a function would free the function context */ + if (!MemoryContextContains(QueryContext, vacstmt)) + elog(ERROR, "%s cannot be executed from a function", stmttype); + /* * Send info about dead objects to the statistics collector */ -- 2.40.0