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 965a3f6d4..e1e868b86 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