mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into mysql.com:/usr/home/ram/work/bug22271/my50-bug22271 sql/field.cc: Auto merged
This commit is contained in:
@ -602,4 +602,12 @@ NULL NULL
|
|||||||
0 0
|
0 0
|
||||||
11111111 11111111
|
11111111 11111111
|
||||||
drop table bug15583;
|
drop table bug15583;
|
||||||
|
create table t1(a bit(1), b smallint unsigned);
|
||||||
|
insert into t1 (b, a) values ('2', '1');
|
||||||
|
Warnings:
|
||||||
|
Warning 1264 Out of range value adjusted for column 'a' at row 1
|
||||||
|
select hex(a), b from t1;
|
||||||
|
hex(a) b
|
||||||
|
1 2
|
||||||
|
drop table t1;
|
||||||
End of 5.0 tests
|
End of 5.0 tests
|
||||||
|
@ -252,5 +252,13 @@ select hex(b + 0), bin(b + 0), oct(b + 0), hex(n), bin(n), oct(n) from bug15583;
|
|||||||
select conv(b, 10, 2), conv(b + 0, 10, 2) from bug15583;
|
select conv(b, 10, 2), conv(b + 0, 10, 2) from bug15583;
|
||||||
drop table bug15583;
|
drop table bug15583;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #22271: data casting may affect data stored in the next column(s?)
|
||||||
|
#
|
||||||
|
|
||||||
|
create table t1(a bit(1), b smallint unsigned);
|
||||||
|
insert into t1 (b, a) values ('2', '1');
|
||||||
|
select hex(a), b from t1;
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
--echo End of 5.0 tests
|
--echo End of 5.0 tests
|
||||||
|
@ -7933,7 +7933,7 @@ int Field_bit::store(const char *from, uint length, CHARSET_INFO *cs)
|
|||||||
(delta == -1 && (uchar) *from > ((1 << bit_len) - 1)) ||
|
(delta == -1 && (uchar) *from > ((1 << bit_len) - 1)) ||
|
||||||
(!bit_len && delta < 0))
|
(!bit_len && delta < 0))
|
||||||
{
|
{
|
||||||
set_rec_bits(0xff, bit_ptr, bit_ofs, bit_len);
|
set_rec_bits((1 << bit_len) - 1, bit_ptr, bit_ofs, bit_len);
|
||||||
memset(ptr, 0xff, bytes_in_rec);
|
memset(ptr, 0xff, bytes_in_rec);
|
||||||
if (table->in_use->really_abort_on_warning())
|
if (table->in_use->really_abort_on_warning())
|
||||||
set_warning(MYSQL_ERROR::WARN_LEVEL_ERROR, ER_DATA_TOO_LONG, 1);
|
set_warning(MYSQL_ERROR::WARN_LEVEL_ERROR, ER_DATA_TOO_LONG, 1);
|
||||||
|
Reference in New Issue
Block a user