diff options
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/regress/expected/drop_if_exists.out | 79 | ||||
-rw-r--r-- | src/test/regress/expected/event_trigger.out | 2 | ||||
-rw-r--r-- | src/test/regress/sql/drop_if_exists.sql | 41 |
3 files changed, 118 insertions, 4 deletions
diff --git a/src/test/regress/expected/drop_if_exists.out b/src/test/regress/expected/drop_if_exists.out index 85994016e15..6910b627c15 100644 --- a/src/test/regress/expected/drop_if_exists.out +++ b/src/test/regress/expected/drop_if_exists.out @@ -169,11 +169,15 @@ NOTICE: cast from type text to type text does not exist, skipping DROP TRIGGER test_trigger_exists ON test_exists; ERROR: trigger "test_trigger_exists" for table "test_exists" does not exist DROP TRIGGER IF EXISTS test_trigger_exists ON test_exists; -NOTICE: trigger "test_trigger_exists" for table "test_exists" does not exist, skipping +NOTICE: trigger "test_trigger_exists" for relation "test_exists" does not exist, skipping DROP TRIGGER test_trigger_exists ON no_such_table; ERROR: relation "no_such_table" does not exist DROP TRIGGER IF EXISTS test_trigger_exists ON no_such_table; -ERROR: relation "no_such_table" does not exist +NOTICE: relation "no_such_table" does not exist, skipping +DROP TRIGGER test_trigger_exists ON no_such_schema.no_such_table; +ERROR: schema "no_such_schema" does not exist +DROP TRIGGER IF EXISTS test_trigger_exists ON no_such_schema.no_such_table; +NOTICE: schema "no_such_schema" does not exist, skipping CREATE TRIGGER test_trigger_exists BEFORE UPDATE ON test_exists FOR EACH ROW EXECUTE PROCEDURE suppress_redundant_updates_trigger(); @@ -186,7 +190,11 @@ NOTICE: rule "test_rule_exists" for relation "test_exists" does not exist, skip DROP RULE test_rule_exists ON no_such_table; ERROR: relation "no_such_table" does not exist DROP RULE IF EXISTS test_rule_exists ON no_such_table; -ERROR: relation "no_such_table" does not exist +NOTICE: relation "no_such_table" does not exist, skipping +DROP RULE test_rule_exists ON no_such_schema.no_such_table; +ERROR: schema "no_such_schema" does not exist +DROP RULE IF EXISTS test_rule_exists ON no_such_schema.no_such_table; +NOTICE: schema "no_such_schema" does not exist, skipping CREATE RULE test_rule_exists AS ON INSERT TO test_exists DO INSTEAD INSERT INTO test_exists VALUES (NEW.a, NEW.b || NEW.a::text); @@ -223,3 +231,68 @@ ERROR: access method "no_such_am" does not exist DROP TABLE IF EXISTS test_exists; DROP TABLE test_exists; ERROR: table "test_exists" does not exist +-- be tolerant with missing schemas, types, etc +DROP AGGREGATE IF EXISTS no_such_schema.foo(int); +NOTICE: schema "no_such_schema" does not exist, skipping +DROP AGGREGATE IF EXISTS foo(no_such_type); +NOTICE: type "no_such_type" does not exist, skipping +DROP AGGREGATE IF EXISTS foo(no_such_schema.no_such_type); +NOTICE: schema "no_such_schema" does not exist, skipping +DROP CAST IF EXISTS (INTEGER AS no_such_type2); +NOTICE: type "no_such_type2" does not exist, skipping +DROP CAST IF EXISTS (no_such_type1 AS INTEGER); +NOTICE: type "no_such_type1" does not exist, skipping +DROP CAST IF EXISTS (INTEGER AS no_such_schema.bar); +NOTICE: schema "no_such_schema" does not exist, skipping +DROP CAST IF EXISTS (no_such_schema.foo AS INTEGER); +NOTICE: schema "no_such_schema" does not exist, skipping +DROP COLLATION IF EXISTS no_such_schema.foo; +NOTICE: schema "no_such_schema" does not exist, skipping +DROP CONVERSION IF EXISTS no_such_schema.foo; +NOTICE: schema "no_such_schema" does not exist, skipping +DROP DOMAIN IF EXISTS no_such_schema.foo; +NOTICE: schema "no_such_schema" does not exist, skipping +DROP FOREIGN TABLE IF EXISTS no_such_schema.foo; +NOTICE: schema "no_such_schema" does not exist, skipping +DROP FUNCTION IF EXISTS no_such_schema.foo(); +NOTICE: schema "no_such_schema" does not exist, skipping +DROP FUNCTION IF EXISTS foo(no_such_type); +NOTICE: type "no_such_type" does not exist, skipping +DROP FUNCTION IF EXISTS foo(no_such_schema.no_such_type); +NOTICE: schema "no_such_schema" does not exist, skipping +DROP INDEX IF EXISTS no_such_schema.foo; +NOTICE: schema "no_such_schema" does not exist, skipping +DROP MATERIALIZED VIEW IF EXISTS no_such_schema.foo; +NOTICE: schema "no_such_schema" does not exist, skipping +DROP OPERATOR IF EXISTS no_such_schema.+ (int, int); +NOTICE: schema "no_such_schema" does not exist, skipping +DROP OPERATOR IF EXISTS + (no_such_type, no_such_type); +NOTICE: type "no_such_type" does not exist, skipping +DROP OPERATOR IF EXISTS + (no_such_schema.no_such_type, no_such_schema.no_such_type); +NOTICE: schema "no_such_schema" does not exist, skipping +DROP OPERATOR IF EXISTS # (NONE, no_such_schema.no_such_type); +NOTICE: schema "no_such_schema" does not exist, skipping +DROP OPERATOR CLASS IF EXISTS no_such_schema.widget_ops USING btree; +NOTICE: schema "no_such_schema" does not exist, skipping +DROP OPERATOR FAMILY IF EXISTS no_such_schema.float_ops USING btree; +NOTICE: schema "no_such_schema" does not exist, skipping +DROP RULE IF EXISTS foo ON no_such_schema.bar; +NOTICE: schema "no_such_schema" does not exist, skipping +DROP SEQUENCE IF EXISTS no_such_schema.foo; +NOTICE: schema "no_such_schema" does not exist, skipping +DROP TABLE IF EXISTS no_such_schema.foo; +NOTICE: schema "no_such_schema" does not exist, skipping +DROP TEXT SEARCH CONFIGURATION IF EXISTS no_such_schema.foo; +NOTICE: schema "no_such_schema" does not exist, skipping +DROP TEXT SEARCH DICTIONARY IF EXISTS no_such_schema.foo; +NOTICE: schema "no_such_schema" does not exist, skipping +DROP TEXT SEARCH PARSER IF EXISTS no_such_schema.foo; +NOTICE: schema "no_such_schema" does not exist, skipping +DROP TEXT SEARCH TEMPLATE IF EXISTS no_such_schema.foo; +NOTICE: schema "no_such_schema" does not exist, skipping +DROP TRIGGER IF EXISTS foo ON no_such_schema.bar; +NOTICE: schema "no_such_schema" does not exist, skipping +DROP TYPE IF EXISTS no_such_schema.foo; +NOTICE: schema "no_such_schema" does not exist, skipping +DROP VIEW IF EXISTS no_such_schema.foo; +NOTICE: schema "no_such_schema" does not exist, skipping diff --git a/src/test/regress/expected/event_trigger.out b/src/test/regress/expected/event_trigger.out index 656d47f9966..d4723b223d7 100644 --- a/src/test/regress/expected/event_trigger.out +++ b/src/test/regress/expected/event_trigger.out @@ -280,7 +280,7 @@ SELECT * FROM dropped_objects WHERE schema IS NULL OR schema <> 'pg_toast'; (23 rows) DROP OWNED BY regression_bob; -NOTICE: table "audit_tbls_schema_one_table_two" does not exist, skipping +NOTICE: schema "audit_tbls" does not exist, skipping CONTEXT: SQL statement "DROP TABLE IF EXISTS audit_tbls.audit_tbls_schema_one_table_two" PL/pgSQL function test_evtrig_dropped_objects() line 8 at EXECUTE statement SELECT * FROM dropped_objects WHERE type = 'schema'; diff --git a/src/test/regress/sql/drop_if_exists.sql b/src/test/regress/sql/drop_if_exists.sql index 633056619aa..03547ccae7a 100644 --- a/src/test/regress/sql/drop_if_exists.sql +++ b/src/test/regress/sql/drop_if_exists.sql @@ -182,6 +182,9 @@ DROP TRIGGER IF EXISTS test_trigger_exists ON test_exists; DROP TRIGGER test_trigger_exists ON no_such_table; DROP TRIGGER IF EXISTS test_trigger_exists ON no_such_table; +DROP TRIGGER test_trigger_exists ON no_such_schema.no_such_table; +DROP TRIGGER IF EXISTS test_trigger_exists ON no_such_schema.no_such_table; + CREATE TRIGGER test_trigger_exists BEFORE UPDATE ON test_exists FOR EACH ROW EXECUTE PROCEDURE suppress_redundant_updates_trigger(); @@ -194,6 +197,9 @@ DROP RULE IF EXISTS test_rule_exists ON test_exists; DROP RULE test_rule_exists ON no_such_table; DROP RULE IF EXISTS test_rule_exists ON no_such_table; +DROP RULE test_rule_exists ON no_such_schema.no_such_table; +DROP RULE IF EXISTS test_rule_exists ON no_such_schema.no_such_table; + CREATE RULE test_rule_exists AS ON INSERT TO test_exists DO INSTEAD INSERT INTO test_exists VALUES (NEW.a, NEW.b || NEW.a::text); @@ -226,3 +232,38 @@ DROP OPERATOR FAMILY IF EXISTS test_operator_family USING no_such_am; DROP TABLE IF EXISTS test_exists; DROP TABLE test_exists; + +-- be tolerant with missing schemas, types, etc + +DROP AGGREGATE IF EXISTS no_such_schema.foo(int); +DROP AGGREGATE IF EXISTS foo(no_such_type); +DROP AGGREGATE IF EXISTS foo(no_such_schema.no_such_type); +DROP CAST IF EXISTS (INTEGER AS no_such_type2); +DROP CAST IF EXISTS (no_such_type1 AS INTEGER); +DROP CAST IF EXISTS (INTEGER AS no_such_schema.bar); +DROP CAST IF EXISTS (no_such_schema.foo AS INTEGER); +DROP COLLATION IF EXISTS no_such_schema.foo; +DROP CONVERSION IF EXISTS no_such_schema.foo; +DROP DOMAIN IF EXISTS no_such_schema.foo; +DROP FOREIGN TABLE IF EXISTS no_such_schema.foo; +DROP FUNCTION IF EXISTS no_such_schema.foo(); +DROP FUNCTION IF EXISTS foo(no_such_type); +DROP FUNCTION IF EXISTS foo(no_such_schema.no_such_type); +DROP INDEX IF EXISTS no_such_schema.foo; +DROP MATERIALIZED VIEW IF EXISTS no_such_schema.foo; +DROP OPERATOR IF EXISTS no_such_schema.+ (int, int); +DROP OPERATOR IF EXISTS + (no_such_type, no_such_type); +DROP OPERATOR IF EXISTS + (no_such_schema.no_such_type, no_such_schema.no_such_type); +DROP OPERATOR IF EXISTS # (NONE, no_such_schema.no_such_type); +DROP OPERATOR CLASS IF EXISTS no_such_schema.widget_ops USING btree; +DROP OPERATOR FAMILY IF EXISTS no_such_schema.float_ops USING btree; +DROP RULE IF EXISTS foo ON no_such_schema.bar; +DROP SEQUENCE IF EXISTS no_such_schema.foo; +DROP TABLE IF EXISTS no_such_schema.foo; +DROP TEXT SEARCH CONFIGURATION IF EXISTS no_such_schema.foo; +DROP TEXT SEARCH DICTIONARY IF EXISTS no_such_schema.foo; +DROP TEXT SEARCH PARSER IF EXISTS no_such_schema.foo; +DROP TEXT SEARCH TEMPLATE IF EXISTS no_such_schema.foo; +DROP TRIGGER IF EXISTS foo ON no_such_schema.bar; +DROP TYPE IF EXISTS no_such_schema.foo; +DROP VIEW IF EXISTS no_such_schema.foo; |