support show triggers for mysqldump

This commit is contained in:
xf0 2021-08-24 20:42:03 +08:00 committed by wangzelin.wzl
parent e93afdc702
commit 1458849166
2 changed files with 23 additions and 1 deletions

View File

@ -749,7 +749,28 @@ int ObShowResolver::resolve(const ParseNode& parse_tree)
break;
}
case T_SHOW_TRIGGERS: {
ret = OB_NOT_SUPPORTED;
// Trigger is not supported in mysql mode and this is only used for mysqldump tool now.
// https://work.aone.alibaba-inc.com/issue/21188380
if (is_oracle_mode) {
ret = OB_NOT_SUPPORTED;
LOG_WARN("not support show triggers in oracle mode", K(ret));
} else if (OB_UNLIKELY(parse_tree.num_child_ != 2 || NULL == parse_tree.children_)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("parse tree is wrong",
K(ret),
K(parse_tree.num_child_),
K(parse_tree.children_));
} else {
if (OB_FAIL(sql_gen.init(params_.allocator_))) {
LOG_WARN("fail to init sql string generator", K(ret));
} else if (OB_FAIL(sql_gen.gen_select_str(ObShowSqlSet::SHOW_TRIGGERS_SELECT))) {
LOG_WARN("fail to generate select string", K(ret));
} else if (OB_FAIL(sql_gen.gen_from_str(ObShowSqlSet::SHOW_TRIGGERS_SUBQUERY))) {
LOG_WARN("fail to generate from string", K(ret));
} else {
sql_gen.assign_sql_str(select_sql);
}
}
break;
}
case T_SHOW_WARNINGS:

View File

@ -575,6 +575,7 @@ int ObResolver::resolve(IsPrepared if_prepared, const ParseNode& parse_tree, ObS
case T_SHOW_CREATE_TENANT:
case T_SHOW_RECYCLEBIN:
case T_SHOW_CREATE_TABLEGROUP:
case T_SHOW_TRIGGERS:
case T_SHOW_STATUS: {
REGISTER_STMT_RESOLVER(Show);
break;