bugfix of drop trigger if exists with schema
This commit is contained in:
@ -1336,19 +1336,19 @@ static ObjectAddress get_object_address_relobject(ObjectType objtype, List* objn
|
|||||||
address.classId = TriggerRelationId;
|
address.classId = TriggerRelationId;
|
||||||
address.objectId = get_trigger_oid(reloid, depname, missing_ok);
|
address.objectId = get_trigger_oid(reloid, depname, missing_ok);
|
||||||
address.objectSubId = 0;
|
address.objectSubId = 0;
|
||||||
break;
|
|
||||||
case OBJECT_TABCONSTRAINT:
|
|
||||||
address.classId = ConstraintRelationId;
|
|
||||||
address.objectId = get_relation_constraint_oid(reloid, depname, missing_ok);
|
|
||||||
address.objectSubId = 0;
|
|
||||||
/* TODO: comments*/
|
/* TODO: comments*/
|
||||||
if (schemaname != NULL) {
|
if (OidIsValid(address.objectId) && schemaname != NULL) {
|
||||||
Oid relNamespaceId = RelationGetNamespace(relation);
|
Oid relNamespaceId = RelationGetNamespace(relation);
|
||||||
if (relNamespaceId != get_namespace_oid(schemaname, false)) {
|
if (relNamespaceId != get_namespace_oid(schemaname, false)) {
|
||||||
ereport(ERROR, (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("trigger in wrong schema: \"%s\".\"%s\"", schemaname, depname)));
|
ereport(ERROR, (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("trigger in wrong schema: \"%s\".\"%s\"", schemaname, depname)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case OBJECT_TABCONSTRAINT:
|
||||||
|
address.classId = ConstraintRelationId;
|
||||||
|
address.objectId = get_relation_constraint_oid(reloid, depname, missing_ok);
|
||||||
|
address.objectSubId = 0;
|
||||||
|
break;
|
||||||
case OBJECT_RLSPOLICY:
|
case OBJECT_RLSPOLICY:
|
||||||
address.classId = RlsPolicyRelationId;
|
address.classId = RlsPolicyRelationId;
|
||||||
address.objectId = relation ? get_rlspolicy_oid(reloid, depname, missing_ok) : InvalidOid;
|
address.objectId = relation ? get_rlspolicy_oid(reloid, depname, missing_ok) : InvalidOid;
|
||||||
|
@ -4,6 +4,7 @@ NOTICE: database "testdb_m" does not exist, skipping
|
|||||||
create database testdb_m dbcompatibility 'B';
|
create database testdb_m dbcompatibility 'B';
|
||||||
\c testdb_m
|
\c testdb_m
|
||||||
create schema testscm;
|
create schema testscm;
|
||||||
|
create schema testscm2;
|
||||||
create table animals (id int, name char(30));
|
create table animals (id int, name char(30));
|
||||||
create table food (id int, foodtype varchar(32), remark varchar(32), time_flag timestamp);
|
create table food (id int, foodtype varchar(32), remark varchar(32), time_flag timestamp);
|
||||||
create table testscm.animals_scm (id int, name char(30));
|
create table testscm.animals_scm (id int, name char(30));
|
||||||
@ -287,6 +288,42 @@ begin
|
|||||||
end;
|
end;
|
||||||
/
|
/
|
||||||
ERROR: schema "testscm_no" does not exist
|
ERROR: schema "testscm_no" does not exist
|
||||||
|
create trigger animals_trigger1
|
||||||
|
after insert on animals
|
||||||
|
for each row
|
||||||
|
begin
|
||||||
|
insert into food(id, foodtype, remark, time_flag) values (1,'bamboo', 'healthy', now());
|
||||||
|
end;
|
||||||
|
/
|
||||||
|
create trigger testscm.animals_trigger2
|
||||||
|
after insert on testscm.animals_scm
|
||||||
|
for each row
|
||||||
|
begin
|
||||||
|
insert into food(id, foodtype, remark, time_flag) values (1,'bamboo', 'healthy', now());
|
||||||
|
end;
|
||||||
|
/
|
||||||
|
-- ERROR: trigger in wrong schema: "testscm"."animals_trigger1"
|
||||||
|
drop trigger testscm.animals_trigger1;
|
||||||
|
ERROR: trigger in wrong schema: "testscm"."animals_trigger1"
|
||||||
|
-- OK
|
||||||
|
drop trigger animals_trigger1;
|
||||||
|
-- ERROR: schema "testscm_no" does not exist
|
||||||
|
drop trigger testscm_no.animals_trigger2;
|
||||||
|
ERROR: schema "testscm_no" does not exist
|
||||||
|
-- OK
|
||||||
|
drop trigger animals_trigger2;
|
||||||
|
select tgname from pg_trigger;
|
||||||
|
tgname
|
||||||
|
--------
|
||||||
|
(0 rows)
|
||||||
|
|
||||||
|
-- ERROR: trigger "animals_trigger_no" does not exist
|
||||||
|
drop trigger animals_trigger_no;
|
||||||
|
ERROR: trigger "animals_trigger_no" does not exist
|
||||||
|
drop trigger testscm.animals_trigger_no;
|
||||||
|
ERROR: trigger "animals_trigger_no" does not exist
|
||||||
|
drop trigger testscm_no.animals_trigger_no;
|
||||||
|
ERROR: trigger "animals_trigger_no" does not exist
|
||||||
-- 1.1.1.4 trigger with bad schema
|
-- 1.1.1.4 trigger with bad schema
|
||||||
create trigger testscm.
|
create trigger testscm.
|
||||||
after insert on testscm.animals_scm
|
after insert on testscm.animals_scm
|
||||||
@ -638,6 +675,42 @@ begin
|
|||||||
end;
|
end;
|
||||||
/
|
/
|
||||||
ERROR: schema "testscm_no" does not exist
|
ERROR: schema "testscm_no" does not exist
|
||||||
|
create trigger animals_trigger1
|
||||||
|
after insert on animals
|
||||||
|
for each row
|
||||||
|
begin
|
||||||
|
insert into food(id, foodtype, remark, time_flag) values (1,'bamboo', 'healthy', now());
|
||||||
|
end;
|
||||||
|
/
|
||||||
|
create trigger testscm.animals_trigger2
|
||||||
|
after insert on testscm.animals_scm
|
||||||
|
for each row
|
||||||
|
begin
|
||||||
|
insert into food(id, foodtype, remark, time_flag) values (1,'bamboo', 'healthy', now());
|
||||||
|
end;
|
||||||
|
/
|
||||||
|
-- ERROR: trigger in wrong schema: "testscm"."animals_trigger1"
|
||||||
|
drop trigger if exists testscm.animals_trigger1;
|
||||||
|
ERROR: trigger in wrong schema: "testscm"."animals_trigger1"
|
||||||
|
-- OK
|
||||||
|
drop trigger if exists animals_trigger1;
|
||||||
|
-- ERROR: schema "testscm_no" does not exist
|
||||||
|
drop trigger if exists testscm_no.animals_trigger2;
|
||||||
|
ERROR: schema "testscm_no" does not exist
|
||||||
|
-- OK
|
||||||
|
drop trigger if exists animals_trigger2;
|
||||||
|
select tgname from pg_trigger;
|
||||||
|
tgname
|
||||||
|
--------
|
||||||
|
(0 rows)
|
||||||
|
|
||||||
|
-- NOTICE: trigger "animals_trigger_no" does not exist, skipping
|
||||||
|
drop trigger if exists animals_trigger_no;
|
||||||
|
NOTICE: trigger "animals_trigger_no" does not exist, skipping
|
||||||
|
drop trigger if exists testscm.animals_trigger_no;
|
||||||
|
NOTICE: trigger "animals_trigger_no" does not exist, skipping
|
||||||
|
drop trigger if exists testscm_no.animals_trigger_no;
|
||||||
|
NOTICE: trigger "animals_trigger_no" does not exist, skipping
|
||||||
-- 1.1.3 create trigger execute procedure
|
-- 1.1.3 create trigger execute procedure
|
||||||
create trigger animals_trigger1
|
create trigger animals_trigger1
|
||||||
after insert on animals
|
after insert on animals
|
||||||
@ -718,6 +791,20 @@ select tgname from pg_trigger;
|
|||||||
animals_trigger1
|
animals_trigger1
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
|
-- ERROR: trigger in wrong schema: "testscm"."animals_trigger1"
|
||||||
|
drop trigger testscm.animals_trigger1 on animals;
|
||||||
|
ERROR: trigger in wrong schema: "testscm"."animals_trigger1"
|
||||||
|
-- ERROR: schema "testscm_no" does not exist
|
||||||
|
drop trigger testscm_no.animals_trigger1 on animals;
|
||||||
|
ERROR: schema "testscm_no" does not exist
|
||||||
|
-- ERROR: trigger "animals_trigger_no" for table "animals" does not exist
|
||||||
|
drop trigger animals_trigger_no on animals;
|
||||||
|
ERROR: trigger "animals_trigger_no" for table "animals" does not exist
|
||||||
|
drop trigger testscm.animals_trigger_no on animals;
|
||||||
|
ERROR: trigger "animals_trigger_no" for table "animals" does not exist
|
||||||
|
drop trigger testscm_no.animals_trigger_no on animals;
|
||||||
|
ERROR: trigger "animals_trigger_no" for table "animals" does not exist
|
||||||
|
-- OK
|
||||||
drop trigger animals_trigger1 on animals;
|
drop trigger animals_trigger1 on animals;
|
||||||
drop trigger animals_trigger1 on animals;
|
drop trigger animals_trigger1 on animals;
|
||||||
ERROR: trigger "animals_trigger1" for table "animals" does not exist
|
ERROR: trigger "animals_trigger1" for table "animals" does not exist
|
||||||
@ -739,64 +826,100 @@ select tgname from pg_trigger;
|
|||||||
animals_trigger1
|
animals_trigger1
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
drop trigger if exists animals_trigger1 on animals;
|
-- ERROR: trigger in wrong schema: "testscm"."animals_trigger1"
|
||||||
drop trigger if exists animals_trigger1 on animals;
|
|
||||||
NOTICE: trigger "animals.animals_trigger1" for table "animals" does not exist, skipping
|
|
||||||
select tgname from pg_trigger;
|
|
||||||
tgname
|
|
||||||
--------
|
|
||||||
(0 rows)
|
|
||||||
|
|
||||||
create trigger testscm.animals_trigger2
|
|
||||||
after insert on testscm.animals_scm
|
|
||||||
for each row
|
|
||||||
begin
|
|
||||||
insert into food(id, foodtype, remark, time_flag) values (1,'bamboo', 'healthy', now());
|
|
||||||
end;
|
|
||||||
/
|
|
||||||
select tgname from pg_trigger;
|
|
||||||
tgname
|
|
||||||
------------------
|
|
||||||
animals_trigger2
|
|
||||||
(1 row)
|
|
||||||
|
|
||||||
drop trigger testscm.animals_trigger2 on testscm.animals_scm;
|
|
||||||
drop trigger testscm.animals_trigger2 on testscm.animals_scm;
|
|
||||||
ERROR: trigger "animals_trigger2" for table "animals_scm" does not exist
|
|
||||||
select tgname from pg_trigger;
|
|
||||||
tgname
|
|
||||||
--------
|
|
||||||
(0 rows)
|
|
||||||
|
|
||||||
create trigger testscm.animals_trigger2
|
|
||||||
after insert on testscm.animals_scm
|
|
||||||
for each row
|
|
||||||
begin
|
|
||||||
insert into food(id, foodtype, remark, time_flag) values (1,'bamboo', 'healthy', now());
|
|
||||||
end;
|
|
||||||
/
|
|
||||||
select tgname from pg_trigger;
|
|
||||||
tgname
|
|
||||||
------------------
|
|
||||||
animals_trigger2
|
|
||||||
(1 row)
|
|
||||||
|
|
||||||
drop trigger if exists testscm.animals_trigger2 on testscm.animals_scm;
|
|
||||||
drop trigger if exists testscm.animals_trigger2 on testscm.animals_scm;
|
|
||||||
NOTICE: trigger "testscm.animals_scm.animals_trigger2" for table "testscm.animals_scm" does not exist, skipping
|
|
||||||
select tgname from pg_trigger;
|
|
||||||
tgname
|
|
||||||
--------
|
|
||||||
(0 rows)
|
|
||||||
|
|
||||||
drop trigger testscm.animals_trigger1 on animals;
|
|
||||||
ERROR: trigger "animals_trigger1" for table "animals" does not exist
|
|
||||||
drop trigger testscm_no.animals_trigger2 on testscm.animals_scm;
|
|
||||||
ERROR: trigger "animals_trigger2" for table "animals_scm" does not exist
|
|
||||||
drop trigger if exists testscm.animals_trigger1 on animals;
|
drop trigger if exists testscm.animals_trigger1 on animals;
|
||||||
|
ERROR: trigger in wrong schema: "testscm"."animals_trigger1"
|
||||||
|
-- ERROR: schema "testscm_no" does not exist
|
||||||
|
drop trigger if exists testscm_no.animals_trigger1 on animals;
|
||||||
|
ERROR: schema "testscm_no" does not exist
|
||||||
|
-- NOTICE: trigger "animals.animals_trigger_no" for table "animals" does not exist, skipping
|
||||||
|
drop trigger if exists animals_trigger_no on animals;
|
||||||
|
NOTICE: trigger "animals.animals_trigger_no" for table "animals" does not exist, skipping
|
||||||
|
drop trigger if exists testscm.animals_trigger_no on animals;
|
||||||
|
NOTICE: trigger "animals.animals_trigger_no" for table "animals" does not exist, skipping
|
||||||
|
drop trigger if exists testscm_no.animals_trigger_no on animals;
|
||||||
|
NOTICE: trigger "animals.animals_trigger_no" for table "animals" does not exist, skipping
|
||||||
|
-- OK
|
||||||
|
drop trigger if exists animals_trigger1 on animals;
|
||||||
|
drop trigger if exists animals_trigger1 on animals;
|
||||||
NOTICE: trigger "animals.animals_trigger1" for table "animals" does not exist, skipping
|
NOTICE: trigger "animals.animals_trigger1" for table "animals" does not exist, skipping
|
||||||
|
select tgname from pg_trigger;
|
||||||
|
tgname
|
||||||
|
--------
|
||||||
|
(0 rows)
|
||||||
|
|
||||||
|
create trigger testscm.animals_trigger2
|
||||||
|
after insert on testscm.animals_scm
|
||||||
|
for each row
|
||||||
|
begin
|
||||||
|
insert into food(id, foodtype, remark, time_flag) values (1,'bamboo', 'healthy', now());
|
||||||
|
end;
|
||||||
|
/
|
||||||
|
select tgname from pg_trigger;
|
||||||
|
tgname
|
||||||
|
------------------
|
||||||
|
animals_trigger2
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
-- ERROR: trigger in wrong schema: "testscm2"."animals_trigger2"
|
||||||
|
drop trigger testscm2.animals_trigger2 on testscm.animals_scm;
|
||||||
|
ERROR: trigger in wrong schema: "testscm2"."animals_trigger2"
|
||||||
|
-- ERROR: schema "testscm_no" does not exist
|
||||||
|
drop trigger testscm_no.animals_trigger2 on testscm.animals_scm;
|
||||||
|
ERROR: schema "testscm_no" does not exist
|
||||||
|
-- ERROR: trigger "animals_trigger_no" for table "animals_scm" does not exist
|
||||||
|
drop trigger animals_trigger_no on testscm.animals_scm;
|
||||||
|
ERROR: trigger "animals_trigger_no" for table "animals_scm" does not exist
|
||||||
|
drop trigger testscm.animals_trigger_no on testscm.animals_scm;
|
||||||
|
ERROR: trigger "animals_trigger_no" for table "animals_scm" does not exist
|
||||||
|
drop trigger testscm_no.animals_trigger_no on testscm.animals_scm;
|
||||||
|
ERROR: trigger "animals_trigger_no" for table "animals_scm" does not exist
|
||||||
|
-- OK
|
||||||
|
drop trigger testscm.animals_trigger2 on testscm.animals_scm;
|
||||||
|
drop trigger testscm.animals_trigger2 on testscm.animals_scm;
|
||||||
|
ERROR: trigger "animals_trigger2" for table "animals_scm" does not exist
|
||||||
|
select tgname from pg_trigger;
|
||||||
|
tgname
|
||||||
|
--------
|
||||||
|
(0 rows)
|
||||||
|
|
||||||
|
create trigger testscm.animals_trigger2
|
||||||
|
after insert on testscm.animals_scm
|
||||||
|
for each row
|
||||||
|
begin
|
||||||
|
insert into food(id, foodtype, remark, time_flag) values (1,'bamboo', 'healthy', now());
|
||||||
|
end;
|
||||||
|
/
|
||||||
|
select tgname from pg_trigger;
|
||||||
|
tgname
|
||||||
|
------------------
|
||||||
|
animals_trigger2
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
-- ERROR: trigger in wrong schema: "testscm2"."animals_trigger2"
|
||||||
|
drop trigger if exists testscm2.animals_trigger2 on testscm.animals_scm;
|
||||||
|
ERROR: trigger in wrong schema: "testscm2"."animals_trigger2"
|
||||||
|
-- ERROR: schema "testscm_no" does not exist
|
||||||
drop trigger if exists testscm_no.animals_trigger2 on testscm.animals_scm;
|
drop trigger if exists testscm_no.animals_trigger2 on testscm.animals_scm;
|
||||||
|
ERROR: schema "testscm_no" does not exist
|
||||||
|
-- NOTICE: trigger "testscm.animals_scm.animals_trigger_no" for table "testscm.animals_scm" does not exist, skipping
|
||||||
|
drop trigger if exists animals_trigger_no on testscm.animals_scm;
|
||||||
|
NOTICE: trigger "testscm.animals_scm.animals_trigger_no" for table "testscm.animals_scm" does not exist, skipping
|
||||||
|
drop trigger if exists testscm.animals_trigger_no on testscm.animals_scm;
|
||||||
|
NOTICE: trigger "testscm.animals_scm.animals_trigger_no" for table "testscm.animals_scm" does not exist, skipping
|
||||||
|
drop trigger if exists testscm2.animals_trigger_no on testscm.animals_scm;
|
||||||
|
NOTICE: trigger "testscm.animals_scm.animals_trigger_no" for table "testscm.animals_scm" does not exist, skipping
|
||||||
|
drop trigger if exists testscm_no.animals_trigger_no on testscm.animals_scm;
|
||||||
|
NOTICE: trigger "testscm.animals_scm.animals_trigger_no" for table "testscm.animals_scm" does not exist, skipping
|
||||||
|
-- OK
|
||||||
|
drop trigger if exists testscm.animals_trigger2 on testscm.animals_scm;
|
||||||
|
drop trigger if exists testscm.animals_trigger2 on testscm.animals_scm;
|
||||||
NOTICE: trigger "testscm.animals_scm.animals_trigger2" for table "testscm.animals_scm" does not exist, skipping
|
NOTICE: trigger "testscm.animals_scm.animals_trigger2" for table "testscm.animals_scm" does not exist, skipping
|
||||||
|
select tgname from pg_trigger;
|
||||||
|
tgname
|
||||||
|
--------
|
||||||
|
(0 rows)
|
||||||
|
|
||||||
-- 1.3 alter trigger
|
-- 1.3 alter trigger
|
||||||
create trigger animals_trigger1
|
create trigger animals_trigger1
|
||||||
after insert on animals
|
after insert on animals
|
||||||
|
@ -2,15 +2,12 @@
|
|||||||
drop database if exists testdb_m;
|
drop database if exists testdb_m;
|
||||||
create database testdb_m dbcompatibility 'B';
|
create database testdb_m dbcompatibility 'B';
|
||||||
\c testdb_m
|
\c testdb_m
|
||||||
|
|
||||||
create schema testscm;
|
create schema testscm;
|
||||||
|
create schema testscm2;
|
||||||
create table animals (id int, name char(30));
|
create table animals (id int, name char(30));
|
||||||
create table food (id int, foodtype varchar(32), remark varchar(32), time_flag timestamp);
|
create table food (id int, foodtype varchar(32), remark varchar(32), time_flag timestamp);
|
||||||
|
|
||||||
create table testscm.animals_scm (id int, name char(30));
|
create table testscm.animals_scm (id int, name char(30));
|
||||||
create table testscm.food_scm (id int, foodtype varchar(32), remark varchar(32), time_flag timestamp);
|
create table testscm.food_scm (id int, foodtype varchar(32), remark varchar(32), time_flag timestamp);
|
||||||
|
|
||||||
CREATE OR REPLACE FUNCTION food_insert_func() RETURNS TRIGGER AS
|
CREATE OR REPLACE FUNCTION food_insert_func() RETURNS TRIGGER AS
|
||||||
$$
|
$$
|
||||||
DECLARE
|
DECLARE
|
||||||
@ -19,7 +16,6 @@ INSERT INTO food(id, foodtype, remark, time_flag) values (1,'bamboo', 'healthy',
|
|||||||
RETURN NEW;
|
RETURN NEW;
|
||||||
END
|
END
|
||||||
$$ LANGUAGE PLPGSQL;
|
$$ LANGUAGE PLPGSQL;
|
||||||
|
|
||||||
-- 1.1 create trigger
|
-- 1.1 create trigger
|
||||||
-- 1.1.1 create trigger + drop trigger
|
-- 1.1.1 create trigger + drop trigger
|
||||||
-- 1.1.1.1 trigger without schema
|
-- 1.1.1.1 trigger without schema
|
||||||
@ -47,7 +43,6 @@ delete from food;
|
|||||||
drop trigger animals_trigger1;
|
drop trigger animals_trigger1;
|
||||||
drop trigger animals_trigger1;
|
drop trigger animals_trigger1;
|
||||||
select tgname from pg_trigger;
|
select tgname from pg_trigger;
|
||||||
|
|
||||||
create trigger animals_trigger2
|
create trigger animals_trigger2
|
||||||
after insert on testscm.animals_scm
|
after insert on testscm.animals_scm
|
||||||
for each row
|
for each row
|
||||||
@ -72,7 +67,6 @@ delete from food;
|
|||||||
drop trigger animals_trigger2;
|
drop trigger animals_trigger2;
|
||||||
drop trigger animals_trigger2;
|
drop trigger animals_trigger2;
|
||||||
select tgname from pg_trigger;
|
select tgname from pg_trigger;
|
||||||
|
|
||||||
create trigger animals_trigger3
|
create trigger animals_trigger3
|
||||||
after insert on testscm.animals_scm
|
after insert on testscm.animals_scm
|
||||||
for each row
|
for each row
|
||||||
@ -123,7 +117,6 @@ delete from food;
|
|||||||
drop trigger testscm.animals_trigger2;
|
drop trigger testscm.animals_trigger2;
|
||||||
drop trigger testscm.animals_trigger2;
|
drop trigger testscm.animals_trigger2;
|
||||||
select tgname from pg_trigger;
|
select tgname from pg_trigger;
|
||||||
|
|
||||||
create trigger testscm.animals_trigger3
|
create trigger testscm.animals_trigger3
|
||||||
after insert on testscm.animals_scm
|
after insert on testscm.animals_scm
|
||||||
for each row
|
for each row
|
||||||
@ -148,7 +141,6 @@ delete from testscm.food_scm;
|
|||||||
drop trigger testscm.animals_trigger3;
|
drop trigger testscm.animals_trigger3;
|
||||||
drop trigger testscm.animals_trigger3;
|
drop trigger testscm.animals_trigger3;
|
||||||
select tgname from pg_trigger;
|
select tgname from pg_trigger;
|
||||||
|
|
||||||
-- 1.1.1.3 trigger with wrong schema
|
-- 1.1.1.3 trigger with wrong schema
|
||||||
create trigger testscm.animals_trigger1
|
create trigger testscm.animals_trigger1
|
||||||
after insert on animals
|
after insert on animals
|
||||||
@ -164,7 +156,33 @@ begin
|
|||||||
insert into food(id, foodtype, remark, time_flag) values (1,'bamboo', 'healthy', now());
|
insert into food(id, foodtype, remark, time_flag) values (1,'bamboo', 'healthy', now());
|
||||||
end;
|
end;
|
||||||
/
|
/
|
||||||
|
create trigger animals_trigger1
|
||||||
|
after insert on animals
|
||||||
|
for each row
|
||||||
|
begin
|
||||||
|
insert into food(id, foodtype, remark, time_flag) values (1,'bamboo', 'healthy', now());
|
||||||
|
end;
|
||||||
|
/
|
||||||
|
create trigger testscm.animals_trigger2
|
||||||
|
after insert on testscm.animals_scm
|
||||||
|
for each row
|
||||||
|
begin
|
||||||
|
insert into food(id, foodtype, remark, time_flag) values (1,'bamboo', 'healthy', now());
|
||||||
|
end;
|
||||||
|
/
|
||||||
|
-- ERROR: trigger in wrong schema: "testscm"."animals_trigger1"
|
||||||
|
drop trigger testscm.animals_trigger1;
|
||||||
|
-- OK
|
||||||
|
drop trigger animals_trigger1;
|
||||||
|
-- ERROR: schema "testscm_no" does not exist
|
||||||
|
drop trigger testscm_no.animals_trigger2;
|
||||||
|
-- OK
|
||||||
|
drop trigger animals_trigger2;
|
||||||
|
select tgname from pg_trigger;
|
||||||
|
-- ERROR: trigger "animals_trigger_no" does not exist
|
||||||
|
drop trigger animals_trigger_no;
|
||||||
|
drop trigger testscm.animals_trigger_no;
|
||||||
|
drop trigger testscm_no.animals_trigger_no;
|
||||||
-- 1.1.1.4 trigger with bad schema
|
-- 1.1.1.4 trigger with bad schema
|
||||||
create trigger testscm.
|
create trigger testscm.
|
||||||
after insert on testscm.animals_scm
|
after insert on testscm.animals_scm
|
||||||
@ -222,7 +240,6 @@ begin
|
|||||||
insert into food(id, foodtype, remark, time_flag) values (1,'bamboo', 'healthy', now());
|
insert into food(id, foodtype, remark, time_flag) values (1,'bamboo', 'healthy', now());
|
||||||
end;
|
end;
|
||||||
/
|
/
|
||||||
|
|
||||||
-- 1.1.2 create trigger if not exists + drop trigger if exists
|
-- 1.1.2 create trigger if not exists + drop trigger if exists
|
||||||
-- 1.1.2.1 trigger without schema
|
-- 1.1.2.1 trigger without schema
|
||||||
create trigger if not exists animals_trigger1
|
create trigger if not exists animals_trigger1
|
||||||
@ -249,7 +266,6 @@ delete from food;
|
|||||||
drop trigger if exists animals_trigger1;
|
drop trigger if exists animals_trigger1;
|
||||||
drop trigger if exists animals_trigger1;
|
drop trigger if exists animals_trigger1;
|
||||||
select tgname from pg_trigger;
|
select tgname from pg_trigger;
|
||||||
|
|
||||||
create trigger if not exists animals_trigger2
|
create trigger if not exists animals_trigger2
|
||||||
after insert on testscm.animals_scm
|
after insert on testscm.animals_scm
|
||||||
for each row
|
for each row
|
||||||
@ -274,7 +290,6 @@ delete from food;
|
|||||||
drop trigger if exists animals_trigger2;
|
drop trigger if exists animals_trigger2;
|
||||||
drop trigger if exists animals_trigger2;
|
drop trigger if exists animals_trigger2;
|
||||||
select tgname from pg_trigger;
|
select tgname from pg_trigger;
|
||||||
|
|
||||||
create trigger if not exists animals_trigger3
|
create trigger if not exists animals_trigger3
|
||||||
after insert on testscm.animals_scm
|
after insert on testscm.animals_scm
|
||||||
for each row
|
for each row
|
||||||
@ -299,7 +314,6 @@ delete from testscm.food_scm;
|
|||||||
drop trigger if exists animals_trigger3;
|
drop trigger if exists animals_trigger3;
|
||||||
drop trigger if exists animals_trigger3;
|
drop trigger if exists animals_trigger3;
|
||||||
select tgname from pg_trigger;
|
select tgname from pg_trigger;
|
||||||
|
|
||||||
-- 1.1.2.2 trigger with right schema
|
-- 1.1.2.2 trigger with right schema
|
||||||
create trigger if not exists testscm.animals_trigger2
|
create trigger if not exists testscm.animals_trigger2
|
||||||
after insert on testscm.animals_scm
|
after insert on testscm.animals_scm
|
||||||
@ -325,7 +339,6 @@ delete from food;
|
|||||||
drop trigger if exists testscm.animals_trigger2;
|
drop trigger if exists testscm.animals_trigger2;
|
||||||
drop trigger if exists testscm.animals_trigger2;
|
drop trigger if exists testscm.animals_trigger2;
|
||||||
select tgname from pg_trigger;
|
select tgname from pg_trigger;
|
||||||
|
|
||||||
create trigger if not exists testscm.animals_trigger3
|
create trigger if not exists testscm.animals_trigger3
|
||||||
after insert on testscm.animals_scm
|
after insert on testscm.animals_scm
|
||||||
for each row
|
for each row
|
||||||
@ -350,7 +363,6 @@ delete from testscm.food_scm;
|
|||||||
drop trigger if exists testscm.animals_trigger3;
|
drop trigger if exists testscm.animals_trigger3;
|
||||||
drop trigger if exists testscm.animals_trigger3;
|
drop trigger if exists testscm.animals_trigger3;
|
||||||
select tgname from pg_trigger;
|
select tgname from pg_trigger;
|
||||||
|
|
||||||
-- 1.1.2.3 trigger with wrong schema
|
-- 1.1.2.3 trigger with wrong schema
|
||||||
create trigger if not exists testscm.animals_trigger1
|
create trigger if not exists testscm.animals_trigger1
|
||||||
after insert on animals
|
after insert on animals
|
||||||
@ -366,7 +378,33 @@ begin
|
|||||||
insert into food(id, foodtype, remark, time_flag) values (1,'bamboo', 'healthy', now());
|
insert into food(id, foodtype, remark, time_flag) values (1,'bamboo', 'healthy', now());
|
||||||
end;
|
end;
|
||||||
/
|
/
|
||||||
|
create trigger animals_trigger1
|
||||||
|
after insert on animals
|
||||||
|
for each row
|
||||||
|
begin
|
||||||
|
insert into food(id, foodtype, remark, time_flag) values (1,'bamboo', 'healthy', now());
|
||||||
|
end;
|
||||||
|
/
|
||||||
|
create trigger testscm.animals_trigger2
|
||||||
|
after insert on testscm.animals_scm
|
||||||
|
for each row
|
||||||
|
begin
|
||||||
|
insert into food(id, foodtype, remark, time_flag) values (1,'bamboo', 'healthy', now());
|
||||||
|
end;
|
||||||
|
/
|
||||||
|
-- ERROR: trigger in wrong schema: "testscm"."animals_trigger1"
|
||||||
|
drop trigger if exists testscm.animals_trigger1;
|
||||||
|
-- OK
|
||||||
|
drop trigger if exists animals_trigger1;
|
||||||
|
-- ERROR: schema "testscm_no" does not exist
|
||||||
|
drop trigger if exists testscm_no.animals_trigger2;
|
||||||
|
-- OK
|
||||||
|
drop trigger if exists animals_trigger2;
|
||||||
|
select tgname from pg_trigger;
|
||||||
|
-- NOTICE: trigger "animals_trigger_no" does not exist, skipping
|
||||||
|
drop trigger if exists animals_trigger_no;
|
||||||
|
drop trigger if exists testscm.animals_trigger_no;
|
||||||
|
drop trigger if exists testscm_no.animals_trigger_no;
|
||||||
-- 1.1.3 create trigger execute procedure
|
-- 1.1.3 create trigger execute procedure
|
||||||
create trigger animals_trigger1
|
create trigger animals_trigger1
|
||||||
after insert on animals
|
after insert on animals
|
||||||
@ -375,7 +413,6 @@ execute procedure food_insert_func();
|
|||||||
select tgname from pg_trigger;
|
select tgname from pg_trigger;
|
||||||
drop trigger animals_trigger1;
|
drop trigger animals_trigger1;
|
||||||
select tgname from pg_trigger;
|
select tgname from pg_trigger;
|
||||||
|
|
||||||
create trigger testscm.animals_trigger2
|
create trigger testscm.animals_trigger2
|
||||||
after insert on testscm.animals_scm
|
after insert on testscm.animals_scm
|
||||||
for each row
|
for each row
|
||||||
@ -383,7 +420,6 @@ execute procedure food_insert_func();
|
|||||||
select tgname from pg_trigger;
|
select tgname from pg_trigger;
|
||||||
drop trigger testscm.animals_trigger2;
|
drop trigger testscm.animals_trigger2;
|
||||||
select tgname from pg_trigger;
|
select tgname from pg_trigger;
|
||||||
|
|
||||||
-- 1.1.4 create constrain trigger execute procedure
|
-- 1.1.4 create constrain trigger execute procedure
|
||||||
create constraint trigger animals_trigger1
|
create constraint trigger animals_trigger1
|
||||||
after insert on animals
|
after insert on animals
|
||||||
@ -392,7 +428,6 @@ execute procedure food_insert_func();
|
|||||||
select tgname from pg_trigger;
|
select tgname from pg_trigger;
|
||||||
drop trigger animals_trigger1;
|
drop trigger animals_trigger1;
|
||||||
select tgname from pg_trigger;
|
select tgname from pg_trigger;
|
||||||
|
|
||||||
create constraint trigger testscm.animals_trigger2
|
create constraint trigger testscm.animals_trigger2
|
||||||
after insert on testscm.animals_scm
|
after insert on testscm.animals_scm
|
||||||
for each row
|
for each row
|
||||||
@ -400,7 +435,6 @@ execute procedure food_insert_func();
|
|||||||
select tgname from pg_trigger;
|
select tgname from pg_trigger;
|
||||||
drop trigger testscm.animals_trigger2;
|
drop trigger testscm.animals_trigger2;
|
||||||
select tgname from pg_trigger;
|
select tgname from pg_trigger;
|
||||||
|
|
||||||
-- 1.2 drop trigger on table
|
-- 1.2 drop trigger on table
|
||||||
create trigger animals_trigger1
|
create trigger animals_trigger1
|
||||||
after insert on animals
|
after insert on animals
|
||||||
@ -410,10 +444,18 @@ begin
|
|||||||
end;
|
end;
|
||||||
/
|
/
|
||||||
select tgname from pg_trigger;
|
select tgname from pg_trigger;
|
||||||
|
-- ERROR: trigger in wrong schema: "testscm"."animals_trigger1"
|
||||||
|
drop trigger testscm.animals_trigger1 on animals;
|
||||||
|
-- ERROR: schema "testscm_no" does not exist
|
||||||
|
drop trigger testscm_no.animals_trigger1 on animals;
|
||||||
|
-- ERROR: trigger "animals_trigger_no" for table "animals" does not exist
|
||||||
|
drop trigger animals_trigger_no on animals;
|
||||||
|
drop trigger testscm.animals_trigger_no on animals;
|
||||||
|
drop trigger testscm_no.animals_trigger_no on animals;
|
||||||
|
-- OK
|
||||||
drop trigger animals_trigger1 on animals;
|
drop trigger animals_trigger1 on animals;
|
||||||
drop trigger animals_trigger1 on animals;
|
drop trigger animals_trigger1 on animals;
|
||||||
select tgname from pg_trigger;
|
select tgname from pg_trigger;
|
||||||
|
|
||||||
create trigger animals_trigger1
|
create trigger animals_trigger1
|
||||||
after insert on animals
|
after insert on animals
|
||||||
for each row
|
for each row
|
||||||
@ -422,39 +464,59 @@ begin
|
|||||||
end;
|
end;
|
||||||
/
|
/
|
||||||
select tgname from pg_trigger;
|
select tgname from pg_trigger;
|
||||||
drop trigger if exists animals_trigger1 on animals;
|
-- ERROR: trigger in wrong schema: "testscm"."animals_trigger1"
|
||||||
drop trigger if exists animals_trigger1 on animals;
|
|
||||||
select tgname from pg_trigger;
|
|
||||||
|
|
||||||
create trigger testscm.animals_trigger2
|
|
||||||
after insert on testscm.animals_scm
|
|
||||||
for each row
|
|
||||||
begin
|
|
||||||
insert into food(id, foodtype, remark, time_flag) values (1,'bamboo', 'healthy', now());
|
|
||||||
end;
|
|
||||||
/
|
|
||||||
select tgname from pg_trigger;
|
|
||||||
drop trigger testscm.animals_trigger2 on testscm.animals_scm;
|
|
||||||
drop trigger testscm.animals_trigger2 on testscm.animals_scm;
|
|
||||||
select tgname from pg_trigger;
|
|
||||||
|
|
||||||
create trigger testscm.animals_trigger2
|
|
||||||
after insert on testscm.animals_scm
|
|
||||||
for each row
|
|
||||||
begin
|
|
||||||
insert into food(id, foodtype, remark, time_flag) values (1,'bamboo', 'healthy', now());
|
|
||||||
end;
|
|
||||||
/
|
|
||||||
select tgname from pg_trigger;
|
|
||||||
drop trigger if exists testscm.animals_trigger2 on testscm.animals_scm;
|
|
||||||
drop trigger if exists testscm.animals_trigger2 on testscm.animals_scm;
|
|
||||||
select tgname from pg_trigger;
|
|
||||||
|
|
||||||
drop trigger testscm.animals_trigger1 on animals;
|
|
||||||
drop trigger testscm_no.animals_trigger2 on testscm.animals_scm;
|
|
||||||
drop trigger if exists testscm.animals_trigger1 on animals;
|
drop trigger if exists testscm.animals_trigger1 on animals;
|
||||||
|
-- ERROR: schema "testscm_no" does not exist
|
||||||
|
drop trigger if exists testscm_no.animals_trigger1 on animals;
|
||||||
|
-- NOTICE: trigger "animals.animals_trigger_no" for table "animals" does not exist, skipping
|
||||||
|
drop trigger if exists animals_trigger_no on animals;
|
||||||
|
drop trigger if exists testscm.animals_trigger_no on animals;
|
||||||
|
drop trigger if exists testscm_no.animals_trigger_no on animals;
|
||||||
|
-- OK
|
||||||
|
drop trigger if exists animals_trigger1 on animals;
|
||||||
|
drop trigger if exists animals_trigger1 on animals;
|
||||||
|
select tgname from pg_trigger;
|
||||||
|
create trigger testscm.animals_trigger2
|
||||||
|
after insert on testscm.animals_scm
|
||||||
|
for each row
|
||||||
|
begin
|
||||||
|
insert into food(id, foodtype, remark, time_flag) values (1,'bamboo', 'healthy', now());
|
||||||
|
end;
|
||||||
|
/
|
||||||
|
select tgname from pg_trigger;
|
||||||
|
-- ERROR: trigger in wrong schema: "testscm2"."animals_trigger2"
|
||||||
|
drop trigger testscm2.animals_trigger2 on testscm.animals_scm;
|
||||||
|
-- ERROR: schema "testscm_no" does not exist
|
||||||
|
drop trigger testscm_no.animals_trigger2 on testscm.animals_scm;
|
||||||
|
-- ERROR: trigger "animals_trigger_no" for table "animals_scm" does not exist
|
||||||
|
drop trigger animals_trigger_no on testscm.animals_scm;
|
||||||
|
drop trigger testscm.animals_trigger_no on testscm.animals_scm;
|
||||||
|
drop trigger testscm_no.animals_trigger_no on testscm.animals_scm;
|
||||||
|
-- OK
|
||||||
|
drop trigger testscm.animals_trigger2 on testscm.animals_scm;
|
||||||
|
drop trigger testscm.animals_trigger2 on testscm.animals_scm;
|
||||||
|
select tgname from pg_trigger;
|
||||||
|
create trigger testscm.animals_trigger2
|
||||||
|
after insert on testscm.animals_scm
|
||||||
|
for each row
|
||||||
|
begin
|
||||||
|
insert into food(id, foodtype, remark, time_flag) values (1,'bamboo', 'healthy', now());
|
||||||
|
end;
|
||||||
|
/
|
||||||
|
select tgname from pg_trigger;
|
||||||
|
-- ERROR: trigger in wrong schema: "testscm2"."animals_trigger2"
|
||||||
|
drop trigger if exists testscm2.animals_trigger2 on testscm.animals_scm;
|
||||||
|
-- ERROR: schema "testscm_no" does not exist
|
||||||
drop trigger if exists testscm_no.animals_trigger2 on testscm.animals_scm;
|
drop trigger if exists testscm_no.animals_trigger2 on testscm.animals_scm;
|
||||||
|
-- NOTICE: trigger "testscm.animals_scm.animals_trigger_no" for table "testscm.animals_scm" does not exist, skipping
|
||||||
|
drop trigger if exists animals_trigger_no on testscm.animals_scm;
|
||||||
|
drop trigger if exists testscm.animals_trigger_no on testscm.animals_scm;
|
||||||
|
drop trigger if exists testscm2.animals_trigger_no on testscm.animals_scm;
|
||||||
|
drop trigger if exists testscm_no.animals_trigger_no on testscm.animals_scm;
|
||||||
|
-- OK
|
||||||
|
drop trigger if exists testscm.animals_trigger2 on testscm.animals_scm;
|
||||||
|
drop trigger if exists testscm.animals_trigger2 on testscm.animals_scm;
|
||||||
|
select tgname from pg_trigger;
|
||||||
-- 1.3 alter trigger
|
-- 1.3 alter trigger
|
||||||
create trigger animals_trigger1
|
create trigger animals_trigger1
|
||||||
after insert on animals
|
after insert on animals
|
||||||
@ -470,7 +532,6 @@ alter trigger testscm.animals_trigger1 on animals rename to animals_trigger1_2;
|
|||||||
alter trigger testscm.animals_trigger1_1 on animals rename to animals_trigger1_2;
|
alter trigger testscm.animals_trigger1_1 on animals rename to animals_trigger1_2;
|
||||||
alter trigger testscm_no.animals_trigger1_1 on animals rename to animals_trigger1_2;
|
alter trigger testscm_no.animals_trigger1_1 on animals rename to animals_trigger1_2;
|
||||||
drop trigger animals_trigger1_1 on animals;
|
drop trigger animals_trigger1_1 on animals;
|
||||||
|
|
||||||
create trigger testscm.animals_trigger2
|
create trigger testscm.animals_trigger2
|
||||||
after insert on testscm.animals_scm
|
after insert on testscm.animals_scm
|
||||||
for each row
|
for each row
|
||||||
@ -486,10 +547,8 @@ select tgname from pg_trigger;
|
|||||||
alter trigger testscm.animals_trigger2_1 on testscm.animals_scm rename to animals_trigger2_2;
|
alter trigger testscm.animals_trigger2_1 on testscm.animals_scm rename to animals_trigger2_2;
|
||||||
alter trigger testscm_no.animals_trigger2_2 on testscm.animals_scm rename to animals_trigger2_3;
|
alter trigger testscm_no.animals_trigger2_2 on testscm.animals_scm rename to animals_trigger2_3;
|
||||||
drop trigger testscm.animals_trigger2_2 on testscm.animals_scm;
|
drop trigger testscm.animals_trigger2_2 on testscm.animals_scm;
|
||||||
|
|
||||||
-- 1.6 set search_path to schema
|
-- 1.6 set search_path to schema
|
||||||
set search_path to testscm;
|
set search_path to testscm;
|
||||||
|
|
||||||
create trigger animals_trigger2
|
create trigger animals_trigger2
|
||||||
after insert on animals_scm
|
after insert on animals_scm
|
||||||
for each row
|
for each row
|
||||||
@ -499,7 +558,6 @@ end;
|
|||||||
/
|
/
|
||||||
alter trigger animals_trigger2 on animals_scm rename to animals_trigger2_1;
|
alter trigger animals_trigger2 on animals_scm rename to animals_trigger2_1;
|
||||||
drop trigger animals_trigger2_1 on animals_scm;
|
drop trigger animals_trigger2_1 on animals_scm;
|
||||||
|
|
||||||
create trigger testscm.animals_trigger2
|
create trigger testscm.animals_trigger2
|
||||||
after insert on animals_scm
|
after insert on animals_scm
|
||||||
for each row
|
for each row
|
||||||
@ -509,26 +567,19 @@ end;
|
|||||||
/
|
/
|
||||||
alter trigger testscm.animals_trigger2 on animals_scm rename to animals_trigger2_1;
|
alter trigger testscm.animals_trigger2 on animals_scm rename to animals_trigger2_1;
|
||||||
drop trigger testscm.animals_trigger2_1 on animals_scm;
|
drop trigger testscm.animals_trigger2_1 on animals_scm;
|
||||||
|
|
||||||
set search_path to public;
|
set search_path to public;
|
||||||
|
|
||||||
-- 1.5 cleanup
|
-- 1.5 cleanup
|
||||||
\c regression
|
\c regression
|
||||||
drop database testdb_m;
|
drop database testdb_m;
|
||||||
|
|
||||||
-- 2. test non B_FORMAT trigger
|
-- 2. test non B_FORMAT trigger
|
||||||
drop database if exists testdb;
|
drop database if exists testdb;
|
||||||
create database testdb;
|
create database testdb;
|
||||||
\c testdb
|
\c testdb
|
||||||
|
|
||||||
create schema testscm;
|
create schema testscm;
|
||||||
|
|
||||||
create table animals (id int, name char(30));
|
create table animals (id int, name char(30));
|
||||||
create table food (id int, foodtype varchar(32), remark varchar(32), time_flag timestamp);
|
create table food (id int, foodtype varchar(32), remark varchar(32), time_flag timestamp);
|
||||||
|
|
||||||
create table testscm.animals_scm (id int, name char(30));
|
create table testscm.animals_scm (id int, name char(30));
|
||||||
create table testscm.food_scm (id int, foodtype varchar(32), remark varchar(32), time_flag timestamp);
|
create table testscm.food_scm (id int, foodtype varchar(32), remark varchar(32), time_flag timestamp);
|
||||||
|
|
||||||
CREATE OR REPLACE FUNCTION food_insert_func() RETURNS TRIGGER AS
|
CREATE OR REPLACE FUNCTION food_insert_func() RETURNS TRIGGER AS
|
||||||
$$
|
$$
|
||||||
DECLARE
|
DECLARE
|
||||||
@ -537,7 +588,6 @@ INSERT INTO food(id, foodtype, remark, time_flag) values (1,'bamboo', 'healthy',
|
|||||||
RETURN NEW;
|
RETURN NEW;
|
||||||
END
|
END
|
||||||
$$ LANGUAGE PLPGSQL;
|
$$ LANGUAGE PLPGSQL;
|
||||||
|
|
||||||
-- 2.1 create trigger + alter trigger + drop trigger
|
-- 2.1 create trigger + alter trigger + drop trigger
|
||||||
create trigger animals_trigger1
|
create trigger animals_trigger1
|
||||||
after insert on animals
|
after insert on animals
|
||||||
@ -549,7 +599,6 @@ select tgname from pg_trigger;
|
|||||||
drop trigger animals_trigger1_1;
|
drop trigger animals_trigger1_1;
|
||||||
drop trigger animals_trigger1_1 on animals;
|
drop trigger animals_trigger1_1 on animals;
|
||||||
select tgname from pg_trigger;
|
select tgname from pg_trigger;
|
||||||
|
|
||||||
create trigger animals_trigger2
|
create trigger animals_trigger2
|
||||||
after insert on testscm.animals_scm
|
after insert on testscm.animals_scm
|
||||||
for each row
|
for each row
|
||||||
@ -560,21 +609,18 @@ select tgname from pg_trigger;
|
|||||||
drop trigger animals_trigger2_1;
|
drop trigger animals_trigger2_1;
|
||||||
drop trigger animals_trigger2_1 on testscm.animals_scm;
|
drop trigger animals_trigger2_1 on testscm.animals_scm;
|
||||||
select tgname from pg_trigger;
|
select tgname from pg_trigger;
|
||||||
|
|
||||||
create trigger testscm.animals_trigger2
|
create trigger testscm.animals_trigger2
|
||||||
after insert on testscm.animals_scm
|
after insert on testscm.animals_scm
|
||||||
for each row
|
for each row
|
||||||
execute procedure food_insert_func();
|
execute procedure food_insert_func();
|
||||||
alter trigger testscm.animals_trigger2 on testscm.animals_scm rename to animals_trigger2_1;
|
alter trigger testscm.animals_trigger2 on testscm.animals_scm rename to animals_trigger2_1;
|
||||||
drop trigger testscm.animals_trigger2;
|
drop trigger testscm.animals_trigger2;
|
||||||
|
|
||||||
create trigger testscm_no.animals_trigger2
|
create trigger testscm_no.animals_trigger2
|
||||||
after insert on testscm.animals_scm
|
after insert on testscm.animals_scm
|
||||||
for each row
|
for each row
|
||||||
execute procedure food_insert_func();
|
execute procedure food_insert_func();
|
||||||
alter trigger testscm_no.animals_trigger2 on testscm.animals_scm rename to animals_trigger2_1;
|
alter trigger testscm_no.animals_trigger2 on testscm.animals_scm rename to animals_trigger2_1;
|
||||||
drop trigger testscm_no.animals_trigger2;
|
drop trigger testscm_no.animals_trigger2;
|
||||||
|
|
||||||
-- 2.2 cleanup
|
-- 2.2 cleanup
|
||||||
\c regression
|
\c regression
|
||||||
drop database testdb;
|
drop database testdb;
|
Reference in New Issue
Block a user