List:Commits« Previous MessageNext Message »
From:tim Date:March 29 2007 3:50am
Subject:bk commit into 5.1 tree (tsmith:1.2522)
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of tsmith. When tsmith does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2007-03-28 19:50:41-06:00, tsmith@stripped +6 -0
  Merge siva.hindu.god:/home/tsmith/m/bk/maint/50
  into  siva.hindu.god:/home/tsmith/m/bk/maint/51
  MERGE: 1.1810.2374.107

  BitKeeper/deleted/.del-bdb_gis.result@stripped, 2007-03-28 19:50:31-06:00,
tsmith@stripped +0 -0
    Auto merged
    MERGE: 1.2.5.2

  BitKeeper/deleted/.del-bdb_gis.result@stripped, 2007-03-28 19:50:31-06:00,
tsmith@stripped +0 -0
    Merge rename: mysql-test/r/bdb_gis.result -> BitKeeper/deleted/.del-bdb_gis.result

  mysql-test/include/gis_generic.inc@stripped, 2007-03-28 19:50:31-06:00, tsmith@stripped
+0 -0
    Auto merged
    MERGE: 1.3.1.4

  mysql-test/r/archive_gis.result@stripped, 2007-03-28 19:50:31-06:00, tsmith@stripped
+0 -0
    Auto merged
    MERGE: 1.2.2.5

  mysql-test/r/innodb_gis.result@stripped, 2007-03-28 19:50:31-06:00, tsmith@stripped +0
-0
    Auto merged
    MERGE: 1.2.2.5

  mysql-test/r/ndb_gis.result@stripped, 2007-03-28 19:50:31-06:00, tsmith@stripped +0 -0
    Auto merged
    MERGE: 1.3.1.5

  sql/log.cc@stripped, 2007-03-28 19:50:32-06:00, tsmith@stripped +0 -0
    Auto merged
    MERGE: 1.158.1.51

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	tsmith
# Host:	siva.hindu.god
# Root:	/home/tsmith/m/bk/maint/51/RESYNC

--- 1.273/sql/log.cc	2007-03-28 17:54:04 -06:00
+++ 1.274/sql/log.cc	2007-03-28 19:50:32 -06:00
@@ -4283,7 +4283,7 @@ void MYSQL_BIN_LOG::signal_update()
 
 #ifdef __NT__
 static void print_buffer_to_nt_eventlog(enum loglevel level, char *buff,
-                                        uint length, int buffLen)
+                                        size_t length, size_t buffLen)
 {
   HANDLE event;
   char   *buffptr= buff;
@@ -4383,7 +4383,7 @@ static void print_buffer_to_file(enum lo
 int vprint_msg_to_log(enum loglevel level, const char *format, va_list args)
 {
   char   buff[1024];
-  uint length;
+  size_t length;
   DBUG_ENTER("vprint_msg_to_log");
 
   length= my_vsnprintf(buff, sizeof(buff), format, args);

--- 1.7/mysql-test/include/gis_generic.inc	2007-03-28 17:41:40 -06:00
+++ 1.8/mysql-test/include/gis_generic.inc	2007-03-28 19:50:31 -06:00
@@ -189,29 +189,30 @@ drop table t1;
 # Test all MBR* functions and their non-MBR-prefixed aliases,
 # using shifted squares to verify the spatial relations.
 
-# Primary key is needed for NDB with binlog
-CREATE TABLE t1 (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100),
square GEOMETRY);
-
-INSERT INTO t1 (name, square) VALUES("center", GeomFromText('POLYGON (( 0 0, 0 2, 2 2, 2
0, 0 0))'));
-
-INSERT INTO t1 (name, square) VALUES("small",  GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1
0, 0 0))'));
-INSERT INTO t1 (name, square) VALUES("big",    GeomFromText('POLYGON (( 0 0, 0 3, 3 3, 3
0, 0 0))'));
-
-INSERT INTO t1 (name, square) VALUES("up",     GeomFromText('POLYGON (( 0 1, 0 3, 2 3, 2
1, 0 1))'));
-INSERT INTO t1 (name, square) VALUES("up2",    GeomFromText('POLYGON (( 0 2, 0 4, 2 4, 2
2, 0 2))'));
-INSERT INTO t1 (name, square) VALUES("up3",    GeomFromText('POLYGON (( 0 3, 0 5, 2 5, 2
3, 0 3))'));
-
-INSERT INTO t1 (name, square) VALUES("down",   GeomFromText('POLYGON (( 0 -1, 0  1, 2  1,
2 -1, 0 -1))'));
-INSERT INTO t1 (name, square) VALUES("down2",  GeomFromText('POLYGON (( 0 -2, 0  0, 2  0,
2 -2, 0 -2))'));
-INSERT INTO t1 (name, square) VALUES("down3",  GeomFromText('POLYGON (( 0 -3, 0 -1, 2 -1,
2 -3, 0 -3))'));
-
-INSERT INTO t1 (name, square) VALUES("right",  GeomFromText('POLYGON (( 1 0, 1 2, 3 2, 3
0, 1 0))'));
-INSERT INTO t1 (name, square) VALUES("right2", GeomFromText('POLYGON (( 2 0, 2 2, 4 2, 4
0, 2 0))'));
-INSERT INTO t1 (name, square) VALUES("right3", GeomFromText('POLYGON (( 3 0, 3 2, 5 2, 5
0, 3 0))'));
-
-INSERT INTO t1 (name, square) VALUES("left",   GeomFromText('POLYGON (( -1 0, -1 2,  1 2,
 1 0, -1 0))'));
-INSERT INTO t1 (name, square) VALUES("left2",  GeomFromText('POLYGON (( -2 0, -2 2,  0 2,
 0 0, -2 0))'));
-INSERT INTO t1 (name, square) VALUES("left3",  GeomFromText('POLYGON (( -3 0, -3 2, -1 2,
-1 0, -3 0))'));
+# Primary key is needed for NDB with binlog; bug ARCHIVE doesn't
+# support AUTO_INCREMENT, so specify id values explicitly
+CREATE TABLE t1 (id INT UNSIGNED NOT NULL PRIMARY KEY, name VARCHAR(100), square
GEOMETRY);
+
+INSERT INTO t1 VALUES( 1, "center", GeomFromText('POLYGON (( 0 0, 0 2, 2 2, 2 0, 0
0))'));
+
+INSERT INTO t1 VALUES( 2, "small",  GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1 0, 0
0))'));
+INSERT INTO t1 VALUES( 3, "big",    GeomFromText('POLYGON (( 0 0, 0 3, 3 3, 3 0, 0
0))'));
+
+INSERT INTO t1 VALUES( 4, "up",     GeomFromText('POLYGON (( 0 1, 0 3, 2 3, 2 1, 0
1))'));
+INSERT INTO t1 VALUES( 5, "up2",    GeomFromText('POLYGON (( 0 2, 0 4, 2 4, 2 2, 0
2))'));
+INSERT INTO t1 VALUES( 6, "up3",    GeomFromText('POLYGON (( 0 3, 0 5, 2 5, 2 3, 0
3))'));
+
+INSERT INTO t1 VALUES( 7, "down",   GeomFromText('POLYGON (( 0 -1, 0  1, 2  1, 2 -1, 0
-1))'));
+INSERT INTO t1 VALUES( 8, "down2",  GeomFromText('POLYGON (( 0 -2, 0  0, 2  0, 2 -2, 0
-2))'));
+INSERT INTO t1 VALUES( 9, "down3",  GeomFromText('POLYGON (( 0 -3, 0 -1, 2 -1, 2 -3, 0
-3))'));
+
+INSERT INTO t1 VALUES(10, "right",  GeomFromText('POLYGON (( 1 0, 1 2, 3 2, 3 0, 1
0))'));
+INSERT INTO t1 VALUES(11, "right2", GeomFromText('POLYGON (( 2 0, 2 2, 4 2, 4 0, 2
0))'));
+INSERT INTO t1 VALUES(12, "right3", GeomFromText('POLYGON (( 3 0, 3 2, 5 2, 5 0, 3
0))'));
+
+INSERT INTO t1 VALUES(13, "left",   GeomFromText('POLYGON (( -1 0, -1 2,  1 2,  1 0, -1
0))'));
+INSERT INTO t1 VALUES(14, "left2",  GeomFromText('POLYGON (( -2 0, -2 2,  0 2,  0 0, -2
0))'));
+INSERT INTO t1 VALUES(15, "left3",  GeomFromText('POLYGON (( -3 0, -3 2, -1 2, -1 0, -3
0))'));
 
 SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrcontains  FROM t1 a1 JOIN t1 a2 ON
