Oops, I see now. How is this?
Remember, I am not incredibly capable, just persistent. :-)
---------------------------------------------------------------------------
Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > *** src/backend/commands/vacuum.c 12 Apr 2002 20:38:25 -0000 1.223
> > --- src/backend/commands/vacuum.c 14 Apr 2002 16:41:37 -0000
> > ***************
> > *** 181,186 ****
> > --- 181,189 ----
> > if (IsTransactionBlock())
> > elog(ERROR, "%s cannot run inside a BEGIN/END block", stmttype);
>
> > + if (!MemoryContextContains(QueryContext, vacstmt))
> > + elog(ERROR, "VACUUM cannot be executed from a function");
> > +
> > /*
> > * Send info about dead objects to the statistics collector
> > */
>
> > --ELM1018803173-10746-0_--
>
> Compare to immediately preceding error check. Isn't there something
> missing here?
>
> regards, tom lane
>
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Index: src/backend/commands/vacuum.c
===================================================================
RCS file: /cvsroot/pgsql/src/backend/commands/vacuum.c,v
retrieving revision 1.223
diff -c -r1.223 vacuum.c
*** src/backend/commands/vacuum.c 12 Apr 2002 20:38:25 -0000 1.223
--- src/backend/commands/vacuum.c 14 Apr 2002 16:41:37 -0000
***************
*** 181,186 ****
--- 181,189 ----
if (IsTransactionBlock())
elog(ERROR, "%s cannot run inside a BEGIN/END block", stmttype);
+ if (!MemoryContextContains(QueryContext, vacstmt))
+ elog(ERROR, "%s cannot be executed from a function", stmttype);
+
/*
* Send info about dead objects to the statistics collector
*/