Skip to content

Commit 69e3301

Browse files
committed
MDEV-30645: CREATE TRIGGER FOR { STARTUP | SHUTDOWN }
Follow-up to fix building with EMBEDDED server. Since support of events isn't compiled in for embedded server but some stuff from implementation of events is used for support of triggers, common source code used both for events and triggers was extracted into the separate files event_common.cc/event_common.h
1 parent 495c085 commit 69e3301

11 files changed

Lines changed: 462 additions & 409 deletions

libmysqld/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,8 @@ SET(SQL_EMBEDDED_SOURCES emb_qcache.cc libmysqld.c lib_sql.cc
166166
../sql/opt_hints.cc ../sql/opt_hints.h
167167
../sql/opt_trace_ddl_info.cc ../sql/opt_trace_ddl_info.h
168168
../sql/sql_path.cc
169+
../sql/sql_sys_or_ddl_trigger.cc
170+
../sql/event_common.cc
169171
${GEN_SOURCES}
170172
${MYSYS_LIBWRAP_SOURCE}
171173
)

mysql-test/suite/funcs_1/r/is_columns_mysql_embedded.result

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,13 @@ def mysql event comment 16 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin
5252
def mysql event created 8 current_timestamp() NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update current_timestamp() NEVER NULL NO NO
5353
def mysql event db 1 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin char(64) PRI NEVER NULL NO NO
5454
def mysql event db_collation 21 NULL YES char 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin char(64) NEVER NULL NO NO
55+
def mysql event ddl_type 25 NULL YES set 54 162 NULL NULL NULL utf8mb3 utf8mb3_general_ci set('CREATE','ALTER','DROP','TRUNCATE','ANALYZE','RENAME','GRANT','REVOKE') NEVER NULL NO NO
5556
def mysql event definer 4 '' NO varchar 384 1152 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(384) NEVER NULL NO NO
5657
def mysql event ends 12 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime NEVER NULL NO NO
5758
def mysql event execute_at 5 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime NEVER NULL NO NO
5859
def mysql event interval_field 7 NULL YES enum 18 54 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND') NEVER NULL NO NO
5960
def mysql event interval_value 6 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) NEVER NULL NO NO
61+
def mysql event kind 23 'SCHEDULE' NO set 42 126 NULL NULL NULL utf8mb3 utf8mb3_general_ci set('SCHEDULE','STARTUP','SHUTDOWN','LOGON','LOGOFF','DDL') NEVER NULL NO NO
6062
def mysql event last_executed 10 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime NEVER NULL NO NO
6163
def mysql event modified 9 '0000-00-00 00:00:00' NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp NEVER NULL NO NO
6264
def mysql event name 2 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) PRI NEVER NULL NO NO
@@ -66,6 +68,7 @@ def mysql event sql_mode 15 '' NO set 561 1683 NULL NULL NULL utf8mb3 utf8mb3_ge
6668
def mysql event starts 11 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime NEVER NULL NO NO
6769
def mysql event status 13 'ENABLED' NO enum 18 54 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') NEVER NULL NO NO
6870
def mysql event time_zone 18 'SYSTEM' NO char 64 64 NULL NULL NULL latin1 latin1_swedish_ci char(64) NEVER NULL NO NO
71+
def mysql event when 24 NULL YES enum 6 18 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('BEFORE','AFTER') NEVER NULL NO NO
6972
def mysql func dl 3 '' NO char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) NEVER NULL NO NO
7073
def mysql func name 1 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin char(64) PRI NEVER NULL NO NO
7174
def mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(1) NEVER NULL NO NO
@@ -393,6 +396,9 @@ NULL mysql event originator int NULL NULL NULL NULL int(10) unsigned
393396
3.0000 mysql event collation_connection char 64 192 utf8mb3 utf8mb3_bin char(64)
394397
3.0000 mysql event db_collation char 64 192 utf8mb3 utf8mb3_bin char(64)
395398
1.0000 mysql event body_utf8 longblob 4294967295 4294967295 NULL NULL longblob
399+
3.0000 mysql event kind set 42 126 utf8mb3 utf8mb3_general_ci set('SCHEDULE','STARTUP','SHUTDOWN','LOGON','LOGOFF','DDL')
400+
3.0000 mysql event when enum 6 18 utf8mb3 utf8mb3_general_ci enum('BEFORE','AFTER')
401+
3.0000 mysql event ddl_type set 54 162 utf8mb3 utf8mb3_general_ci set('CREATE','ALTER','DROP','TRUNCATE','ANALYZE','RENAME','GRANT','REVOKE')
396402
3.0000 mysql func name char 64 192 utf8mb3 utf8mb3_bin char(64)
397403
NULL mysql func ret tinyint NULL NULL NULL NULL tinyint(1)
398404
3.0000 mysql func dl char 128 384 utf8mb3 utf8mb3_bin char(128)

sql/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ SET (SQL_SOURCE
147147
sql_time.cc tztime.cc unireg.cc item_xmlfunc.cc
148148
uniques.cc
149149
rpl_tblmap.cc sql_binlog.cc event_scheduler.cc
150-
event_data_objects.cc
150+
event_data_objects.cc event_common.cc
151151
event_queue.cc event_db_repository.cc
152152
events.cc ../sql-common/my_user.c
153153
partition_info.cc rpl_utility.cc rpl_utility_server.cc

0 commit comments

Comments
 (0)