diff --git a/src/test/regress/expected/on_update_session1.out b/src/test/regress/expected/on_update_session1.out new file mode 100644 index 000000000..e19fdab60 --- /dev/null +++ b/src/test/regress/expected/on_update_session1.out @@ -0,0 +1,25 @@ +create database mysql_test dbcompatibility 'B'; +\c mysql_test +create table tb666(c1 timestamp default current_timestamp on update current_timestamp, c2 int, c3 timestamp generated always as(c1+c2) stored); +insert into tb666 values(default, 1); +select * from tb666; + c1 | c2 | c3 +--------------------------------+----+-------------------------------- +--?.* +(1 row) + +begin; +update tb666 set c2 = 2; +select * from tb666; + c1 | c2 | c3 +---------------------------------+----+-------------------------------- +--?.* +(1 row) + +select pg_sleep(2); + pg_sleep +---------- + +(1 row) + +commit; diff --git a/src/test/regress/expected/on_update_session2.out b/src/test/regress/expected/on_update_session2.out new file mode 100644 index 000000000..fef93c808 --- /dev/null +++ b/src/test/regress/expected/on_update_session2.out @@ -0,0 +1,14 @@ +select pg_sleep(2); + pg_sleep +---------- + +(1 row) + +\c mysql_test +update tb666 set c2 = 3; +select * from tb666; + c1 | c2 | c3 +---------------------------------+----+--------------------------------- +--?.* +(1 row) + diff --git a/src/test/regress/parallel_schedule0 b/src/test/regress/parallel_schedule0 index c5efdcb4e..6e5ca7382 100644 --- a/src/test/regress/parallel_schedule0 +++ b/src/test/regress/parallel_schedule0 @@ -1088,3 +1088,5 @@ test: user_host_test # test for new_expr_by_flatten test: enable_expr_fusion_flatten +# test for on update timestamp and generated column +test: on_update_session1 on_update_session2 diff --git a/src/test/regress/sql/on_update_session1.sql b/src/test/regress/sql/on_update_session1.sql new file mode 100644 index 000000000..08293e6a0 --- /dev/null +++ b/src/test/regress/sql/on_update_session1.sql @@ -0,0 +1,10 @@ +create database mysql_test dbcompatibility 'B'; +\c mysql_test +create table tb666(c1 timestamp default current_timestamp on update current_timestamp, c2 int, c3 timestamp generated always as(c1+c2) stored); +insert into tb666 values(default, 1); +select * from tb666; +begin; +update tb666 set c2 = 2; +select * from tb666; +select pg_sleep(2); +commit; \ No newline at end of file diff --git a/src/test/regress/sql/on_update_session2.sql b/src/test/regress/sql/on_update_session2.sql new file mode 100644 index 000000000..7f982f258 --- /dev/null +++ b/src/test/regress/sql/on_update_session2.sql @@ -0,0 +1,4 @@ +select pg_sleep(2); +\c mysql_test +update tb666 set c2 = 3; +select * from tb666; \ No newline at end of file