support show triggers for mysqldump
This commit is contained in:
@ -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:
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user