bugfix: select into outfile const number of fast parse and normal parse is different

This commit is contained in:
dontknow9179
2024-07-05 09:16:41 +00:00
committed by ob-robot
parent 7a69d9c304
commit c67088f750
2 changed files with 7 additions and 4 deletions

View File

@ -10331,9 +10331,7 @@ file_option:
SINGLE opt_equal_mark BOOL_VALUE
{
(void)($2);
malloc_terminal_node($$, result->malloc_pool_, T_SINGLE_OPT);
$$->value_ = $3->value_;
$$->is_hidden_const_ = 1;
malloc_non_terminal_node($$, result->malloc_pool_, T_SINGLE_OPT, 1, $3);
}
| MAX_FILE_SIZE opt_equal_mark file_size_const
{

View File

@ -5088,7 +5088,12 @@ int ObSelectResolver::resolve_into_file_node(const ParseNode *list_node, ObSelec
ret = OB_ERR_UNEXPECTED;
LOG_WARN("child of list node is null", K(ret));
} else if (T_SINGLE_OPT == node->type_) {
into_item.is_single_ = node->value_;
if (node->num_child_ != 1 || OB_ISNULL(node->children_[0])) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("get unexpected single node", K(ret));
} else {
into_item.is_single_ = node->children_[0]->value_;
}
} else if (T_MAX_FILE_SIZE == node->type_) {
if (OB_FAIL(resolve_max_file_size_node(node, into_item))) {
LOG_WARN("failed to resolve max file size", K(ret));