From 548b1bf2bfe49b5bd637a39edba911bd378b8fb4 Mon Sep 17 00:00:00 2001 From: laishenghao Date: Wed, 11 Jun 2025 17:54:51 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3show=20events=E6=8A=B1?= =?UTF-8?q?=E8=AF=AD=E6=B3=95=E9=94=99=E8=AF=AF=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../optimizer/commands/eventcmds.cpp | 10 +++- src/test/regress/expected/show_events.out | 56 +++++++++++++++++++ src/test/regress/parallel_schedule0 | 2 +- src/test/regress/parallel_schedule0A | 2 +- src/test/regress/sql/show_events.sql | 25 +++++++++ 5 files changed, 91 insertions(+), 4 deletions(-) create mode 100644 src/test/regress/expected/show_events.out create mode 100644 src/test/regress/sql/show_events.sql diff --git a/src/gausskernel/optimizer/commands/eventcmds.cpp b/src/gausskernel/optimizer/commands/eventcmds.cpp index 258e50ca0..b4cef617c 100755 --- a/src/gausskernel/optimizer/commands/eventcmds.cpp +++ b/src/gausskernel/optimizer/commands/eventcmds.cpp @@ -942,8 +942,14 @@ StmtResult *SearchEventInfo(ShowEventStmt *stmt) StringInfoData buf; initStringInfo(&buf); appendStringInfo(&buf, "SELECT "); - appendStringInfo(&buf, - "job_name,nspname,log_user,priv_user,job_status,start_date,interval,end_date,enable,failure_msg "); + char* intervalColName; + if (u_sess->attr.attr_sql.dolphin) { + intervalColName = "`interval`"; + } else { + intervalColName = "interval"; + } + appendStringInfo(&buf, "job_name,nspname,log_user,priv_user,job_status,start_date,%s,end_date,enable,failure_msg ", + intervalColName); appendStringInfo(&buf, "FROM PG_JOB "); /* Concatenate where clause */ diff --git a/src/test/regress/expected/show_events.out b/src/test/regress/expected/show_events.out new file mode 100644 index 000000000..e60cd6585 --- /dev/null +++ b/src/test/regress/expected/show_events.out @@ -0,0 +1,56 @@ +create database event_db dbcompatibility 'B'; +\c event_db +create schema event_s; +set current_schema = event_s; +set dolphin.b_compatibility to on; +show events; + job_name | schema_name | log_user | priv_user | job_status | start_date | interval | end_date | enable | failure_msg +----------+-------------+----------+-----------+------------+------------+----------+----------+--------+------------- +(0 rows) + +create user event_a sysadmin password 'event_123'; +create definer=event_a event e1 on schedule at '2023-01-16 21:05:40' disable do select 1; +select job_name, nspname from pg_job where dbname='event_b'; + job_name | nspname +----------+--------- +(0 rows) + +show events in a; + job_name | schema_name | log_user | priv_user | job_status | start_date | interval | end_date | enable | failure_msg +----------+-------------+----------+-----------+------------+------------+----------+----------+--------+------------- +(0 rows) + +show events from a; + job_name | schema_name | log_user | priv_user | job_status | start_date | interval | end_date | enable | failure_msg +----------+-------------+----------+-----------+------------+------------+----------+----------+--------+------------- +(0 rows) + +show events like 'e'; + job_name | schema_name | log_user | priv_user | job_status | start_date | interval | end_date | enable | failure_msg +----------+-------------+----------+-----------+------------+------------+----------+----------+--------+------------- +(0 rows) + +show events like 'e%'; +--?.* +--?.* +--?.* +(1 row) + +show events like 'e_'; +--?.* +--?.* +--?.* +(1 row) + +show events where job_name='e1'; +--?.* +--?.* +--?.* +(1 row) + +drop event if exists e1; +drop user if exists event_a; +reset current_schema; +drop schema event_s; +\c postgres +drop database if exists event_db; diff --git a/src/test/regress/parallel_schedule0 b/src/test/regress/parallel_schedule0 index 522eb7131..b4bd354df 100644 --- a/src/test/regress/parallel_schedule0 +++ b/src/test/regress/parallel_schedule0 @@ -1105,7 +1105,7 @@ test: optimizing_index_scan_ustore test: row_count_function # test for inherit table -test: inherits01 +test: inherits01 show_events # show_warnings test: show_warnings prevent_table_in_sys_schema create_tbl_init_td_check diff --git a/src/test/regress/parallel_schedule0A b/src/test/regress/parallel_schedule0A index f461bc5a2..c6aeee9a5 100644 --- a/src/test/regress/parallel_schedule0A +++ b/src/test/regress/parallel_schedule0A @@ -417,7 +417,7 @@ test: partiton_pathkey_col_plan partiton_pathkey_col_randomexec partiton_pathkey #test: create_function_1 test: create_table create_table_2 create_table_3 test: temp__4 obsscaninfo -test: create_seg_table +test: create_seg_table show_events #test: copy# diff --git a/src/test/regress/sql/show_events.sql b/src/test/regress/sql/show_events.sql new file mode 100644 index 000000000..51df8fcb7 --- /dev/null +++ b/src/test/regress/sql/show_events.sql @@ -0,0 +1,25 @@ +create database event_db dbcompatibility 'B'; +\c event_db +create schema event_s; +set current_schema = event_s; +set dolphin.b_compatibility to on; + +show events; + +create user event_a sysadmin password 'event_123'; +create definer=event_a event e1 on schedule at '2023-01-16 21:05:40' disable do select 1; + +select job_name, nspname from pg_job where dbname='event_b'; +show events in a; +show events from a; +show events like 'e'; +show events like 'e%'; +show events like 'e_'; +show events where job_name='e1'; +drop event if exists e1; +drop user if exists event_a; + +reset current_schema; +drop schema event_s; +\c postgres +drop database if exists event_db; \ No newline at end of file