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 { |   } else { | ||||||
|     // 0X([0-9A-F])+ |     // 0X([0-9A-F])+ | ||||||
|     cur_token_type_ = PARAM_TOKEN; |  | ||||||
|     while (is_hex(next_ch)) { |     while (is_hex(next_ch)) { | ||||||
|       next_ch = raw_sql_.scan(); |       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_) { |   if (OB_SUCC(ret) && PARAM_TOKEN == cur_token_type_) { | ||||||
|     char *buf = nullptr; |     char *buf = nullptr; | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 obdev
					obdev