diff --git a/src/observer/virtual_table/ob_information_kvcache_table.h b/src/observer/virtual_table/ob_information_kvcache_table.h index 3097933d6..1d4f21e4d 100644 --- a/src/observer/virtual_table/ob_information_kvcache_table.h +++ b/src/observer/virtual_table/ob_information_kvcache_table.h @@ -12,9 +12,9 @@ #ifndef OCEANBASE_OBSERVER_VIRTUAL_TABLE_OB_INFORMATION_KVCACHE_TABLE_ #define OCEANBASE_OBSERVER_VIRTUAL_TABLE_OB_INFORMATION_KVCACHE_TABLE_ - -#include "share/ob_virtual_table_scanner_iterator.h" -#include "share/cache/ob_kv_storecache.h" + +#include "share/ob_virtual_table_scanner_iterator.h" +#include "share/cache/ob_kv_storecache.h" #include "lib/stat/ob_di_cache.h" diff --git a/src/sql/engine/expr/ob_expr_from_base64.cpp b/src/sql/engine/expr/ob_expr_from_base64.cpp index 5b39fa931..992b1bb52 100644 --- a/src/sql/engine/expr/ob_expr_from_base64.cpp +++ b/src/sql/engine/expr/ob_expr_from_base64.cpp @@ -179,7 +179,9 @@ int ObExprFromBase64::eval_from_base64_batch(const ObExpr &expr, ObEvalCtx &ctx, const ObString & in_raw = arg->get_string(); ObLength in_raw_len = in_raw.length(); const char *buf = in_raw.ptr(); - if (NULL == buf) { + if (arg->is_null()) { + res[j].set_null(); + } else if (NULL == buf) { res[j].set_string(nullptr, 0); } else { char *output_buf = nullptr; diff --git a/src/sql/engine/expr/ob_expr_to_base64.cpp b/src/sql/engine/expr/ob_expr_to_base64.cpp index 3cb4a7d7c..07c12306a 100644 --- a/src/sql/engine/expr/ob_expr_to_base64.cpp +++ b/src/sql/engine/expr/ob_expr_to_base64.cpp @@ -172,8 +172,10 @@ int ObExprToBase64::eval_to_base64_batch(const ObExpr &expr, ObLength in_raw_len = in_raw.length(); const char *buf = in_raw.ptr(); char *output_buf = nullptr; - int64_t buf_len = base64_needed_encoded_length(in_raw_len); - if (OB_UNLIKELY(buf_len == 0)) { + int64_t buf_len = 0; + if (arg->is_null()) { + res[j].set_null(); + } else if (OB_UNLIKELY((buf_len = base64_needed_encoded_length(in_raw_len)) == 0)) { res[j].set_string(nullptr, 0); } else { int64_t pos = 0;