[FEAT MERGE] 开源裁减颗粒度优化

Co-authored-by: nroskill <nroskill@gmail.com>
Co-authored-by: akaError <lzg020616@163.com>
Co-authored-by: yinyj17 <yinyijun92@gmail.com>
This commit is contained in:
wenxingsen
2023-08-15 02:40:25 +00:00
committed by ob-robot
parent a31e422133
commit 9b31f8aa03
378 changed files with 26718 additions and 2379 deletions

View File

@ -2703,6 +2703,27 @@ int ObObjAccessRawExpr::add_access_indexs(const ObIArray<pl::ObObjAccessIdx> &ac
case pl::ObObjAccessIdx::IS_PROPERTY: {
if (OB_FAIL(expr_access.push_back(access_idx))) {
LOG_WARN("store access index failed", K(ret));
#ifdef OB_BUILD_ORACLE_PL
} else if (access_idx.is_property()) {
if (0 == access_idx.var_name_.case_compare("count")) {
set_property(pl::ObAssocArrayType::COUNT_PROPERTY);
} else if (0 == access_idx.var_name_.case_compare("first")) {
set_property(pl::ObAssocArrayType::FIRST_PROPERTY);
} else if (0 == access_idx.var_name_.case_compare("last")) {
set_property(pl::ObAssocArrayType::LAST_PROPERTY);
} else if (0 == access_idx.var_name_.case_compare("limit")) {
set_property(pl::ObAssocArrayType::LIMIT_PROPERTY);
} else if (0 == access_idx.var_name_.case_compare("prior")) {
set_property(pl::ObAssocArrayType::PRIOR_PROPERTY);
} else if (0 == access_idx.var_name_.case_compare("next")) {
set_property(pl::ObAssocArrayType::NEXT_PROPERTY);
} else if (0 == access_idx.var_name_.case_compare("exists")) {
set_property(pl::ObAssocArrayType::EXISTS_PROPERTY);
} else {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("Invalid property type", K(i), K(access_idx), K(ret));
}
#endif
} else { /*do nothing*/ }
}
break;