On Wed, 2002-09-18 at 11:03, Tom Lane wrote:
> "Michael Paesold" <mpaesold@gmx.at> writes:
> > I have written a test function, that will create a sequence and a table,
> > than insert one million rows into the table, analyze the table and create an
> > index on one of the columns.
>
> You can't run ANALYZE inside a function. In CVS tip there's a check to
> prevent the VACUUM variant of this problem, but I'm not sure if it
> handles the ANALYZE variant (yet).
ANALYZE in 7.3 works fine in a transaction, so it shouldn't it be able
to work in a function as well?
rbt=# begin;
BEGIN
rbt=# analyze;
ANALYZE
rbt=# commit;
COMMIT
rbt=# create function test() returns bool as 'analyze; select true;'
language 'sql';
CREATE FUNCTION
rbt=# select test();test
------t
(1 row)
-- Rod Taylor