Fix const number of fast parse and normal parse is different
This commit is contained in:
@ -1018,10 +1018,18 @@ int ObFastParserBase::process_hex_number(bool is_quote)
|
||||
}
|
||||
} else {
|
||||
// 0X([0-9A-F])+
|
||||
cur_token_type_ = PARAM_TOKEN;
|
||||
while (is_hex(next_ch)) {
|
||||
next_ch = raw_sql_.scan();
|
||||
}
|
||||
int64_t next_idf_pos = is_first_identifier_flags(raw_sql_.cur_pos_);
|
||||
if (-1 != next_idf_pos) {
|
||||
// it is possible that the next token is a string and needs to fall back to
|
||||
// the position of quote
|
||||
raw_sql_.cur_pos_ = pos;
|
||||
cur_token_type_ = NORMAL_TOKEN;
|
||||
} else {
|
||||
cur_token_type_ = PARAM_TOKEN;
|
||||
}
|
||||
}
|
||||
if (OB_SUCC(ret) && PARAM_TOKEN == cur_token_type_) {
|
||||
char *buf = nullptr;
|
||||
|
||||
Reference in New Issue
Block a user