From 94e12a649d70ee3ccec6703ea502cab95eafda49 Mon Sep 17 00:00:00 2001 From: TinyBag Date: Mon, 25 Nov 2024 09:24:29 +0800 Subject: [PATCH] quote interval --- .../optimizer/commands/eventcmds.cpp | 19 ++++++- src/test/regress/expected/show_events.out | 51 +++++++++++++++++++ src/test/regress/parallel_schedule0 | 3 ++ src/test/regress/parallel_schedule0A | 2 + src/test/regress/sql/show_events.sql | 23 +++++++++ 5 files changed, 97 insertions(+), 1 deletion(-) 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..836415164 100755 --- a/src/gausskernel/optimizer/commands/eventcmds.cpp +++ b/src/gausskernel/optimizer/commands/eventcmds.cpp @@ -942,8 +942,25 @@ StmtResult *SearchEventInfo(ShowEventStmt *stmt) StringInfoData buf; initStringInfo(&buf); appendStringInfo(&buf, "SELECT "); + + 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,interval,end_date,enable,failure_msg "); + "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..3fe5856db --- /dev/null +++ b/src/test/regress/expected/show_events.out @@ -0,0 +1,51 @@ +create database event_db dbcompatibility 'B'; +\c event_db +create schema event_s; +set current_schema = event_s; +set dolphin.b_compatibility to on; +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%'; + job_name | schema_name | log_user | priv_user | job_status | start_date | interval | end_date | enable | failure_msg +----------+-------------+----------+-----------+------------+--------------------------+----------+--------------------------+--------+------------- + e1 | event_s | event_a | event_a | s | Mon Jan 16 21:05:40 2023 | null | Sat Jan 01 08:00:00 4000 | f | +(1 row) + +show events like 'e_'; + job_name | schema_name | log_user | priv_user | job_status | start_date | interval | end_date | enable | failure_msg +----------+-------------+----------+-----------+------------+--------------------------+----------+--------------------------+--------+------------- + e1 | event_s | event_a | event_a | s | Mon Jan 16 21:05:40 2023 | null | Sat Jan 01 08:00:00 4000 | f | +(1 row) + +show events where job_name='e1'; + job_name | schema_name | log_user | priv_user | job_status | start_date | interval | end_date | enable | failure_msg +----------+-------------+----------+-----------+------------+--------------------------+----------+--------------------------+--------+------------- + e1 | event_s | event_a | event_a | s | Mon Jan 16 21:05:40 2023 | null | Sat Jan 01 08:00:00 4000 | f | +(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 eebfc20b5..395d53747 100644 --- a/src/test/regress/parallel_schedule0 +++ b/src/test/regress/parallel_schedule0 @@ -1114,6 +1114,9 @@ test: inherits01 # show_warnings test: show_warnings prevent_table_in_sys_schema create_tbl_init_td_check +# show_events +test: show_events + # test event trigger and object address test: test_object_alter test: event_trigger object_address diff --git a/src/test/regress/parallel_schedule0A b/src/test/regress/parallel_schedule0A index 21d790c0b..60ae9ed39 100644 --- a/src/test/regress/parallel_schedule0A +++ b/src/test/regress/parallel_schedule0A @@ -422,6 +422,8 @@ test: temp__4 obsscaninfo test: create_seg_table #test: copy# +# show_events +test: show_events # ---------- diff --git a/src/test/regress/sql/show_events.sql b/src/test/regress/sql/show_events.sql new file mode 100644 index 000000000..edae888a6 --- /dev/null +++ b/src/test/regress/sql/show_events.sql @@ -0,0 +1,23 @@ +create database event_db dbcompatibility 'B'; +\c event_db +create schema event_s; +set current_schema = event_s; +set dolphin.b_compatibility to on; + +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;