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