11
7
# varbinary as string and number
14
select 0x41,0x41+0,0x41 | 0x7fffffffffffffff | 0,0xffffffffffffffff | 0 ;
15
10
select 0x31+1,concat(0x31)+1,-0xf;
16
11
select x'31',X'ffff'+0;
19
14
# Test of hex constants in WHERE:
22
create table t1 (ID int(8) zerofill not null auto_increment,UNIQ bigint(21) zerofill not null,primary key (ID),unique (UNIQ) );
17
create table t1 (ID int not null auto_increment,UNIQ bigint not null,primary key (ID),unique (UNIQ) );
23
18
insert into t1 set UNIQ=0x38afba1d73e6a18a;
24
19
insert into t1 set UNIQ=123;
25
20
explain extended select * from t1 where UNIQ=0x38afba1d73e6a18a;
46
# Bug #19371 VARBINARY() have trailing zeros after upgrade from 4.1
49
# Test with a saved table from 4.1
50
copy_file std_data/bug19371.frm $MYSQLTEST_VARDIR/master-data/test/t1.frm;
51
chmod 0777 $MYSQLTEST_VARDIR/master-data/test/t1.frm;
52
copy_file std_data/bug19371.MYD $MYSQLTEST_VARDIR/master-data/test/t1.MYD;
53
chmod 0777 $MYSQLTEST_VARDIR/master-data/test/t1.MYD;
54
copy_file std_data/bug19371.MYI $MYSQLTEST_VARDIR/master-data/test/t1.MYI;
55
chmod 0777 $MYSQLTEST_VARDIR/master-data/test/t1.MYI;
57
# Everything _looks_ fine
60
# But the length of the varbinary columns are too long
61
select length(a), length(b) from t1;
63
# Run CHECK TABLE, it should indicate table need a REPAIR TABLE
64
CHECK TABLE t1 FOR UPGRADE;
66
# Run REPAIR TABLE to alter the table and repair
67
# the varbinary fields
70
# Now check it's back to normal
72
select length(a), length(b) from t1;
73
insert into t1 values("ccc", "ddd");
74
select length(a), length(b) from t1;
75
select hex(a), hex(b) from t1;
76
select concat("'", a, "'"), concat("'", b, "'") from t1;
80
41
# Check that the fix does not affect table created with current version
81
42
create table t1(a varbinary(255));
98
59
create table table_28127_a(0b02 int);
60
--replace_regex /ENGINE=[a-zA-Z]+/ENGINE=DEFAULT/
99
61
show create table table_28127_a;
101
63
create table table_28127_b(0b2 int);
64
--replace_regex /ENGINE=[a-zA-Z]+/ENGINE=DEFAULT/
102
65
show create table table_28127_b;
104
67
drop table table_28127_a;