mirror of
https://github.com/MariaDB/server.git
synced 2025-10-21 08:47:42 +03:00
Merge neptunus.(none):/home/msvensson/mysql/bug19731/my50-bug19731
into neptunus.(none):/home/msvensson/mysql/bug19731/my51-bug19731
This commit is contained in:
@@ -512,6 +512,12 @@ mysqltest: At line 1: End of line junk detected: "write_file filename ";
|
||||
mysqltest: At line 1: Missing required argument 'filename' to command 'file_exists'
|
||||
mysqltest: At line 1: Missing required argument 'from_file' to command 'copy_file'
|
||||
mysqltest: At line 1: Missing required argument 'to_file' to command 'copy_file'
|
||||
mysqltest: At line 1: Missing required argument 'mode' to command 'chmod'
|
||||
mysqltest: At line 1: You must write a 4 digit octal number for mode
|
||||
mysqltest: At line 1: You must write a 4 digit octal number for mode
|
||||
mysqltest: At line 1: Missing required argument 'file' to command 'chmod'
|
||||
mysqltest: At line 1: command "chmod" failed with error -1
|
||||
mysqltest: At line 1: You must write a 4 digit octal number for mode
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
|
@@ -26,3 +26,55 @@ select x,xx from t1;
|
||||
x xx
|
||||
1 2
|
||||
drop table t1;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` varbinary(255) default NULL,
|
||||
`b` varchar(255) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
select length(a), length(b) from t1;
|
||||
length(a) length(b)
|
||||
255 3
|
||||
255 3
|
||||
CHECK TABLE t1 FOR UPGRADE;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check error Table upgrade required. Please do "REPAIR TABLE `t1`" to fix it!
|
||||
REPAIR TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair status OK
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` varbinary(255) default NULL,
|
||||
`b` varchar(255) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
select length(a), length(b) from t1;
|
||||
length(a) length(b)
|
||||
3 3
|
||||
3 3
|
||||
insert into t1 values("ccc", "ddd");
|
||||
select length(a), length(b) from t1;
|
||||
length(a) length(b)
|
||||
3 3
|
||||
3 3
|
||||
3 3
|
||||
select hex(a), hex(b) from t1;
|
||||
hex(a) hex(b)
|
||||
616161 636363
|
||||
626262 646464
|
||||
636363 646464
|
||||
select concat("'", a, "'"), concat("'", b, "'") from t1;
|
||||
concat("'", a, "'") concat("'", b, "'")
|
||||
'aaa' 'ccc'
|
||||
'bbb' 'ddd'
|
||||
'ccc' 'ddd'
|
||||
drop table t1;
|
||||
create table t1(a varbinary(255));
|
||||
insert into t1 values("aaa ");
|
||||
select length(a) from t1;
|
||||
length(a)
|
||||
6
|
||||
alter table t1 modify a varchar(255);
|
||||
select length(a) from t1;
|
||||
length(a)
|
||||
6
|
||||
|
BIN
mysql-test/std_data/bug19371.MYD
Normal file
BIN
mysql-test/std_data/bug19371.MYD
Normal file
Binary file not shown.
BIN
mysql-test/std_data/bug19371.MYI
Normal file
BIN
mysql-test/std_data/bug19371.MYI
Normal file
Binary file not shown.
BIN
mysql-test/std_data/bug19371.frm
Normal file
BIN
mysql-test/std_data/bug19371.frm
Normal file
Binary file not shown.
@@ -1521,6 +1521,45 @@ remove_file $MYSQLTEST_VARDIR/tmp/file2.tmp;
|
||||
--error 1
|
||||
--exec echo "copy_file from_file;" | $MYSQL_TEST 2>&1
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# test for chmod
|
||||
# ----------------------------------------------------------------------------
|
||||
--write_file $MYSQLTEST_VARDIR/tmp/file1.tmp
|
||||
file1
|
||||
EOF
|
||||
|
||||
chmod 0000 $MYSQLTEST_VARDIR/tmp/file1.tmp;
|
||||
# The below write fails, but --error is not implemented
|
||||
# for write_file
|
||||
#--write_file $MYSQLTEST_VARDIR/tmp/file1.tmp
|
||||
#test should fail
|
||||
#EOF
|
||||
|
||||
chmod 0777 $MYSQLTEST_VARDIR/tmp/file1.tmp;
|
||||
--write_file $MYSQLTEST_VARDIR/tmp/file1.tmp
|
||||
test2
|
||||
EOF
|
||||
|
||||
remove_file $MYSQLTEST_VARDIR/tmp/file1.tmp;
|
||||
|
||||
--error 1
|
||||
--exec echo "chmod ;" | $MYSQL_TEST 2>&1
|
||||
|
||||
--error 1
|
||||
--exec echo "chmod 0 from_file;" | $MYSQL_TEST 2>&1
|
||||
|
||||
--error 1
|
||||
--exec echo "chmod 08 from_file;" | $MYSQL_TEST 2>&1
|
||||
|
||||
--error 1
|
||||
--exec echo "chmod from_file;" | $MYSQL_TEST 2>&1
|
||||
|
||||
--error 1
|
||||
--exec echo "chmod ABZD from_file;" | $MYSQL_TEST 2>&1
|
||||
|
||||
--error 1
|
||||
--exec echo "chmod 06789 from_file;" | $MYSQL_TEST 2>&1
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# test for perl
|
||||
# ----------------------------------------------------------------------------
|
||||
|
@@ -37,3 +37,46 @@ 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.1
|
||||
copy_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_ fine
|
||||
show create table t1;
|
||||
|
||||
# But the length of the varbinary columns are too long
|
||||
select length(a), length(b) from t1;
|
||||
|
||||
# Run CHECK TABLE, it should indicate table need a REPAIR TABLE
|
||||
CHECK TABLE t1 FOR UPGRADE;
|
||||
|
||||
# Run REPAIR TABLE to alter the table and repair
|
||||
# the varbinary fields
|
||||
REPAIR TABLE t1;
|
||||
|
||||
# Now check it's back to normal
|
||||
show 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 version
|
||||
create 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;
|
||||
|
||||
|
Reference in New Issue
Block a user