diff options
Diffstat (limited to 'storage/mroonga/lib/mrn_multiple_column_key_codec.cpp')
-rw-r--r-- | storage/mroonga/lib/mrn_multiple_column_key_codec.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/storage/mroonga/lib/mrn_multiple_column_key_codec.cpp b/storage/mroonga/lib/mrn_multiple_column_key_codec.cpp index 9c56997d6d8..65c8259e0cc 100644 --- a/storage/mroonga/lib/mrn_multiple_column_key_codec.cpp +++ b/storage/mroonga/lib/mrn_multiple_column_key_codec.cpp @@ -89,11 +89,13 @@ namespace mrn { for (int i = 0; i < n_key_parts && current_mysql_key < mysql_key_end; i++) { KEY_PART_INFO *key_part = &(key_info_->key_part[i]); Field *field = key_part->field; + bool is_null = false; DBUG_PRINT("info", ("mroonga: key_part->length=%u", key_part->length)); if (field->null_bit) { DBUG_PRINT("info", ("mroonga: field has null bit")); *current_grn_key = 0; + is_null = *current_mysql_key; current_mysql_key += 1; current_grn_key += 1; (*grn_key_length)++; @@ -164,7 +166,7 @@ namespace mrn { { Field_datetimef *datetimef_field = static_cast<Field_datetimef *>(field); - long long int mysql_datetime_packed = + long long int mysql_datetime_packed = is_null ? 0 : my_datetime_packed_from_binary(current_mysql_key, datetimef_field->decimals()); MYSQL_TIME mysql_time; |