Merge mysql.com:/usr/home/ram/work/bug22533/my50-bug22533

into  mysql.com:/usr/home/ram/work/bug22533/my51-bug22533
This commit is contained in:
ramil/ram@myoffice.izhnet.ru 2007-01-18 15:59:40 +04:00
commit 9d86d7e97b
4 changed files with 6 additions and 4 deletions

View file

@ -521,8 +521,8 @@ select count(*) from t1 where x = 18446744073709551601;
count(*)
1
create table t2 (x bigint not null);
insert into t2(x) values (cast(0xfffffffffffffff0+0 as signed));
insert into t2(x) values (cast(0xfffffffffffffff1+0 as signed));
insert into t2(x) values (-16);
insert into t2(x) values (-15);
select * from t2;
x
-16

View file

@ -568,7 +568,7 @@ create table t1 (a bit(7));
insert into t1 values (0x60);
select * from t1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def test t1 t1 a a 16 7 1 Y 0 0 63
def test t1 t1 a a 16 7 1 Y 32 0 63
a
`
drop table t1;

View file

@ -406,7 +406,7 @@ create table t1 (a bit(7)) engine=innodb;
insert into t1 values (0x60);
select * from t1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def test t1 t1 a a 16 7 1 Y 0 0 63
def test t1 t1 a a 16 7 1 Y 32 0 63
a
`
drop table t1;

View file

@ -8166,6 +8166,7 @@ Field_bit::Field_bit(char *ptr_arg, uint32 len_arg, uchar *null_ptr_arg,
bit_ptr(bit_ptr_arg), bit_ofs(bit_ofs_arg), bit_len(len_arg & 7),
bytes_in_rec(len_arg / 8)
{
flags|= UNSIGNED_FLAG;
/*
Ensure that Field::eq() can distinguish between two different bit fields.
(two bit fields that are not null, may have same ptr and null_ptr)
@ -8472,6 +8473,7 @@ Field_bit_as_char::Field_bit_as_char(char *ptr_arg, uint32 len_arg,
:Field_bit(ptr_arg, len_arg, null_ptr_arg, null_bit_arg, 0, 0,
unireg_check_arg, field_name_arg)
{
flags|= UNSIGNED_FLAG;
bit_len= 0;
bytes_in_rec= (len_arg + 7) / 8;
}