diff options
Diffstat (limited to 'sql/sql_select.cc')
-rw-r--r-- | sql/sql_select.cc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 1995274f9fc..7708027e188 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -2037,8 +2037,7 @@ get_best_combination(JOIN *join) if (keyparts == keyuse->keypart) { keyparts++; - length+=keyinfo->key_part[keyuse->keypart].length + - test(keyinfo->key_part[keyuse->keypart].null_bit); + length+=keyinfo->key_part[keyuse->keypart].store_length; } } keyuse++; @@ -2238,7 +2237,10 @@ make_join_select(JOIN *join,SQL_SELECT *select,COND *cond) make_cond_for_table(cond,join->const_table_map,(table_map) 0); DBUG_EXECUTE("where",print_where(const_cond,"constants");); if (const_cond && !const_cond->val_int()) + { + DBUG_PRINT("info",("Found impossible WHERE condition")); DBUG_RETURN(1); // Impossible const condition + } } used_tables=(select->const_tables=join->const_table_map) | RAND_TABLE_BIT; for (uint i=join->const_tables ; i < join->tables ; i++) @@ -5131,7 +5133,7 @@ test_if_skip_sort_order(JOIN_TAB *tab,ORDER *order,ha_rows select_limit) usable_keys=0; break; } - usable_keys&=((Item_field*) (*tmp_order->item))->field->part_of_key; + usable_keys&=((Item_field*) (*tmp_order->item))->field->part_of_sortkey; } ref_key= -1; |