[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

@ -28,7 +28,9 @@ public:
value_expr_(NULL),
table_name_(),
access_exprs_(),
all_cols_def_() {}
all_cols_def_(),
table_type_(MulModeTableType::INVALID_TABLE_TYPE),
namespace_arr_() {}
virtual ~ObLogJsonTable() {}
void add_values_expr(ObRawExpr* expr) { value_expr_ = expr; }
@ -49,6 +51,15 @@ public:
common::ObIArray<ObJtColBaseInfo*>& get_origin_cols_def() { return all_cols_def_; }
virtual int get_plan_item_info(PlanText &plan_text,
ObSqlPlanItem &plan_item) override;
inline void set_table_type(MulModeTableType table_type) { table_type_ = table_type; }
inline MulModeTableType get_table_type() { return table_type_; }
int set_namespace_arr(ObIArray<ObString> &namespace_arr);
int get_namespace_arr(ObIArray<ObString> &namespace_arr);
int64_t get_ns_size() { return namespace_arr_.count(); }
int64_t get_column_param_default_size() { return column_param_default_exprs_.count(); }
int set_column_param_default_arr(ObIArray<ObColumnDefault> &column_param_default_exprs);
int get_column_param_default_arr(ObIArray<ObColumnDefault> &column_param_default_exprs);
ObColumnDefault* get_column_param_default_val(int64_t index);
private:
uint64_t table_id_;
ObRawExpr* value_expr_;
@ -56,6 +67,12 @@ private:
common::ObSEArray<ObRawExpr*, 4, common::ModulePageAllocator, true> access_exprs_;
common::ObSEArray<ObJtColBaseInfo*, 4, common::ModulePageAllocator, true> all_cols_def_;
// table func type
MulModeTableType table_type_;
// xml table param
common::ObSEArray<ObString, 16, common::ModulePageAllocator, true> namespace_arr_;
// default value array
common::ObSEArray<ObColumnDefault, 1, common::ModulePageAllocator, true> column_param_default_exprs_;
DISALLOW_COPY_AND_ASSIGN(ObLogJsonTable);
};