support oms ncharacter_set_connection

This commit is contained in:
SevenJ-swj
2023-10-10 11:40:07 +00:00
committed by ob-robot
parent 8bb3b902a3
commit c63282a624
19 changed files with 226 additions and 42 deletions

View File

@ -2955,7 +2955,9 @@ int ObFastParserOracle::process_string(const bool in_q_quote)
int64_t str_len = tmp_buf_len_;
need_mem_size += str_len + 1; // '\0'
if ('n' == raw_sql_.char_at(cur_token_begin_pos_) ||
'N' == raw_sql_.char_at(cur_token_begin_pos_)) {
'N' == raw_sql_.char_at(cur_token_begin_pos_) ||
'u' == raw_sql_.char_at(cur_token_begin_pos_) ||
'U' == raw_sql_.char_at(cur_token_begin_pos_)) {
param_type = T_NCHAR;
}
// allocate all the memory needed at once
@ -2980,6 +2982,11 @@ int ObFastParserOracle::process_string(const bool in_q_quote)
} else {
node->raw_sql_offset_ = cur_token_begin_pos_;
}
if ('u' == raw_sql_.char_at(cur_token_begin_pos_) ||
'U' == raw_sql_.char_at(cur_token_begin_pos_)) {
node->value_ = -1;
}
lex_store_param(node, buf);
}
}
@ -3074,7 +3081,11 @@ int ObFastParserOracle::process_identifier(bool is_number_begin)
}
case 'u': // update
case 'U': {
CHECK_AND_PROCESS_HINT("pdate", 5);
if ('\'' == raw_sql_.char_at(raw_sql_.cur_pos_)) {
OZ (process_string(false));
} else {
CHECK_AND_PROCESS_HINT("pdate", 5);
}
break;
}
case 'i': // insert or interval