summaryrefslogtreecommitdiff
path: root/sql/sql_join_cache.cc
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2018-01-16 23:00:21 +0100
committerSergei Golubchik <serg@mariadb.org>2018-01-16 23:29:48 +0100
commit444587d8a3c4b91421cd4cfd7bda2e3f4d1aebe4 (patch)
tree2da20b69c9345c8b66b66863b743511bd59c4759 /sql/sql_join_cache.cc
parent5e7593add405f07ac6a7d755ae1349fb1d2eafd4 (diff)
downloadmariadb-git-444587d8a3c4b91421cd4cfd7bda2e3f4d1aebe4.tar.gz
BIT field woes
* get_rec_bits() was always reading two bytes, even if the bit field contained only of one byte * In various places the code used field->pack_length() bytes starting from field->ptr, while it should be field->pack_length_in_rec() * Field_bit::key_cmp and Field_bit::cmp_max passed field_length as an argument to memcmp(), but field_length is the number of bits!
Diffstat (limited to 'sql/sql_join_cache.cc')
-rw-r--r--sql/sql_join_cache.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/sql_join_cache.cc b/sql/sql_join_cache.cc
index 820ac75c885..13f06024b22 100644
--- a/sql/sql_join_cache.cc
+++ b/sql/sql_join_cache.cc
@@ -394,7 +394,7 @@ void JOIN_CACHE::create_flag_fields()
TABLE *table= tab->table;
/* Create a field for the null bitmap from table if needed */
- if (tab->used_null_fields || tab->used_uneven_bit_fields)
+ if (tab->used_null_fields || tab->used_uneven_bit_fields)
length+= add_flag_field_to_join_cache(table->null_flags,
table->s->null_bytes,
&copy);