Commit b2ac5026 authored by sergefp@mysql.com's avatar sergefp@mysql.com

Fix for BUG#8578 "Test case 'index_merge_ror' fails on SGI irix"

  Take into account that bitmap_is_set() may return any non-zero zero value when the bit is set.
parent 82571d6b
...@@ -2562,7 +2562,7 @@ static double ror_scan_selectivity(const ROR_INTERSECT_INFO *info, ...@@ -2562,7 +2562,7 @@ static double ror_scan_selectivity(const ROR_INTERSECT_INFO *info,
char *key_ptr= (char*) key_val; char *key_ptr= (char*) key_val;
SEL_ARG *sel_arg, *tuple_arg= NULL; SEL_ARG *sel_arg, *tuple_arg= NULL;
bool cur_covered; bool cur_covered;
bool prev_covered= bitmap_is_set(&info->covered_fields, key_part->fieldnr); bool prev_covered= (bitmap_is_set(&info->covered_fields, key_part->fieldnr))? 1:0;
key_range min_range; key_range min_range;
key_range max_range; key_range max_range;
min_range.key= (byte*) key_val; min_range.key= (byte*) key_val;
...@@ -2575,7 +2575,8 @@ static double ror_scan_selectivity(const ROR_INTERSECT_INFO *info, ...@@ -2575,7 +2575,8 @@ static double ror_scan_selectivity(const ROR_INTERSECT_INFO *info,
for(i= 0, sel_arg= scan->sel_arg; sel_arg; for(i= 0, sel_arg= scan->sel_arg; sel_arg;
i++, sel_arg= sel_arg->next_key_part) i++, sel_arg= sel_arg->next_key_part)
{ {
cur_covered= bitmap_is_set(&info->covered_fields, (key_part + i)->fieldnr); DBUG_PRINT("info",("sel_arg step"));
cur_covered= (bitmap_is_set(&info->covered_fields, (key_part + i)->fieldnr))? 1:0;
if (cur_covered != prev_covered) if (cur_covered != prev_covered)
{ {
/* create (part1val, ..., part{n-1}val) tuple. */ /* create (part1val, ..., part{n-1}val) tuple. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment