fix incorrect err_code of approx_count_distinct_merge
This commit is contained in:
@ -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
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user