[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:
@ -17,6 +17,7 @@
|
||||
|
||||
#include "vec/exprs/table_function/vexplode.h"
|
||||
|
||||
#include "common/status.h"
|
||||
#include "vec/exprs/vexpr.h"
|
||||
|
||||
namespace doris::vectorized {
|
||||
@ -31,7 +32,8 @@ Status VExplodeTableFunction::process_init(vectorized::Block* block) {
|
||||
<< _vexpr_context->root()->children().size();
|
||||
|
||||
int value_column_idx = -1;
|
||||
_vexpr_context->root()->children()[0]->execute(_vexpr_context, block, &value_column_idx);
|
||||
RETURN_IF_ERROR(_vexpr_context->root()->children()[0]->execute(_vexpr_context, block,
|
||||
&value_column_idx));
|
||||
|
||||
_array_column =
|
||||
block->get_by_position(value_column_idx).column->convert_to_full_column_if_const();
|
||||
|
||||
Reference in New Issue
Block a user