• unknown's avatar
    a fix. · 654e468c
    unknown authored
    bug #10617: Insert from same table to same table give incorrect result for bit(4) column.
    bug #11091: union involving BIT: assertion failure in Item::tmp_table_field_from_field_type
    bug #11572: MYSQL_TYPE_BIT not taken care of in temp. table creation for VIEWs 
    
    
    mysql-test/r/type_bit.result:
      test case.
      bug #10617: Insert from same table to same table give incorrect result for bit(4) column.
      bug #11091: union involving BIT: assertion failure in Item::tmp_table_field_from_field_type
      bug #11572: MYSQL_TYPE_BIT not taken care of in temp. table creation for VIEWs
    mysql-test/t/type_bit.test:
      test case.
      bug #10617: Insert from same table to same table give incorrect result for bit(4) column.
      bug #11091: union involving BIT: assertion failure in Item::tmp_table_field_from_field_type
      bug #11572: MYSQL_TYPE_BIT not taken care of in temp. table creation for VIEWs
    sql/field.h:
      a fix.
      bug #10617: Insert from same table to same table give incorrect result for bit(4) column.
      bug #11091: union involving BIT: assertion failure in Item::tmp_table_field_from_field_type
      bug #11572: MYSQL_TYPE_BIT not taken care of in temp. table creation for VIEWs 
      
      - max_length() returns length in bits.
      - introduced set_bit_ptr() function, which sets bit_ptr and bit_ofs.
    sql/item.cc:
      a fix.
      bug #10617: Insert from same table to same table give incorrect result for bit(4) column.
      bug #11091: union involving BIT: assertion failure in Item::tmp_table_field_from_field_type
      bug #11572: MYSQL_TYPE_BIT not taken care of in temp. table creation for VIEWs
      
      - create Field_bit_as_char in case of MYSQL_TYPE_BIT in the Item::tmp_table_field_from_field_type()
        (we cannot create Field_bit here because of lack of information: bit_ptr, bit_ofs)
    sql/mysql_priv.h:
      a fix.
      bug #10617: Insert from same table to same table give incorrect result for bit(4) column.
      bug #11091: union involving BIT: assertion failure in Item::tmp_table_field_from_field_type
      bug #11572: MYSQL_TYPE_BIT not taken care of in temp. table creation for VIEWs 
      
      - table_cant_handle_bit_fields parameter added to the create_tmp_field()
    sql/sql_select.cc:
      a fix.
      bug #10617: Insert from same table to same table give incorrect result for bit(4) column.
      bug #11091: union involving BIT: assertion failure in Item::tmp_table_field_from_field_type
      bug #11572: MYSQL_TYPE_BIT not taken care of in temp. table creation for VIEWs
      
      - create_tmp_field() changes to return create_tmp_field_from_item() result 
        (actually, Field_bit_as_char) if table_cant_handle_bit_fields=1 for bit fields.
      - create_tmp_field() calls accordingly changed 
      - call set_bit_ptr() for bit fields after the move_field() call during 
        temporary table creation.
    sql/sql_table.cc:
      a fix.
      bug #10617: Insert from same table to same table give incorrect result for bit(4) column.
      bug #11091: union involving BIT: assertion failure in Item::tmp_table_field_from_field_type
      bug #11572: MYSQL_TYPE_BIT not taken care of in temp. table creation for VIEWs
      
      - changed the create_tmp_field() call
    654e468c
sql_table.cc 121 KB