diff options
author | unknown <sergefp@mysql.com> | 2004-06-14 12:39:46 +0400 |
---|---|---|
committer | unknown <sergefp@mysql.com> | 2004-06-14 12:39:46 +0400 |
commit | 8640403f70a56f101f464fcd100d4d0ba93e7ed5 (patch) | |
tree | 484d5f8ba9f92742ca4148720350eedc74d102ff | |
parent | e851a009d4381972895e1d687e6f1448d83e1753 (diff) | |
download | mariadb-git-8640403f70a56f101f464fcd100d4d0ba93e7ed5.tar.gz |
Post-merge fixes
-rw-r--r-- | sql/opt_range.cc | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/sql/opt_range.cc b/sql/opt_range.cc index d397434c09f..9b279592c28 100644 --- a/sql/opt_range.cc +++ b/sql/opt_range.cc @@ -2433,7 +2433,7 @@ bool ror_intersect_add(const PARAM *param, ROR_INTERSECT_INFO *info, KEY_PART_INFO *key_part= info->param->table->key_info[ror_scan->keynr].key_part; double selectivity_mult= 1.0; - char key_val[MAX_KEY_LENGTH+MAX_FIELD_WIDTH]; /* key values tuple */ + byte key_val[MAX_KEY_LENGTH+MAX_FIELD_WIDTH]; /* key values tuple */ DBUG_ENTER("ror_intersect_add"); DBUG_PRINT("info", ("Current selectivity= %g", info->records_fract)); @@ -2445,6 +2445,12 @@ bool ror_intersect_add(const PARAM *param, ROR_INTERSECT_INFO *info, bitmap_is_set(&info->covered_fields, key_part->fieldnr); ha_rows prev_records= param->table->file->records; + key_range min_range; + key_range max_range; + min_range.key= (byte*) key_val; + min_range.flag= HA_READ_KEY_EXACT; + max_range.key= (byte*) key_val; + max_range.flag= HA_READ_AFTER_KEY; for(i= 0, sel_arg= ror_scan->sel_arg; sel_arg; i++, sel_arg= sel_arg->next_key_part) @@ -2466,12 +2472,11 @@ bool ror_intersect_add(const PARAM *param, ROR_INTERSECT_INFO *info, } } ha_rows records; + min_range.length= max_range.length= key_ptr - key_val; records= param->table->file-> records_in_range(ror_scan->keynr, - (byte*)key_val, key_ptr - key_val, - HA_READ_KEY_EXACT, - (byte*)key_val, key_ptr - key_val, - HA_READ_AFTER_KEY); + &min_range, + &max_range); if (cur_covered) { /* uncovered -> covered */ |