mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	- Skip tests using chmod when running as root mysql-test/t/information_schema_chmod.test: Use mysqltest builtin "chmode" mysql-test/t/mysqltest.test: Dont run as root - test chmod mysql-test/t/rpl_rotate_logs.test: Use mysqltest builtin "chmode" Use 'write_file' and 'chmod' instead of system mysql-test/t/trigger.test: Don't run as root Use 'write_file' and 'chmod' mysql-test/t/varbinary.test: Don't run as root
		
			
				
	
	
		
			87 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # This test uses chmod, can't be run with root permissions
 | |
| -- source include/not_as_root.inc
 | |
| 
 | |
| 
 | |
| # Initialise
 | |
| --disable_warnings
 | |
| drop 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 1064
 | |
| select x'hello';
 | |
| --error 1054
 | |
| select 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.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;
 | |
| 
 |