[enhancement](VSlotRef) enhance column_id check in execute function during runtime (#11862)

The column id check in VSlotRef::execute function before is too strict for fuzzy test to continuously produce random query. Temporarily loosen the check logic.
Moreover, there exists some careless call to VExpr::get_const_col, it might return a nullptr but not every function call checks if it's valid. It's an underlying problem.
This commit is contained in:
AlexYue
2022-08-18 09:12:26 +08:00
committed by GitHub
parent 582be130dd
commit 8b10a1a3f7
11 changed files with 29 additions and 12 deletions

View File

@ -75,7 +75,7 @@ doris::Status VCastExpr::execute(VExprContext* context, doris::vectorized::Block
int* result_column_id) {
// for each child call execute
int column_id = 0;
_children[0]->execute(context, block, &column_id);
RETURN_IF_ERROR(_children[0]->execute(context, block, &column_id));
size_t const_param_id = VExpr::insert_param(
block, {_cast_param, _cast_param_data_type, _target_data_type_name}, block->rows());