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; break;
} }
case T_SHOW_TRIGGERS: { 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; break;
} }
case T_SHOW_WARNINGS: 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_CREATE_TENANT:
case T_SHOW_RECYCLEBIN: case T_SHOW_RECYCLEBIN:
case T_SHOW_CREATE_TABLEGROUP: case T_SHOW_CREATE_TABLEGROUP:
case T_SHOW_TRIGGERS:
case T_SHOW_STATUS: { case T_SHOW_STATUS: {
REGISTER_STMT_RESOLVER(Show); REGISTER_STMT_RESOLVER(Show);
break; break;