!6674 B兼容模式下执行show events报语法错误
Merge pull request !6674 from TinyBag/event
This commit is contained in:
@ -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 */
|
||||
|
||||
51
src/test/regress/expected/show_events.out
Normal file
51
src/test/regress/expected/show_events.out
Normal file
@ -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;
|
||||
@ -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
|
||||
|
||||
@ -423,6 +423,8 @@ test: temp__4 obsscaninfo
|
||||
test: create_seg_table
|
||||
#test: copy#
|
||||
|
||||
# show_events
|
||||
test: show_events
|
||||
|
||||
|
||||
# ----------
|
||||
|
||||
23
src/test/regress/sql/show_events.sql
Normal file
23
src/test/regress/sql/show_events.sql
Normal file
@ -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;
|
||||
Reference in New Issue
Block a user