aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/test/regress/expected/triggers.out50
-rw-r--r--src/test/regress/sql/triggers.sql13
2 files changed, 47 insertions, 16 deletions
diff --git a/src/test/regress/expected/triggers.out b/src/test/regress/expected/triggers.out
index 027494bc76f..0f058d2d1e7 100644
--- a/src/test/regress/expected/triggers.out
+++ b/src/test/regress/expected/triggers.out
@@ -216,34 +216,56 @@ select * from trigtest;
drop table trigtest;
-- Check behavior with an implicit column default, too (bug #16644)
-create table trigtest (a integer);
+create table trigtest (
+ a integer,
+ b bool default true not null,
+ c text default 'xyzzy' not null);
create trigger trigger_return_old
before insert or delete or update on trigtest
for each row execute procedure trigger_return_old();
insert into trigtest values(1);
select * from trigtest;
- a
----
- 1
+ a | b | c
+---+---+-------
+ 1 | t | xyzzy
+(1 row)
+
+alter table trigtest add column d integer default 42 not null;
+select * from trigtest;
+ a | b | c | d
+---+---+-------+----
+ 1 | t | xyzzy | 42
+(1 row)
+
+update trigtest set a = 2 where a = 1 returning *;
+ a | b | c | d
+---+---+-------+----
+ 1 | t | xyzzy | 42
+(1 row)
+
+select * from trigtest;
+ a | b | c | d
+---+---+-------+----
+ 1 | t | xyzzy | 42
(1 row)
-alter table trigtest add column b integer default 42 not null;
+alter table trigtest drop column b;
select * from trigtest;
- a | b
----+----
- 1 | 42
+ a | c | d
+---+-------+----
+ 1 | xyzzy | 42
(1 row)
update trigtest set a = 2 where a = 1 returning *;
- a | b
----+----
- 1 | 42
+ a | c | d
+---+-------+----
+ 1 | xyzzy | 42
(1 row)
select * from trigtest;
- a | b
----+----
- 1 | 42
+ a | c | d
+---+-------+----
+ 1 | xyzzy | 42
(1 row)
drop table trigtest;
diff --git a/src/test/regress/sql/triggers.sql b/src/test/regress/sql/triggers.sql
index 212b4f1f959..1d122af14ed 100644
--- a/src/test/regress/sql/triggers.sql
+++ b/src/test/regress/sql/triggers.sql
@@ -155,7 +155,10 @@ select * from trigtest;
drop table trigtest;
-- Check behavior with an implicit column default, too (bug #16644)
-create table trigtest (a integer);
+create table trigtest (
+ a integer,
+ b bool default true not null,
+ c text default 'xyzzy' not null);
create trigger trigger_return_old
before insert or delete or update on trigtest
@@ -164,7 +167,13 @@ create trigger trigger_return_old
insert into trigtest values(1);
select * from trigtest;
-alter table trigtest add column b integer default 42 not null;
+alter table trigtest add column d integer default 42 not null;
+
+select * from trigtest;
+update trigtest set a = 2 where a = 1 returning *;
+select * from trigtest;
+
+alter table trigtest drop column b;
select * from trigtest;
update trigtest set a = 2 where a = 1 returning *;