Fix print vectorized rows core when row is skipped
This commit is contained in:
@ -143,7 +143,8 @@ int ObDASExtraData::get_next_rows(int64_t &count, int64_t capacity)
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
got_row = true;
|
got_row = true;
|
||||||
PRINT_VECTORIZED_ROWS(SQL, DEBUG, *eval_ctx_, *output_exprs_, count, KR(ret));
|
const ObBitVector *skip = NULL;
|
||||||
|
PRINT_VECTORIZED_ROWS(SQL, DEBUG, *eval_ctx_, *output_exprs_, count, skip, KR(ret));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
|
|||||||
@ -627,7 +627,8 @@ int ObDASScanOp::fill_task_result(ObIDASTaskResult &task_result, bool &has_more,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (OB_SUCC(ret) && has_more) {
|
if (OB_SUCC(ret) && has_more) {
|
||||||
PRINT_VECTORIZED_ROWS(SQL, DEBUG, eval_ctx, result_output, remain_row_cnt_,
|
const ObBitVector *skip = NULL;
|
||||||
|
PRINT_VECTORIZED_ROWS(SQL, DEBUG, eval_ctx, result_output, remain_row_cnt_, skip,
|
||||||
K(simulate_row_cnt), K(datum_store.get_row_cnt()),
|
K(simulate_row_cnt), K(datum_store.get_row_cnt()),
|
||||||
K(has_more));
|
K(has_more));
|
||||||
}
|
}
|
||||||
@ -806,7 +807,8 @@ int ObDASScanResult::get_next_rows(int64_t &count, int64_t capacity)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
PRINT_VECTORIZED_ROWS(SQL, DEBUG, *eval_ctx_, *output_exprs_, count);
|
const ObBitVector *skip = NULL;
|
||||||
|
PRINT_VECTORIZED_ROWS(SQL, DEBUG, *eval_ctx_, *output_exprs_, count, skip);
|
||||||
}
|
}
|
||||||
LOG_DEBUG("das result next rows", K(enable_rich_format_), K(count), K(capacity), K(ret));
|
LOG_DEBUG("das result next rows", K(enable_rich_format_), K(count), K(capacity), K(ret));
|
||||||
return ret;
|
return ret;
|
||||||
|
|||||||
@ -285,7 +285,8 @@ int ObGroupScanIter::get_next_rows(int64_t &count, int64_t capacity)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (OB_SUCC(ret)) {
|
if (OB_SUCC(ret)) {
|
||||||
PRINT_VECTORIZED_ROWS(SQL, DEBUG, *row_store_.eval_ctx_, *row_store_.exprs_, storage_count);
|
const ObBitVector *skip = NULL;
|
||||||
|
PRINT_VECTORIZED_ROWS(SQL, DEBUG, *row_store_.eval_ctx_, *row_store_.exprs_, storage_count, skip);
|
||||||
ObDatum *group_idx_batch = group_id_expr_->locate_batch_datums(*row_store_.eval_ctx_);
|
ObDatum *group_idx_batch = group_id_expr_->locate_batch_datums(*row_store_.eval_ctx_);
|
||||||
int64_t i = 0;
|
int64_t i = 0;
|
||||||
for (i = 0; i < storage_count; i++) {
|
for (i = 0; i < storage_count; i++) {
|
||||||
|
|||||||
@ -450,7 +450,8 @@ OB_INLINE int ObTableLockOp::get_next_batch_from_child(const int64_t max_row_cnt
|
|||||||
if (OB_FAIL(child_->get_next_batch(max_row_cnt, child_brs))) {
|
if (OB_FAIL(child_->get_next_batch(max_row_cnt, child_brs))) {
|
||||||
LOG_WARN("fail to get next batch", K(ret));
|
LOG_WARN("fail to get next batch", K(ret));
|
||||||
} else if (OB_LIKELY(!child_brs->end_ && child_brs->size_ > 0)) {
|
} else if (OB_LIKELY(!child_brs->end_ && child_brs->size_ > 0)) {
|
||||||
LOG_TRACE("child output row", "row", ROWEXPR2STR(eval_ctx_, child_->get_spec().output_));
|
PRINT_VECTORIZED_ROWS(SQL, TRACE, eval_ctx_, child_->get_spec().output_, child_brs->size_,
|
||||||
|
child_brs->skip_);
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1410,7 +1410,7 @@ inline const char *get_vectorized_row_str(ObEvalCtx &eval_ctx,
|
|||||||
return buffer;
|
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)) { \
|
do { if (IS_LOG_ENABLED(level)) { \
|
||||||
[&](const char *_fun_name_) __attribute__((GET_LOG_FUNC_ATTR(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, \
|
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); \
|
ObEvalCtx::BatchInfoScopeGuard _batch_info_guard(eval_ctx); \
|
||||||
_batch_info_guard.set_batch_size(_batch_size); \
|
_batch_info_guard.set_batch_size(_batch_size); \
|
||||||
for (int64_t i = 0; i < _batch_size; ++i) { \
|
for (int64_t i = 0; i < _batch_size; ++i) { \
|
||||||
|
if (NULL != skip && skip->at(i)) { \
|
||||||
|
continue; \
|
||||||
|
} \
|
||||||
_batch_info_guard.set_batch_idx(i); \
|
_batch_info_guard.set_batch_idx(i); \
|
||||||
::oceanbase::common::OB_PRINT("["#parMod"] ", OB_LOG_LEVEL(level), \
|
::oceanbase::common::OB_PRINT("["#parMod"] ", OB_LOG_LEVEL(level), \
|
||||||
get_vectorized_row_str(eval_ctx, exprs, i), \
|
get_vectorized_row_str(eval_ctx, exprs, i), \
|
||||||
|
|||||||
@ -157,7 +157,8 @@ int ObIndexLookupOpImpl::get_next_rows(int64_t &count, int64_t capacity)
|
|||||||
} else {
|
} else {
|
||||||
got_next_row = true;
|
got_next_row = true;
|
||||||
update_state_in_output_rows_state(count);
|
update_state_in_output_rows_state(count);
|
||||||
PRINT_VECTORIZED_ROWS(SQL, DEBUG, get_eval_ctx(), get_output_expr(), count,
|
const ObBitVector *skip = NULL;
|
||||||
|
PRINT_VECTORIZED_ROWS(SQL, DEBUG, get_eval_ctx(), get_output_expr(), count, skip,
|
||||||
K(ret), K(lookup_row_cnt_), K(lookup_rowkey_cnt_),
|
K(ret), K(lookup_row_cnt_), K(lookup_rowkey_cnt_),
|
||||||
K(lookup_group_cnt_), K(index_group_cnt_));
|
K(lookup_group_cnt_), K(index_group_cnt_));
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2102,7 +2102,8 @@ int ObTableScanOp::inner_get_next_batch_for_tsc(const int64_t max_row_cnt)
|
|||||||
if (OB_SUCC(ret)) {
|
if (OB_SUCC(ret)) {
|
||||||
const ExprFixedArray &storage_output = MY_CTDEF.get_das_output_exprs();
|
const ExprFixedArray &storage_output = MY_CTDEF.get_das_output_exprs();
|
||||||
if (!MY_SPEC.is_global_index_back()) {
|
if (!MY_SPEC.is_global_index_back()) {
|
||||||
PRINT_VECTORIZED_ROWS(SQL, DEBUG, eval_ctx_, storage_output, brs_.size_, K(MY_CTDEF.scan_ctdef_.ref_table_id_));
|
PRINT_VECTORIZED_ROWS(SQL, DEBUG, eval_ctx_, storage_output, brs_.size_, brs_.skip_,
|
||||||
|
K(MY_CTDEF.scan_ctdef_.ref_table_id_));
|
||||||
}
|
}
|
||||||
if (OB_FAIL(add_ddl_column_checksum_batch(brs_.size_))) {
|
if (OB_FAIL(add_ddl_column_checksum_batch(brs_.size_))) {
|
||||||
LOG_WARN("add ddl column checksum failed", K(ret));
|
LOG_WARN("add ddl column checksum failed", K(ret));
|
||||||
|
|||||||
Reference in New Issue
Block a user