[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

@ -22,6 +22,8 @@
namespace doris::vectorized {
class VLambdaFunctionExpr final : public VExpr {
ENABLE_FACTORY_CREATOR(VLambdaFunctionExpr);
public:
VLambdaFunctionExpr(const TExprNode& node) : VExpr(node) {}
~VLambdaFunctionExpr() override = default;
@ -32,7 +34,7 @@ public:
}
VExpr* clone(doris::ObjectPool* pool) const override {
return pool->add(new VLambdaFunctionExpr(*this));
return pool->add(VLambdaFunctionExpr::create_unique(*this).release());
}
const std::string& expr_name() const override { return _expr_name; }