Commit bb5b8176 authored by unknown's avatar unknown
Browse files

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 f653ed82
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -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);
  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)
  bzero(buf, table->s->null_bytes);
  for ( ; field;
       p_field++, value++, field= *p_field)
  {
    field->set_notnull(row_offset);       
    if ((*value).ptr)
    {
      if (!(field->flags & BLOB_FLAG))