varbinary.test
来自「视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.」· TEST 代码 · 共 87 行
TEST
87 行
# This test uses chmod, can't be run with root permissions-- source include/not_as_root.inc# Initialise--disable_warningsdrop table if exists t1;--enable_warnings## varbinary as string and number#select 0x41,0x41+0,0x41 | 0x7fffffffffffffff | 0,0xffffffffffffffff | 0 ;select 0x31+1,concat(0x31)+1,-0xf;select x'31',X'ffff'+0;## Test of hex constants in WHERE:#create table t1 (ID int(8) unsigned zerofill not null auto_increment,UNIQ bigint(21) unsigned zerofill not null,primary key (ID),unique (UNIQ) );insert into t1 set UNIQ=0x38afba1d73e6a18a;insert into t1 set UNIQ=123; explain extended select * from t1 where UNIQ=0x38afba1d73e6a18a;drop table t1;## Test error conditions#--error 1064select x'hello';--error 1054select 0xfg;## Test likely error conditions#create table t1 select 1 as x, 2 as xx;select x,xx from t1;drop table t1;# End of 4.1 tests## Bug #19371 VARBINARY() have trailing zeros after upgrade from 4.1## Test with a saved table from 4.1copy_file std_data/bug19371.frm $MYSQLTEST_VARDIR/master-data/test/t1.frm;chmod 0777 $MYSQLTEST_VARDIR/master-data/test/t1.frm;copy_file std_data/bug19371.MYD $MYSQLTEST_VARDIR/master-data/test/t1.MYD;chmod 0777 $MYSQLTEST_VARDIR/master-data/test/t1.MYD;copy_file std_data/bug19371.MYI $MYSQLTEST_VARDIR/master-data/test/t1.MYI;chmod 0777 $MYSQLTEST_VARDIR/master-data/test/t1.MYI;# Everything _looks_ fineshow create table t1;# But the length of the varbinary columns are too longselect length(a), length(b) from t1;# Run CHECK TABLE, it should indicate table need a REPAIR TABLECHECK TABLE t1 FOR UPGRADE;# Run REPAIR TABLE to alter the table and repair# the varbinary fieldsREPAIR TABLE t1;# Now check it's back to normalshow create table t1;select length(a), length(b) from t1;insert into t1 values("ccc", "ddd");select length(a), length(b) from t1;select hex(a), hex(b) from t1;select concat("'", a, "'"), concat("'", b, "'") from t1;drop table t1;# Check that the fix does not affect table created with current versioncreate table t1(a varbinary(255));insert into t1 values("aaa ");select length(a) from t1;alter table t1 modify a varchar(255);select length(a) from t1;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?