From c24cc9e94e1e190323457c288fd3c4ecc119dcfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8F=9E=E7=8F=88=E5=B1=B1=E7=9A=84=E7=8C=AB?= Date: Mon, 22 Jul 2024 17:57:14 +0800 Subject: [PATCH] fix null calc --- storage/tianchi/tse_cbo.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/storage/tianchi/tse_cbo.cc b/storage/tianchi/tse_cbo.cc index c378e6d..d70dcdf 100644 --- a/storage/tianchi/tse_cbo.cc +++ b/storage/tianchi/tse_cbo.cc @@ -513,10 +513,10 @@ double calc_density_one_table(uint16_t idx_id, tse_range_key *key, if (cbo_stats->columns[col_id].total_rows == 0) { //空表 col_product = 0; - } else if (key_offset + offset + cur_index_part.field->key_length() == key_len) {// - col_product = calc_density_by_cond(cbo_stats, cur_index_part, key, key_offset); - } else if ((offset == 1) && *(key->min_key->key + key_offset) == 1) { //null值 + } else if ((offset == 1) && *(key->min_key->key + key_offset) == 1 && *(key->max_key->key + key_offset) == 1) { //null值 col_product = calc_equal_null_density(cbo_stats, col_id, true); + } else if (key_offset + offset + cur_index_part.field->key_length() == key_len) { + col_product = calc_density_by_cond(cbo_stats, cur_index_part, key, key_offset); } else { col_product = calc_density_by_cond(cbo_stats, cur_index_part, key, key_offset);//联合索引 // col_product = calc_equal_density(part_info, QUERY_TYPE_EQUAL, cbo_stats, col_id); -- Gitee