[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:
@ -40,8 +40,10 @@ Status VExplodeSplitTableFunction::process_init(vectorized::Block* block) {
|
||||
int text_column_idx = -1;
|
||||
int delimiter_column_idx = -1;
|
||||
|
||||
_vexpr_context->root()->children()[0]->execute(_vexpr_context, block, &text_column_idx);
|
||||
_vexpr_context->root()->children()[1]->execute(_vexpr_context, block, &delimiter_column_idx);
|
||||
RETURN_IF_ERROR(_vexpr_context->root()->children()[0]->execute(_vexpr_context, block,
|
||||
&text_column_idx));
|
||||
RETURN_IF_ERROR(_vexpr_context->root()->children()[1]->execute(_vexpr_context, block,
|
||||
&delimiter_column_idx));
|
||||
|
||||
_text_column = block->get_by_position(text_column_idx).column;
|
||||
_delimiter_column = block->get_by_position(delimiter_column_idx).column;
|
||||
|
||||
Reference in New Issue
Block a user