From 4fe0b05c3661353a2d9761287fee6ba5521f798e Mon Sep 17 00:00:00 2001 From: ChangerR Date: Wed, 18 Dec 2024 01:45:22 +0000 Subject: [PATCH] fix new query range core in no work thread --- src/sql/rewrite/ob_query_range_define.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/sql/rewrite/ob_query_range_define.cpp b/src/sql/rewrite/ob_query_range_define.cpp index 7f3a5aac5..94d2bf148 100644 --- a/src/sql/rewrite/ob_query_range_define.cpp +++ b/src/sql/rewrite/ob_query_range_define.cpp @@ -608,12 +608,14 @@ int ObPreRangeGraph::preliminary_extract_query_range(const ObIArray const ColumnIdInfoMap *geo_column_id_map /* = NULL*/) { int ret = OB_SUCCESS; - ObRawExprFactory expr_factory(allocator_); ObQueryRangeCtx ctx(exec_ctx); - if (OB_FAIL(fill_column_metas(range_columns))) { + if (OB_ISNULL(exec_ctx)) { + ret = OB_ERR_UNEXPECTED; + LOG_WARN("get unexpeced null", K(ret), K(exec_ctx)); + } else if (OB_FAIL(fill_column_metas(range_columns))) { LOG_WARN("failed to fill column metas"); } else if (OB_FAIL(ctx.init(this, range_columns, expr_constraints, - params, &expr_factory, + params, exec_ctx->get_expr_factory(), phy_rowid_for_table_loc, ignore_calc_failure, index_prefix, geo_column_id_map))) { LOG_WARN("failed to init query range context");