提交 df902a99 编写于 作者: Z zhengsc01 提交者: ob-robot

[Fix] Disallow index merge plan when query has ES match

上级 bac35408
......@@ -3195,6 +3195,7 @@ int ObJoinOrder::create_access_paths(const uint64_t table_id,
const ParamStore *params = NULL;
bool is_valid = true;
ObSQLSessionInfo *session_info = NULL;
bool is_es_match = false;
bool ignore_normal_access_path = false;
if (OB_ISNULL(get_plan()) ||
OB_ISNULL(stmt = get_plan()->get_stmt()) ||
......@@ -3213,9 +3214,10 @@ int ObJoinOrder::create_access_paths(const uint64_t table_id,
LOG_WARN("get prefix index qual failed", K(ret));
} else if (OB_FAIL(init_basic_text_retrieval_info(table_id,
ref_table_id,
helper))) {
helper,
is_es_match))) {
LOG_WARN("failed to init basic text retrieval info", K(ret));
} else if (OB_FAIL(create_index_merge_access_paths(table_id,
} else if (!is_es_match && OB_FAIL(create_index_merge_access_paths(table_id,
ref_table_id,
helper,
access_paths,
......@@ -21308,7 +21310,8 @@ int ObJoinOrder::process_index_for_match_expr(const uint64_t table_id,
int ObJoinOrder::init_basic_text_retrieval_info(uint64_t table_id,
uint64_t ref_table_id,
PathHelper &helper)
PathHelper &helper,
bool &is_es_match)
{
int ret = OB_SUCCESS;
helper.match_expr_infos_.reuse();
......@@ -21331,7 +21334,7 @@ int ObJoinOrder::init_basic_text_retrieval_info(uint64_t table_id,
LOG_WARN("unexpected null partition info", K(ret));
} else {
// generate selectivity info for each match against expr
bool is_es_match = false;
is_es_match = false;
for (int64_t i = 0; OB_SUCC(ret) && i < match_exprs.count(); ++i) {
ObMatchFunRawExpr *match_expr = NULL;
uint64_t index_id = OB_INVALID_ID;
......@@ -2962,7 +2962,8 @@ struct MergeKeyInfoHelper
static double calc_single_parallel_rows(double rows, int64_t parallel);
int init_basic_text_retrieval_info(uint64_t table_id,
uint64_t ref_table_id,
PathHelper &helper);
PathHelper &helper,
bool &is_es_match);
int extract_fts_preliminary_query_range(const ObIArray<ColumnItem> &range_columns,
const ObIArray<ObRawExpr*> &predicates,
const ObTableSchema *table_schema,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册