Bit type: code cleanup.
sql/field.cc: We have to use memcmp() here to get determinate results. sql/sql_table.cc: Should set pack_flag here instead of doing |=
This commit is contained in:
parent
79c62d3168
commit
3767fb0118
@ -7879,7 +7879,7 @@ int Field_bit::key_cmp(const byte *str, uint length)
|
||||
str++;
|
||||
length--;
|
||||
}
|
||||
return bcmp(ptr, str, length);
|
||||
return memcmp(ptr, str, length);
|
||||
}
|
||||
|
||||
|
||||
@ -7893,7 +7893,7 @@ int Field_bit::cmp_offset(uint row_offset)
|
||||
if ((flag= (int) (bits_a - bits_b)))
|
||||
return flag;
|
||||
}
|
||||
return bcmp(ptr, ptr + row_offset, field_length);
|
||||
return memcmp(ptr, ptr + row_offset, field_length);
|
||||
}
|
||||
|
||||
|
||||
|
@ -563,7 +563,9 @@ int prepare_create_field(create_field *sql_field,
|
||||
sql_field->pack_flag=f_settype((uint) sql_field->sql_type);
|
||||
break;
|
||||
case FIELD_TYPE_BIT:
|
||||
sql_field->pack_flag|= FIELDFLAG_NUMBER;
|
||||
sql_field->pack_flag= f_bit_as_char(sql_field->pack_flag) ?
|
||||
FIELDFLAG_NUMBER | FIELDFLAG_TREAT_BIT_AS_CHAR :
|
||||
FIELDFLAG_NUMBER;
|
||||
break;
|
||||
case FIELD_TYPE_NEWDECIMAL:
|
||||
sql_field->pack_flag=(FIELDFLAG_NUMBER |
|
||||
|
Loading…
x
Reference in New Issue
Block a user