Fix print vectorized rows core when row is skipped

This commit is contained in:
hezuojiao
2024-02-08 19:03:50 +00:00
committed by ob-robot
parent 7e40f4cb68
commit 3fd4afdc90
7 changed files with 18 additions and 8 deletions

View File

@ -1410,7 +1410,7 @@ inline const char *get_vectorized_row_str(ObEvalCtx &eval_ctx,
return buffer;
}
#define PRINT_VECTORIZED_ROWS(parMod, level, eval_ctx, exprs, batch_size, args...) \
#define PRINT_VECTORIZED_ROWS(parMod, level, eval_ctx, exprs, batch_size, skip, args...) \
do { if (IS_LOG_ENABLED(level)) { \
[&](const char *_fun_name_) __attribute__((GET_LOG_FUNC_ATTR(level))) { \
if (OB_UNLIKELY(OB_LOGGER.need_to_print(::oceanbase::common::OB_LOG_ROOT::M_##parMod, \
@ -1420,6 +1420,9 @@ inline const char *get_vectorized_row_str(ObEvalCtx &eval_ctx,
ObEvalCtx::BatchInfoScopeGuard _batch_info_guard(eval_ctx); \
_batch_info_guard.set_batch_size(_batch_size); \
for (int64_t i = 0; i < _batch_size; ++i) { \
if (NULL != skip && skip->at(i)) { \
continue; \
} \
_batch_info_guard.set_batch_idx(i); \
::oceanbase::common::OB_PRINT("["#parMod"] ", OB_LOG_LEVEL(level), \
get_vectorized_row_str(eval_ctx, exprs, i), \