Cascading Failure
After the GUC parameter ddl_invalid_mode is set to invalid, the cascading of functions, stored procedures, and packages becomes invalid.
Examples
-- Configure the following parameters: SET ddl_invalid_mode='invalid'; SET CREATE TYPE type1 AS (f1 int, f2 text); CREATE TYPE CREATE OR REPLACE FUNCTION func1(var type1) RETURN varchar IS BEGIN RETURN NULL; END; / CREATE FUNCTION SELECT proname,valid FROM pg_object obj JOIN pg_proc proc ON obj.object_oid = proc.oid AND proname = 'func1' AND propackageid = 0; proname | valid ---------+------- func1 | t (1 row) DROP TYPE type1; DROP TYPE -- Query status. SELECT proname,valid FROM pg_object obj JOIN pg_proc proc ON obj.object_oid = proc.oid AND proname = 'func1' AND propackageid = 0; proname | valid ---------+------- func1 | f (1 row) -- The function is not deleted and still exists. SELECT proname FROM pg_proc WHERE proname = 'func1' AND propackageid = 0; proname --------- func1 (1 row) -- Drop a created object. DROP FUNCTION func1; DROP FUNCTION
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.