DROP DOMAIN IF EXISTS test_domain_exists;
DROP DOMAIN test_domain_exists;
ERROR: type "test_domain_exists" does not exist
--- drop the table
-DROP TABLE IF EXISTS test_exists;
-DROP TABLE test_exists;
-ERROR: table "test_exists" does not exist
---
--- role/user/group
---
NOTICE: role "tg2" does not exist, skipping
DROP GROUP tg1;
ERROR: role "tg1" does not exist
+-- collation
+DROP COLLATION test_collation_exists;
+ERROR: collation "test_collation_exists" for encoding "UTF8" does not exist
+DROP COLLATION IF EXISTS test_collation_exists;
+NOTICE: collation "test_collation_exists" does not exist, skipping
+CREATE COLLATION test_collation_exists FROM "POSIX";
+DROP COLLATION test_collation_exists;
+-- conversion
+DROP CONVERSION test_conversion_exists;
+ERROR: conversion "test_conversion_exists" does not exist
+DROP CONVERSION IF EXISTS test_conversion_exists;
+NOTICE: conversion "test_conversion_exists" does not exist, skipping
+CREATE CONVERSION test_conversion_exists
+ FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8;
+DROP CONVERSION test_conversion_exists;
+-- text search parser
+DROP TEXT SEARCH PARSER test_tsparser_exists;
+ERROR: text search parser "test_tsparser_exists" does not exist
+DROP TEXT SEARCH PARSER IF EXISTS test_tsparser_exists;
+NOTICE: text search parser "test_tsparser_exists" does not exist, skipping
+-- text search dictionary
+DROP TEXT SEARCH DICTIONARY test_tsdict_exists;
+ERROR: text search dictionary "test_tsdict_exists" does not exist
+DROP TEXT SEARCH DICTIONARY IF EXISTS test_tsdict_exists;
+NOTICE: text search dictionary "test_tsdict_exists" does not exist, skipping
+CREATE TEXT SEARCH DICTIONARY test_tsdict_exists (
+ Template=ispell,
+ DictFile=ispell_sample,
+ AffFile=ispell_sample
+);
+DROP TEXT SEARCH DICTIONARY test_tsdict_exists;
+-- test search template
+DROP TEXT SEARCH TEMPLATE test_tstemplate_exists;
+ERROR: text search template "test_tstemplate_exists" does not exist
+DROP TEXT SEARCH TEMPLATE IF EXISTS test_tstemplate_exists;
+NOTICE: text search template "test_tstemplate_exists" does not exist, skipping
+-- text search configuration
+DROP TEXT SEARCH CONFIGURATION test_tsconfig_exists;
+ERROR: text search configuration "test_tsconfig_exists" does not exist
+DROP TEXT SEARCH CONFIGURATION IF EXISTS test_tsconfig_exists;
+NOTICE: text search configuration "test_tsconfig_exists" does not exist, skipping
+CREATE TEXT SEARCH CONFIGURATION test_tsconfig_exists (COPY=english);
+DROP TEXT SEARCH CONFIGURATION test_tsconfig_exists;
+-- extension
+DROP EXTENSION test_extension_exists;
+ERROR: extension "test_extension_exists" does not exist
+DROP EXTENSION IF EXISTS test_extension_exists;
+NOTICE: extension "test_extension_exists" does not exist, skipping
+-- functions
+DROP FUNCTION test_function_exists();
+ERROR: function test_function_exists() does not exist
+DROP FUNCTION IF EXISTS test_function_exists();
+NOTICE: function test_function_exists() does not exist, skipping
+DROP FUNCTION test_function_exists(int, text, int[]);
+ERROR: function test_function_exists(integer, text, integer[]) does not exist
+DROP FUNCTION IF EXISTS test_function_exists(int, text, int[]);
+NOTICE: function test_function_exists(pg_catalog.int4,text,pg_catalog.int4[]) does not exist, skipping
+-- aggregate
+DROP AGGREGATE test_aggregate_exists(*);
+ERROR: aggregate test_aggregate_exists(*) does not exist
+DROP AGGREGATE IF EXISTS test_aggregate_exists(*);
+NOTICE: aggregate test_aggregate_exists() does not exist, skipping
+DROP AGGREGATE test_aggregate_exists(int);
+ERROR: aggregate test_aggregate_exists(integer) does not exist
+DROP AGGREGATE IF EXISTS test_aggregate_exists(int);
+NOTICE: aggregate test_aggregate_exists(pg_catalog.int4) does not exist, skipping
+-- operator
+DROP OPERATOR @#@ (int, int);
+ERROR: operator does not exist: integer @#@ integer
+DROP OPERATOR IF EXISTS @#@ (int, int);
+NOTICE: operator @#@ does not exist, skipping
+CREATE OPERATOR @#@
+ (leftarg = int8, rightarg = int8, procedure = int8xor);
+DROP OPERATOR @#@ (int8, int8);
+-- language
+DROP LANGUAGE test_language_exists;
+ERROR: language "test_language_exists" does not exist
+DROP LANGUAGE IF EXISTS test_language_exists;
+NOTICE: language "test_language_exists" does not exist, skipping
+-- cast
+DROP CAST (text AS text);
+ERROR: cast from type text to type text does not exist
+DROP CAST IF EXISTS (text AS text);
+NOTICE: cast from type text to type text does not exist, skipping
+-- trigger
+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
+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
+CREATE TRIGGER test_trigger_exists
+ BEFORE UPDATE ON test_exists
+ FOR EACH ROW EXECUTE PROCEDURE suppress_redundant_updates_trigger();
+DROP TRIGGER test_trigger_exists ON test_exists;
+-- rule
+DROP RULE test_rule_exists ON test_exists;
+ERROR: rule "test_rule_exists" for relation "test_exists" does not exist
+DROP RULE IF EXISTS test_rule_exists ON test_exists;
+NOTICE: rule "test_rule_exists" for relation "test_exists" does not exist, skipping
+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
+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);
+DROP RULE test_rule_exists ON test_exists;
+-- foreign data wrapper
+DROP FOREIGN DATA WRAPPER test_fdw_exists;
+ERROR: foreign-data wrapper "test_fdw_exists" does not exist
+DROP FOREIGN DATA WRAPPER IF EXISTS test_fdw_exists;
+NOTICE: foreign-data wrapper "test_fdw_exists" does not exist, skipping
+-- foreign server
+DROP SERVER test_server_exists;
+ERROR: server "test_server_exists" does not exist
+DROP SERVER IF EXISTS test_server_exists;
+NOTICE: server "test_server_exists" does not exist, skipping
+-- operator class
+DROP OPERATOR CLASS test_operator_class USING btree;
+ERROR: operator class "test_operator_class" does not exist for access method "btree"
+DROP OPERATOR CLASS IF EXISTS test_operator_class USING btree;
+NOTICE: operator class "test_operator_class" does not exist for access method "btree"
+DROP OPERATOR CLASS test_operator_class USING no_such_am;
+ERROR: access method "no_such_am" does not exist
+DROP OPERATOR CLASS IF EXISTS test_operator_class USING no_such_am;
+ERROR: access method "no_such_am" does not exist
+-- operator family
+DROP OPERATOR FAMILY test_operator_family USING btree;
+ERROR: operator family "test_operator_family" does not exist for access method "btree"
+DROP OPERATOR FAMILY IF EXISTS test_operator_family USING btree;
+ERROR: operator family "test_operator_family" does not exist for access method "btree"
+DROP OPERATOR FAMILY test_operator_family USING no_such_am;
+ERROR: access method "no_such_am" does not exist
+DROP OPERATOR FAMILY IF EXISTS test_operator_family USING no_such_am;
+ERROR: access method "no_such_am" does not exist
+-- drop the table
+DROP TABLE IF EXISTS test_exists;
+DROP TABLE test_exists;
+ERROR: table "test_exists" does not exist
DROP DOMAIN test_domain_exists;
--- drop the table
-
-
-DROP TABLE IF EXISTS test_exists;
-
-DROP TABLE test_exists;
-
-
---
--- role/user/group
---
DROP GROUP IF EXISTS tg1, tg2;
DROP GROUP tg1;
+
+-- collation
+DROP COLLATION test_collation_exists;
+DROP COLLATION IF EXISTS test_collation_exists;
+CREATE COLLATION test_collation_exists FROM "POSIX";
+DROP COLLATION test_collation_exists;
+
+-- conversion
+DROP CONVERSION test_conversion_exists;
+DROP CONVERSION IF EXISTS test_conversion_exists;
+CREATE CONVERSION test_conversion_exists
+ FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8;
+DROP CONVERSION test_conversion_exists;
+
+-- text search parser
+DROP TEXT SEARCH PARSER test_tsparser_exists;
+DROP TEXT SEARCH PARSER IF EXISTS test_tsparser_exists;
+
+-- text search dictionary
+DROP TEXT SEARCH DICTIONARY test_tsdict_exists;
+DROP TEXT SEARCH DICTIONARY IF EXISTS test_tsdict_exists;
+CREATE TEXT SEARCH DICTIONARY test_tsdict_exists (
+ Template=ispell,
+ DictFile=ispell_sample,
+ AffFile=ispell_sample
+);
+DROP TEXT SEARCH DICTIONARY test_tsdict_exists;
+
+-- test search template
+DROP TEXT SEARCH TEMPLATE test_tstemplate_exists;
+DROP TEXT SEARCH TEMPLATE IF EXISTS test_tstemplate_exists;
+
+-- text search configuration
+DROP TEXT SEARCH CONFIGURATION test_tsconfig_exists;
+DROP TEXT SEARCH CONFIGURATION IF EXISTS test_tsconfig_exists;
+CREATE TEXT SEARCH CONFIGURATION test_tsconfig_exists (COPY=english);
+DROP TEXT SEARCH CONFIGURATION test_tsconfig_exists;
+
+-- extension
+DROP EXTENSION test_extension_exists;
+DROP EXTENSION IF EXISTS test_extension_exists;
+
+-- functions
+DROP FUNCTION test_function_exists();
+DROP FUNCTION IF EXISTS test_function_exists();
+
+DROP FUNCTION test_function_exists(int, text, int[]);
+DROP FUNCTION IF EXISTS test_function_exists(int, text, int[]);
+
+-- aggregate
+DROP AGGREGATE test_aggregate_exists(*);
+DROP AGGREGATE IF EXISTS test_aggregate_exists(*);
+
+DROP AGGREGATE test_aggregate_exists(int);
+DROP AGGREGATE IF EXISTS test_aggregate_exists(int);
+
+-- operator
+DROP OPERATOR @#@ (int, int);
+DROP OPERATOR IF EXISTS @#@ (int, int);
+CREATE OPERATOR @#@
+ (leftarg = int8, rightarg = int8, procedure = int8xor);
+DROP OPERATOR @#@ (int8, int8);
+
+-- language
+DROP LANGUAGE test_language_exists;
+DROP LANGUAGE IF EXISTS test_language_exists;
+
+-- cast
+DROP CAST (text AS text);
+DROP CAST IF EXISTS (text AS text);
+
+-- trigger
+DROP TRIGGER test_trigger_exists ON test_exists;
+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;
+
+CREATE TRIGGER test_trigger_exists
+ BEFORE UPDATE ON test_exists
+ FOR EACH ROW EXECUTE PROCEDURE suppress_redundant_updates_trigger();
+DROP TRIGGER test_trigger_exists ON test_exists;
+
+-- rule
+DROP RULE test_rule_exists ON test_exists;
+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;
+
+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);
+DROP RULE test_rule_exists ON test_exists;
+
+-- foreign data wrapper
+DROP FOREIGN DATA WRAPPER test_fdw_exists;
+DROP FOREIGN DATA WRAPPER IF EXISTS test_fdw_exists;
+
+-- foreign server
+DROP SERVER test_server_exists;
+DROP SERVER IF EXISTS test_server_exists;
+
+-- operator class
+DROP OPERATOR CLASS test_operator_class USING btree;
+DROP OPERATOR CLASS IF EXISTS test_operator_class USING btree;
+
+DROP OPERATOR CLASS test_operator_class USING no_such_am;
+DROP OPERATOR CLASS IF EXISTS test_operator_class USING no_such_am;
+
+-- operator family
+DROP OPERATOR FAMILY test_operator_family USING btree;
+DROP OPERATOR FAMILY IF EXISTS test_operator_family USING btree;
+
+DROP OPERATOR FAMILY test_operator_family USING no_such_am;
+DROP OPERATOR FAMILY IF EXISTS test_operator_family USING no_such_am;
+
+-- drop the table
+
+DROP TABLE IF EXISTS test_exists;
+
+DROP TABLE test_exists;