[refactor](exceptionsafe) add factory creator to some class (#18978)

make vexprecontext,vexpr,function,query context,runtimestate thread safe.


---------

Co-authored-by: yiguolei <yiguolei@gmail.com>
This commit is contained in:
yiguolei
2023-04-24 10:32:11 +08:00
committed by GitHub
parent 8e4710079d
commit 8d7a9fd21b
62 changed files with 194 additions and 101 deletions

View File

@ -84,8 +84,8 @@ Status VSchemaChangeExpr::execute(VExprContext* context, doris::vectorized::Bloc
ColumnObject& object_column = *assert_cast<ColumnObject*>(
block->get_by_position(_column_id).column->assume_mutable().get());
CHECK(object_column.is_finalized());
std::unique_ptr<vectorized::schema_util::FullBaseSchemaView> full_base_schema_view;
full_base_schema_view.reset(new vectorized::schema_util::FullBaseSchemaView);
std::unique_ptr<vectorized::schema_util::FullBaseSchemaView> full_base_schema_view =
vectorized::schema_util::FullBaseSchemaView::create_unique();
full_base_schema_view->table_id = _table_id;
vectorized::ColumnsWithTypeAndName cols_with_type_name;
cols_with_type_name.reserve(object_column.get_subcolumns().size());