summaryrefslogtreecommitdiff
path: root/sql/ha_heap.cc
diff options
context:
space:
mode:
authorunknown <gluh@gluh.mysql.r18.ru>2004-10-05 17:02:09 +0400
committerunknown <gluh@gluh.mysql.r18.ru>2004-10-05 17:02:09 +0400
commit08e56fae9887d3adc4a3c3c1c351f7a3c388573f (patch)
tree25ad61fcdcd34b83a4c13a89711f10475e0922f7 /sql/ha_heap.cc
parentab5c7a9e0e57fdfd75be02959165eb4555841d6a (diff)
downloadmariadb-git-08e56fae9887d3adc4a3c3c1c351f7a3c388573f.tar.gz
Fix for bug #5555: "GROUP BY enum_field" returns incorrect results
Diffstat (limited to 'sql/ha_heap.cc')
-rw-r--r--sql/ha_heap.cc8
1 files changed, 2 insertions, 6 deletions
diff --git a/sql/ha_heap.cc b/sql/ha_heap.cc
index 5be51ec8494..9344bfc0c8c 100644
--- a/sql/ha_heap.cc
+++ b/sql/ha_heap.cc
@@ -428,12 +428,8 @@ int ha_heap::create(const char *name, TABLE *table_arg,
seg->type= field->key_type();
else
{
- if (!f_is_packed(flag) &&
- f_packtype(flag) == (int) FIELD_TYPE_DECIMAL &&
- !(field->charset() == &my_charset_bin))
- seg->type= (int) HA_KEYTYPE_TEXT;
- else
- seg->type= (int) HA_KEYTYPE_BINARY;
+ if ((seg->type = field->key_type()) != (int) HA_KEYTYPE_TEXT)
+ seg->type= HA_KEYTYPE_BINARY;
}
seg->start= (uint) key_part->offset;
seg->length= (uint) key_part->length;