[FEAT MERGE] JSON/XML phase2 and JSON Partial Update

Co-authored-by: Carrot-77 <1012982871@qq.com>
Co-authored-by: wu-xingying <729224612@qq.com>
This commit is contained in:
shadowao
2024-04-12 10:46:02 +00:00
committed by ob-robot
parent fbfcd0feaa
commit 4afa70a218
254 changed files with 55981 additions and 10150 deletions

View File

@ -1092,8 +1092,9 @@ struct EstimateCostInfo {
JsonTablePath()
: Path(NULL),
table_id_(OB_INVALID_ID),
value_expr_(NULL) {}
virtual ~JsonTablePath() { }
value_expr_(NULL),
column_param_default_exprs_() {}
virtual ~JsonTablePath() {}
int assign(const JsonTablePath &other, common::ObIAllocator *allocator);
virtual int estimate_cost() override;
virtual int get_name_internal(char *buf, const int64_t buf_len, int64_t &pos) const
@ -1107,6 +1108,7 @@ struct EstimateCostInfo {
public:
uint64_t table_id_;
ObRawExpr* value_expr_;
common::ObSEArray<ObColumnDefault, 1, common::ModulePageAllocator, true> column_param_default_exprs_;
private:
DISALLOW_COPY_AND_ASSIGN(JsonTablePath);
};
@ -1405,6 +1407,9 @@ struct NullAwareAntiJoinInfo {
int param_json_table_expr(ObRawExpr* &json_table_expr,
ObIArray<ObExecParamRawExpr *> &nl_params,
ObIArray<ObRawExpr*> &subquery_exprs);
int generate_json_table_default_val(ObIArray<ObExecParamRawExpr *> &nl_param,
ObIArray<ObRawExpr *> &subquery_exprs,
ObRawExpr*& default_expr);
/**
* 为本节点增加一条路径,代价竞争过程在这里实现
* @param path