MBRContains(   a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
 SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrdisjoint  FROM t1 a1 JOIN t1 a2 ON
MBRDisjoint(   a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;

--- 1.10/mysql-test/r/archive_gis.result	2007-03-28 17:41:40 -06:00
+++ 1.11/mysql-test/r/archive_gis.result	2007-03-28 19:50:31 -06:00
@@ -461,22 +461,22 @@ insert into t1 (fl) values (pointfromtex
 ERROR 23000: Column 'fl' cannot be null
 drop table t1;
 End of 4.1 tests
-CREATE TABLE t1 (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100),
square GEOMETRY);
-INSERT INTO t1 (name, square) VALUES("center", GeomFromText('POLYGON (( 0 0, 0 2, 2 2, 2
0, 0 0))'));
-INSERT INTO t1 (name, square) VALUES("small",  GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1
0, 0 0))'));
-INSERT INTO t1 (name, square) VALUES("big",    GeomFromText('POLYGON (( 0 0, 0 3, 3 3, 3
0, 0 0))'));
-INSERT INTO t1 (name, square) VALUES("up",     GeomFromText('POLYGON (( 0 1, 0 3, 2 3, 2
1, 0 1))'));
-INSERT INTO t1 (name, square) VALUES("up2",    GeomFromText('POLYGON (( 0 2, 0 4, 2 4, 2
2, 0 2))'));
-INSERT INTO t1 (name, square) VALUES("up3",    GeomFromText('POLYGON (( 0 3, 0 5, 2 5, 2
3, 0 3))'));
-INSERT INTO t1 (name, square) VALUES("down",   GeomFromText('POLYGON (( 0 -1, 0  1, 2  1,
2 -1, 0 -1))'));
-INSERT INTO t1 (name, square) VALUES("down2",  GeomFromText('POLYGON (( 0 -2, 0  0, 2  0,
2 -2, 0 -2))'));
-INSERT INTO t1 (name, square) VALUES("down3",  GeomFromText('POLYGON (( 0 -3, 0 -1, 2 -1,
2 -3, 0 -3))'));
-INSERT INTO t1 (name, square) VALUES("right",  GeomFromText('POLYGON (( 1 0, 1 2, 3 2, 3
0, 1 0))'));
-INSERT INTO t1 (name, square) VALUES("right2", GeomFromText('POLYGON (( 2 0, 2 2, 4 2, 4
0, 2 0))'));
-INSERT INTO t1 (name, square) VALUES("right3", GeomFromText('POLYGON (( 3 0, 3 2, 5 2, 5
0, 3 0))'));
-INSERT INTO t1 (name, square) VALUES("left",   GeomFromText('POLYGON (( -1 0, -1 2,  1 2,
 1 0, -1 0))'));
-INSERT INTO t1 (name, square) VALUES("left2",  GeomFromText('POLYGON (( -2 0, -2 2,  0 2,
 0 0, -2 0))'));
-INSERT INTO t1 (name, square) VALUES("left3",  GeomFromText('POLYGON (( -3 0, -3 2, -1 2,
-1 0, -3 0))'));
+CREATE TABLE t1 (id INT UNSIGNED NOT NULL PRIMARY KEY, name VARCHAR(100), square
GEOMETRY);
+INSERT INTO t1 VALUES( 1, "center", GeomFromText('POLYGON (( 0 0, 0 2, 2 2, 2 0, 0
0))'));
+INSERT INTO t1 VALUES( 2, "small",  GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1 0, 0
0))'));
+INSERT INTO t1 VALUES( 3, "big",    GeomFromText('POLYGON (( 0 0, 0 3, 3 3, 3 0, 0
0))'));
+INSERT INTO t1 VALUES( 4, "up",     GeomFromText('POLYGON (( 0 1, 0 3, 2 3, 2 1, 0
1))'));
+INSERT INTO t1 VALUES( 5, "up2",    GeomFromText('POLYGON (( 0 2, 0 4, 2 4, 2 2, 0
2))'));
+INSERT INTO t1 VALUES( 6, "up3",    GeomFromText('POLYGON (( 0 3, 0 5, 2 5, 2 3, 0
3))'));
+INSERT INTO t1 VALUES( 7, "down",   GeomFromText('POLYGON (( 0 -1, 0  1, 2  1, 2 -1, 0
-1))'));
+INSERT INTO t1 VALUES( 8, "down2",  GeomFromText('POLYGON (( 0 -2, 0  0, 2  0, 2 -2, 0
-2))'));
+INSERT INTO t1 VALUES( 9, "down3",  GeomFromText('POLYGON (( 0 -3, 0 -1, 2 -1, 2 -3, 0
-3))'));
+INSERT INTO t1 VALUES(10, "right",  GeomFromText('POLYGON (( 1 0, 1 2, 3 2, 3 0, 1
0))'));
+INSERT INTO t1 VALUES(11, "right2", GeomFromText('POLYGON (( 2 0, 2 2, 4 2, 4 0, 2
0))'));
+INSERT INTO t1 VALUES(12, "right3", GeomFromText('POLYGON (( 3 0, 3 2, 5 2, 5 0, 3
0))'));
+INSERT INTO t1 VALUES(13, "left",   GeomFromText('POLYGON (( -1 0, -1 2,  1 2,  1 0, -1
0))'));
+INSERT INTO t1 VALUES(14, "left2",  GeomFromText('POLYGON (( -2 0, -2 2,  0 2,  0 0, -2
0))'));
+INSERT INTO t1 VALUES(15, "left3",  GeomFromText('POLYGON (( -3 0, -3 2, -1 2, -1 0, -3
0))'));
 SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrcontains  FROM t1 a1 JOIN t1 a2 ON
