Below is the list of changes that have just been committed into a local
5.1 repository of hf. When hf 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-06-19 17:13:25+05:00, holyfoot@hfmain.(none) +7 -0
Merge bk@stripped:mysql-5.1
into mysql.com:/home/hf/work/mysql-5.1.spa
MERGE: 1.2482.82.4
BitKeeper/etc/ignore@stripped, 2007-06-19 17:11:29+05:00, holyfoot@stripped +2 -2
auto-union
MERGE: 1.293.1.1
libmysqld/CMakeLists.txt@stripped, 2007-06-19 17:13:19+05:00, holyfoot@hfmain.(none) +1 -1
merging
MERGE: 1.13.1.1
mysql-test/r/gis.result@stripped, 2007-06-19 17:11:40+05:00, holyfoot@hfmain.(none) +0 -0
Auto merged
MERGE: 1.49.1.1
mysql-test/t/gis.test@stripped, 2007-06-19 17:11:40+05:00, holyfoot@hfmain.(none) +0 -0
Auto merged
MERGE: 1.41.1.1
sql/Makefile.am@stripped, 2007-06-19 17:11:40+05:00, holyfoot@hfmain.(none) +0 -0
Auto merged
MERGE: 1.185.1.3
sql/item_create.cc@stripped, 2007-06-19 17:11:40+05:00, holyfoot@hfmain.(none) +0 -0
Auto merged
MERGE: 1.80.1.2
sql/sql_yacc.yy@stripped, 2007-06-19 17:11:40+05:00, holyfoot@hfmain.(none) +0 -0
Auto merged
MERGE: 1.576.1.1
# 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: holyfoot
# Host: hfmain.(none)
# Root: /home/hf/work/mysql-5.1.spa/RESYNC
--- 1.81/sql/item_create.cc 2007-06-19 17:13:31 +05:00
+++ 1.82/sql/item_create.cc 2007-06-19 17:13:31 +05:00
@@ -4794,6 +4794,7 @@ Item*
Create_func_uuid::create(THD *thd)
{
thd->lex->binlog_row_based_if_mixed= TRUE;
+ thd->lex->safe_to_cache_query= 0;
return new (thd->mem_root) Item_func_uuid();
}
@@ -4804,6 +4805,7 @@ Item*
Create_func_uuid_short::create(THD *thd)
{
thd->lex->binlog_row_based_if_mixed= TRUE;
+ thd->lex->safe_to_cache_query= 0;
return new (thd->mem_root) Item_func_uuid_short();
}
--- 1.578/sql/sql_yacc.yy 2007-06-19 17:13:31 +05:00
+++ 1.579/sql/sql_yacc.yy 2007-06-19 17:13:31 +05:00
@@ -6837,6 +6837,12 @@ geometry_function:
Geometry::wkb_polygon,
Geometry::wkb_linestring));
}
+ | UNION_SYM '(' expr ',' expr ')'
+ {
+ $$= GEOM_NEW(YYTHD,
+ Item_func_spatial_operation($3, $5,
+ gcalc_function::op_union));
+ }
;
/*
--- 1.14/libmysqld/CMakeLists.txt 2007-06-19 17:13:31 +05:00
+++ 1.15/libmysqld/CMakeLists.txt 2007-06-19 17:13:31 +05:00
@@ -18,7 +18,7 @@ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS
# Need to set USE_TLS, since __declspec(thread) approach to thread local
# storage does not work properly in DLLs.
-ADD_DEFINITIONS(-DUSE_TLS -DMYSQL_SERVER -DEMBEDDED_LIBRARY)
+ADD_DEFINITIONS(-DUSE_TLS -DMYSQL_SERVER)
# The old Windows build method used renamed (.cc -> .cpp) source files, fails
# in #include in lib_sql.cc. So disable that using the USING_CMAKE define.
@@ -38,47 +38,51 @@ SET_SOURCE_FILES_PROPERTIES(${PROJECT_SO
PROPERTIES GENERATED 1)
ADD_LIBRARY(mysqldemb emb_qcache.cc libmysqld.c lib_sql.cc
- ../client/get_password.c ../libmysql/errmsg.c
- ../libmysql/libmysql.c ../sql/password.c ../sql-common/client.c
- ../sql-common/my_time.c ../sql-common/my_user.c
- ../sql-common/pack.c ../sql/derror.cc ../sql/event_scheduler.cc
- ../sql/event_timed.cc ../sql/events.cc ../sql/discover.cc
- ../sql/field_conv.cc ../sql/field.cc ../sql/filesort.cc
- ../sql/gstream.cc ${mysql_se_ha_src}
- ../sql/handler.cc ../sql/hash_filo.cc
- ../sql/hostname.cc ../sql/init.cc ../sql/item_buff.cc
- ../sql/item_cmpfunc.cc ../sql/item.cc ../sql/item_create.cc
- ../sql/item_func.cc ../sql/item_geofunc.cc ../sql/item_row.cc
- ../sql/item_strfunc.cc ../sql/item_subselect.cc ../sql/item_sum.cc
- ../sql/item_timefunc.cc ../sql/item_uniq.cc ../sql/item_xmlfunc.cc
- ../sql/key.cc ../sql/lock.cc ../sql/log.cc ../sql/log_event.cc
- ../sql/mf_iocache.cc ../sql/my_decimal.cc ../sql/net_serv.cc
- ../sql/opt_range.cc ../sql/opt_sum.cc ../sql/parse_file.cc
- ../sql/procedure.cc ../sql/protocol.cc ../sql/records.cc
- ../sql/repl_failsafe.cc ../sql/rpl_filter.cc ../sql/set_var.cc
- ../sql/spatial.cc ../sql/sp_cache.cc ../sql/sp.cc
- ../sql/sp_head.cc ../sql/sp_pcontext.cc ../sql/sp_rcontext.cc
- ../sql/sql_acl.cc ../sql/sql_analyse.cc ../sql/sql_base.cc
- ../sql/sql_cache.cc ../sql/sql_class.cc ../sql/sql_crypt.cc
- ../sql/sql_cursor.cc ../sql/sql_db.cc ../sql/sql_delete.cc
- ../sql/sql_derived.cc ../sql/sql_do.cc ../sql/sql_error.cc
- ../sql/sql_handler.cc ../sql/sql_help.cc ../sql/sql_insert.cc
- ../sql/sql_lex.cc ../sql/sql_list.cc ../sql/sql_load.cc
- ../sql/sql_manager.cc ../sql/sql_map.cc ../sql/sql_parse.cc
- ../sql/sql_partition.cc ../sql/sql_plugin.cc ../sql/sql_prepare.cc
- ../sql/sql_rename.cc ../sql/sql_repl.cc ../sql/sql_select.cc
- ../sql/sql_show.cc ../sql/sql_state.c ../sql/sql_string.cc
- ../sql/sql_tablespace.cc ../sql/sql_table.cc ../sql/sql_test.cc
- ../sql/sql_trigger.cc ../sql/sql_udf.cc ../sql/sql_union.cc
- ../sql/sql_update.cc ../sql/sql_view.cc
- ../sql/strfunc.cc ../sql/table.cc ../sql/thr_malloc.cc
- ../sql/time.cc ../sql/tztime.cc ../sql/uniques.cc ../sql/unireg.cc
- ../sql/partition_info.cc ../sql/sql_locale.cc
- ../sql/sql_connect.cc ../sql/scheduler.cc
- ../vio/vio.c ../vio/viosocket.c ../vio/viossl.c
- ../vio/viosslfactories.c sql/gcalc_slicescan.cc sql/gcalc_tools.cc
- ${PROJECT_SOURCE_DIR}/sql/sql_yacc.cc
- ${PROJECT_SOURCE_DIR}/sql/sql_yacc.h)
+ ../libmysql/libmysql.c ../libmysql/errmsg.c ../client/get_password.c
+ ../sql-common/client.c ../sql-common/my_time.c
+ ../sql-common/my_user.c ../sql-common/pack.c
+ ../sql/password.c ../sql/discover.cc ../sql/derror.cc
+ ../sql/event_scheduler.cc ../sql/events.cc
+ ../sql/event_data_objects.cc ../sql/event_queue.cc
+ ../sql/event_db_repository.cc ../sql/field.cc ../sql/field_conv.cc
+ ../sql/filesort.cc ../sql/gstream.cc ../sql/ha_partition.cc
+ ../sql/handler.cc ../sql/hash_filo.cc ../sql/hostname.cc
+ ../sql/init.cc ../sql/item_buff.cc ../sql/item_cmpfunc.cc
+ ../sql/item.cc ../sql/item_create.cc ../sql/item_func.cc
+ ../sql/item_geofunc.cc ../sql/item_row.cc ../sql/item_strfunc.cc
+ ../sql/item_subselect.cc ../sql/item_sum.cc ../sql/item_timefunc.cc
+ ../sql/item_xmlfunc.cc ../sql/key.cc ../sql/lock.cc ../sql/log.cc
+ ../sql/log_event.cc ../sql/mf_iocache.cc ../sql/my_decimal.cc
+ ../sql/net_serv.cc ../sql/opt_range.cc ../sql/opt_sum.cc
+ ../sql/parse_file.cc ../sql/procedure.cc ../sql/protocol.cc
+ ../sql/records.cc ../sql/repl_failsafe.cc ../sql/rpl_filter.cc
+ ../sql/rpl_record.cc
+ ../sql/rpl_injector.cc ../sql/set_var.cc ../sql/spatial.cc
+ ../sql/sp_cache.cc ../sql/sp.cc ../sql/sp_head.cc
+ ../sql/sp_pcontext.cc ../sql/sp_rcontext.cc ../sql/sql_acl.cc
+ ../sql/sql_analyse.cc ../sql/sql_base.cc ../sql/sql_cache.cc
+ ../sql/sql_class.cc ../sql/sql_crypt.cc ../sql/sql_cursor.cc
+ ../sql/sql_db.cc ../sql/sql_delete.cc ../sql/sql_derived.cc
+ ../sql/sql_do.cc ../sql/sql_error.cc ../sql/sql_handler.cc
+ ../sql/sql_help.cc ../sql/sql_insert.cc ../sql/sql_lex.cc
+ ../sql/sql_list.cc ../sql/sql_load.cc ../sql/sql_locale.cc
+ ../sql/sql_binlog.cc ../sql/sql_manager.cc ../sql/sql_map.cc
+ ../sql/sql_parse.cc ../sql/sql_partition.cc ../sql/sql_plugin.cc
+ ../sql/sql_prepare.cc ../sql/sql_rename.cc ../sql/sql_repl.cc
+ ../sql/sql_select.cc ../sql/sql_servers.cc ../sql/sql_builtin.cc
+ ../sql/sql_show.cc ../sql/sql_state.c ../sql/sql_string.cc
+ ../sql/sql_tablespace.cc ../sql/sql_table.cc ../sql/sql_test.cc
+ ../sql/sql_trigger.cc ../sql/sql_udf.cc ../sql/sql_union.cc
+ ../sql/sql_update.cc ../sql/sql_view.cc
+ ../sql/strfunc.cc ../sql/table.cc ../sql/thr_malloc.cc
+ ../sql/time.cc ../sql/tztime.cc ../sql/uniques.cc ../sql/unireg.cc
+ ../sql/partition_info.cc ../sql/sql_locale.cc ../sql/sql_connect.cc
+ ../sql/scheduler.cc
+ ../vio/vio.c ../vio/viosocket.c ../vio/viossl.c
+ ../vio/viosslfactories.c sql/gcalc_slicescan.cc sql/gcalc_tools.cc
+ ${PROJECT_SOURCE_DIR}/sql/sql_yacc.cc
+ ${PROJECT_SOURCE_DIR}/sql/sql_yacc.h)
+ADD_DEPENDENCIES(mysqldemb GenError)
# Seems we cannot make a library without at least one source file. So use a
# dummy empty file
@@ -86,14 +90,20 @@ FILE(WRITE cmake_dummy.c " ")
ADD_LIBRARY(mysqlserver cmake_dummy.c)
TARGET_LINK_LIBRARIES(mysqlserver wsock32)
-ADD_DEPENDENCIES(mysqlserver dbug mysys strings zlib mysqldemb regex myisam myisammrg
- heap yassl taocrypt)
+ADD_DEPENDENCIES(mysqlserver mysqldemb heap myisam myisammrg dbug mysys zlib strings mysqldemb regex
+ yassl taocrypt vio)
IF(WITH_ARCHIVE_STORAGE_ENGINE)
ADD_DEPENDENCIES(mysqlserver archive)
ENDIF(WITH_ARCHIVE_STORAGE_ENGINE)
IF(WITH_EXAMPLE_STORAGE_ENGINE)
ADD_DEPENDENCIES(mysqlserver example)
ENDIF(WITH_EXAMPLE_STORAGE_ENGINE)
+IF(WITH_BLACKHOLE_STORAGE_ENGINE)
+ TARGET_LINK_LIBRARIES(mysqlserver blackhole)
+ENDIF(WITH_BLACKHOLE_STORAGE_ENGINE)
+IF(WITH_CSV_STORAGE_ENGINE)
+ TARGET_LINK_LIBRARIES(mysqlserver csv)
+ENDIF(WITH_CSV_STORAGE_ENGINE)
IF(WITH_FEDERATED_STORAGE_ENGINE)
ADD_DEPENDENCIES(mysqlserver federated)
ENDIF(WITH_FEDERATED_STORAGE_ENGINE)
@@ -104,3 +114,9 @@ ENDIF(WITH_INNOBASE_STORAGE_ENGINE)
ADD_LIBRARY(libmysqld MODULE cmake_dummy.c libmysqld.def)
TARGET_LINK_LIBRARIES(libmysqld wsock32)
ADD_DEPENDENCIES(libmysqld mysqlserver)
+IF(WITH_ARCHIVE_STORAGE_ENGINE)
+ ADD_DEPENDENCIES(libmysqld archive)
+ENDIF(WITH_ARCHIVE_STORAGE_ENGINE)
+IF(WITH_BLACKHOLE_STORAGE_ENGINE)
+ TARGET_LINK_LIBRARIES(libmysqld blackhole)
+ENDIF(WITH_BLACKHOLE_STORAGE_ENGINE)
--- 1.50/mysql-test/r/gis.result 2007-06-19 17:13:31 +05:00
+++ 1.51/mysql-test/r/gis.result 2007-06-19 17:13:31 +05:00
@@ -379,25 +379,25 @@ id select_type table type possible_keys
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,
-Within(g1.g, g2.g) as w, Contains(g1.g, g2.g) as c, Overlaps(g1.g, g2.g) as o,
-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
+MBRWithin(g1.g, g2.g) as w, MBRContains(g1.g, g2.g) as c, MBROverlaps(g1.g, g2.g) as o,
+Equals(g1.g, g2.g) as e, MBRDisjoint(g1.g, g2.g) as d, MBRTouches(g1.g, g2.g) as t,
+MBRIntersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r
FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
first second w c o e d t i r
-120 120 1 1 0 1 0 0 1 0
+120 120 1 1 0 0 0 0 1 0
120 121 0 0 1 0 0 0 1 0
121 120 0 0 1 0 0 0 1 0
-121 121 1 1 0 1 0 0 1 0
+121 121 1 1 0 0 0 0 1 0
explain extended SELECT g1.fid as first, g2.fid as second,
-Within(g1.g, g2.g) as w, Contains(g1.g, g2.g) as c, Overlaps(g1.g, g2.g) as o,
-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
+MBRWithin(g1.g, g2.g) as w, MBRContains(g1.g, g2.g) as c, MBROverlaps(g1.g, g2.g) as o,
+Equals(g1.g, g2.g) as e, MBRDisjoint(g1.g, g2.g) as d, MBRTouches(g1.g, g2.g) as t,
+MBRIntersects(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 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 Using join buffer
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`
+Note 1003 select `test`.`g1`.`fid` AS `first`,`test`.`g2`.`fid` AS `second`,mbrwithin(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `w`,mbrcontains(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `c`,mbroverlaps(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `o`,equals(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `e`,mbrdisjoint(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `d`,mbrtouches(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `t`,mbrintersects(`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 (
gp point,
@@ -712,14 +712,14 @@ geometryfromtext(b) IS NULL geometryfrom
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
select
-within(b, b) IS NULL, contains(b, b) IS NULL, overlaps(b, b) IS NULL,
-equals(b, b) IS NULL, disjoint(b, b) IS NULL, touches(b, b) IS NULL,
-intersects(b, b) IS NULL, crosses(b, b) IS NULL
+MBRwithin(b, b) IS NULL, MBRcontains(b, b) IS NULL, MBRoverlaps(b, b) IS NULL,
+equals(b, b) IS NULL, MBRdisjoint(b, b) IS NULL, MBRtouches(b, b) IS NULL,
+MBRintersects(b, b) IS NULL, crosses(b, b) IS NULL
from t1;
-within(b, b) IS NULL contains(b, b) IS NULL overlaps(b, b) IS NULL equals(b, b) IS NULL disjoint(b, b) IS NULL touches(b, b) IS NULL intersects(b, b) IS NULL crosses(b, b) IS NULL
-1 1 1 1 1 1 1 1
-1 1 1 1 1 1 1 1
+MBRwithin(b, b) IS NULL MBRcontains(b, b) IS NULL MBRoverlaps(b, b) IS NULL equals(b, b) IS NULL MBRdisjoint(b, b) IS NULL MBRtouches(b, b) IS NULL MBRintersects(b, b) IS NULL crosses(b, b) IS NULL
+1 1 1 0 1 1 1 0
1 1 1 1 1 1 1 1
+1 1 1 0 1 1 1 0
select
point(b, b) IS NULL, linestring(b) IS NULL, polygon(b) IS NULL, multipoint(b) IS NULL,
multilinestring(b) IS NULL, multipolygon(b) IS NULL,
@@ -818,25 +818,24 @@ down2,left2,right2,up2
SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrwithin FROM t1 a1 JOIN t1 a2 ON MBRWithin( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
mbrwithin
big,center
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS contains FROM t1 a1 JOIN t1 a2 ON Contains( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
+SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS contains FROM t1 a1 JOIN t1 a2 ON MBRContains( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
contains
center,small
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS disjoint FROM t1 a1 JOIN t1 a2 ON Disjoint( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
+SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS disjoint FROM t1 a1 JOIN t1 a2 ON MBRDisjoint( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
disjoint
down3,left3,right3,up3
SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS equals FROM t1 a1 JOIN t1 a2 ON Equals( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
equals
-center
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS intersect FROM t1 a1 JOIN t1 a2 ON Intersects( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
+SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS intersect FROM t1 a1 JOIN t1 a2 ON MBRIntersects( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
intersect
big,center,down,down2,left,left2,right,right2,small,up,up2
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS overlaps FROM t1 a1 JOIN t1 a2 ON Overlaps( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
+SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS overlaps FROM t1 a1 JOIN t1 a2 ON MBROverlaps( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
overlaps
down,left,right,up
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS touches FROM t1 a1 JOIN t1 a2 ON Touches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
+SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS touches FROM t1 a1 JOIN t1 a2 ON MBRTouches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
touches
down2,left2,right2,up2
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS within FROM t1 a1 JOIN t1 a2 ON Within( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
+SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS within FROM t1 a1 JOIN t1 a2 ON MBRWithin( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
within
big,center
SET @vert1 = GeomFromText('POLYGON ((0 -2, 0 2, 0 -2))');
@@ -845,24 +844,24 @@ SET @horiz2 = GeomFromText('POLYGON ((-1
SET @horiz3 = GeomFromText('POLYGON ((2 0, 3 0, 2 0))');
SET @point1 = GeomFromText('POLYGON ((0 0))');
SET @point2 = GeomFromText('POLYGON ((-2 0))');
-SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS overlaps FROM t1 a1 WHERE Overlaps(a1.square, @vert1) GROUP BY a1.name;
+SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS overlaps FROM t1 a1 WHERE MBROverlaps(a1.square, @vert1) GROUP BY a1.name;
overlaps
-SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS overlaps FROM t1 a1 WHERE Overlaps(a1.square, @horiz1) GROUP BY a1.name;
+SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS overlaps FROM t1 a1 WHERE MBROverlaps(a1.square, @horiz1) GROUP BY a1.name;
overlaps
-SELECT Overlaps(@horiz1, @vert1) FROM DUAL;
-Overlaps(@horiz1, @vert1)
+SELECT MBROverlaps(@horiz1, @vert1) FROM DUAL;
+MBROverlaps(@horiz1, @vert1)
0
-SELECT Overlaps(@horiz1, @horiz2) FROM DUAL;
-Overlaps(@horiz1, @horiz2)
+SELECT MBROverlaps(@horiz1, @horiz2) FROM DUAL;
+MBROverlaps(@horiz1, @horiz2)
1
-SELECT Overlaps(@horiz1, @horiz3) FROM DUAL;
-Overlaps(@horiz1, @horiz3)
+SELECT MBROverlaps(@horiz1, @horiz3) FROM DUAL;
+MBROverlaps(@horiz1, @horiz3)
0
-SELECT Overlaps(@horiz1, @point1) FROM DUAL;
-Overlaps(@horiz1, @point1)
+SELECT MBROverlaps(@horiz1, @point1) FROM DUAL;
+MBROverlaps(@horiz1, @point1)
0
-SELECT Overlaps(@horiz1, @point2) FROM DUAL;
-Overlaps(@horiz1, @point2)
+SELECT MBROverlaps(@horiz1, @point2) FROM DUAL;
+MBROverlaps(@horiz1, @point2)
0
DROP TABLE t1;
create table t1(f1 geometry, f2 point, f3 linestring);
--- 1.42/mysql-test/t/gis.test 2007-06-19 17:13:31 +05:00
+++ 1.43/mysql-test/t/gis.test 2007-06-19 17:13:31 +05:00
@@ -125,14 +125,14 @@ SELECT fid, AsText(GeometryN(g, 1)) from
explain extended SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_point;
SELECT g1.fid as first, g2.fid as second,
-Within(g1.g, g2.g) as w, Contains(g1.g, g2.g) as c, Overlaps(g1.g, g2.g) as o,
-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
+MBRWithin(g1.g, g2.g) as w, MBRContains(g1.g, g2.g) as c, MBROverlaps(g1.g, g2.g) as o,
+Equals(g1.g, g2.g) as e, MBRDisjoint(g1.g, g2.g) as d, MBRTouches(g1.g, g2.g) as t,
+MBRIntersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r
FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
explain extended SELECT g1.fid as first, g2.fid as second,
-Within(g1.g, g2.g) as w, Contains(g1.g, g2.g) as c, Overlaps(g1.g, g2.g) as o,
-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
+MBRWithin(g1.g, g2.g) as w, MBRContains(g1.g, g2.g) as c, MBROverlaps(g1.g, g2.g) as o,
+Equals(g1.g, g2.g) as e, MBRDisjoint(g1.g, g2.g) as d, MBRTouches(g1.g, g2.g) as t,
+MBRIntersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r
FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
DROP TABLE gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry;
@@ -411,9 +411,9 @@ select
from t1;
select
- within(b, b) IS NULL, contains(b, b) IS NULL, overlaps(b, b) IS NULL,
- equals(b, b) IS NULL, disjoint(b, b) IS NULL, touches(b, b) IS NULL,
- intersects(b, b) IS NULL, crosses(b, b) IS NULL
+ MBRwithin(b, b) IS NULL, MBRcontains(b, b) IS NULL, MBRoverlaps(b, b) IS NULL,
+ equals(b, b) IS NULL, MBRdisjoint(b, b) IS NULL, MBRtouches(b, b) IS NULL,
+ MBRintersects(b, b) IS NULL, crosses(b, b) IS NULL
from t1;
select
@@ -531,13 +531,13 @@ SELECT GROUP_CONCAT(a2.name ORDER BY a2.
SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrtouches FROM t1 a1 JOIN t1 a2 ON MBRTouches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrwithin FROM t1 a1 JOIN t1 a2 ON MBRWithin( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS contains FROM t1 a1 JOIN t1 a2 ON Contains( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS disjoint FROM t1 a1 JOIN t1 a2 ON Disjoint( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
+SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS contains 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 disjoint FROM t1 a1 JOIN t1 a2 ON MBRDisjoint( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS equals FROM t1 a1 JOIN t1 a2 ON Equals( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS intersect FROM t1 a1 JOIN t1 a2 ON Intersects( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS overlaps FROM t1 a1 JOIN t1 a2 ON Overlaps( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS touches FROM t1 a1 JOIN t1 a2 ON Touches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS within FROM t1 a1 JOIN t1 a2 ON Within( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
+SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS intersect FROM t1 a1 JOIN t1 a2 ON MBRIntersects( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
+SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS overlaps FROM t1 a1 JOIN t1 a2 ON MBROverlaps( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
+SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS touches FROM t1 a1 JOIN t1 a2 ON MBRTouches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
+SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS within FROM t1 a1 JOIN t1 a2 ON MBRWithin( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
# Overlaps needs a few more tests, with point and line dimensions
@@ -548,13 +548,13 @@ SET @horiz3 = GeomFromText('POLYGON ((2
SET @point1 = GeomFromText('POLYGON ((0 0))');
SET @point2 = GeomFromText('POLYGON ((-2 0))');
-SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS overlaps FROM t1 a1 WHERE Overlaps(a1.square, @vert1) GROUP BY a1.name;
-SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS overlaps FROM t1 a1 WHERE Overlaps(a1.square, @horiz1) GROUP BY a1.name;
-SELECT Overlaps(@horiz1, @vert1) FROM DUAL;
-SELECT Overlaps(@horiz1, @horiz2) FROM DUAL;
-SELECT Overlaps(@horiz1, @horiz3) FROM DUAL;
-SELECT Overlaps(@horiz1, @point1) FROM DUAL;
-SELECT Overlaps(@horiz1, @point2) FROM DUAL;
+SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS overlaps FROM t1 a1 WHERE MBROverlaps(a1.square, @vert1) GROUP BY a1.name;
+SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS overlaps FROM t1 a1 WHERE MBROverlaps(a1.square, @horiz1) GROUP BY a1.name;
+SELECT MBROverlaps(@horiz1, @vert1) FROM DUAL;
+SELECT MBROverlaps(@horiz1, @horiz2) FROM DUAL;
+SELECT MBROverlaps(@horiz1, @horiz3) FROM DUAL;
+SELECT MBROverlaps(@horiz1, @point1) FROM DUAL;
+SELECT MBROverlaps(@horiz1, @point2) FROM DUAL;
DROP TABLE t1;
--- 1.294/BitKeeper/etc/ignore 2007-06-19 17:13:31 +05:00
+++ 1.295/BitKeeper/etc/ignore 2007-06-19 17:13:31 +05:00
@@ -38,7 +38,9 @@
*/.libs/*
*/.pure
*/debug/*
+*/minsizerel/*
*/release/*
+*/relwithdebinfo/*
*~
.*.swp
./CMakeCache.txt
@@ -1019,6 +1021,7 @@ libmysqld/.deps/unireg.Po
libmysqld/backup_dir
libmysqld/client.c
libmysqld/client_settings.h
+libmysqld/cmake_dummy.c
libmysqld/convert.cc
libmysqld/derror.cc
libmysqld/discover.cc
| Thread |
|---|
| • bk commit into 5.1 tree (holyfoot:1.2517) | holyfoot | 19 Jun |