[scn] mv definition of SCN to dir of share

This commit is contained in:
obdev
2022-11-28 02:50:55 +00:00
committed by ob-robot
parent 68151eb87a
commit 99d4f56fec
716 changed files with 7746 additions and 6117 deletions

View File

@ -1917,7 +1917,6 @@ int ObStaticEngineCG::generate_insert_with_das(ObLogInsert &op, ObTableInsertSpe
spec.use_dist_das_ = op.is_multi_part_dml();
spec.gi_above_ = op.is_gi_above() && !spec.use_dist_das_;
spec.is_returning_ = op.is_returning();
spec.has_instead_of_trigger_ = op.has_instead_of_trigger();
}
}
for (int64_t i = 0; OB_SUCC(ret) && i < index_dml_infos.count(); ++i) {
@ -1928,7 +1927,11 @@ int ObStaticEngineCG::generate_insert_with_das(ObLogInsert &op, ObTableInsertSpe
LOG_WARN("index dml info is null", K(ret));
} else if (OB_FAIL(dml_cg_service_.generate_insert_ctdef(op, *index_dml_info, ins_ctdef))) {
LOG_WARN("generate insert ctdef failed", K(ret));
} else if (OB_ISNULL(ins_ctdef)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("ins_ctdef is null", K(ret));
} else {
ins_ctdef->has_instead_of_trigger_ = op.has_instead_of_trigger();
spec.ins_ctdefs_.at(0).at(i) = ins_ctdef;
}
} // for index_dml_infos end
@ -1994,7 +1997,6 @@ int ObStaticEngineCG::generate_delete_with_das(ObLogDelete &op, ObTableDeleteSpe
spec.use_dist_das_ = op.is_multi_part_dml();
spec.gi_above_ = op.is_gi_above() && !spec.use_dist_das_;
spec.is_returning_ = op.is_returning();
spec.has_instead_of_trigger_ = op.has_instead_of_trigger();
if (OB_FAIL(spec.del_ctdefs_.allocate_array(phy_plan_->get_allocator(),
delete_table_list.count()))) {
LOG_WARN("allocate delete ctdef array failed", K(ret));
@ -2025,7 +2027,11 @@ int ObStaticEngineCG::generate_delete_with_das(ObLogDelete &op, ObTableDeleteSpe
LOG_WARN("index dml info is null", K(ret));
} else if (OB_FAIL(dml_cg_service_.generate_delete_ctdef(op, *index_dml_info, del_ctdef))) {
LOG_WARN("generate delete ctdef failed", K(ret));
} else if (OB_ISNULL(del_ctdef)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("del_ctdef is null", K(ret));
} else {
del_ctdef->has_instead_of_trigger_ = op.has_instead_of_trigger();
ctdefs.at(j) = del_ctdef;
}
} // for index_dml_infos end
@ -2117,7 +2123,6 @@ int ObStaticEngineCG::generate_update_with_das(ObLogUpdate &op, ObTableUpdateSpe
spec.use_dist_das_ = op.is_multi_part_dml();
spec.gi_above_ = op.is_gi_above() && !spec.use_dist_das_;
spec.is_returning_ = op.is_returning();
spec.has_instead_of_trigger_ = op.has_instead_of_trigger();
if (OB_FAIL(spec.upd_ctdefs_.allocate_array(phy_plan_->get_allocator(),
table_list.count()))) {
LOG_WARN("allocate update ctdef array failed", K(ret), K(table_list));
@ -2145,7 +2150,11 @@ int ObStaticEngineCG::generate_update_with_das(ObLogUpdate &op, ObTableUpdateSpe
LOG_WARN("index dml info is null", K(ret));
} else if (OB_FAIL(dml_cg_service_.generate_update_ctdef(op, *index_dml_info, upd_ctdef))) {
LOG_WARN("generate update ctdef failed", K(ret));
} else if (OB_ISNULL(upd_ctdef)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("upd_ctdef is null", K(ret));
} else {
upd_ctdef->has_instead_of_trigger_ = op.has_instead_of_trigger();
ctdefs.at(j) = upd_ctdef;
}
} // for index_dml_infos end
@ -4969,8 +4978,12 @@ int ObStaticEngineCG::fill_aggr_infos(ObLogGroupBy &op,
}
//4.add aggr columns
spec.support_fast_single_row_agg_ = true;
for (int64_t i = 0; OB_SUCC(ret) && i < all_aggr_exprs.count(); ++i) {
ObAggrInfo &aggr_info = spec.aggr_infos_.at(i);
if (!is_simple_aggr_expr(aggr_exprs.at(i)->get_expr_type())) {
spec.support_fast_single_row_agg_ = false;
}
if (OB_FAIL(fill_aggr_info(*static_cast<ObAggFunRawExpr *>(aggr_exprs.at(i)),
*all_aggr_exprs.at(i),
aggr_info,

View File

@ -457,6 +457,10 @@ private:
int add_output_datum_check_flag(ObOpSpec &spec);
int generate_calc_part_id_expr(const ObRawExpr &src, const ObDASTableLocMeta *loc_meta, ObExpr *&dst);
int check_only_one_unique_key(const ObLogPlan &log_plan, const ObTableSchema* table_schema, bool& only_one_unique_key);
bool is_simple_aggr_expr(const ObItemType &expr_type) { return T_FUN_COUNT == expr_type
|| T_FUN_SUM == expr_type
|| T_FUN_MAX == expr_type
|| T_FUN_MIN == expr_type; }
private:
ObPhysicalPlan *phy_plan_;
ObOptimizerContext *opt_ctx_;