MBRContains(   a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
 mbrcontains
 center,small

--- 1.2.5.1/mysql-test/r/bdb_gis.result	2007-03-28 19:39:38 -06:00
+++ 1.13/BitKeeper/deleted/.del-bdb_gis.result	2007-03-28 19:50:31 -06:00
@@ -1,50 +1,51 @@
 SET storage_engine=bdb;
 DROP TABLE IF EXISTS t1, gis_point, gis_line, gis_polygon, gis_multi_point,
gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry;
-CREATE TABLE gis_point  (fid INTEGER, g POINT);
-CREATE TABLE gis_line  (fid INTEGER, g LINESTRING);
-CREATE TABLE gis_polygon   (fid INTEGER, g POLYGON);
-CREATE TABLE gis_multi_point (fid INTEGER, g MULTIPOINT);
-CREATE TABLE gis_multi_line (fid INTEGER, g MULTILINESTRING);
-CREATE TABLE gis_multi_polygon  (fid INTEGER, g MULTIPOLYGON);
-CREATE TABLE gis_geometrycollection  (fid INTEGER, g GEOMETRYCOLLECTION);
-CREATE TABLE gis_geometry (fid INTEGER, g GEOMETRY);
+CREATE TABLE gis_point  (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g POINT);
+CREATE TABLE gis_line  (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g LINESTRING);
+CREATE TABLE gis_polygon   (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g POLYGON);
+CREATE TABLE gis_multi_point (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g MULTIPOINT);
+CREATE TABLE gis_multi_line (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g MULTILINESTRING);
+CREATE TABLE gis_multi_polygon  (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g MULTIPOLYGON);
+CREATE TABLE gis_geometrycollection  (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g
GEOMETRYCOLLECTION);
+CREATE TABLE gis_geometry (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g GEOMETRY);
 SHOW CREATE TABLE gis_point;
 Table	Create Table
 gis_point	CREATE TABLE `gis_point` (
-  `fid` int(11) default NULL,
-  `g` point default NULL
+  `fid` int(11) NOT NULL AUTO_INCREMENT,
+  `g` point DEFAULT NULL,
+  PRIMARY KEY (`fid`)
 ) ENGINE=BerkeleyDB DEFAULT CHARSET=latin1
 SHOW FIELDS FROM gis_point;
 Field	Type	Null	Key	Default	Extra
-fid	int(11)	YES		NULL	
+fid	int(11)	NO	PRI	NULL	auto_increment
 g	point	YES		NULL	
 SHOW FIELDS FROM gis_line;
 Field	Type	Null	Key	Default	Extra
-fid	int(11)	YES		NULL	
+fid	int(11)	NO	PRI	NULL	auto_increment
 g	linestring	YES		NULL	
 SHOW FIELDS FROM gis_polygon;
 Field	Type	Null	Key	Default	Extra
-fid	int(11)	YES		NULL	
+fid	int(11)	NO	PRI	NULL	auto_increment
 g	polygon	YES		NULL	
 SHOW FIELDS FROM gis_multi_point;
 Field	Type	Null	Key	Default	Extra
-fid	int(11)	YES		NULL	
+fid	int(11)	NO	PRI	NULL	auto_increment
 g	multipoint	YES		NULL	
 SHOW FIELDS FROM gis_multi_line;
 Field	Type	Null	Key	Default	Extra
-fid	int(11)	YES		NULL	
+fid	int(11)	NO	PRI	NULL	auto_increment
 g	multilinestring	YES		NULL	
 SHOW FIELDS FROM gis_multi_polygon;
 Field	Type	Null	Key	Default	Extra
-fid	int(11)	YES		NULL	
+fid	int(11)	NO	PRI	NULL	auto_increment
 g	multipolygon	YES		NULL	
 SHOW FIELDS FROM gis_geometrycollection;
 Field	Type	Null	Key	Default	Extra
-fid	int(11)	YES		NULL	
+fid	int(11)	NO	PRI	NULL	auto_increment
 g	geometrycollection	YES		NULL	
 SHOW FIELDS FROM gis_geometry;
 Field	Type	Null	Key	Default	Extra
-fid	int(11)	YES		NULL	
+fid	int(11)	NO	PRI	NULL	auto_increment
 g	geometry	YES		NULL	
 INSERT INTO gis_point VALUES 
 (101, PointFromText('POINT(10 10)')),
@@ -232,8 +233,8 @@ fid	AsText(Envelope(g))
 120	POLYGON((0 0,10 0,10 10,0 10,0 0))
 121	POLYGON((3 6,44 6,44 9,3 9,3 6))
 explain extended select Dimension(g), GeometryType(g), IsEmpty(g), AsText(Envelope(g))
from gis_geometry;
-id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	gis_geometry	ALL	NULL	NULL	NULL	NULL	21	
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
+1	SIMPLE	gis_geometry	ALL	NULL	NULL	NULL	NULL	21	100.00	
 Warnings:
 Note	1003	select dimension(`test`.`gis_geometry`.`g`) AS
`Dimension(g)`,geometrytype(`test`.`gis_geometry`.`g`) AS
`GeometryType(g)`,isempty(`test`.`gis_geometry`.`g`) AS
`IsEmpty(g)`,astext(envelope(`test`.`gis_geometry`.`g`)) AS `AsText(Envelope(g))` from
`test`.`gis_geometry`
 SELECT fid, X(g) FROM gis_point ORDER by fid;
@@ -249,8 +250,8 @@ fid	Y(g)
 103	20
 104	20
 explain extended select X(g),Y(g) FROM gis_point;
-id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	gis_point	ALL	NULL	NULL	NULL	NULL	4	
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
+1	SIMPLE	gis_point	ALL	NULL	NULL	NULL	NULL	4	100.00	
 Warnings:
 Note	1003	select x(`test`.`gis_point`.`g`) AS `X(g)`,y(`test`.`gis_point`.`g`) AS `Y(g)`
from `test`.`gis_point`
 SELECT fid, AsText(StartPoint(g)) FROM gis_line ORDER by fid;
@@ -284,8 +285,8 @@ fid	IsClosed(g)
 106	1
 107	0
 explain extended select
AsText(StartPoint(g)),AsText(EndPoint(g)),GLength(g),NumPoints(g),AsText(PointN(g,
2)),IsClosed(g) FROM gis_line;
-id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	gis_line	ALL	NULL	NULL	NULL	NULL	3	
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
+1	SIMPLE	gis_line	ALL	NULL	NULL	NULL	NULL	3	100.00	
 Warnings:
 Note	1003	select astext(startpoint(`test`.`gis_line`.`g`)) AS
`AsText(StartPoint(g))`,astext(endpoint(`test`.`gis_line`.`g`)) AS
`AsText(EndPoint(g))`,glength(`test`.`gis_line`.`g`) AS
`GLength(g)`,numpoints(`test`.`gis_line`.`g`) AS
`NumPoints(g)`,astext(pointn(`test`.`gis_line`.`g`,2)) AS `AsText(PointN(g,
2))`,isclosed(`test`.`gis_line`.`g`) AS `IsClosed(g)` from `test`.`gis_line`
 SELECT fid, AsText(Centroid(g)) FROM gis_polygon ORDER by fid;
@@ -314,8 +315,8 @@ fid	AsText(InteriorRingN(g, 1))
 109	LINESTRING(10 10,20 10,20 20,10 20,10 10)
 110	NULL
 explain extended select
AsText(Centroid(g)),Area(g),AsText(ExteriorRing(g)),NumInteriorRings(g),AsText(InteriorRingN(g,
1)) FROM gis_polygon;
-id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	gis_polygon	ALL	NULL	NULL	NULL	NULL	3	
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
+1	SIMPLE	gis_polygon	ALL	NULL	NULL	NULL	NULL	3	100.00	
 Warnings:
 Note	1003	select astext(centroid(`test`.`gis_polygon`.`g`)) AS
`AsText(Centroid(g))`,area(`test`.`gis_polygon`.`g`) AS
`Area(g)`,astext(exteriorring(`test`.`gis_polygon`.`g`)) AS
`AsText(ExteriorRing(g))`,numinteriorrings(`test`.`gis_polygon`.`g`) AS
`NumInteriorRings(g)`,astext(interiorringn(`test`.`gis_polygon`.`g`,1)) AS
`AsText(InteriorRingN(g, 1))` from `test`.`gis_polygon`
 SELECT fid, IsClosed(g) FROM gis_multi_line ORDER by fid;
@@ -353,8 +354,8 @@ fid	NumGeometries(g)
 120	2
 121	2
 explain extended SELECT fid, NumGeometries(g) from gis_multi_point;
-id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	gis_multi_point	ALL	NULL	NULL	NULL	NULL	3	
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
+1	SIMPLE	gis_multi_point	ALL	NULL	NULL	NULL	NULL	3	100.00	
 Warnings:
 Note	1003	select `test`.`gis_multi_point`.`fid` AS
`fid`,numgeometries(`test`.`gis_multi_point`.`g`) AS `NumGeometries(g)` from
`test`.`gis_multi_point`
 SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_point ORDER by fid;
@@ -381,8 +382,8 @@ fid	AsText(GeometryN(g, 1))
 120	POINT(0 0)
 121	POINT(44 6)
 explain extended SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_point;
-id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	gis_multi_point	ALL	NULL	NULL	NULL	NULL	3	
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
+1	SIMPLE	gis_multi_point	ALL	NULL	NULL	NULL	NULL	3	100.00	
 Warnings:
 Note	1003	select `test`.`gis_multi_point`.`fid` AS
`fid`,astext(geometryn(`test`.`gis_multi_point`.`g`,2)) AS `AsText(GeometryN(g, 2))` from
`test`.`gis_multi_point`
 SELECT g1.fid as first, g2.fid as second,
@@ -400,13 +401,14 @@ Within(g1.g, g2.g) as w, Contains(g1.g, 
 Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t,
 Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r
 FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
-id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	g1	ALL	NULL	NULL	NULL	NULL	2	Using temporary; Using filesort
-1	SIMPLE	g2	ALL	NULL	NULL	NULL	NULL	2	
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
+1	SIMPLE	g1	ALL	NULL	NULL	NULL	NULL	2	100.00	Using temporary; Using filesort
+1	SIMPLE	g2	ALL	NULL	NULL	NULL	NULL	2	100.00	
 Warnings:
 Note	1003	select `test`.`g1`.`fid` AS `first`,`test`.`g2`.`fid` AS
`second`,within(`test`.`g1`.`g`,`test`.`g2`.`g`) AS
`w`,contains(`test`.`g1`.`g`,`test`.`g2`.`g`) AS
`c`,overlaps(`test`.`g1`.`g`,`test`.`g2`.`g`) AS
`o`,equals(`test`.`g1`.`g`,`test`.`g2`.`g`) AS
`e`,disjoint(`test`.`g1`.`g`,`test`.`g2`.`g`) AS
`d`,touches(`test`.`g1`.`g`,`test`.`g2`.`g`) AS
`t`,intersects(`test`.`g1`.`g`,`test`.`g2`.`g`) AS
`i`,crosses(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `r` from `test`.`gis_geometrycollection`
`g1` join `test`.`gis_geometrycollection` `g2` order by
`test`.`g1`.`fid`,`test`.`g2`.`fid`
 DROP TABLE gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line,
gis_multi_polygon, gis_geometrycollection, gis_geometry;
 CREATE TABLE t1 (
+a INTEGER PRIMARY KEY AUTO_INCREMENT,
 gp  point,
 ln  linestring,
 pg  polygon,
@@ -418,6 +420,7 @@ gm  geometry
 );
 SHOW FIELDS FROM t1;
 Field	Type	Null	Key	Default	Extra
+a	int(11)	NO	PRI	NULL	auto_increment
 gp	point	YES		NULL	
 ln	linestring	YES		NULL	
 pg	polygon	YES		NULL	
@@ -429,6 +432,7 @@ gm	geometry	YES		NULL	
 ALTER TABLE t1 ADD fid INT;
 SHOW FIELDS FROM t1;
 Field	Type	Null	Key	Default	Extra
+a	int(11)	NO	PRI	NULL	auto_increment
 gp	point	YES		NULL	
 ln	linestring	YES		NULL	
 pg	polygon	YES		NULL	
@@ -439,22 +443,22 @@ gc	geometrycollection	YES		NULL	
 gm	geometry	YES		NULL	
 fid	int(11)	YES		NULL	
 DROP TABLE t1;
-create table t1 (a geometry not null);
-insert into t1 values (GeomFromText('Point(1 2)'));
-insert into t1 values ('Garbage');
+create table t1 (pk integer primary key auto_increment, a geometry not null);
+insert into t1 (a) values (GeomFromText('Point(1 2)'));
+insert into t1 (a) values ('Garbage');
 ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert IGNORE into t1 values ('Garbage');
+insert IGNORE into t1 (a) values ('Garbage');
 ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
 drop table t1;
-create table t1 (fl geometry not null);
-insert into t1 values (1);
+create table t1 (pk integer primary key auto_increment, fl geometry);
+insert into t1 (fl) values (1);
+ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
+insert into t1 (fl) values (1.11);
 ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert into t1 values (1.11);
+insert into t1 (fl) values ("qwerty");
 ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert into t1 values ("qwerty");
+insert into t1 (fl) values (pointfromtext('point(1,1)'));
 ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert into t1 values (pointfromtext('point(1,1)'));
-ERROR 23000: Column 'fl' cannot be null
 drop table t1;
 End of 4.1 tests
 CREATE TABLE t1 (id INT UNSIGNED NOT NULL PRIMARY KEY, name VARCHAR(100), square
GEOMETRY);

--- 1.11/mysql-test/r/innodb_gis.result	2007-03-28 17:41:40 -06:00
+++ 1.12/mysql-test/r/innodb_gis.result	2007-03-28 19:50:31 -06:00
@@ -461,22 +461,22 @@ insert into t1 (fl) values (pointfromtex
 ERROR 23000: Column 'fl' cannot be null
 drop table t1;
 End of 4.1 tests
-CREATE TABLE t1 (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100),
square GEOMETRY);
-INSERT INTO t1 (name, square) VALUES("center", GeomFromText('POLYGON (( 0 0, 0 2, 2 2, 2
0, 0 0))'));
-INSERT INTO t1 (name, square) VALUES("small",  GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1
0, 0 0))'));
-INSERT INTO t1 (name, square) VALUES("big",    GeomFromText('POLYGON (( 0 0, 0 3, 3 3, 3
0, 0 0))'));
-INSERT INTO t1 (name, square) VALUES("up",     GeomFromText('POLYGON (( 0 1, 0 3, 2 3, 2
1, 0 1))'));
-INSERT INTO t1 (name, square) VALUES("up2",    GeomFromText('POLYGON (( 0 2, 0 4, 2 4, 2
2, 0 2))'));
-INSERT INTO t1 (name, square) VALUES("up3",    GeomFromText('POLYGON (( 0 3, 0 5, 2 5, 2
3, 0 3))'));
-INSERT INTO t1 (name, square) VALUES("down",   GeomFromText('POLYGON (( 0 -1, 0  1, 2  1,
2 -1, 0 -1))'));
-INSERT INTO t1 (name, square) VALUES("down2",  GeomFromText('POLYGON (( 0 -2, 0  0, 2  0,
2 -2, 0 -2))'));
-INSERT INTO t1 (name, square) VALUES("down3",  GeomFromText('POLYGON (( 0 -3, 0 -1, 2 -1,
2 -3, 0 -3))'));
-INSERT INTO t1 (name, square) VALUES("right",  GeomFromText('POLYGON (( 1 0, 1 2, 3 2, 3
0, 1 0))'));
-INSERT INTO t1 (name, square) VALUES("right2", GeomFromText('POLYGON (( 2 0, 2 2, 4 2, 4
0, 2 0))'));
-INSERT INTO t1 (name, square) VALUES("right3", GeomFromText('POLYGON (( 3 0, 3 2, 5 2, 5
0, 3 0))'));
-INSERT INTO t1 (name, square) VALUES("left",   GeomFromText('POLYGON (( -1 0, -1 2,  1 2,
 1 0, -1 0))'));
-INSERT INTO t1 (name, square) VALUES("left2",  GeomFromText('POLYGON (( -2 0, -2 2,  0 2,
 0 0, -2 0))'));
-INSERT INTO t1 (name, square) VALUES("left3",  GeomFromText('POLYGON (( -3 0, -3 2, -1 2,
-1 0, -3 0))'));
+CREATE TABLE t1 (id INT UNSIGNED NOT NULL PRIMARY KEY, name VARCHAR(100), square
GEOMETRY);
+INSERT INTO t1 VALUES( 1, "center", GeomFromText('POLYGON (( 0 0, 0 2, 2 2, 2 0, 0
0))'));
+INSERT INTO t1 VALUES( 2, "small",  GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1 0, 0
0))'));
+INSERT INTO t1 VALUES( 3, "big",    GeomFromText('POLYGON (( 0 0, 0 3, 3 3, 3 0, 0
0))'));
+INSERT INTO t1 VALUES( 4, "up",     GeomFromText('POLYGON (( 0 1, 0 3, 2 3, 2 1, 0
1))'));
+INSERT INTO t1 VALUES( 5, "up2",    GeomFromText('POLYGON (( 0 2, 0 4, 2 4, 2 2, 0
2))'));
+INSERT INTO t1 VALUES( 6, "up3",    GeomFromText('POLYGON (( 0 3, 0 5, 2 5, 2 3, 0
3))'));
+INSERT INTO t1 VALUES( 7, "down",   GeomFromText('POLYGON (( 0 -1, 0  1, 2  1, 2 -1, 0
-1))'));
+INSERT INTO t1 VALUES( 8, "down2",  GeomFromText('POLYGON (( 0 -2, 0  0, 2  0, 2 -2, 0
-2))'));
+INSERT INTO t1 VALUES( 9, "down3",  GeomFromText('POLYGON (( 0 -3, 0 -1, 2 -1, 2 -3, 0
-3))'));
+INSERT INTO t1 VALUES(10, "right",  GeomFromText('POLYGON (( 1 0, 1 2, 3 2, 3 0, 1
0))'));
+INSERT INTO t1 VALUES(11, "right2", GeomFromText('POLYGON (( 2 0, 2 2, 4 2, 4 0, 2
0))'));
+INSERT INTO t1 VALUES(12, "right3", GeomFromText('POLYGON (( 3 0, 3 2, 5 2, 5 0, 3
0))'));
+INSERT INTO t1 VALUES(13, "left",   GeomFromText('POLYGON (( -1 0, -1 2,  1 2,  1 0, -1
0))'));
+INSERT INTO t1 VALUES(14, "left2",  GeomFromText('POLYGON (( -2 0, -2 2,  0 2,  0 0, -2
0))'));
+INSERT INTO t1 VALUES(15, "left3",  GeomFromText('POLYGON (( -3 0, -3 2, -1 2, -1 0, -3
0))'));
 SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrcontains  FROM t1 a1 JOIN t1 a2 ON
MBRContains(   a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
 mbrcontains
 center,small

--- 1.16/mysql-test/r/ndb_gis.result	2007-03-28 17:41:40 -06:00
+++ 1.17/mysql-test/r/ndb_gis.result	2007-03-28 19:50:31 -06:00
@@ -461,22 +461,22 @@ insert into t1 (fl) values (pointfromtex
 ERROR 23000: Column 'fl' cannot be null
 drop table t1;
 End of 4.1 tests
-CREATE TABLE t1 (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100),
square GEOMETRY);
-INSERT INTO t1 (name, square) VALUES("center", GeomFromText('POLYGON (( 0 0, 0 2, 2 2, 2
0, 0 0))'));
-INSERT INTO t1 (name, square) VALUES("small",  GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1
0, 0 0))'));
-INSERT INTO t1 (name, square) VALUES("big",    GeomFromText('POLYGON (( 0 0, 0 3, 3 3, 3
0, 0 0))'));
-INSERT INTO t1 (name, square) VALUES("up",     GeomFromText('POLYGON (( 0 1, 0 3, 2 3, 2
1, 0 1))'));
-INSERT INTO t1 (name, square) VALUES("up2",    GeomFromText('POLYGON (( 0 2, 0 4, 2 4, 2
2, 0 2))'));
-INSERT INTO t1 (name, square) VALUES("up3",    GeomFromText('POLYGON (( 0 3, 0 5, 2 5, 2
3, 0 3))'));
-INSERT INTO t1 (name, square) VALUES("down",   GeomFromText('POLYGON (( 0 -1, 0  1, 2  1,
2 -1, 0 -1))'));
-INSERT INTO t1 (name, square) VALUES("down2",  GeomFromText('POLYGON (( 0 -2, 0  0, 2  0,
2 -2, 0 -2))'));
-INSERT INTO t1 (name, square) VALUES("down3",  GeomFromText('POLYGON (( 0 -3, 0 -1, 2 -1,
2 -3, 0 -3))'));
-INSERT INTO t1 (name, square) VALUES("right",  GeomFromText('POLYGON (( 1 0, 1 2, 3 2, 3
0, 1 0))'));
-INSERT INTO t1 (name, square) VALUES("right2", GeomFromText('POLYGON (( 2 0, 2 2, 4 2, 4
0, 2 0))'));
-INSERT INTO t1 (name, square) VALUES("right3", GeomFromText('POLYGON (( 3 0, 3 2, 5 2, 5
0, 3 0))'));
-INSERT INTO t1 (name, square) VALUES("left",   GeomFromText('POLYGON (( -1 0, -1 2,  1 2,
 1 0, -1 0))'));
-INSERT INTO t1 (name, square) VALUES("left2",  GeomFromText('POLYGON (( -2 0, -2 2,  0 2,
 0 0, -2 0))'));
-INSERT INTO t1 (name, square) VALUES("left3",  GeomFromText('POLYGON (( -3 0, -3 2, -1 2,
-1 0, -3 0))'));
+CREATE TABLE t1 (id INT UNSIGNED NOT NULL PRIMARY KEY, name VARCHAR(100), square
GEOMETRY);
+INSERT INTO t1 VALUES( 1, "center", GeomFromText('POLYGON (( 0 0, 0 2, 2 2, 2 0, 0
0))'));
+INSERT INTO t1 VALUES( 2, "small",  GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1 0, 0
0))'));
+INSERT INTO t1 VALUES( 3, "big",    GeomFromText('POLYGON (( 0 0, 0 3, 3 3, 3 0, 0
0))'));
+INSERT INTO t1 VALUES( 4, "up",     GeomFromText('POLYGON (( 0 1, 0 3, 2 3, 2 1, 0
1))'));
+INSERT INTO t1 VALUES( 5, "up2",    GeomFromText('POLYGON (( 0 2, 0 4, 2 4, 2 2, 0
2))'));
+INSERT INTO t1 VALUES( 6, "up3",    GeomFromText('POLYGON (( 0 3, 0 5, 2 5, 2 3, 0
3))'));
+INSERT INTO t1 VALUES( 7, "down",   GeomFromText('POLYGON (( 0 -1, 0  1, 2  1, 2 -1, 0
-1))'));
+INSERT INTO t1 VALUES( 8, "down2",  GeomFromText('POLYGON (( 0 -2, 0  0, 2  0, 2 -2, 0
-2))'));
+INSERT INTO t1 VALUES( 9, "down3",  GeomFromText('POLYGON (( 0 -3, 0 -1, 2 -1, 2 -3, 0
-3))'));
+INSERT INTO t1 VALUES(10, "right",  GeomFromText('POLYGON (( 1 0, 1 2, 3 2, 3 0, 1
0))'));
+INSERT INTO t1 VALUES(11, "right2", GeomFromText('POLYGON (( 2 0, 2 2, 4 2, 4 0, 2
0))'));
+INSERT INTO t1 VALUES(12, "right3", GeomFromText('POLYGON (( 3 0, 3 2, 5 2, 5 0, 3
0))'));
+INSERT INTO t1 VALUES(13, "left",   GeomFromText('POLYGON (( -1 0, -1 2,  1 2,  1 0, -1
0))'));
+INSERT INTO t1 VALUES(14, "left2",  GeomFromText('POLYGON (( -2 0, -2 2,  0 2,  0 0, -2
0))'));
+INSERT INTO t1 VALUES(15, "left3",  GeomFromText('POLYGON (( -3 0, -3 2, -1 2, -1 0, -3
0))'));
 SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrcontains  FROM t1 a1 JOIN t1 a2 ON
