bug #26591 Cluster handler does not set bits in null bytes correctly: Set...

bug #26591 Cluster handler does not set bits in null bytes correctly: Set filler bits and unmark the ones with values by calling field->set_notnull()
parent ac52f24e
...@@ -3109,11 +3109,15 @@ void ndb_unpack_record(TABLE *table, NdbValue *value, ...@@ -3109,11 +3109,15 @@ void ndb_unpack_record(TABLE *table, NdbValue *value,
my_bitmap_map *old_map= dbug_tmp_use_all_columns(table, table->write_set); my_bitmap_map *old_map= dbug_tmp_use_all_columns(table, table->write_set);
DBUG_ENTER("ndb_unpack_record"); DBUG_ENTER("ndb_unpack_record");
// Set filler bits
if (table->s->null_bytes > 0)
buf[table->s->null_bytes - 1]|= 256U - (1U <<
table->s->last_null_bit_pos);
// Set null flag(s) // Set null flag(s)
bzero(buf, table->s->null_bytes);
for ( ; field; for ( ; field;
p_field++, value++, field= *p_field) p_field++, value++, field= *p_field)
{ {
field->set_notnull(row_offset);
if ((*value).ptr) if ((*value).ptr)
{ {
if (!(field->flags & BLOB_FLAG)) if (!(field->flags & BLOB_FLAG))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment