Add some more regression tests for DROP IF EXISTS.
KaiGai Kohei
This commit is contained in:
parent
3716ab2c0c
commit
3301c83536
@ -61,10 +61,6 @@ CREATE domain test_domain_exists as int not null check (value > 0);
|
||||
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
|
||||
---
|
||||
@ -89,3 +85,145 @@ DROP GROUP IF EXISTS tg1, tg2;
|
||||
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
|
||||
|
@ -82,14 +82,6 @@ DROP DOMAIN IF EXISTS test_domain_exists;
|
||||
|
||||
DROP DOMAIN test_domain_exists;
|
||||
|
||||
-- drop the table
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS test_exists;
|
||||
|
||||
DROP TABLE test_exists;
|
||||
|
||||
|
||||
---
|
||||
--- role/user/group
|
||||
---
|
||||
@ -115,3 +107,125 @@ DROP GROUP tg2;
|
||||
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;
|
||||
|
Loading…
Reference in New Issue
Block a user