MBRContains(   a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
 mbrcontains
 center,small
@@ -1009,22 +1009,22 @@ insert into t1 (fl) values (pointfromtex
 ERROR 23000: Column 'fl' cannot be null
 drop table t1;
 End of 4.1 tests
-CREATE TABLE t1 (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100),
square GEOMETRY);
-INSERT INTO t1 (name, square) VALUES("center", GeomFromText('POLYGON (( 0 0, 0 2, 2 2, 2
0, 0 0))'));
-INSERT INTO t1 (name, square) VALUES("small",  GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1
0, 0 0))'));
-INSERT INTO t1 (name, square) VALUES("big",    GeomFromText('POLYGON (( 0 0, 0 3, 3 3, 3
0, 0 0))'));
-INSERT INTO t1 (name, square) VALUES("up",     GeomFromText('POLYGON (( 0 1, 0 3, 2 3, 2
1, 0 1))'));
-INSERT INTO t1 (name, square) VALUES("up2",    GeomFromText('POLYGON (( 0 2, 0 4, 2 4, 2
2, 0 2))'));
-INSERT INTO t1 (name, square) VALUES("up3",    GeomFromText('POLYGON (( 0 3, 0 5, 2 5, 2
3, 0 3))'));
-INSERT INTO t1 (name, square) VALUES("down",   GeomFromText('POLYGON (( 0 -1, 0  1, 2  1,
2 -1, 0 -1))'));
-INSERT INTO t1 (name, square) VALUES("down2",  GeomFromText('POLYGON (( 0 -2, 0  0, 2  0,
2 -2, 0 -2))'));
-INSERT INTO t1 (name, square) VALUES("down3",  GeomFromText('POLYGON (( 0 -3, 0 -1, 2 -1,
2 -3, 0 -3))'));
-INSERT INTO t1 (name, square) VALUES("right",  GeomFromText('POLYGON (( 1 0, 1 2, 3 2, 3
0, 1 0))'));
-INSERT INTO t1 (name, square) VALUES("right2", GeomFromText('POLYGON (( 2 0, 2 2, 4 2, 4
0, 2 0))'));
-INSERT INTO t1 (name, square) VALUES("right3", GeomFromText('POLYGON (( 3 0, 3 2, 5 2, 5
0, 3 0))'));
-INSERT INTO t1 (name, square) VALUES("left",   GeomFromText('POLYGON (( -1 0, -1 2,  1 2,
 1 0, -1 0))'));
