fix incorrect err_code of approx_count_distinct_merge

This commit is contained in:
Zach41
2024-07-29 12:41:58 +00:00
committed by ob-robot
parent 40356f4106
commit be2111e0e4
2 changed files with 10 additions and 4 deletions

View File

@ -44,7 +44,7 @@ public:
int32_t len = 0;
columns.get_payload(row_num, payload, len);
if (OB_UNLIKELY(len != LLC_NUM_BUCKETS)) {
ret = OB_ERR_UNEXPECTED;
ret = OB_INVALID_ARGUMENT;
SQL_LOG(WARN, "unexpected length of input", K(ret), K(len));
} else if (OB_ISNULL(llc_bitmap_buf)) {
// not calculated before, copy from payload

View File

@ -2836,9 +2836,15 @@ int ObAggregateProcessor::prepare_aggr_result(const ObChunkDatumStore::StoredRow
ret = OB_INVALID_ARGUMENT;
LOG_WARN("curr_row_results count is not 1", K(stored_row));
} else if (!stored_row.cells()[0].is_null()) {
ret = clone_aggr_cell(aggr_cell,
stored_row.cells()[0],
aggr_info.is_number());
if (aggr_fun == T_FUN_APPROX_COUNT_DISTINCT_SYNOPSIS_MERGE) {
if (OB_UNLIKELY(stored_row.cells()[0].len_ < get_llc_size())) {
ret = OB_INVALID_ARGUMENT;
LOG_WARN("invalid argument length", K(ret), K(stored_row.cells()[0].len_));
}
}
if (OB_SUCC(ret)) {
ret = clone_aggr_cell(aggr_cell, stored_row.cells()[0], aggr_info.is_number());
}
}
break;
}