mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	BUG#47777 - innodb dies with spatial pk: Failing assertion: buf <= original_buf + buf_len Detailed revision comments: r6178 | jyang | 2009-11-17 08:52:11 +0200 (Tue, 17 Nov 2009) | 6 lines branches/5.0: Merge fix for bug #47777 from branches/5.1 -r6045 to bracnches/5.0. Treat the Geometry data same as Binary BLOB in ha_innobase::store_key_val_for_row(), since the Geometry data is stored as Binary BLOB in Innodb.
		
			
				
	
	
		
			25 lines
		
	
	
		
			915 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			915 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
# This is the test for bug 47777. GEOMETRY
 | 
						|
# data is treated as BLOB data in innodb.
 | 
						|
# Consequently, its key value generation/storing
 | 
						|
# should follow the process for the BLOB
 | 
						|
# datatype as well.
 | 
						|
 | 
						|
--source include/have_innodb.inc
 | 
						|
 | 
						|
create table bug47777(c2 linestring not null, primary key (c2(1))) engine=innodb;
 | 
						|
 | 
						|
insert into bug47777 values (geomfromtext('linestring(1 2,3 4,5 6,7 8,9 10)'));
 | 
						|
 | 
						|
# Verify correct row get inserted.
 | 
						|
select count(*) from bug47777 where c2 =geomfromtext('linestring(1 2,3 4,5 6,7 8,9 10)');
 | 
						|
 | 
						|
# Update table bug47777 should be successful.
 | 
						|
update bug47777 set c2=GeomFromText('POINT(1 1)');
 | 
						|
 | 
						|
# Verify the row get updated successfully. The original
 | 
						|
# c2 value should be changed to GeomFromText('POINT(1 1)').
 | 
						|
select count(*) from bug47777 where c2 =geomfromtext('linestring(1 2,3 4,5 6,7 8,9 10)');
 | 
						|
select count(*) from bug47777 where c2 = GeomFromText('POINT(1 1)');
 | 
						|
 | 
						|
drop table bug47777;
 |