mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-30 04:26:45 +03:00 
			
		
		
		
	by item->val_str() may be a substring of the passed string. 
Disallow string=its_substring assignment in String::operator=().
mysql-test/r/func_misc.result:
  Testcase for BUG#7716
mysql-test/t/func_misc.test:
  Testcase for BUG#7716
sql/item_cmpfunc.cc:
  Fix for BUG#7716: in in_string::set() take into account that the string returned 
  by item->val_str(S) may be not S but use the buffer owned by S.
sql/sql_string.h:
  * Added assert: String& String::operator=(const String&) may not be used to do 
    assignments like str = string_that_uses_buffer_owned_by_str
  * Added String::uses_buffer_owned_by().
		
	
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| select format(1.5555,0),format(123.5555,1),format(1234.5555,2),format(12345.55555,3),format(123456.5555,4),format(1234567.5555,5),format("12345.2399",2);
 | |
| format(1.5555,0)	format(123.5555,1)	format(1234.5555,2)	format(12345.55555,3)	format(123456.5555,4)	format(1234567.5555,5)	format("12345.2399",2)
 | |
| 2	123.6	1,234.56	12,345.556	123,456.5555	1,234,567.55550	12,345.24
 | |
| select inet_ntoa(inet_aton("255.255.255.255.255.255.255.255"));
 | |
| inet_ntoa(inet_aton("255.255.255.255.255.255.255.255"))
 | |
| NULL
 | |
| select inet_aton("255.255.255.255.255"),inet_aton("255.255.1.255"),inet_aton("0.1.255");
 | |
| inet_aton("255.255.255.255.255")	inet_aton("255.255.1.255")	inet_aton("0.1.255")
 | |
| 1099511627775	4294902271	65791
 | |
| select inet_ntoa(1099511627775),inet_ntoa(4294902271),inet_ntoa(511);
 | |
| inet_ntoa(1099511627775)	inet_ntoa(4294902271)	inet_ntoa(511)
 | |
| NULL	255.255.1.255	0.0.1.255
 | |
| select hex(inet_aton('127'));
 | |
| hex(inet_aton('127'))
 | |
| 7F
 | |
| select hex(inet_aton('127.1'));
 | |
| hex(inet_aton('127.1'))
 | |
| 7F000001
 | |
| select hex(inet_aton('127.1.1'));
 | |
| hex(inet_aton('127.1.1'))
 | |
| 7F010001
 | |
| select length(uuid()), charset(uuid()), length(unhex(replace(uuid(),_utf8'-',_utf8'')));
 | |
| length(uuid())	charset(uuid())	length(unhex(replace(uuid(),_utf8'-',_utf8'')))
 | |
| 36	utf8	16
 | |
| select length(format('nan', 2)) > 0;
 | |
| length(format('nan', 2)) > 0
 | |
| 1
 | |
| select concat("$",format(2500,2));
 | |
| concat("$",format(2500,2))
 | |
| $2,500.00
 | |
| create table t1 ( a timestamp );
 | |
| insert into t1 values ( '2004-01-06 12:34' );
 | |
| select a from t1 where left(a+0,6) in ( left(20040106,6) );
 | |
| a
 | |
| 2004-01-06 12:34:00
 | |
| select a from t1 where left(a+0,6) = ( left(20040106,6) );
 | |
| a
 | |
| 2004-01-06 12:34:00
 | |
| select a from t1 where right(a+0,6) in ( right(20040106123400,6) );
 | |
| a
 | |
| 2004-01-06 12:34:00
 | |
| select a from t1 where right(a+0,6) = ( right(20040106123400,6) );
 | |
| a
 | |
| 2004-01-06 12:34:00
 | |
| select a from t1 where mid(a+0,6,3) in ( mid(20040106123400,6,3) );
 | |
| a
 | |
| 2004-01-06 12:34:00
 | |
| select a from t1 where mid(a+0,6,3) = ( mid(20040106123400,6,3) );
 | |
| a
 | |
| 2004-01-06 12:34:00
 | |
| drop table t1;
 |