diff options
author | monty@donna.mysql.fi <> | 2001-03-06 15:24:08 +0200 |
---|---|---|
committer | monty@donna.mysql.fi <> | 2001-03-06 15:24:08 +0200 |
commit | bda3e099358ddcad825c1231f2a0f14697abd59c (patch) | |
tree | 54c7bf220f9e21e9f04e2ff2e8a018cf4e33e837 /sql/opt_sum.cc | |
parent | 7b275cf2ec780057c004726d9d96fda8447b1287 (diff) | |
download | mariadb-git-bda3e099358ddcad825c1231f2a0f14697abd59c.tar.gz |
Merged some functions and removed some unused client functions.
Remember UNION for ALTER TABLE
Added test for if we are supporting transactions.
Don't allow REPLACE to replace a row when we have generated an auto_increment key
Fixed bug when using BLOB keys
Fixed bug in SET @variable=user.
Diffstat (limited to 'sql/opt_sum.cc')
-rw-r--r-- | sql/opt_sum.cc | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/sql/opt_sum.cc b/sql/opt_sum.cc index beac829bb74..d56bf68db62 100644 --- a/sql/opt_sum.cc +++ b/sql/opt_sum.cc @@ -331,16 +331,15 @@ static bool find_range_key(TABLE_REF *ref, Field* field, COND *cond) part != part_end ; part++) { - if (!part_of_cond(cond,part->field)) + if (!part_of_cond(cond,part->field) || + left_length < part->store_length) break; // Save found constant if (part->null_bit) *key_ptr++= (byte) test(part->field->is_null()); - if (left_length - part->length < 0) - break; // Can't use this key - part->field->get_image((char*) key_ptr,part->length); - key_ptr+=part->length; - left_length-=part->length; + part->field->get_key_image((char*) key_ptr,part->length); + key_ptr+=part->store_length - test(part->null_bit); + left_length-=part->store_length; } if (part == part_end && part->field == field) { |