-INSERT INTO t1 (name, square) VALUES("left2",  GeomFromText('POLYGON (( -2 0, -2 2,  0 2,
 0 0, -2 0))'));
-INSERT INTO t1 (name, square) VALUES("left3",  GeomFromText('POLYGON (( -3 0, -3 2, -1 2,
-1 0, -3 0))'));
+CREATE TABLE t1 (id INT UNSIGNED NOT NULL PRIMARY KEY, name VARCHAR(100), square
GEOMETRY);
+INSERT INTO t1 VALUES( 1, "center", GeomFromText('POLYGON (( 0 0, 0 2, 2 2, 2 0, 0
0))'));
+INSERT INTO t1 VALUES( 2, "small",  GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1 0, 0
0))'));
+INSERT INTO t1 VALUES( 3, "big",    GeomFromText('POLYGON (( 0 0, 0 3, 3 3, 3 0, 0
0))'));
+INSERT INTO t1 VALUES( 4, "up",     GeomFromText('POLYGON (( 0 1, 0 3, 2 3, 2 1, 0
1))'));
+INSERT INTO t1 VALUES( 5, "up2",    GeomFromText('POLYGON (( 0 2, 0 4, 2 4, 2 2, 0
2))'));
+INSERT INTO t1 VALUES( 6, "up3",    GeomFromText('POLYGON (( 0 3, 0 5, 2 5, 2 3, 0
3))'));
+INSERT INTO t1 VALUES( 7, "down",   GeomFromText('POLYGON (( 0 -1, 0  1, 2  1, 2 -1, 0
-1))'));
+INSERT INTO t1 VALUES( 8, "down2",  GeomFromText('POLYGON (( 0 -2, 0  0, 2  0, 2 -2, 0
-2))'));
+INSERT INTO t1 VALUES( 9, "down3",  GeomFromText('POLYGON (( 0 -3, 0 -1, 2 -1, 2 -3, 0
-3))'));
+INSERT INTO t1 VALUES(10, "right",  GeomFromText('POLYGON (( 1 0, 1 2, 3 2, 3 0, 1
0))'));
+INSERT INTO t1 VALUES(11, "right2", GeomFromText('POLYGON (( 2 0, 2 2, 4 2, 4 0, 2
0))'));
+INSERT INTO t1 VALUES(12, "right3", GeomFromText('POLYGON (( 3 0, 3 2, 5 2, 5 0, 3
0))'));
+INSERT INTO t1 VALUES(13, "left",   GeomFromText('POLYGON (( -1 0, -1 2,  1 2,  1 0, -1
0))'));
+INSERT INTO t1 VALUES(14, "left2",  GeomFromText('POLYGON (( -2 0, -2 2,  0 2,  0 0, -2
0))'));
+INSERT INTO t1 VALUES(15, "left3",  GeomFromText('POLYGON (( -3 0, -3 2, -1 2, -1 0, -3
0))'));
 SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrcontains  FROM t1 a1 JOIN t1 a2 ON
MBRContains(   a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
 mbrcontains
 center,small
Thread
bk commit into 5.1 tree (tsmith:1.2522)tim29 Mar