bugfix : json_object, json_query, json_objectagg
This commit is contained in:
@ -7056,7 +7056,7 @@ int ObAggregateProcessor::get_ora_json_objectagg_result(const ObAggrInfo &aggr_i
|
||||
|
||||
bool need_key_string_convert = (ObCharset::charset_type_by_coll(cs_type_key) != CHARSET_UTF8MB4);
|
||||
|
||||
if (OB_ISNULL(key_string.ptr())) {
|
||||
if (OB_ISNULL(key_string.ptr()) || key_string.length() == 0) {
|
||||
ret = OB_ERR_NULL_VALUE;
|
||||
LOG_WARN("unexpected null result", K(ret));
|
||||
} else if (is_absent_on_null && ob_is_null(type_value)) {
|
||||
|
||||
@ -1629,8 +1629,15 @@ int ObJsonExprHelper::calc_asciistr_in_expr(const ObString &src,
|
||||
buf[pos++] = '\\';
|
||||
}
|
||||
if (OB_SUCC(ret) && '\\' != wchar) {
|
||||
if (OB_UNLIKELY(pos >= buf_len)) {
|
||||
ret = OB_SIZE_OVERFLOW;
|
||||
LOG_WARN("size overflow", K(ret), K(pos), K(buf_len));
|
||||
} else {
|
||||
buf[pos++] = 'u';
|
||||
}
|
||||
int64_t hex_writtern_bytes = 0;
|
||||
if (OB_FAIL(hex_print(temp_buf + i*utf16_minmb_len, utf16_minmb_len,
|
||||
if (OB_FAIL(ret)) {
|
||||
} else if (OB_FAIL(hex_print(temp_buf + i*utf16_minmb_len, utf16_minmb_len,
|
||||
buf + pos, buf_len - pos, hex_writtern_bytes))) {
|
||||
LOG_WARN("fail to convert to hex", K(ret), K(temp_written_bytes), K(pos), K(buf_len));
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user