The following bug has been logged online: Bug reference: 1808 Logged by: Michael Afanasiev Email address: [EMAIL PROTECTED] PostgreSQL version: 8.0.0 & 7.4.6 Operating system: 8.0.0 - WIN XP 7.4.6 FreeBSD Description: bug: plan bugs on alert /drop table Details:
/* Postgres must recreate all plans when table recreated or alerted */ show server_version; --8.0.0 & 7.4.6 CREATE TABLE public.a ( a int4); CREATE FUNCTION public.aa_func() RETURNS int4 AS 'BEGIN insert into a (a) values (1); RETURN 1; END;' LANGUAGE 'plpgsql' VOLATILE; SELECT * FROM aa_func(); -- OK 1 row inserted DROP TABLE a; CREATE TABLE public.a ( a int4); SELECT * FROM a; SELECT * FROM aa_func();-- !!! ERROR: relation with OID XXXX does not exist DROP FUNCTION public.aa_func(); CREATE FUNCTION public.aa_func() RETURNS int4 AS 'BEGIN insert into a (a) values (1); RETURN 1; END;' LANGUAGE 'plpgsql' VOLATILE; -- DROP function ,CREATE function or reconnect SELECT * FROM aa_func(); -- OK 1 row inserted SELECT * FROM a; DELETE FROM a; ALTER TABLE public.a ADD COLUMN b int4; ALTER TABLE public.a ALTER COLUMN b SET NOT NULL; ALTER TABLE public.a ALTER COLUMN b SET DEFAULT 0; SELECT * FROM aa_func(); -- !!! ERROR: .. null value in column "b" violates not-null constraint --DROP function ,CREATE function or reconnect SELECT * FROM aa_func(); --- OK 1 row inserted ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq