fix no wait const param is not consistent in fp and np

This commit is contained in:
obdev
2023-04-26 13:21:55 +00:00
committed by ob-robot
parent c8ef72d7e6
commit ca31dfde0f
2 changed files with 1 additions and 30 deletions

View File

@ -2042,19 +2042,6 @@ int ObFastParserMysql::process_identifier_begin_with_n()
OZ (add_null_type_node());
}
} else {
bool is_nowait = false;
if (CHECK_EQ_STRNCASECMP("o_wait", 6)) {
is_nowait = true;
cur_token_type_ = PARAM_TOKEN;
raw_sql_.scan(6);
} else if (CHECK_EQ_STRNCASECMP("owait", 5)) {
is_nowait = true;
cur_token_type_ = PARAM_TOKEN;
raw_sql_.scan(5);
}
if (is_nowait && OB_FAIL(add_nowait_type_node())) {
LOG_WARN("failed to add nowait node info", K(ret));
}
}
return ret;
}
@ -2453,15 +2440,6 @@ int ObFastParserOracle::process_identifier_begin_with_n()
}
}
} else {
bool is_nowait = false;
if (CHECK_EQ_STRNCASECMP("owait", 5)) {
is_nowait = true;
cur_token_type_ = PARAM_TOKEN;
raw_sql_.scan(5);
}
if (is_nowait && OB_FAIL(add_nowait_type_node())) {
LOG_WARN("failed to add nowait node info", K(ret));
}
}
return ret;
}

View File

@ -1488,14 +1488,7 @@ BEGIN(in_c_comment);
if (IS_FAST_PARAMETERIZE) {
ParseResult *p = (ParseResult *)yyextra;
REPUT_NEG_SIGN(p);
if (strcasecmp("nowait", yytext) == 0
|| strcasecmp("no_wait", yytext) == 0) {
//语法阶段for update nowait 会给默认值0,所以如果是fast parse也需要给0, 从而保证常量个数识别的一致性
char num[2] = "0";
STORE_UNIT_TYPE_NODE(num);
} else {
return NAME_OB;
}
return NAME_OB;
} else {
int ret = NAME_OB;
if (NULL == (word = mysql_non_reserved_keyword_lookup(yytext)))