From dce925b7f06d6ccd77c0452f0094632a002fe743 Mon Sep 17 00:00:00 2001 From: obdev Date: Sun, 23 Apr 2023 08:05:50 +0000 Subject: [PATCH] remove get_method array from query range extraction --- deps/easy/src/io/easy_negotiation.c | 18 +- src/sql/engine/px/ob_granule_pump.cpp | 3 - src/sql/engine/table/ob_table_scan_op.cpp | 3 - src/sql/ob_sql_utils.cpp | 43 +- src/sql/ob_sql_utils.h | 3 - src/sql/optimizer/ob_opt_selectivity.cpp | 8 +- src/sql/rewrite/ob_query_range.cpp | 84 +-- src/sql/rewrite/ob_query_range.h | 32 +- src/sql/rewrite/ob_query_range_provider.h | 3 +- unittest/sql/rewrite/test_query_range.cpp | 117 ++-- .../rewrite/test_query_range_collation.result | 630 ++++++------------ .../rewrite/test_query_range_filter.result | 315 ++------- 12 files changed, 401 insertions(+), 858 deletions(-) diff --git a/deps/easy/src/io/easy_negotiation.c b/deps/easy/src/io/easy_negotiation.c index 9b43a41c7..671994992 100644 --- a/deps/easy/src/io/easy_negotiation.c +++ b/deps/easy/src/io/easy_negotiation.c @@ -22,9 +22,9 @@ const uint64_t g_support_eio_maigc[] = { 0x5933893228167181, 0x6683221dd298cc23, }; - -const int g_support_eio_maigc_num = sizeof(g_support_eio_maigc) / sizeof(g_support_eio_maigc[0]); - + +const int g_support_eio_maigc_num = sizeof(g_support_eio_maigc) / sizeof(g_support_eio_maigc[0]); + static int easy_magic_in_support_list(uint64_t magic) { int ret = 0; @@ -206,9 +206,9 @@ int net_send_negotiate_message(uint8_t negotiation_enable, int fd, uint64_t magi char buf[MAX_SEND_LEN]; memset(buf, 0, sizeof(buf)); - ret = easy_encode_negotiation_msg(&ne_msg, buf, MAX_SEND_LEN, &encode_len); - if (ret != EASY_OK) { - easy_error_log("easy encode negotiation msg failed!ret:%d, fd:%d, addr: %s", ret, fd, addr_str); + ret = easy_encode_negotiation_msg(&ne_msg, buf, MAX_SEND_LEN, &encode_len); + if (ret != EASY_OK) { + easy_error_log("easy encode negotiation msg failed!ret:%d, fd:%d, addr: %s", ret, fd, addr_str); return ret; } @@ -234,9 +234,9 @@ int net_send_negotiate_message(uint8_t negotiation_enable, int fd, uint64_t magi return ret; } - -void net_consume_negotiation_msg(int fd, uint64_t magic) -{ + +void net_consume_negotiation_msg(int fd, uint64_t magic) +{ int ret = EASY_OK; const int64_t recv_buf_len = 1 * 1024; int rcv_bytes = 0; diff --git a/src/sql/engine/px/ob_granule_pump.cpp b/src/sql/engine/px/ob_granule_pump.cpp index f58fc9055..273508a8d 100644 --- a/src/sql/engine/px/ob_granule_pump.cpp +++ b/src/sql/engine/px/ob_granule_pump.cpp @@ -777,7 +777,6 @@ int ObGranuleSplitter::get_query_range(ObExecContext &ctx, int ret = OB_SUCCESS; ObQueryRangeArray scan_ranges; ObQueryRangeArray skip_scan_ranges; - ObGetMethodArray get_method; ObPhysicalPlanCtx *plan_ctx = nullptr; bool has_extract_query_range = false; // 如果tsc有对应的query range,就预先抽取对应的query range @@ -809,7 +808,6 @@ int ObGranuleSplitter::get_query_range(ObExecContext &ctx, ctx.get_allocator(), ctx, scan_ranges, - get_method, ObBasicSessionInfo::create_dtc_params(ctx.get_my_session())))) { LOG_WARN("failed to get scan ranges", K(ret)); } else if (OB_FAIL(tsc_pre_query_range.get_ss_tablet_ranges( @@ -841,7 +839,6 @@ int ObGranuleSplitter::get_query_range(ObExecContext &ctx, ctx.get_allocator(), ctx, scan_ranges, - get_method, ObBasicSessionInfo::create_dtc_params(ctx.get_my_session())))) { LOG_WARN("failed to get scan ranges", K(ret)); } else if (OB_FAIL(tsc_pre_query_range.get_ss_tablet_ranges( diff --git a/src/sql/engine/table/ob_table_scan_op.cpp b/src/sql/engine/table/ob_table_scan_op.cpp index 702ed9468..46a8e201f 100644 --- a/src/sql/engine/table/ob_table_scan_op.cpp +++ b/src/sql/engine/table/ob_table_scan_op.cpp @@ -1030,7 +1030,6 @@ int ObTableScanOp::prepare_single_scan_range(int64_t group_idx) int ret = OB_SUCCESS; ObQueryRangeArray key_ranges; ObQueryRangeArray ss_key_ranges; - ObGetMethodArray get_method; ObPhysicalPlanCtx *plan_ctx = GET_PHY_PLAN_CTX(ctx_); ObIAllocator &range_allocator = (table_rescan_allocator_ != nullptr ? *table_rescan_allocator_ : ctx_.get_allocator()); @@ -1061,7 +1060,6 @@ int ObTableScanOp::prepare_single_scan_range(int64_t group_idx) ctx_, key_ranges, MY_INPUT.mbr_filters_, - get_method, ObBasicSessionInfo::create_dtc_params(ctx_.get_my_session())))) { LOG_WARN("failed to extract pre query ranges", K(ret)); } else if (!MY_CTDEF.pre_query_range_.is_contain_geo_filters() && @@ -1070,7 +1068,6 @@ int ObTableScanOp::prepare_single_scan_range(int64_t group_idx) range_allocator, ctx_, key_ranges, - get_method, ObBasicSessionInfo::create_dtc_params(ctx_.get_my_session())))) { LOG_WARN("failed to extract pre query ranges", K(ret)); } else if (OB_FAIL(MY_CTDEF.pre_query_range_.get_ss_tablet_ranges(range_allocator, diff --git a/src/sql/ob_sql_utils.cpp b/src/sql/ob_sql_utils.cpp index 202baf9af..1a5ed9b3a 100644 --- a/src/sql/ob_sql_utils.cpp +++ b/src/sql/ob_sql_utils.cpp @@ -2316,33 +2316,14 @@ int ObSQLUtils::extract_pre_query_range(const ObQueryRange &pre_query_range, ObIAllocator &allocator, ObExecContext &exec_ctx, ObQueryRangeArray &key_ranges, - ObGetMethodArray get_method, const ObDataTypeCastParams &dtc_params) { int ret = OB_SUCCESS; - if (OB_LIKELY(!pre_query_range.need_deep_copy())) { - //对于大多数查询来说,query条件是非常规范和工整的,这种条件我们不需要拷贝进行graph的变化,可以直接提取 - if (OB_FAIL(pre_query_range.get_tablet_ranges(allocator, - exec_ctx, - key_ranges, - get_method, - dtc_params))) { - LOG_WARN("fail to get tablet ranges", K(ret)); - } - } else { - ObQueryRange final_query_range(allocator); - if (OB_FAIL(final_query_range.deep_copy(pre_query_range, true))) { - // MUST deep copy to make it thread safe - LOG_WARN("fail to create final query range", K(ret), K(pre_query_range)); - } else if (OB_FAIL(final_query_range.final_extract_query_range(exec_ctx, dtc_params))) { - LOG_WARN("fail to final extract query range", K(ret), K(final_query_range)); - } else if (OB_FAIL(final_query_range.get_tablet_ranges(key_ranges, - get_method, - dtc_params))) { - LOG_WARN("fail to get tablet ranges from query range", K(ret), K(final_query_range)); - } else { - // do nothing - } + bool dummy_all_single_value_ranges = false; + if (OB_FAIL(pre_query_range.get_tablet_ranges(allocator, exec_ctx, key_ranges, + dummy_all_single_value_ranges, + dtc_params))) { + LOG_WARN("failed to get tablet ranges", K(ret)); } return ret; } @@ -2352,17 +2333,17 @@ int ObSQLUtils::extract_geo_query_range(const ObQueryRange &pre_query_range, ObExecContext &exec_ctx, ObQueryRangeArray &key_ranges, ObMbrFilterArray &mbr_filters, - ObGetMethodArray get_method, const ObDataTypeCastParams &dtc_params) { int ret = OB_SUCCESS; + bool dummy_all_single_value_ranges = false; if (OB_LIKELY(!pre_query_range.need_deep_copy())) { //对于大多数查询来说,query条件是非常规范和工整的,这种条件我们不需要拷贝进行graph的变化,可以直接提取 - if (OB_FAIL(pre_query_range.get_tablet_ranges(allocator, - exec_ctx, - key_ranges, - get_method, - dtc_params))) { + if (OB_FAIL(pre_query_range.direct_get_tablet_ranges(allocator, + exec_ctx, + key_ranges, + dummy_all_single_value_ranges, + dtc_params))) { LOG_WARN("fail to get tablet ranges", K(ret)); } else { const MbrFilterArray &pre_filters = pre_query_range.get_mbr_filter(); @@ -2380,7 +2361,7 @@ int ObSQLUtils::extract_geo_query_range(const ObQueryRange &pre_query_range, } else if (OB_FAIL(final_query_range.final_extract_query_range(exec_ctx, dtc_params))) { LOG_WARN("fail to final extract query range", K(ret), K(final_query_range)); } else if (OB_FAIL(final_query_range.get_tablet_ranges(key_ranges, - get_method, + dummy_all_single_value_ranges, dtc_params))) { LOG_WARN("fail to get tablet ranges from query range", K(ret), K(final_query_range)); } else { diff --git a/src/sql/ob_sql_utils.h b/src/sql/ob_sql_utils.h index 24453addd..24617b0e9 100644 --- a/src/sql/ob_sql_utils.h +++ b/src/sql/ob_sql_utils.h @@ -53,7 +53,6 @@ class ObStmtHint; struct ObTransformerCtx; struct ObPreCalcExprFrameInfo; typedef common::ObSEArray ObQueryRangeArray; -typedef common::ObSEArray ObGetMethodArray; struct ObExprConstraint; typedef common::ObSEArray ObMbrFilterArray; class ObSelectStmt; @@ -383,7 +382,6 @@ public: common::ObIAllocator &allocator, ObExecContext &exec_ctx, ObQueryRangeArray &key_ranges, - ObGetMethodArray get_method, const ObDataTypeCastParams &dtc_params); static int extract_equal_pre_query_range(const ObQueryRange &pre_query_range, @@ -395,7 +393,6 @@ public: ObExecContext &exec_ctx, ObQueryRangeArray &key_ranges, ObMbrFilterArray &mbr_filters, - ObGetMethodArray get_method, const ObDataTypeCastParams &dtc_params); static bool is_same_type(const ObExprResType &type1, const ObExprResType &type2); diff --git a/src/sql/optimizer/ob_opt_selectivity.cpp b/src/sql/optimizer/ob_opt_selectivity.cpp index 4d6567a6f..6e76f85d9 100644 --- a/src/sql/optimizer/ob_opt_selectivity.cpp +++ b/src/sql/optimizer/ob_opt_selectivity.cpp @@ -3533,7 +3533,7 @@ int ObOptSelectivity::get_column_query_range(const OptSelectivityCtx &ctx, ObIAllocator &allocator = ctx.get_allocator(); ObDataTypeCastParams dtc_params = ObBasicSessionInfo::create_dtc_params(ctx.get_session_info()); const ColumnItem* column_item = NULL; - ObGetMethodArray get_methods; + bool dummy_all_single_value_ranges = true; if (OB_ISNULL(log_plan) || OB_ISNULL(exec_ctx) || OB_ISNULL(column_item = log_plan->get_column_item_by_id(table_id, column_id))) { @@ -3549,13 +3549,13 @@ int ObOptSelectivity::get_column_query_range(const OptSelectivityCtx &ctx, params))) { LOG_WARN("failed to preliminary extract query range", K(ret)); } else if (!query_range.need_deep_copy()) { - if (OB_FAIL(query_range.get_tablet_ranges(allocator, *exec_ctx, ranges, - get_methods, dtc_params))) { + if (OB_FAIL(query_range.direct_get_tablet_ranges(allocator, *exec_ctx, ranges, + dummy_all_single_value_ranges, dtc_params))) { LOG_WARN("failed to get tablet ranges", K(ret)); } } else if (OB_FAIL(query_range.final_extract_query_range(*exec_ctx, dtc_params))) { LOG_WARN("failed to final extract query range", K(ret)); - } else if (OB_FAIL(query_range.get_tablet_ranges(ranges, get_methods, dtc_params))) { + } else if (OB_FAIL(query_range.get_tablet_ranges(ranges, dummy_all_single_value_ranges, dtc_params))) { LOG_WARN("failed to get tablet ranges", K(ret)); } else { /*do nothing*/ } return ret; diff --git a/src/sql/rewrite/ob_query_range.cpp b/src/sql/rewrite/ob_query_range.cpp index 22c3ac428..97360b056 100644 --- a/src/sql/rewrite/ob_query_range.cpp +++ b/src/sql/rewrite/ob_query_range.cpp @@ -6069,7 +6069,7 @@ OB_INLINE int ObQueryRange::gen_simple_get_range(const ObKeyPart &root, ObIAllocator &allocator, ObExecContext &exec_ctx, ObQueryRangeArray &ranges, - ObGetMethodArray &get_methods, + bool &all_single_value_ranges, const ObDataTypeCastParams &dtc_params) const { int ret = OB_SUCCESS; @@ -6164,8 +6164,8 @@ OB_INLINE int ObQueryRange::gen_simple_get_range(const ObKeyPart &root, range->is_physical_rowid_range_ = contain_phy_rowid_key; if (OB_FAIL(ranges.push_back(range))) { LOG_WARN("push back range to array failed", K(ret)); - } else if (OB_FAIL(get_methods.push_back(!always_false))) { - LOG_WARN("push back get method failed", K(ret)); + } else if (always_false) { + all_single_value_ranges = false; } } return ret; @@ -6372,7 +6372,7 @@ int ObQueryRange::store_range(ObNewRange *range, bool is_get_range, ObSearchState &search_state, ObQueryRangeArray &ranges, - ObGetMethodArray &get_methods) + bool &all_single_value_ranges) { int ret = OB_SUCCESS; bool is_duplicate = false; @@ -6392,8 +6392,8 @@ int ObQueryRange::store_range(ObNewRange *range, if (OB_SUCC(ret) && !is_duplicate) { if (OB_FAIL(ranges.push_back(range))) { LOG_WARN("push back range failed", K(ret)); - } else if (OB_FAIL(get_methods.push_back(is_get_range))) { - LOG_WARN("push back get_method failed", K(ret)); + } else if(!is_get_range) { + all_single_value_ranges = false; } } return ret; @@ -6402,7 +6402,7 @@ int ObQueryRange::store_range(ObNewRange *range, int ObQueryRange::and_first_search(ObSearchState &search_state, ObKeyPart *cur, ObQueryRangeArray &ranges, - ObGetMethodArray &get_methods, + bool &all_single_value_ranges, const ObDataTypeCastParams &dtc_params) { int ret = OB_SUCCESS; @@ -6414,7 +6414,7 @@ int ObQueryRange::and_first_search(ObSearchState &search_state, ret = OB_INVALID_ARGUMENT; LOG_WARN("invalid argument", K(ret), K_(search_state.start), K_(search_state.end), K(cur)); } else if (cur->is_in_key()) { - if (OB_FAIL(and_first_in_key(search_state, cur, ranges, get_methods, dtc_params))) { + if (OB_FAIL(and_first_in_key(search_state, cur, ranges, all_single_value_ranges, dtc_params))) { LOG_WARN("failed to and in key range", K(ret)); } } else { @@ -6472,7 +6472,7 @@ int ObQueryRange::and_first_search(ObSearchState &search_state, if (OB_FAIL(SMART_CALL(and_first_search(search_state, cur->and_next_, ranges, - get_methods, + all_single_value_ranges, dtc_params)))) { } else { search_state.depth_ = copy_depth; @@ -6506,7 +6506,7 @@ int ObQueryRange::and_first_search(ObSearchState &search_state, copy_depth, copy_produce_range, ranges, - get_methods, + all_single_value_ranges, cur->is_phy_rowid_key_part()))) { LOG_WARN("failed to generate cur range", K(ret)); } @@ -6524,7 +6524,7 @@ int ObQueryRange::and_first_search(ObSearchState &search_state, } cur = cur->or_next_; if (OB_SUCC(ret) && - OB_FAIL(SMART_CALL(and_first_search(search_state, cur, ranges, get_methods, dtc_params)))) { + OB_FAIL(SMART_CALL(and_first_search(search_state, cur, ranges, all_single_value_ranges, dtc_params)))) { LOG_WARN("failed to do and first search", K(ret)); } } @@ -6534,7 +6534,7 @@ int ObQueryRange::and_first_search(ObSearchState &search_state, int ObQueryRange::and_first_in_key(ObSearchState &search_state, ObKeyPart *cur, ObQueryRangeArray &ranges, - ObGetMethodArray &get_methods, + bool &all_single_value_ranges, const ObDataTypeCastParams &dtc_params) { int ret = OB_SUCCESS; @@ -6581,7 +6581,7 @@ int ObQueryRange::and_first_in_key(ObSearchState &search_state, if (OB_FAIL(SMART_CALL(and_first_search(search_state, cur->and_next_, ranges, - get_methods, + all_single_value_ranges, dtc_params)))) { LOG_WARN("failed to do and first search", K(ret)); } else { @@ -6594,7 +6594,7 @@ int ObQueryRange::and_first_in_key(ObSearchState &search_state, copy_depth, copy_produce_range, ranges, - get_methods, + all_single_value_ranges, cur->is_phy_rowid_key_part()))) { LOG_WARN("failed to generate cur range", K(ret)); } @@ -6608,7 +6608,7 @@ int ObQueryRange::generate_cur_range(ObSearchState &search_state, const int64_t copy_depth, const bool copy_produce_range, ObQueryRangeArray &ranges, - ObGetMethodArray &get_methods, + bool &all_single_value_ranges, const bool is_phy_rowid_range) { int ret = OB_SUCCESS; @@ -6628,7 +6628,7 @@ int ObQueryRange::generate_cur_range(ObSearchState &search_state, is_get_range, search_state, ranges, - get_methods))) { + all_single_value_ranges))) { LOG_WARN("store range failed", K(ret)); } else { /* reset search_state */ @@ -6647,9 +6647,8 @@ int ObQueryRange::get_tablet_ranges(common::ObIAllocator &allocator, const ObDataTypeCastParams &dtc_params) const { int ret = OB_SUCCESS; - ObGetMethodArray get_methods; if (OB_LIKELY(!need_deep_copy())) { - if (OB_FAIL(get_tablet_ranges(allocator, exec_ctx, ranges, get_methods, dtc_params))) { + if (OB_FAIL(direct_get_tablet_ranges(allocator, exec_ctx, ranges, all_single_value_ranges, dtc_params))) { LOG_WARN("get tablet ranges without deep copy failed", K(ret)); } } else { @@ -6659,19 +6658,10 @@ int ObQueryRange::get_tablet_ranges(common::ObIAllocator &allocator, LOG_WARN("deep copy query range failed", K(ret)); } else if (OB_FAIL(tmp_query_range.final_extract_query_range(exec_ctx, dtc_params))) { LOG_WARN("final extract query range failed", K(ret)); - } else if (OB_FAIL(tmp_query_range.get_tablet_ranges(ranges, get_methods, dtc_params))) { + } else if (OB_FAIL(tmp_query_range.get_tablet_ranges(ranges, all_single_value_ranges, dtc_params))) { LOG_WARN("get tablet range with deep copy failed", K(ret)); } } - if (OB_SUCC(ret)) { - int64_t N = get_methods.count(); - all_single_value_ranges = true; - for (int64_t i = 0; all_single_value_ranges && i < N; ++i) { - if (!get_methods.at(i)) { - all_single_value_ranges = false; - } - } - } return ret; } @@ -6796,11 +6786,11 @@ int ObQueryRange::ObSearchState::init_search_state(int64_t column_count, } // @notice 调用这个接口之前必须调用need_deep_copy()来判断是否可以不用拷贝就进行final extract -int ObQueryRange::get_tablet_ranges(ObIAllocator &allocator, - ObExecContext &exec_ctx, - ObQueryRangeArray &ranges, - ObGetMethodArray &get_methods, - const ObDataTypeCastParams &dtc_params) const +int ObQueryRange::direct_get_tablet_ranges(ObIAllocator &allocator, + ObExecContext &exec_ctx, + ObQueryRangeArray &ranges, + bool &all_single_value_ranges, + const ObDataTypeCastParams &dtc_params) const { int ret = OB_SUCCESS; if (OB_UNLIKELY(table_graph_.key_part_head_->is_always_true() || @@ -6811,20 +6801,20 @@ int ObQueryRange::get_tablet_ranges(ObIAllocator &allocator, LOG_WARN("get true_or_false range failed", K(ret)); } else if (OB_FAIL(ranges.push_back(range))) { LOG_WARN("push back range failed", K(ret)); - } else if (OB_FAIL(get_methods.push_back(is_get_range))) { - LOG_WARN("push back get_method failed", K(ret)); - } else {} + } else if (!is_get_range) { + all_single_value_ranges = false; + } } else if (OB_LIKELY(table_graph_.is_precise_get_)) { if (OB_FAIL(gen_simple_get_range(*table_graph_.key_part_head_, allocator, exec_ctx, ranges, - get_methods, + all_single_value_ranges, dtc_params))) { LOG_WARN("gen simple get range failed", K(ret)); } } else { - OZ(gen_simple_scan_range(allocator, exec_ctx, ranges, get_methods, dtc_params)); + OZ(gen_simple_scan_range(allocator, exec_ctx, ranges, all_single_value_ranges, dtc_params)); } return ret; } @@ -6885,7 +6875,7 @@ OB_NOINLINE int ObQueryRange::gen_skip_scan_range(ObIAllocator &allocator, OB_NOINLINE int ObQueryRange::gen_simple_scan_range(ObIAllocator &allocator, ObExecContext &exec_ctx, ObQueryRangeArray &ranges, - ObGetMethodArray &get_methods, + bool &all_single_value_ranges, const ObDataTypeCastParams &dtc_params) const { int ret = OB_SUCCESS; @@ -6910,8 +6900,8 @@ OB_NOINLINE int ObQueryRange::gen_simple_scan_range(ObIAllocator &allocator, LOG_WARN("generate single range failed", K(ret)); } else if (OB_FAIL(ranges.push_back(range))) { LOG_WARN("push back range to array failed", K(ret)); - } else if (OB_FAIL(get_methods.push_back(is_get_range))) { - LOG_WARN("push back get method to array failed", K(ret)); + } else if (!is_get_range) { + all_single_value_ranges = false; } return ret; } @@ -7089,7 +7079,7 @@ inline int ObQueryRange::get_single_key_value(const ObKeyPart *key, #undef CAST_VALUE_TYPE OB_NOINLINE int ObQueryRange::get_tablet_ranges(ObQueryRangeArray &ranges, - ObGetMethodArray &get_methods, + bool &all_single_value_ranges, const ObDataTypeCastParams &dtc_params) { int ret = OB_SUCCESS; @@ -7097,7 +7087,7 @@ OB_NOINLINE int ObQueryRange::get_tablet_ranges(ObQueryRangeArray &ranges, int64_t query_range_mem_usage = 0; ObSearchState search_state(allocator_); ranges.reset(); - get_methods.reset(); + all_single_value_ranges = true; ObKeyPart *head_key = NULL; if (OB_UNLIKELY(CAN_READ != state_)) { ret = OB_ERR_UNEXPECTED; @@ -7117,9 +7107,9 @@ OB_NOINLINE int ObQueryRange::get_tablet_ranges(ObQueryRangeArray &ranges, LOG_WARN("generate true_or_false range failed", K(ret)); } else if (OB_FAIL(ranges.push_back(range))) { LOG_WARN("push back range failed", K(ret)); - } else if (OB_FAIL(get_methods.push_back(is_get_range))) { - LOG_WARN("push back get_method failed", K(ret)); - } else {} + } else if (!is_get_range) { + all_single_value_ranges = false; + } } else if (OB_FAIL(search_state.init_search_state(column_count_, false, head_key->is_in_key() ? head_key->in_keypart_->table_id_ : head_key->id_.table_id_))) { LOG_WARN("failed to init search state", K(ret)); @@ -7136,7 +7126,7 @@ OB_NOINLINE int ObQueryRange::get_tablet_ranges(ObQueryRangeArray &ranges, } else if (OB_FAIL(SMART_CALL(and_first_search(search_state, head_key, ranges, - get_methods, + all_single_value_ranges, dtc_params)))) { LOG_WARN("and first search failed", K(ret)); } diff --git a/src/sql/rewrite/ob_query_range.h b/src/sql/rewrite/ob_query_range.h index 47b860001..aefe41248 100644 --- a/src/sql/rewrite/ob_query_range.h +++ b/src/sql/rewrite/ob_query_range.h @@ -414,14 +414,14 @@ public: // This function can not be used untill physical plan is opened. virtual int get_tablet_ranges(ObQueryRangeArray &ranges, - ObGetMethodArray &get_methods, + bool &all_single_value_ranges, const common::ObDataTypeCastParams &dtc_params); - int get_tablet_ranges(common::ObIAllocator &allocator, - ObExecContext &exec_ctx, - ObQueryRangeArray &ranges, - ObGetMethodArray &get_methods, - const common::ObDataTypeCastParams &dtc_params) const; + int direct_get_tablet_ranges(common::ObIAllocator &allocator, + ObExecContext &exec_ctx, + ObQueryRangeArray &ranges, + bool &all_single_value_ranges, + const common::ObDataTypeCastParams &dtc_params) const; int get_ss_tablet_ranges(common::ObIAllocator &allocator, ObExecContext &exec_ctx, ObQueryRangeArray &ss_ranges, @@ -510,14 +510,6 @@ public: bool is_contain_geo_filters() const { return contain_geo_filters_; } private: - // @brief this function to initialize query range context - // @param range_columns[in], columns group with the range order - // @return if success, return OB_SUCCESS - int inner_get_tablet_ranges(common::ObIAllocator &allocator, - const ParamsIArray ¶ms, - ObQueryRangeArray &ranges, - ObGetMethodArray &get_methods, - const common::ObDataTypeCastParams &dtc_params) const; int init_query_range_ctx(common::ObIAllocator &allocator, const ColumnIArray &range_columns, ObExecContext *exec_ctx, @@ -762,18 +754,18 @@ private: int and_first_search(ObSearchState &search_state, ObKeyPart *cur, ObQueryRangeArray &ranges, - ObGetMethodArray &get_methods, + bool &all_single_value_ranges, const common::ObDataTypeCastParams &dtc_params); int and_first_in_key(ObSearchState &search_state, ObKeyPart *cur, ObQueryRangeArray &ranges, - ObGetMethodArray &get_methods, + bool &all_single_value_ranges, const ObDataTypeCastParams &dtc_params); int generate_cur_range(ObSearchState &search_state, const int64_t copy_depth, const bool copy_produce_range, ObQueryRangeArray &ranges, - ObGetMethodArray &get_methods, + bool &all_single_value_ranges, const bool is_phy_rowid_range); inline int generate_single_range(ObSearchState &search_state, int64_t column_num, @@ -786,7 +778,7 @@ private: bool is_get_range, ObSearchState &search_state, ObQueryRangeArray &ranges, - ObGetMethodArray &get_methods); + bool &all_single_value_ranges); int alloc_empty_key_part(ObKeyPart *&out_key_part); int alloc_full_key_part(ObKeyPart *&out_key_part); int deep_copy_range_graph(ObKeyPart *src, ObKeyPart *&dest); @@ -834,12 +826,12 @@ private: common::ObIAllocator &allocator, ObExecContext &exec_ctx, ObQueryRangeArray &ranges, - ObGetMethodArray &get_methods, + bool &all_single_value_ranges, const common::ObDataTypeCastParams &dtc_params) const; int gen_simple_scan_range(common::ObIAllocator &allocator, ObExecContext &exec_ctx, ObQueryRangeArray &ranges, - ObGetMethodArray &get_methods, + bool &all_single_value_ranges, const common::ObDataTypeCastParams &dtc_params) const; const ObKeyPart* get_ss_key_part_head() const; diff --git a/src/sql/rewrite/ob_query_range_provider.h b/src/sql/rewrite/ob_query_range_provider.h index 705d7e2bd..685258dbb 100644 --- a/src/sql/rewrite/ob_query_range_provider.h +++ b/src/sql/rewrite/ob_query_range_provider.h @@ -28,14 +28,13 @@ namespace sql struct ColumnItem; typedef common::ObSEArray ObQueryRangeArray; typedef common::ObSEArray ObRangesArray; -typedef common::ObSEArray ObGetMethodArray; typedef common::ObSEArray ColumnArray; class ObQueryRangeProvider { public: virtual int get_tablet_ranges(ObQueryRangeArray &ranges, - ObGetMethodArray &get_methods, + bool &all_single_value_ranges, const common::ObDataTypeCastParams &dtc_params) = 0; // to string diff --git a/unittest/sql/rewrite/test_query_range.cpp b/unittest/sql/rewrite/test_query_range.cpp index 30952eae4..439749ce2 100644 --- a/unittest/sql/rewrite/test_query_range.cpp +++ b/unittest/sql/rewrite/test_query_range.cpp @@ -198,10 +198,10 @@ public: ParamsIArray ¶ms, const char *condition, const char *except_range, - ObGetMethodArray &except_get_methods) + bool except_all_single_value_ranges) { ObQueryRangeArray ranges; - ObGetMethodArray get_methods; + bool all_single_value_ranges = true; ObQueryRange enc_query_range; ObQueryRange dec_query_range1; ObQueryRange dec_query_range2; @@ -228,37 +228,31 @@ public: OK(dec_query_range2.deserialize(buf, data_len, pos)); ASSERT_EQ(0, strcmp(to_cstring(dec_query_range1), to_cstring(dec_query_range2))); _OB_LOG(INFO, "serialize_size = %ld\n", dec_query_range1.get_serialize_size()); - OK(dec_query_range1.get_tablet_ranges(ranges, get_methods, dtc_params)); + OK(dec_query_range1.get_tablet_ranges(ranges, all_single_value_ranges, dtc_params)); } else { - OK(dec_query_range1.get_tablet_ranges(allocator, exec_ctx_, ranges, get_methods, NULL)); + OK(dec_query_range1.get_tablet_ranges(allocator, exec_ctx_, ranges, all_single_value_ranges, NULL)); } _OB_LOG(INFO, "ranges: %s, except_range: %s", to_cstring(ranges), except_range); ASSERT_EQ(0, strcmp(to_cstring(ranges), except_range)); - ASSERT_EQ(get_methods.count(), except_get_methods.count()); - for (int64_t j = 0; j < get_methods.count(); ++j) { - EXPECT_EQ(get_methods.at(j), except_get_methods.at(j)); - } + EXPECT_EQ(all_single_value_ranges, except_all_single_value_ranges); ranges.reset(); - get_methods.reset(); - OK(dec_query_range2.get_tablet_ranges(ranges, get_methods, dtc_params)); + all_single_value_ranges = true; + OK(dec_query_range2.get_tablet_ranges(ranges, all_single_value_ranges, dtc_params)); _OB_LOG(DEBUG, "ranges: %s, except_range: %s", to_cstring(ranges), except_range); ASSERT_EQ(0, strcmp(to_cstring(ranges), except_range)); - ASSERT_EQ(get_methods.count(), except_get_methods.count()); - for (int64_t j = 0; j < get_methods.count(); ++j) { - EXPECT_EQ(get_methods.at(j), except_get_methods.at(j)); - } + EXPECT_EQ(all_single_value_ranges, except_all_single_value_ranges); ranges.reset(); - get_methods.reset(); + all_single_value_ranges = true; ObArray and_exprs; split_and_condition(expr, and_exprs); // OK(multi_query_range.preliminary_extract_query_range(range_columns, and_exprs, NULL)); // OK(multi_query_range.final_extract_query_range(params, NULL)); OK(multi_query_range.preliminary_extract_query_range(range_columns, and_exprs, dtc_params, &exec_ctx_)); OK(multi_query_range.final_extract_query_range(exec_ctx_, dtc_params)); - OK(multi_query_range.get_tablet_ranges(ranges, get_methods, dtc_params)); + OK(multi_query_range.get_tablet_ranges(ranges, all_single_value_ranges, dtc_params)); _OB_LOG(DEBUG, "and_exprs_count: %ld, ranges: %s, except_range: %s", and_exprs.count(), to_cstring(ranges), except_range); ASSERT_EQ(0, strcmp(to_cstring(ranges), except_range)); @@ -492,7 +486,7 @@ void ObQueryRangeTest::get_query_range(const char *sql_expr, const char *&json_e { char var[100][100]; ObQueryRangeArray ranges; - ObGetMethodArray get_methods; + bool all_single_value_ranges = true; ObRawExpr *expr = NULL; ObArray range_columns; ParamStore ¶ms = exec_ctx_.get_physical_plan_ctx()->get_param_store_for_update(); @@ -523,9 +517,9 @@ void ObQueryRangeTest::get_query_range(const char *sql_expr, const char *&json_e ASSERT_EQ(0, strcmp(to_cstring(pre_query_range), to_cstring(query_range))); if (query_range.need_deep_copy()) { query_range.final_extract_query_range(exec_ctx_, NULL); - OK(query_range.get_tablet_ranges(ranges, get_methods, dtc_params)); + OK(query_range.get_tablet_ranges(ranges, all_single_value_ranges, dtc_params)); } else { - OK(query_range.get_tablet_ranges(allocator, exec_ctx_, ranges, get_methods, NULL)); + OK(query_range.get_tablet_ranges(allocator, exec_ctx_, ranges, all_single_value_ranges, NULL)); } char buf[BUF_LEN]; @@ -544,10 +538,7 @@ void ObQueryRangeTest::get_query_range(const char *sql_expr, const char *&json_e databuff_printf(buf, BUF_LEN, pos, "is not min_to_max_range\n"); } databuff_printf(buf, BUF_LEN, pos, "ranges.count() = %ld\n", ranges.count()); - databuff_printf(buf, BUF_LEN, pos, "get_methods.count() = %ld\n", get_methods.count()); - for (int64_t i = 0 ; i < get_methods.count() ; ++i) { - databuff_printf(buf, BUF_LEN, pos, "get_methods %ld: %d\n",i, get_methods.at(i)); - } + databuff_printf(buf, BUF_LEN, pos, "all_single_value_ranges = %d\n", all_single_value_ranges); for(int64_t i = 0 ; i < ranges.count() ; ++i) { databuff_printf(buf, BUF_LEN, pos, "star_border_flag[%ld] = %d\n",i, ranges.at(i)->border_flag_.inclusive_start()); databuff_printf(buf, BUF_LEN, pos, "end_border_flag[%ld] = %d\n",i, ranges.at(i)->border_flag_.inclusive_end()); @@ -565,7 +556,7 @@ void ObQueryRangeTest::get_query_range_filter(const char *sql_expr, const char * { char var[100][100]; ObQueryRangeArray ranges; - ObGetMethodArray get_methods; + bool all_single_value_ranges = true; ObRawExpr *expr = NULL; ObArray range_columns; ParamStore ¶ms = exec_ctx_.get_physical_plan_ctx()->get_param_store_for_update(); @@ -588,9 +579,9 @@ void ObQueryRangeTest::get_query_range_filter(const char *sql_expr, const char * bool flag = false; if (query_range.need_deep_copy()) { query_range.final_extract_query_range(exec_ctx_, NULL); - OK(query_range.get_tablet_ranges(ranges, get_methods, dtc_params)); + OK(query_range.get_tablet_ranges(ranges, all_single_value_ranges, dtc_params)); } else { - OK(query_range.get_tablet_ranges(allocator, exec_ctx_, ranges, get_methods, NULL)); + OK(query_range.get_tablet_ranges(allocator, exec_ctx_, ranges, all_single_value_ranges, NULL)); } flag = is_min_to_max_range(ranges); @@ -600,10 +591,7 @@ void ObQueryRangeTest::get_query_range_filter(const char *sql_expr, const char * databuff_printf(buf, BUF_LEN, pos, "is not min_to_max_range\n"); } databuff_printf(buf, BUF_LEN, pos, "ranges.count() = %ld\n", ranges.count()); - databuff_printf(buf, BUF_LEN, pos, "get_methods.count() = %ld\n", get_methods.count()); - for (int64_t i = 0 ; i < get_methods.count() ; ++i) { - databuff_printf(buf, BUF_LEN, pos, "get_methods %ld: %d\n",i, get_methods.at(i)); - } + databuff_printf(buf, BUF_LEN, pos, "all_single_value_ranges = %d\n", all_single_value_ranges); for(int64_t i = 0 ; i < ranges.count() ; ++i) { databuff_printf(buf, BUF_LEN, pos, "star_border_flag[%ld] = %d\n",i, ranges.at(i)->border_flag_.inclusive_start()); databuff_printf(buf, BUF_LEN, pos, "end_border_flag[%ld] = %d\n",i, ranges.at(i)->border_flag_.inclusive_end()); @@ -621,7 +609,7 @@ void ObQueryRangeTest::get_query_range_collation(const char *sql_expr, const cha { char var[100][100]; ObQueryRangeArray ranges; - ObGetMethodArray get_methods; + bool all_single_value_ranges = true; ParamStore ¶ms = exec_ctx_.get_physical_plan_ctx()->get_param_store_for_update(); const ObDataTypeCastParams dtc_params; char final_sql[100]; @@ -642,7 +630,7 @@ void ObQueryRangeTest::get_query_range_collation(const char *sql_expr, const cha OB_ASSERT(expr); OK(query_range.preliminary_extract_query_range(range_columns, expr, dtc_params, &exec_ctx_)); OK(query_range.final_extract_query_range(exec_ctx_, NULL)); - OK(query_range.get_tablet_ranges(ranges, get_methods, dtc_params)); + OK(query_range.get_tablet_ranges(ranges, all_single_value_ranges, dtc_params)); bool flag = is_min_to_max_range(ranges); if (flag) { databuff_printf(buf, BUF_LEN, pos, "is min_to_max_range\n"); @@ -650,10 +638,7 @@ void ObQueryRangeTest::get_query_range_collation(const char *sql_expr, const cha databuff_printf(buf, BUF_LEN, pos, "is not min_to_max_range\n"); } databuff_printf(buf, BUF_LEN, pos, "ranges.count() = %ld\n", ranges.count()); - databuff_printf(buf, BUF_LEN, pos, "get_methods.count() = %ld\n", get_methods.count()); - for (int64_t i = 0 ; i < get_methods.count() ; ++i) { - databuff_printf(buf, BUF_LEN, pos, "get_methods %ld: %d\n",i, get_methods.at(i)); - } + databuff_printf(buf, BUF_LEN, pos, "all_single_value_ranges = %d\n", all_single_value_ranges); for(int64_t i = 0 ; i < ranges.count() ; ++i) { databuff_printf(buf, BUF_LEN, pos, "star_border_flag[%ld] = %d\n",i, ranges.at(i)->border_flag_.inclusive_start()); databuff_printf(buf, BUF_LEN, pos, "end_border_flag[%ld] = %d\n",i, ranges.at(i)->border_flag_.inclusive_end()); @@ -804,7 +789,7 @@ TEST_F(ObQueryRangeTest, test_collation_type) { _OB_LOG(INFO, "test collation type"); ObQueryRangeArray ranges; - ObGetMethodArray get_methods; + bool all_single_value_ranges = true; ObQueryRange query_range; ParamStore ¶ms = exec_ctx_.get_physical_plan_ctx()->get_param_store_for_update(); @@ -817,7 +802,7 @@ TEST_F(ObQueryRangeTest, single_filed_key_whole_range1) { _OB_LOG(INFO, "single filed key and NULL condition"); ObQueryRangeArray ranges; - ObGetMethodArray get_methods; + bool all_single_value_ranges = true; ObQueryRange query_range; const ObDataTypeCastParams dtc_params; @@ -825,7 +810,7 @@ TEST_F(ObQueryRangeTest, single_filed_key_whole_range1) params.reset(); OK(query_range.preliminary_extract_query_range(single_range_columns_, NULL, NULL, &exec_ctx_)); OK(query_range.final_extract_query_range(exec_ctx_, NULL)); - OK(query_range.get_tablet_ranges(ranges, get_methods, dtc_params)); + OK(query_range.get_tablet_ranges(ranges, all_single_value_ranges, dtc_params)); ASSERT_EQ(0, strcmp(to_cstring(ranges), "[{\"range\":\"table_id:3003,group_idx:0,(MIN;MAX)\"}]")); } @@ -833,7 +818,7 @@ TEST_F(ObQueryRangeTest, single_filed_key_whole_range2) { _OB_LOG(INFO, "single filed key and empty condition array"); ObQueryRangeArray ranges; - ObGetMethodArray get_methods; + bool all_single_value_ranges = true; ObQueryRange query_range; ObArray exprs; const ObDataTypeCastParams dtc_params; @@ -842,7 +827,7 @@ TEST_F(ObQueryRangeTest, single_filed_key_whole_range2) params.reset(); OK(query_range.preliminary_extract_query_range(single_range_columns_, exprs, dtc_params, &exec_ctx_)); OK(query_range.final_extract_query_range(exec_ctx_, dtc_params)); - OK(query_range.get_tablet_ranges(ranges, get_methods, dtc_params)); + OK(query_range.get_tablet_ranges(ranges, all_single_value_ranges, dtc_params)); ASSERT_EQ(0, strcmp(to_cstring(ranges), "[{\"range\":\"table_id:3003,group_idx:0,(MIN;MAX)\"}]")); } @@ -850,7 +835,7 @@ TEST_F(ObQueryRangeTest, double_filed_key_whole_range1) { _OB_LOG(INFO, "double filed key and NULL condition"); ObQueryRangeArray ranges; - ObGetMethodArray get_methods; + bool all_single_value_ranges = true; ObQueryRange query_range; const ObDataTypeCastParams dtc_params; @@ -858,7 +843,7 @@ TEST_F(ObQueryRangeTest, double_filed_key_whole_range1) params.reset(); OK(query_range.preliminary_extract_query_range(double_range_columns_, NULL, dtc_params, &exec_ctx_)); OK(query_range.final_extract_query_range(exec_ctx_, dtc_params)); - OK(query_range.get_tablet_ranges(ranges, get_methods, dtc_params)); + OK(query_range.get_tablet_ranges(ranges, all_single_value_ranges, dtc_params)); ASSERT_EQ(0, strcmp(to_cstring(ranges), "[{\"range\":\"table_id:3003,group_idx:0,(MIN,MIN;MAX,MAX)\"}]")); } @@ -866,7 +851,7 @@ TEST_F(ObQueryRangeTest, double_filed_key_whole_range2) { _OB_LOG(INFO, "double filed key and empty condition array"); ObQueryRangeArray ranges; - ObGetMethodArray get_methods; + bool all_single_value_ranges = true; ObQueryRange query_range; ObArray exprs; const ObDataTypeCastParams dtc_params; @@ -875,7 +860,7 @@ TEST_F(ObQueryRangeTest, double_filed_key_whole_range2) params.reset(); OK(query_range.preliminary_extract_query_range(double_range_columns_, exprs, dtc_params, &exec_ctx_)); OK(query_range.final_extract_query_range(exec_ctx_, dtc_params)); - OK(query_range.get_tablet_ranges(ranges, get_methods, dtc_params)); + OK(query_range.get_tablet_ranges(ranges, all_single_value_ranges, dtc_params)); ASSERT_EQ(0, strcmp(to_cstring(ranges), "[{\"range\":\"table_id:3003,group_idx:0,(MIN,MIN;MAX,MAX)\"}]")); } @@ -885,7 +870,7 @@ TEST_F(ObQueryRangeTest, range_column_with_like) //组织参数 ObArray single_range_columns; ObQueryRangeArray ranges; - ObGetMethodArray get_methods; + bool all_single_value_ranges = true; ObQueryRange query_range; ObRawExpr *expr = NULL; const ObDataTypeCastParams dtc_params; @@ -896,7 +881,7 @@ TEST_F(ObQueryRangeTest, range_column_with_like) resolve_expr("f like 'abc%'", expr, single_range_columns, params, CS_TYPE_UTF8MB4_GENERAL_CI, CS_TYPE_UTF8MB4_GENERAL_CI); OK(query_range.preliminary_extract_query_range(single_range_columns, expr, dtc_params, &exec_ctx_)); OK(query_range.final_extract_query_range(exec_ctx_, dtc_params)); - OK(query_range.get_tablet_ranges(ranges, get_methods, dtc_params)); + OK(query_range.get_tablet_ranges(ranges, all_single_value_ranges, dtc_params)); _OB_LOG(INFO, "range: %s", to_cstring(ranges)); query_range.reset(); @@ -906,14 +891,14 @@ TEST_F(ObQueryRangeTest, range_column_with_like) escape_expr->set_value(escape_obj); OK(query_range.preliminary_extract_query_range(single_range_columns, expr, dtc_params, &exec_ctx_)); OK(query_range.final_extract_query_range(exec_ctx_, dtc_params)); - OK(query_range.get_tablet_ranges(ranges, get_methods, dtc_params)); + OK(query_range.get_tablet_ranges(ranges, all_single_value_ranges, dtc_params)); _OB_LOG(INFO, "range: %s", to_cstring(ranges)); query_range.reset(); resolve_condition(single_range_columns, "'a' like 'a'", expr); OK(query_range.preliminary_extract_query_range(single_range_columns, expr, dtc_params, &exec_ctx_)); OK(query_range.final_extract_query_range(exec_ctx_, dtc_params)); - OK(query_range.get_tablet_ranges(ranges, get_methods, dtc_params)); + OK(query_range.get_tablet_ranges(ranges, all_single_value_ranges, dtc_params)); _OB_LOG(INFO, "range: %s", to_cstring(ranges)); } @@ -923,7 +908,7 @@ TEST_F(ObQueryRangeTest, range_column_with_like) // //组织参数 // ObArray single_range_columns; // ObQueryRangeArray ranges; -// ObGetMethodArray get_methods; +// bool all_single_value_ranges = true; // ObQueryRange query_range; // ObRawExpr *expr = NULL; // const ObDataTypeCastParams dtc_params; @@ -936,7 +921,7 @@ TEST_F(ObQueryRangeTest, range_column_with_like) // resolve_expr("a like ?", expr, single_range_columns, params_, CS_TYPE_UTF8MB4_GENERAL_CI, CS_TYPE_UTF8MB4_GENERAL_CI); // OK(query_range.preliminary_extract_query_range(single_range_columns, expr, dtc_params)); // OK(query_range.final_extract_query_range(params_, dtc_params)); -// OK(query_range.get_tablet_ranges(ranges, get_methods, dtc_params)); +// OK(query_range.get_tablet_ranges(ranges, all_single_value_ranges, dtc_params)); // _OB_LOG(INFO, "range: %s", to_cstring(ranges)); // } @@ -952,7 +937,7 @@ TEST_F(ObQueryRangeTest, range_column_with_triple_key) _OB_LOG(INFO, "%s", sql_str); ObQueryRangeArray ranges; - ObGetMethodArray get_methods; + bool all_single_value_ranges = true; ObQueryRange query_range; ObRawExpr *expr = NULL; int64_t param_array[600]; @@ -980,7 +965,7 @@ TEST_F(ObQueryRangeTest, range_column_with_triple_key) int64_t time2 = ObTimeUtility::current_time(); OK(query_range.final_extract_query_range(exec_ctx_, dtc_params)); int64_t time3 = ObTimeUtility::current_time(); - OK(query_range.get_tablet_ranges(ranges, get_methods, dtc_params)); + OK(query_range.get_tablet_ranges(ranges, all_single_value_ranges, dtc_params)); _OB_LOG(INFO, "preliminary_extract_query_range(us): %ld", time2 - time1); _OB_LOG(INFO, "final_extract_query_range(us): %ld", time3 - time2); //_OB_LOG(INFO, "ranges: %s", to_cstring(ranges)); @@ -1033,9 +1018,9 @@ TEST_F(ObQueryRangeTest, simple_row_in) _OB_LOG(INFO, "XXXX final: %s", to_cstring(query_range)); ObQueryRangeArray ranges; - ObGetMethodArray get_methods; + bool all_single_value_ranges = true; - OK(query_range.get_tablet_ranges(ranges, get_methods, dtc_params)); + OK(query_range.get_tablet_ranges(ranges, all_single_value_ranges, dtc_params)); _OB_LOG(INFO, "ranges: %s", to_cstring(ranges)); // ASSERT_EQ(1, ranges.count()); // int64_t value = 0; @@ -1066,15 +1051,13 @@ TEST_F(ObQueryRangeTest, basic_test) _OB_LOG(INFO, "start test: ((b = 6 and a < 5.5) or (a > 8 and b = 15))=> (a < 5 and b = 6) or (a > 8 and b = 15)"); ParamStore ¶ms = exec_ctx_.get_physical_plan_ctx()->get_param_store_for_update(); params.reset(); - ObGetMethodArray get_methods; - OK(get_methods.push_back(false)); - OK(get_methods.push_back(false)); + bool all_single_value_ranges = true; except_result(double_range_columns_, params, "(b = 6 and a < 5) or (a > 8 and b = 15)", "[{\"range\":\"table_id:3003,group_idx:0,({\"NULL\":\"NULL\"},MAX;{\"BIGINT\":5},MIN)\"}, " "{\"range\":\"table_id:3003,group_idx:0,({\"BIGINT\":8},MAX;MAX,{\"BIGINT\":15})\"}]", - get_methods); + false); query_range.reset(); } @@ -1102,7 +1085,7 @@ TEST_F(ObQueryRangeTest, single_key_cost_time) for (int64_t i = 0; i < 1000; ++i) { ObQueryRange final_query_range; ObQueryRangeArray ranges; - ObGetMethodArray get_methods; + bool all_single_value_ranges = true; int64_t deep_copy_beg = ObTimeUtility::current_time(); OK(final_query_range.deep_copy(pre_query_range)); int64_t deep_copy_end = ObTimeUtility::current_time(); @@ -1110,7 +1093,7 @@ TEST_F(ObQueryRangeTest, single_key_cost_time) OK(final_query_range.final_extract_query_range(exec_ctx_, dtc_params)); int64_t extract_end = ObTimeUtility::current_time(); extract_cost += extract_end - deep_copy_end; - OK(final_query_range.get_tablet_ranges(ranges, get_methods, dtc_params)); + OK(final_query_range.get_tablet_ranges(ranges, all_single_value_ranges, dtc_params)); int64_t get_range_end = ObTimeUtility::current_time(); get_range_cost += get_range_end - extract_end; } @@ -1122,18 +1105,18 @@ TEST_F(ObQueryRangeTest, single_key_cost_time) get_range_cost = 0; for (int64_t i = 0; i < 1000; ++i) { ObQueryRangeArray ranges; - ObGetMethodArray get_methods; + bool all_single_value_ranges = true; int64_t get_range_beg = ObTimeUtility::current_time(); ASSERT_TRUE(false == query_range2.need_deep_copy()); - OK(query_range2.get_tablet_ranges(allocator_, exec_ctx_, ranges, get_methods, dtc_params)); + OK(query_range2.get_tablet_ranges(allocator_, exec_ctx_, ranges, all_single_value_ranges, dtc_params)); get_range_cost += ObTimeUtility::current_time() - get_range_beg; } _OB_LOG(INFO, "get range without deep copy cost time: %f", (float)get_range_cost / (float)1000); ObQueryRangeArray ranges2; - ObGetMethodArray get_methods2; + bool all_single_value_ranges = true; ASSERT_TRUE(true == query_range2.is_precise_get()); - OK(query_range2.get_tablet_ranges(allocator_, exec_ctx_, ranges2, get_methods2, dtc_params)); - OB_LOG(INFO, "query range pure get", K(ranges2), K(get_methods2)); + OK(query_range2.get_tablet_ranges(allocator_, exec_ctx_, ranges2, all_single_value_ranges, dtc_params)); + OB_LOG(INFO, "query range pure get", K(ranges2), K(all_single_value_ranges)); int64_t REPEAT_TIMES = 1000000; int64_t ti = 0; @@ -1157,7 +1140,7 @@ TEST_F(ObQueryRangeTest, single_key_cost_time) //TEST_F(ObQueryRangeTest, insert_test) //{ // ObQueryRangeArray ranges; -// ObGetMethodArray get_methods; +// bool all_single_value_ranges = true; // // ObArray exprs; // ObArray params; diff --git a/unittest/sql/rewrite/test_query_range_collation.result b/unittest/sql/rewrite/test_query_range_collation.result index da1b21aa0..37eb18814 100644 --- a/unittest/sql/rewrite/test_query_range_collation.result +++ b/unittest/sql/rewrite/test_query_range_collation.result @@ -3,8 +3,7 @@ f = 'a'--------------connection_collation = 45 col_type = 45 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 count of rang columns = 1 @@ -12,8 +11,7 @@ count of rang columns = 1 f = 'a'--------------connection_collation = 45 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -21,8 +19,7 @@ count of rang columns = 1 f = 'a'--------------connection_collation = 45 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -30,8 +27,7 @@ count of rang columns = 1 f = 'a'--------------connection_collation = 46 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -39,8 +35,7 @@ count of rang columns = 1 f = 'a'--------------connection_collation = 46 col_type = 46 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 count of rang columns = 1 @@ -48,8 +43,7 @@ count of rang columns = 1 f = 'a'--------------connection_collation = 46 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -57,8 +51,7 @@ count of rang columns = 1 f = 'a'--------------connection_collation = 63 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -66,8 +59,7 @@ count of rang columns = 1 f = 'a'--------------connection_collation = 63 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -75,8 +67,7 @@ count of rang columns = 1 f = 'a'--------------connection_collation = 63 col_type = 63 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 count of rang columns = 1 @@ -86,9 +77,7 @@ count of rang columns = 1 f != 'a'--------------connection_collation = 45 col_type = 45 is not min_to_max_range ranges.count() = 2 -get_methods.count() = 2 -get_methods 0: 0 -get_methods 1: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 star_border_flag[1] = 0 @@ -98,8 +87,7 @@ count of rang columns = 1 f != 'a'--------------connection_collation = 45 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -107,8 +95,7 @@ count of rang columns = 1 f != 'a'--------------connection_collation = 45 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -116,8 +103,7 @@ count of rang columns = 1 f != 'a'--------------connection_collation = 46 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -125,9 +111,7 @@ count of rang columns = 1 f != 'a'--------------connection_collation = 46 col_type = 46 is not min_to_max_range ranges.count() = 2 -get_methods.count() = 2 -get_methods 0: 0 -get_methods 1: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 star_border_flag[1] = 0 @@ -137,8 +121,7 @@ count of rang columns = 1 f != 'a'--------------connection_collation = 46 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -146,8 +129,7 @@ count of rang columns = 1 f != 'a'--------------connection_collation = 63 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -155,8 +137,7 @@ count of rang columns = 1 f != 'a'--------------connection_collation = 63 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -164,9 +145,7 @@ count of rang columns = 1 f != 'a'--------------connection_collation = 63 col_type = 63 is not min_to_max_range ranges.count() = 2 -get_methods.count() = 2 -get_methods 0: 0 -get_methods 1: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 star_border_flag[1] = 0 @@ -178,8 +157,7 @@ count of rang columns = 1 f > 'a'--------------connection_collation = 45 col_type = 45 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -187,8 +165,7 @@ count of rang columns = 1 f > 'a'--------------connection_collation = 45 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -196,8 +173,7 @@ count of rang columns = 1 f > 'a'--------------connection_collation = 45 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -205,8 +181,7 @@ count of rang columns = 1 f > 'a'--------------connection_collation = 46 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -214,8 +189,7 @@ count of rang columns = 1 f > 'a'--------------connection_collation = 46 col_type = 46 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -223,8 +197,7 @@ count of rang columns = 1 f > 'a'--------------connection_collation = 46 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -232,8 +205,7 @@ count of rang columns = 1 f > 'a'--------------connection_collation = 63 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -241,8 +213,7 @@ count of rang columns = 1 f > 'a'--------------connection_collation = 63 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -250,8 +221,7 @@ count of rang columns = 1 f > 'a'--------------connection_collation = 63 col_type = 63 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -261,8 +231,7 @@ count of rang columns = 1 f < 'a'--------------connection_collation = 45 col_type = 45 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -270,8 +239,7 @@ count of rang columns = 1 f < 'a'--------------connection_collation = 45 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -279,8 +247,7 @@ count of rang columns = 1 f < 'a'--------------connection_collation = 45 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -288,8 +255,7 @@ count of rang columns = 1 f < 'a'--------------connection_collation = 46 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -297,8 +263,7 @@ count of rang columns = 1 f < 'a'--------------connection_collation = 46 col_type = 46 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -306,8 +271,7 @@ count of rang columns = 1 f < 'a'--------------connection_collation = 46 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -315,8 +279,7 @@ count of rang columns = 1 f < 'a'--------------connection_collation = 63 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -324,8 +287,7 @@ count of rang columns = 1 f < 'a'--------------connection_collation = 63 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -333,8 +295,7 @@ count of rang columns = 1 f < 'a'--------------connection_collation = 63 col_type = 63 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -344,8 +305,7 @@ count of rang columns = 1 f >= 'a'--------------connection_collation = 45 col_type = 45 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 1 end_border_flag[0] = 0 count of rang columns = 1 @@ -353,8 +313,7 @@ count of rang columns = 1 f >= 'a'--------------connection_collation = 45 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -362,8 +321,7 @@ count of rang columns = 1 f >= 'a'--------------connection_collation = 45 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -371,8 +329,7 @@ count of rang columns = 1 f >= 'a'--------------connection_collation = 46 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -380,8 +337,7 @@ count of rang columns = 1 f >= 'a'--------------connection_collation = 46 col_type = 46 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 1 end_border_flag[0] = 0 count of rang columns = 1 @@ -389,8 +345,7 @@ count of rang columns = 1 f >= 'a'--------------connection_collation = 46 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -398,8 +353,7 @@ count of rang columns = 1 f >= 'a'--------------connection_collation = 63 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -407,8 +361,7 @@ count of rang columns = 1 f >= 'a'--------------connection_collation = 63 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -416,8 +369,7 @@ count of rang columns = 1 f >= 'a'--------------connection_collation = 63 col_type = 63 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 1 end_border_flag[0] = 0 count of rang columns = 1 @@ -427,8 +379,7 @@ count of rang columns = 1 f <= 'a'--------------connection_collation = 45 col_type = 45 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 1 count of rang columns = 1 @@ -436,8 +387,7 @@ count of rang columns = 1 f <= 'a'--------------connection_collation = 45 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -445,8 +395,7 @@ count of rang columns = 1 f <= 'a'--------------connection_collation = 45 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -454,8 +403,7 @@ count of rang columns = 1 f <= 'a'--------------connection_collation = 46 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -463,8 +411,7 @@ count of rang columns = 1 f <= 'a'--------------connection_collation = 46 col_type = 46 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 1 count of rang columns = 1 @@ -472,8 +419,7 @@ count of rang columns = 1 f <= 'a'--------------connection_collation = 46 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -481,8 +427,7 @@ count of rang columns = 1 f <= 'a'--------------connection_collation = 63 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -490,8 +435,7 @@ count of rang columns = 1 f <= 'a'--------------connection_collation = 63 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -499,8 +443,7 @@ count of rang columns = 1 f <= 'a'--------------connection_collation = 63 col_type = 63 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 1 count of rang columns = 1 @@ -510,8 +453,7 @@ count of rang columns = 1 f is TRUE--------------connection_collation = 45 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -519,8 +461,7 @@ count of rang columns = 1 f is TRUE--------------connection_collation = 45 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -528,8 +469,7 @@ count of rang columns = 1 f is TRUE--------------connection_collation = 45 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -537,8 +477,7 @@ count of rang columns = 1 f is TRUE--------------connection_collation = 46 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -546,8 +485,7 @@ count of rang columns = 1 f is TRUE--------------connection_collation = 46 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -555,8 +493,7 @@ count of rang columns = 1 f is TRUE--------------connection_collation = 46 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -564,8 +501,7 @@ count of rang columns = 1 f is TRUE--------------connection_collation = 63 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -573,8 +509,7 @@ count of rang columns = 1 f is TRUE--------------connection_collation = 63 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -582,8 +517,7 @@ count of rang columns = 1 f is TRUE--------------connection_collation = 63 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -593,8 +527,7 @@ count of rang columns = 1 f is FALSE--------------connection_collation = 45 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -602,8 +535,7 @@ count of rang columns = 1 f is FALSE--------------connection_collation = 45 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -611,8 +543,7 @@ count of rang columns = 1 f is FALSE--------------connection_collation = 45 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -620,8 +551,7 @@ count of rang columns = 1 f is FALSE--------------connection_collation = 46 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -629,8 +559,7 @@ count of rang columns = 1 f is FALSE--------------connection_collation = 46 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -638,8 +567,7 @@ count of rang columns = 1 f is FALSE--------------connection_collation = 46 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -647,8 +575,7 @@ count of rang columns = 1 f is FALSE--------------connection_collation = 63 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -656,8 +583,7 @@ count of rang columns = 1 f is FALSE--------------connection_collation = 63 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -665,8 +591,7 @@ count of rang columns = 1 f is FALSE--------------connection_collation = 63 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -676,8 +601,7 @@ count of rang columns = 1 f is NULL--------------connection_collation = 45 col_type = 45 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 count of rang columns = 1 @@ -685,8 +609,7 @@ count of rang columns = 1 f is NULL--------------connection_collation = 45 col_type = 46 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 count of rang columns = 1 @@ -694,8 +617,7 @@ count of rang columns = 1 f is NULL--------------connection_collation = 45 col_type = 63 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 count of rang columns = 1 @@ -703,8 +625,7 @@ count of rang columns = 1 f is NULL--------------connection_collation = 46 col_type = 45 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 count of rang columns = 1 @@ -712,8 +633,7 @@ count of rang columns = 1 f is NULL--------------connection_collation = 46 col_type = 46 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 count of rang columns = 1 @@ -721,8 +641,7 @@ count of rang columns = 1 f is NULL--------------connection_collation = 46 col_type = 63 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 count of rang columns = 1 @@ -730,8 +649,7 @@ count of rang columns = 1 f is NULL--------------connection_collation = 63 col_type = 45 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 count of rang columns = 1 @@ -739,8 +657,7 @@ count of rang columns = 1 f is NULL--------------connection_collation = 63 col_type = 46 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 count of rang columns = 1 @@ -748,8 +665,7 @@ count of rang columns = 1 f is NULL--------------connection_collation = 63 col_type = 63 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 count of rang columns = 1 @@ -759,8 +675,7 @@ count of rang columns = 1 f > 'a' and false--------------connection_collation = 45 col_type = 45 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -768,8 +683,7 @@ count of rang columns = 1 f > 'a' and false--------------connection_collation = 45 col_type = 46 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -777,8 +691,7 @@ count of rang columns = 1 f > 'a' and false--------------connection_collation = 45 col_type = 63 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -786,8 +699,7 @@ count of rang columns = 1 f > 'a' and false--------------connection_collation = 46 col_type = 45 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -795,8 +707,7 @@ count of rang columns = 1 f > 'a' and false--------------connection_collation = 46 col_type = 46 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -804,8 +715,7 @@ count of rang columns = 1 f > 'a' and false--------------connection_collation = 46 col_type = 63 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -813,8 +723,7 @@ count of rang columns = 1 f > 'a' and false--------------connection_collation = 63 col_type = 45 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -822,8 +731,7 @@ count of rang columns = 1 f > 'a' and false--------------connection_collation = 63 col_type = 46 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -831,8 +739,7 @@ count of rang columns = 1 f > 'a' and false--------------connection_collation = 63 col_type = 63 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -842,8 +749,7 @@ count of rang columns = 1 false and f > 'a'--------------connection_collation = 45 col_type = 45 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -851,8 +757,7 @@ count of rang columns = 1 false and f > 'a'--------------connection_collation = 45 col_type = 46 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -860,8 +765,7 @@ count of rang columns = 1 false and f > 'a'--------------connection_collation = 45 col_type = 63 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -869,8 +773,7 @@ count of rang columns = 1 false and f > 'a'--------------connection_collation = 46 col_type = 45 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -878,8 +781,7 @@ count of rang columns = 1 false and f > 'a'--------------connection_collation = 46 col_type = 46 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -887,8 +789,7 @@ count of rang columns = 1 false and f > 'a'--------------connection_collation = 46 col_type = 63 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -896,8 +797,7 @@ count of rang columns = 1 false and f > 'a'--------------connection_collation = 63 col_type = 45 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -905,8 +805,7 @@ count of rang columns = 1 false and f > 'a'--------------connection_collation = 63 col_type = 46 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -914,8 +813,7 @@ count of rang columns = 1 false and f > 'a'--------------connection_collation = 63 col_type = 63 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -925,10 +823,7 @@ count of rang columns = 1 f < 'a' or f > 'b' or f > 'sda' and f > 'sds' or f = 'adas'--------------connection_collation = 45 col_type = 45 is not min_to_max_range ranges.count() = 3 -get_methods.count() = 3 -get_methods 0: 0 -get_methods 1: 0 -get_methods 2: 1 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 star_border_flag[1] = 0 @@ -940,8 +835,7 @@ count of rang columns = 1 f < 'a' or f > 'b' or f > 'sda' and f > 'sds' or f = 'adas'--------------connection_collation = 45 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -949,8 +843,7 @@ count of rang columns = 1 f < 'a' or f > 'b' or f > 'sda' and f > 'sds' or f = 'adas'--------------connection_collation = 45 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -958,8 +851,7 @@ count of rang columns = 1 f < 'a' or f > 'b' or f > 'sda' and f > 'sds' or f = 'adas'--------------connection_collation = 46 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -967,10 +859,7 @@ count of rang columns = 1 f < 'a' or f > 'b' or f > 'sda' and f > 'sds' or f = 'adas'--------------connection_collation = 46 col_type = 46 is not min_to_max_range ranges.count() = 3 -get_methods.count() = 3 -get_methods 0: 0 -get_methods 1: 0 -get_methods 2: 1 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 star_border_flag[1] = 0 @@ -982,8 +871,7 @@ count of rang columns = 1 f < 'a' or f > 'b' or f > 'sda' and f > 'sds' or f = 'adas'--------------connection_collation = 46 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -991,8 +879,7 @@ count of rang columns = 1 f < 'a' or f > 'b' or f > 'sda' and f > 'sds' or f = 'adas'--------------connection_collation = 63 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1000,8 +887,7 @@ count of rang columns = 1 f < 'a' or f > 'b' or f > 'sda' and f > 'sds' or f = 'adas'--------------connection_collation = 63 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1009,10 +895,7 @@ count of rang columns = 1 f < 'a' or f > 'b' or f > 'sda' and f > 'sds' or f = 'adas'--------------connection_collation = 63 col_type = 63 is not min_to_max_range ranges.count() = 3 -get_methods.count() = 3 -get_methods 0: 0 -get_methods 1: 0 -get_methods 2: 1 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 star_border_flag[1] = 0 @@ -1026,8 +909,7 @@ count of rang columns = 1 f > 'a' or f > 'b' and (g > 'a' or g > 'k') and (f > 'c')--------------connection_collation = 45 col_type = 45 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1035,8 +917,7 @@ count of rang columns = 2 f > 'a' or f > 'b' and (g > 'a' or g > 'k') and (f > 'c')--------------connection_collation = 45 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1044,8 +925,7 @@ count of rang columns = 2 f > 'a' or f > 'b' and (g > 'a' or g > 'k') and (f > 'c')--------------connection_collation = 45 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1053,8 +933,7 @@ count of rang columns = 2 f > 'a' or f > 'b' and (g > 'a' or g > 'k') and (f > 'c')--------------connection_collation = 46 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1062,8 +941,7 @@ count of rang columns = 2 f > 'a' or f > 'b' and (g > 'a' or g > 'k') and (f > 'c')--------------connection_collation = 46 col_type = 46 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1071,8 +949,7 @@ count of rang columns = 2 f > 'a' or f > 'b' and (g > 'a' or g > 'k') and (f > 'c')--------------connection_collation = 46 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1080,8 +957,7 @@ count of rang columns = 2 f > 'a' or f > 'b' and (g > 'a' or g > 'k') and (f > 'c')--------------connection_collation = 63 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1089,8 +965,7 @@ count of rang columns = 2 f > 'a' or f > 'b' and (g > 'a' or g > 'k') and (f > 'c')--------------connection_collation = 63 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1098,8 +973,7 @@ count of rang columns = 2 f > 'a' or f > 'b' and (g > 'a' or g > 'k') and (f > 'c')--------------connection_collation = 63 col_type = 63 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1109,8 +983,7 @@ count of rang columns = 2 f > 'a' and g > 'a' and h > 'a' and i > 'a' and j > 'a'--------------connection_collation = 45 col_type = 45 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 5 @@ -1118,8 +991,7 @@ count of rang columns = 5 f > 'a' and g > 'a' and h > 'a' and i > 'a' and j > 'a'--------------connection_collation = 45 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 5 @@ -1127,8 +999,7 @@ count of rang columns = 5 f > 'a' and g > 'a' and h > 'a' and i > 'a' and j > 'a'--------------connection_collation = 45 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 5 @@ -1136,8 +1007,7 @@ count of rang columns = 5 f > 'a' and g > 'a' and h > 'a' and i > 'a' and j > 'a'--------------connection_collation = 46 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 5 @@ -1145,8 +1015,7 @@ count of rang columns = 5 f > 'a' and g > 'a' and h > 'a' and i > 'a' and j > 'a'--------------connection_collation = 46 col_type = 46 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 5 @@ -1154,8 +1023,7 @@ count of rang columns = 5 f > 'a' and g > 'a' and h > 'a' and i > 'a' and j > 'a'--------------connection_collation = 46 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 5 @@ -1163,8 +1031,7 @@ count of rang columns = 5 f > 'a' and g > 'a' and h > 'a' and i > 'a' and j > 'a'--------------connection_collation = 63 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 5 @@ -1172,8 +1039,7 @@ count of rang columns = 5 f > 'a' and g > 'a' and h > 'a' and i > 'a' and j > 'a'--------------connection_collation = 63 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 5 @@ -1181,8 +1047,7 @@ count of rang columns = 5 f > 'a' and g > 'a' and h > 'a' and i > 'a' and j > 'a'--------------connection_collation = 63 col_type = 63 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 5 @@ -1192,8 +1057,7 @@ count of rang columns = 5 f > 'a' and f < 'B' --------------connection_collation = 45 col_type = 45 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1201,8 +1065,7 @@ count of rang columns = 1 f > 'a' and f < 'B' --------------connection_collation = 45 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1210,8 +1073,7 @@ count of rang columns = 1 f > 'a' and f < 'B' --------------connection_collation = 45 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1219,8 +1081,7 @@ count of rang columns = 1 f > 'a' and f < 'B' --------------connection_collation = 46 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1228,8 +1089,7 @@ count of rang columns = 1 f > 'a' and f < 'B' --------------connection_collation = 46 col_type = 46 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1237,8 +1097,7 @@ count of rang columns = 1 f > 'a' and f < 'B' --------------connection_collation = 46 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1246,8 +1105,7 @@ count of rang columns = 1 f > 'a' and f < 'B' --------------connection_collation = 63 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1255,8 +1113,7 @@ count of rang columns = 1 f > 'a' and f < 'B' --------------connection_collation = 63 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1264,8 +1121,7 @@ count of rang columns = 1 f > 'a' and f < 'B' --------------connection_collation = 63 col_type = 63 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1275,8 +1131,7 @@ count of rang columns = 1 f > 'B' and f < 'a' and g > 'a' and g < 'b'--------------connection_collation = 45 col_type = 45 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1284,8 +1139,7 @@ count of rang columns = 2 f > 'B' and f < 'a' and g > 'a' and g < 'b'--------------connection_collation = 45 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1293,8 +1147,7 @@ count of rang columns = 2 f > 'B' and f < 'a' and g > 'a' and g < 'b'--------------connection_collation = 45 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1302,8 +1155,7 @@ count of rang columns = 2 f > 'B' and f < 'a' and g > 'a' and g < 'b'--------------connection_collation = 46 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1311,8 +1163,7 @@ count of rang columns = 2 f > 'B' and f < 'a' and g > 'a' and g < 'b'--------------connection_collation = 46 col_type = 46 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1320,8 +1171,7 @@ count of rang columns = 2 f > 'B' and f < 'a' and g > 'a' and g < 'b'--------------connection_collation = 46 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1329,8 +1179,7 @@ count of rang columns = 2 f > 'B' and f < 'a' and g > 'a' and g < 'b'--------------connection_collation = 63 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1338,8 +1187,7 @@ count of rang columns = 2 f > 'B' and f < 'a' and g > 'a' and g < 'b'--------------connection_collation = 63 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1347,8 +1195,7 @@ count of rang columns = 2 f > 'B' and f < 'a' and g > 'a' and g < 'b'--------------connection_collation = 63 col_type = 63 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1358,8 +1205,7 @@ count of rang columns = 2 f > 'B' or f < 'a' and g > 'a' or g < 'b'--------------connection_collation = 45 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1367,8 +1213,7 @@ count of rang columns = 2 f > 'B' or f < 'a' and g > 'a' or g < 'b'--------------connection_collation = 45 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1376,8 +1221,7 @@ count of rang columns = 2 f > 'B' or f < 'a' and g > 'a' or g < 'b'--------------connection_collation = 45 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1385,8 +1229,7 @@ count of rang columns = 2 f > 'B' or f < 'a' and g > 'a' or g < 'b'--------------connection_collation = 46 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1394,8 +1237,7 @@ count of rang columns = 2 f > 'B' or f < 'a' and g > 'a' or g < 'b'--------------connection_collation = 46 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1403,8 +1245,7 @@ count of rang columns = 2 f > 'B' or f < 'a' and g > 'a' or g < 'b'--------------connection_collation = 46 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1412,8 +1253,7 @@ count of rang columns = 2 f > 'B' or f < 'a' and g > 'a' or g < 'b'--------------connection_collation = 63 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1421,8 +1261,7 @@ count of rang columns = 2 f > 'B' or f < 'a' and g > 'a' or g < 'b'--------------connection_collation = 63 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1430,8 +1269,7 @@ count of rang columns = 2 f > 'B' or f < 'a' and g > 'a' or g < 'b'--------------connection_collation = 63 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1441,8 +1279,7 @@ count of rang columns = 2 f > 'B' and f < 'a' and g > 'a' and g < 'B'--------------connection_collation = 45 col_type = 45 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1450,8 +1287,7 @@ count of rang columns = 2 f > 'B' and f < 'a' and g > 'a' and g < 'B'--------------connection_collation = 45 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1459,8 +1295,7 @@ count of rang columns = 2 f > 'B' and f < 'a' and g > 'a' and g < 'B'--------------connection_collation = 45 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1468,8 +1303,7 @@ count of rang columns = 2 f > 'B' and f < 'a' and g > 'a' and g < 'B'--------------connection_collation = 46 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1477,8 +1311,7 @@ count of rang columns = 2 f > 'B' and f < 'a' and g > 'a' and g < 'B'--------------connection_collation = 46 col_type = 46 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1486,8 +1319,7 @@ count of rang columns = 2 f > 'B' and f < 'a' and g > 'a' and g < 'B'--------------connection_collation = 46 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1495,8 +1327,7 @@ count of rang columns = 2 f > 'B' and f < 'a' and g > 'a' and g < 'B'--------------connection_collation = 63 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1504,8 +1335,7 @@ count of rang columns = 2 f > 'B' and f < 'a' and g > 'a' and g < 'B'--------------connection_collation = 63 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1513,8 +1343,7 @@ count of rang columns = 2 f > 'B' and f < 'a' and g > 'a' and g < 'B'--------------connection_collation = 63 col_type = 63 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -1524,8 +1353,7 @@ count of rang columns = 2 f > 'B' and 'a' = 'A'--------------connection_collation = 45 col_type = 45 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1533,8 +1361,7 @@ count of rang columns = 1 f > 'B' and 'a' = 'A'--------------connection_collation = 45 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1542,8 +1369,7 @@ count of rang columns = 1 f > 'B' and 'a' = 'A'--------------connection_collation = 45 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1551,8 +1377,7 @@ count of rang columns = 1 f > 'B' and 'a' = 'A'--------------connection_collation = 46 col_type = 45 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1560,8 +1385,7 @@ count of rang columns = 1 f > 'B' and 'a' = 'A'--------------connection_collation = 46 col_type = 46 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1569,8 +1393,7 @@ count of rang columns = 1 f > 'B' and 'a' = 'A'--------------connection_collation = 46 col_type = 63 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1578,8 +1401,7 @@ count of rang columns = 1 f > 'B' and 'a' = 'A'--------------connection_collation = 63 col_type = 45 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1587,8 +1409,7 @@ count of rang columns = 1 f > 'B' and 'a' = 'A'--------------connection_collation = 63 col_type = 46 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1596,8 +1417,7 @@ count of rang columns = 1 f > 'B' and 'a' = 'A'--------------connection_collation = 63 col_type = 63 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1609,8 +1429,7 @@ count of rang columns = 1 f between 'a' and 'b'--------------connection_collation = 45 col_type = 45 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 1 end_border_flag[0] = 1 count of rang columns = 1 @@ -1618,8 +1437,7 @@ count of rang columns = 1 f between 'a' and 'b'--------------connection_collation = 45 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1627,8 +1445,7 @@ count of rang columns = 1 f between 'a' and 'b'--------------connection_collation = 45 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1636,8 +1453,7 @@ count of rang columns = 1 f between 'a' and 'b'--------------connection_collation = 46 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1645,8 +1461,7 @@ count of rang columns = 1 f between 'a' and 'b'--------------connection_collation = 46 col_type = 46 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 1 end_border_flag[0] = 1 count of rang columns = 1 @@ -1654,8 +1469,7 @@ count of rang columns = 1 f between 'a' and 'b'--------------connection_collation = 46 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1663,8 +1477,7 @@ count of rang columns = 1 f between 'a' and 'b'--------------connection_collation = 63 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1672,8 +1485,7 @@ count of rang columns = 1 f between 'a' and 'b'--------------connection_collation = 63 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1681,8 +1493,7 @@ count of rang columns = 1 f between 'a' and 'b'--------------connection_collation = 63 col_type = 63 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 1 end_border_flag[0] = 1 count of rang columns = 1 @@ -1692,8 +1503,7 @@ count of rang columns = 1 f between 'B' and 'a'--------------connection_collation = 45 col_type = 45 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1701,8 +1511,7 @@ count of rang columns = 1 f between 'B' and 'a'--------------connection_collation = 45 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1710,8 +1519,7 @@ count of rang columns = 1 f between 'B' and 'a'--------------connection_collation = 45 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1719,8 +1527,7 @@ count of rang columns = 1 f between 'B' and 'a'--------------connection_collation = 46 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1728,8 +1535,7 @@ count of rang columns = 1 f between 'B' and 'a'--------------connection_collation = 46 col_type = 46 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 1 end_border_flag[0] = 1 count of rang columns = 1 @@ -1737,8 +1543,7 @@ count of rang columns = 1 f between 'B' and 'a'--------------connection_collation = 46 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1746,8 +1551,7 @@ count of rang columns = 1 f between 'B' and 'a'--------------connection_collation = 63 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1755,8 +1559,7 @@ count of rang columns = 1 f between 'B' and 'a'--------------connection_collation = 63 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1764,8 +1567,7 @@ count of rang columns = 1 f between 'B' and 'a'--------------connection_collation = 63 col_type = 63 is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 1 end_border_flag[0] = 1 count of rang columns = 1 @@ -1775,8 +1577,7 @@ count of rang columns = 1 f not between 'a' and 'b'--------------connection_collation = 45 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1784,8 +1585,7 @@ count of rang columns = 1 f not between 'a' and 'b'--------------connection_collation = 45 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1793,8 +1593,7 @@ count of rang columns = 1 f not between 'a' and 'b'--------------connection_collation = 45 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1802,8 +1601,7 @@ count of rang columns = 1 f not between 'a' and 'b'--------------connection_collation = 46 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1811,8 +1609,7 @@ count of rang columns = 1 f not between 'a' and 'b'--------------connection_collation = 46 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1820,8 +1617,7 @@ count of rang columns = 1 f not between 'a' and 'b'--------------connection_collation = 46 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1829,8 +1625,7 @@ count of rang columns = 1 f not between 'a' and 'b'--------------connection_collation = 63 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1838,8 +1633,7 @@ count of rang columns = 1 f not between 'a' and 'b'--------------connection_collation = 63 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1847,8 +1641,7 @@ count of rang columns = 1 f not between 'a' and 'b'--------------connection_collation = 63 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1858,8 +1651,7 @@ count of rang columns = 1 f = 'a' + 'b'--------------connection_collation = 45 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1867,8 +1659,7 @@ count of rang columns = 1 f = 'a' + 'b'--------------connection_collation = 45 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1876,8 +1667,7 @@ count of rang columns = 1 f = 'a' + 'b'--------------connection_collation = 45 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1885,8 +1675,7 @@ count of rang columns = 1 f = 'a' + 'b'--------------connection_collation = 46 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1894,8 +1683,7 @@ count of rang columns = 1 f = 'a' + 'b'--------------connection_collation = 46 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1903,8 +1691,7 @@ count of rang columns = 1 f = 'a' + 'b'--------------connection_collation = 46 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1912,8 +1699,7 @@ count of rang columns = 1 f = 'a' + 'b'--------------connection_collation = 63 col_type = 45 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1921,8 +1707,7 @@ count of rang columns = 1 f = 'a' + 'b'--------------connection_collation = 63 col_type = 46 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -1930,8 +1715,7 @@ count of rang columns = 1 f = 'a' + 'b'--------------connection_collation = 63 col_type = 63 is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 diff --git a/unittest/sql/rewrite/test_query_range_filter.result b/unittest/sql/rewrite/test_query_range_filter.result index 3aadd8d8e..6e0022dce 100644 --- a/unittest/sql/rewrite/test_query_range_filter.result +++ b/unittest/sql/rewrite/test_query_range_filter.result @@ -4,8 +4,7 @@ **filter count = 0** is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 count of rang columns = 1 @@ -15,8 +14,7 @@ count of rang columns = 1 **filter count = 0** is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -26,8 +24,7 @@ count of rang columns = 2 **filter count = 0** is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 3 @@ -39,11 +36,7 @@ count of rang columns = 3 **filter count = 0** is not min_to_max_range ranges.count() = 4 -get_methods.count() = 4 -get_methods 0: 1 -get_methods 1: 1 -get_methods 2: 1 -get_methods 3: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -59,11 +52,7 @@ count of rang columns = 1 **filter count = 0** is not min_to_max_range ranges.count() = 4 -get_methods.count() = 4 -get_methods 0: 0 -get_methods 1: 0 -get_methods 2: 0 -get_methods 3: 1 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 star_border_flag[1] = 0 @@ -79,11 +68,7 @@ count of rang columns = 2 **filter count = 0** is not min_to_max_range ranges.count() = 4 -get_methods.count() = 4 -get_methods 0: 0 -get_methods 1: 0 -get_methods 2: 0 -get_methods 3: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 star_border_flag[1] = 0 @@ -101,9 +86,7 @@ count of rang columns = 3 **filter count = 0** is not min_to_max_range ranges.count() = 2 -get_methods.count() = 2 -get_methods 0: 1 -get_methods 1: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -115,9 +98,7 @@ count of rang columns = 1 **filter count = 1** is not min_to_max_range ranges.count() = 2 -get_methods.count() = 2 -get_methods 0: 1 -get_methods 1: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -129,9 +110,7 @@ count of rang columns = 2 **filter count = 1** is not min_to_max_range ranges.count() = 2 -get_methods.count() = 2 -get_methods 0: 0 -get_methods 1: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 star_border_flag[1] = 0 @@ -145,8 +124,7 @@ count of rang columns = 3 **filter count = 1** is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -156,8 +134,7 @@ count of rang columns = 1 **filter count = 1** is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -167,8 +144,7 @@ count of rang columns = 2 **filter count = 1** is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -180,8 +156,7 @@ count of rang columns = 2 **filter count = 1** is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -191,8 +166,7 @@ count of rang columns = 1 **filter count = 1** is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -202,8 +176,7 @@ count of rang columns = 2 **filter count = 1** is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 3 @@ -215,10 +188,7 @@ count of rang columns = 3 **filter count = 1** is not min_to_max_range ranges.count() = 3 -get_methods.count() = 3 -get_methods 0: 1 -get_methods 1: 1 -get_methods 2: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -232,10 +202,7 @@ count of rang columns = 1 **filter count = 1** is not min_to_max_range ranges.count() = 3 -get_methods.count() = 3 -get_methods 0: 0 -get_methods 1: 0 -get_methods 2: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 star_border_flag[1] = 0 @@ -249,10 +216,7 @@ count of rang columns = 2 **filter count = 1** is not min_to_max_range ranges.count() = 3 -get_methods.count() = 3 -get_methods 0: 0 -get_methods 1: 0 -get_methods 2: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 star_border_flag[1] = 0 @@ -268,11 +232,7 @@ count of rang columns = 2 **filter count = 1** is not min_to_max_range ranges.count() = 4 -get_methods.count() = 4 -get_methods 0: 1 -get_methods 1: 1 -get_methods 2: 1 -get_methods 3: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -288,11 +248,7 @@ count of rang columns = 1 **filter count = 1** is not min_to_max_range ranges.count() = 4 -get_methods.count() = 4 -get_methods 0: 0 -get_methods 1: 0 -get_methods 2: 0 -get_methods 3: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 star_border_flag[1] = 0 @@ -308,11 +264,7 @@ count of rang columns = 2 **filter count = 1** is not min_to_max_range ranges.count() = 4 -get_methods.count() = 4 -get_methods 0: 0 -get_methods 1: 0 -get_methods 2: 0 -get_methods 3: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 star_border_flag[1] = 0 @@ -330,11 +282,7 @@ count of rang columns = 2 **filter count = 0** is not min_to_max_range ranges.count() = 4 -get_methods.count() = 4 -get_methods 0: 1 -get_methods 1: 1 -get_methods 2: 1 -get_methods 3: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -350,11 +298,7 @@ count of rang columns = 1 **filter count = 0** is not min_to_max_range ranges.count() = 4 -get_methods.count() = 4 -get_methods 0: 0 -get_methods 1: 0 -get_methods 2: 0 -get_methods 3: 1 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 star_border_flag[1] = 0 @@ -370,11 +314,7 @@ count of rang columns = 2 **filter count = 0** is not min_to_max_range ranges.count() = 4 -get_methods.count() = 4 -get_methods 0: 0 -get_methods 1: 0 -get_methods 2: 0 -get_methods 3: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 star_border_flag[1] = 0 @@ -392,10 +332,7 @@ count of rang columns = 3 **filter count = 1** is not min_to_max_range ranges.count() = 3 -get_methods.count() = 3 -get_methods 0: 1 -get_methods 1: 1 -get_methods 2: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -409,10 +346,7 @@ count of rang columns = 1 **filter count = 2** is not min_to_max_range ranges.count() = 3 -get_methods.count() = 3 -get_methods 0: 1 -get_methods 1: 1 -get_methods 2: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -426,10 +360,7 @@ count of rang columns = 2 **filter count = 2** is not min_to_max_range ranges.count() = 3 -get_methods.count() = 3 -get_methods 0: 0 -get_methods 1: 0 -get_methods 2: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 star_border_flag[1] = 0 @@ -445,11 +376,7 @@ count of rang columns = 3 **filter count = 0** is not min_to_max_range ranges.count() = 4 -get_methods.count() = 4 -get_methods 0: 1 -get_methods 1: 1 -get_methods 2: 1 -get_methods 3: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -465,11 +392,7 @@ count of rang columns = 1 **filter count = 1** is not min_to_max_range ranges.count() = 4 -get_methods.count() = 4 -get_methods 0: 1 -get_methods 1: 1 -get_methods 2: 1 -get_methods 3: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -485,11 +408,7 @@ count of rang columns = 2 **filter count = 1** is not min_to_max_range ranges.count() = 4 -get_methods.count() = 4 -get_methods 0: 0 -get_methods 1: 0 -get_methods 2: 0 -get_methods 3: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 star_border_flag[1] = 0 @@ -507,9 +426,7 @@ count of rang columns = 3 **filter count = 0** is not min_to_max_range ranges.count() = 2 -get_methods.count() = 2 -get_methods 0: 1 -get_methods 1: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -521,9 +438,7 @@ count of rang columns = 1 **filter count = 1** is not min_to_max_range ranges.count() = 2 -get_methods.count() = 2 -get_methods 0: 1 -get_methods 1: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -535,9 +450,7 @@ count of rang columns = 2 **filter count = 0** is not min_to_max_range ranges.count() = 2 -get_methods.count() = 2 -get_methods 0: 0 -get_methods 1: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 star_border_flag[1] = 0 @@ -551,9 +464,7 @@ count of rang columns = 3 **filter count = 0** is not min_to_max_range ranges.count() = 2 -get_methods.count() = 2 -get_methods 0: 1 -get_methods 1: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -565,9 +476,7 @@ count of rang columns = 1 **filter count = 1** is not min_to_max_range ranges.count() = 2 -get_methods.count() = 2 -get_methods 0: 1 -get_methods 1: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -579,9 +488,7 @@ count of rang columns = 2 **filter count = 2** is not min_to_max_range ranges.count() = 2 -get_methods.count() = 2 -get_methods 0: 1 -get_methods 1: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -595,8 +502,7 @@ count of rang columns = 3 **filter count = 1** is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 count of rang columns = 1 @@ -606,8 +512,7 @@ count of rang columns = 1 **filter count = 2** is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 count of rang columns = 2 @@ -617,8 +522,7 @@ count of rang columns = 2 **filter count = 2** is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 3 @@ -630,11 +534,7 @@ count of rang columns = 3 **filter count = 0** is not min_to_max_range ranges.count() = 4 -get_methods.count() = 4 -get_methods 0: 1 -get_methods 1: 1 -get_methods 2: 1 -get_methods 3: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -650,11 +550,7 @@ count of rang columns = 1 **filter count = 0** is not min_to_max_range ranges.count() = 4 -get_methods.count() = 4 -get_methods 0: 1 -get_methods 1: 1 -get_methods 2: 1 -get_methods 3: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -670,11 +566,7 @@ count of rang columns = 2 **filter count = 0** is not min_to_max_range ranges.count() = 4 -get_methods.count() = 4 -get_methods 0: 1 -get_methods 1: 1 -get_methods 2: 0 -get_methods 3: 0 +all_single_value_ranges = 0 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -692,9 +584,7 @@ count of rang columns = 3 **filter count = 0** is not min_to_max_range ranges.count() = 2 -get_methods.count() = 2 -get_methods 0: 1 -get_methods 1: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -706,9 +596,7 @@ count of rang columns = 1 **filter count = 0** is not min_to_max_range ranges.count() = 2 -get_methods.count() = 2 -get_methods 0: 1 -get_methods 1: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -720,9 +608,7 @@ count of rang columns = 2 **filter count = 0** is not min_to_max_range ranges.count() = 2 -get_methods.count() = 2 -get_methods 0: 1 -get_methods 1: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -736,11 +622,7 @@ count of rang columns = 3 **filter count = 0** is not min_to_max_range ranges.count() = 4 -get_methods.count() = 4 -get_methods 0: 1 -get_methods 1: 1 -get_methods 2: 1 -get_methods 3: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -756,11 +638,7 @@ count of rang columns = 1 **filter count = 0** is not min_to_max_range ranges.count() = 4 -get_methods.count() = 4 -get_methods 0: 1 -get_methods 1: 1 -get_methods 2: 1 -get_methods 3: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -776,11 +654,7 @@ count of rang columns = 2 **filter count = 1** is not min_to_max_range ranges.count() = 4 -get_methods.count() = 4 -get_methods 0: 1 -get_methods 1: 1 -get_methods 2: 1 -get_methods 3: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -798,11 +672,7 @@ count of rang columns = 3 **filter count = 0** is not min_to_max_range ranges.count() = 4 -get_methods.count() = 4 -get_methods 0: 1 -get_methods 1: 1 -get_methods 2: 1 -get_methods 3: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -818,11 +688,7 @@ count of rang columns = 1 **filter count = 0** is not min_to_max_range ranges.count() = 4 -get_methods.count() = 4 -get_methods 0: 0 -get_methods 1: 1 -get_methods 2: 1 -get_methods 3: 1 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 star_border_flag[1] = 1 @@ -838,11 +704,7 @@ count of rang columns = 2 **filter count = 0** is not min_to_max_range ranges.count() = 4 -get_methods.count() = 4 -get_methods 0: 0 -get_methods 1: 1 -get_methods 2: 0 -get_methods 3: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 star_border_flag[1] = 1 @@ -860,9 +722,7 @@ count of rang columns = 3 **filter count = 0** is not min_to_max_range ranges.count() = 2 -get_methods.count() = 2 -get_methods 0: 1 -get_methods 1: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -874,9 +734,7 @@ count of rang columns = 1 **filter count = 0** is not min_to_max_range ranges.count() = 2 -get_methods.count() = 2 -get_methods 0: 0 -get_methods 1: 1 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 star_border_flag[1] = 1 @@ -888,9 +746,7 @@ count of rang columns = 2 **filter count = 0** is not min_to_max_range ranges.count() = 2 -get_methods.count() = 2 -get_methods 0: 0 -get_methods 1: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 star_border_flag[1] = 0 @@ -904,8 +760,7 @@ count of rang columns = 3 **filter count = 0** is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 1 @@ -915,8 +770,7 @@ count of rang columns = 1 **filter count = 0** is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 2 @@ -926,8 +780,7 @@ count of rang columns = 2 **filter count = 0** is min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 count of rang columns = 3 @@ -939,10 +792,7 @@ count of rang columns = 3 **filter count = 0** is not min_to_max_range ranges.count() = 3 -get_methods.count() = 3 -get_methods 0: 1 -get_methods 1: 1 -get_methods 2: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -956,10 +806,7 @@ count of rang columns = 1 **filter count = 0** is not min_to_max_range ranges.count() = 3 -get_methods.count() = 3 -get_methods 0: 1 -get_methods 1: 0 -get_methods 2: 0 +all_single_value_ranges = 0 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 0 @@ -973,10 +820,7 @@ count of rang columns = 2 **filter count = 0** is not min_to_max_range ranges.count() = 3 -get_methods.count() = 3 -get_methods 0: 0 -get_methods 1: 0 -get_methods 2: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 star_border_flag[1] = 0 @@ -992,9 +836,7 @@ count of rang columns = 3 **filter count = 0** is not min_to_max_range ranges.count() = 2 -get_methods.count() = 2 -get_methods 0: 1 -get_methods 1: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -1006,9 +848,7 @@ count of rang columns = 1 **filter count = 0** is not min_to_max_range ranges.count() = 2 -get_methods.count() = 2 -get_methods 0: 1 -get_methods 1: 0 +all_single_value_ranges = 0 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 0 @@ -1020,9 +860,7 @@ count of rang columns = 2 **filter count = 0** is not min_to_max_range ranges.count() = 2 -get_methods.count() = 2 -get_methods 0: 0 -get_methods 1: 0 +all_single_value_ranges = 0 star_border_flag[0] = 0 end_border_flag[0] = 0 star_border_flag[1] = 0 @@ -1036,11 +874,7 @@ count of rang columns = 3 **filter count = 0** is not min_to_max_range ranges.count() = 4 -get_methods.count() = 4 -get_methods 0: 1 -get_methods 1: 1 -get_methods 2: 1 -get_methods 3: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -1056,11 +890,7 @@ count of rang columns = 1 **filter count = 0** is not min_to_max_range ranges.count() = 4 -get_methods.count() = 4 -get_methods 0: 1 -get_methods 1: 1 -get_methods 2: 1 -get_methods 3: 0 +all_single_value_ranges = 0 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -1076,11 +906,7 @@ count of rang columns = 2 **filter count = 0** is not min_to_max_range ranges.count() = 4 -get_methods.count() = 4 -get_methods 0: 1 -get_methods 1: 1 -get_methods 2: 0 -get_methods 3: 0 +all_single_value_ranges = 0 star_border_flag[0] = 1 end_border_flag[0] = 1 star_border_flag[1] = 1 @@ -1098,8 +924,7 @@ count of rang columns = 3 **filter count = 0** is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 count of rang columns = 1 @@ -1109,8 +934,7 @@ count of rang columns = 1 **filter count = 0** is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 count of rang columns = 2 @@ -1120,8 +944,7 @@ count of rang columns = 2 **filter count = 1** is not min_to_max_range ranges.count() = 1 -get_methods.count() = 1 -get_methods 0: 1 +all_single_value_ranges = 1 star_border_flag[0] = 1 end_border_flag[0] = 1 count of rang columns = 3