diff options
author | Monty <monty@mariadb.org> | 2021-03-30 17:06:55 +0300 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2021-05-19 22:54:13 +0200 |
commit | 83e529eced51aa965805e894349bbadd26881f3f (patch) | |
tree | 2f13b79cf5648498ee709424ea37105be730fcf3 /sql/sql_view.cc | |
parent | 496a14e18714ac3f0b686ec5f57bf88e96512d2f (diff) | |
download | mariadb-git-83e529eced51aa965805e894349bbadd26881f3f.tar.gz |
MDEV-18465 Logging of DDL statements during backup
Many of the changes was needed to be able to collect and print engine
name and table version id's in the ddl log.
Diffstat (limited to 'sql/sql_view.cc')
-rw-r--r-- | sql/sql_view.cc | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/sql/sql_view.cc b/sql/sql_view.cc index 61a2c43a43f..3fc55552f6b 100644 --- a/sql/sql_view.cc +++ b/sql/sql_view.cc @@ -733,6 +733,16 @@ bool mysql_create_view(THD *thd, TABLE_LIST *views, thd->binlog_xid= 0; debug_crash_here("ddl_log_create_after_binlog"); } + if (!res) + { + backup_log_info ddl_log; + bzero(&ddl_log, sizeof(ddl_log)); + ddl_log.query= { C_STRING_WITH_LEN("CREATE") }; + ddl_log.org_storage_engine_name= { C_STRING_WITH_LEN("VIEW") }; + ddl_log.org_database= view->db; + ddl_log.org_table= view->table_name; + backup_log_ddl(&ddl_log); + } if (mode != VIEW_CREATE_NEW) query_cache_invalidate3(thd, view, 0); @@ -1943,6 +1953,14 @@ bool mysql_drop_view(THD *thd, TABLE_LIST *views, enum_drop_mode drop_mode) tdc_remove_table(thd, view->db.str, view->table_name.str); query_cache_invalidate3(thd, view, 0); sp_cache_invalidate(); + + backup_log_info ddl_log; + bzero(&ddl_log, sizeof(ddl_log)); + ddl_log.query= { C_STRING_WITH_LEN("DROP") }; + ddl_log.org_storage_engine_name= { C_STRING_WITH_LEN("VIEW") }; + ddl_log.org_database= view->db; + ddl_log.org_table= view->table_name; + backup_log_ddl(&ddl_log); } something_wrong= (delete_error || |