fix information_schema views can not use index
This commit is contained in:
@ -8203,6 +8203,22 @@ int ObRawExprResolverImpl::process_internal_sys_function_node(const ParseNode *n
|
|||||||
}
|
}
|
||||||
} //end for
|
} //end for
|
||||||
OX (expr = func_expr);
|
OX (expr = func_expr);
|
||||||
|
if (OB_SUCC(ret) && T_FUN_SYS_SET_COLLATION == node_type && ctx_.is_in_system_view_) {
|
||||||
|
if (OB_UNLIKELY(expr->get_param_count() != 2 || num != 2)) {
|
||||||
|
ret = OB_ERR_PARSER_SYNTAX;
|
||||||
|
LOG_WARN("invalid parse tree", K(ret));
|
||||||
|
} else if (OB_ISNULL(expr->get_param_expr(1))) {
|
||||||
|
ret = OB_ERR_PARSER_SYNTAX;
|
||||||
|
LOG_WARN("invalid parse tree", K(ret));
|
||||||
|
} else {
|
||||||
|
const ParseNode *collation_node = node->children_[1]->children_[1];
|
||||||
|
ObString collation(collation_node->str_len_, collation_node->str_value_);
|
||||||
|
if (0 == collation.case_compare("utf8mb4_name_case") &&
|
||||||
|
CS_TYPE_UTF8MB4_GENERAL_CI == expr->get_param_expr(1)->get_collation_type()) {
|
||||||
|
expr = expr->get_param_expr(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
|
|||||||
@ -240,7 +240,7 @@ desc information_schema.ROUTINES;
|
|||||||
Field Type Null Key Default Extra
|
Field Type Null Key Default Extra
|
||||||
SPECIFIC_NAME varchar(64) NO NULL
|
SPECIFIC_NAME varchar(64) NO NULL
|
||||||
ROUTINE_CATALOG varchar(512) NO
|
ROUTINE_CATALOG varchar(512) NO
|
||||||
ROUTINE_SCHEMA varchar(64) NO
|
ROUTINE_SCHEMA varchar(64) NO NULL
|
||||||
ROUTINE_NAME varchar(64) NO NULL
|
ROUTINE_NAME varchar(64) NO NULL
|
||||||
ROUTINE_TYPE varchar(9) NO NULL
|
ROUTINE_TYPE varchar(9) NO NULL
|
||||||
DATA_TYPE varchar(64) NO
|
DATA_TYPE varchar(64) NO
|
||||||
|
|||||||
@ -241,7 +241,7 @@ desc information_schema.ROUTINES;
|
|||||||
Field Type Null Key Default Extra
|
Field Type Null Key Default Extra
|
||||||
SPECIFIC_NAME varchar(64) NO NULL
|
SPECIFIC_NAME varchar(64) NO NULL
|
||||||
ROUTINE_CATALOG varchar(512) NO
|
ROUTINE_CATALOG varchar(512) NO
|
||||||
ROUTINE_SCHEMA varchar(64) NO
|
ROUTINE_SCHEMA varchar(64) NO NULL
|
||||||
ROUTINE_NAME varchar(64) NO NULL
|
ROUTINE_NAME varchar(64) NO NULL
|
||||||
ROUTINE_TYPE varchar(9) NO NULL
|
ROUTINE_TYPE varchar(9) NO NULL
|
||||||
DATA_TYPE varchar(64) NO
|
DATA_TYPE varchar(64) NO
|
||||||
|
|||||||
Reference in New Issue
Block a user