add assign in ObAggrInfo
This commit is contained in:
@ -205,6 +205,55 @@ int64_t ObAggrInfo::to_string(char *buf, const int64_t buf_len) const
|
|||||||
return pos;
|
return pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int ObAggrInfo::assign(const ObAggrInfo &rhs)
|
||||||
|
{
|
||||||
|
int ret = OB_SUCCESS;
|
||||||
|
set_allocator(rhs.alloc_);
|
||||||
|
expr_ = rhs.expr_;
|
||||||
|
real_aggr_type_ = rhs.real_aggr_type_;
|
||||||
|
has_distinct_ = rhs.has_distinct_;
|
||||||
|
is_implicit_first_aggr_ = rhs.is_implicit_first_aggr_;
|
||||||
|
has_order_by_ = rhs.has_order_by_;
|
||||||
|
|
||||||
|
group_concat_param_count_ = rhs.group_concat_param_count_;
|
||||||
|
|
||||||
|
separator_expr_ = rhs.separator_expr_;
|
||||||
|
window_size_param_expr_ = rhs.window_size_param_expr_;
|
||||||
|
item_size_param_expr_ = rhs.item_size_param_expr_;
|
||||||
|
is_need_deserialize_row_ = rhs.is_need_deserialize_row_;
|
||||||
|
pl_agg_udf_type_id_ = rhs.pl_agg_udf_type_id_;
|
||||||
|
|
||||||
|
pl_result_type_ = rhs.pl_result_type_;
|
||||||
|
dll_udf_ = rhs.dll_udf_;
|
||||||
|
bucket_num_param_expr_ = rhs.bucket_num_param_expr_;
|
||||||
|
rollup_idx_ = rhs.rollup_idx_;
|
||||||
|
|
||||||
|
format_json_ = rhs.format_json_;
|
||||||
|
strict_json_ = rhs.strict_json_;
|
||||||
|
absent_on_null_ = rhs.absent_on_null_;
|
||||||
|
returning_type_ = rhs.returning_type_;
|
||||||
|
with_unique_keys_ = rhs.with_unique_keys_;
|
||||||
|
max_disuse_param_expr_ = rhs.max_disuse_param_expr_;
|
||||||
|
if (OB_FAIL(param_exprs_.assign(rhs.param_exprs_))) {
|
||||||
|
LOG_WARN("fail to assign param exprs", K(ret));
|
||||||
|
} else if (OB_FAIL(distinct_collations_.assign(rhs.distinct_collations_))) {
|
||||||
|
LOG_WARN("fail to assign distinct_collations_", K(ret));
|
||||||
|
} else if (OB_FAIL(distinct_cmp_funcs_.assign(rhs.distinct_cmp_funcs_))) {
|
||||||
|
LOG_WARN("fail to assign distinct_cmp_funcs_", K(ret));
|
||||||
|
} else if (OB_FAIL(sort_collations_.assign(rhs.sort_collations_))) {
|
||||||
|
LOG_WARN("fail to assign sort_collations_", K(ret));
|
||||||
|
} else if (OB_FAIL(sort_cmp_funcs_.assign(rhs.sort_cmp_funcs_))) {
|
||||||
|
LOG_WARN("fail to assign sort_cmp_funcs_", K(ret));
|
||||||
|
} else if (OB_FAIL(pl_agg_udf_params_type_.assign(rhs.pl_agg_udf_params_type_))) {
|
||||||
|
LOG_WARN("fail to assign pl_agg_udf_params_type_", K(ret));
|
||||||
|
} else if (OB_FAIL(grouping_idxs_.assign(rhs.grouping_idxs_))) {
|
||||||
|
LOG_WARN("fail to assign grouping_idxs_", K(ret));
|
||||||
|
} else if (OB_FAIL(group_idxs_.assign(rhs.group_idxs_))) {
|
||||||
|
LOG_WARN("fail to assign group_idxs_", K(ret));
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
ObAggregateProcessor::AggrCell::~AggrCell()
|
ObAggregateProcessor::AggrCell::~AggrCell()
|
||||||
{
|
{
|
||||||
destroy();
|
destroy();
|
||||||
|
|||||||
@ -167,6 +167,7 @@ public:
|
|||||||
group_idxs_.set_allocator(alloc);
|
group_idxs_.set_allocator(alloc);
|
||||||
}
|
}
|
||||||
int64_t to_string(char *buf, const int64_t buf_len) const;
|
int64_t to_string(char *buf, const int64_t buf_len) const;
|
||||||
|
int assign(const ObAggrInfo &rhs);
|
||||||
|
|
||||||
common::ObIAllocator *alloc_;
|
common::ObIAllocator *alloc_;
|
||||||
ObExpr *expr_;
|
ObExpr *expr_;
|
||||||
|
|||||||
Reference in New Issue
Block a user