Loading myisam/mi_check.c +13 −9 Original line number Diff line number Diff line Loading @@ -1044,8 +1044,12 @@ int chk_data_link(MI_CHECK *param, MI_INFO *info,int extend) /* We don't need to lock the key tree here as we don't allow concurrent threads when running myisamchk */ if (_mi_search(info,keyinfo,info->lastkey,key_length, SEARCH_SAME, info->s->state.key_root[key])) int search_result= (keyinfo->flag & HA_SPATIAL) ? rtree_find_first(info, key, info->lastkey, key_length, SEARCH_SAME) : _mi_search(info,keyinfo,info->lastkey,key_length, SEARCH_SAME, info->s->state.key_root[key]); if (search_result) { mi_check_print_error(param,"Record at: %10s Can't find key for index: %2d", llstr(start_recpos,llbuff),key+1); Loading mysql-test/r/gis-rtree.result +13 −0 Original line number Diff line number Diff line Loading @@ -804,3 +804,16 @@ CREATE TABLE t2 (geom GEOMETRY NOT NULL, SPATIAL KEY gk(geom)); INSERT INTO t2 SELECT GeomFromText(st) FROM t1; ERROR HY000: Unknown error drop table t1, t2; CREATE TABLE t1 (`geometry` geometry NOT NULL default '',SPATIAL KEY `gndx` (`geometry`(32))) ENGINE=MyISAM DEFAULT CHARSET=latin1; INSERT INTO t1 (geometry) VALUES (PolygonFromText('POLYGON((-18.6086111000 -66.9327777000, -18.6055555000 -66.8158332999, -18.7186111000 -66.8102777000, -18.7211111000 -66.9269443999, -18.6086111000 -66.9327777000))')); INSERT INTO t1 (geometry) VALUES (PolygonFromText('POLYGON((-65.7402776999 -96.6686111000, -65.7372222000 -96.5516666000, -65.8502777000 -96.5461111000, -65.8527777000 -96.6627777000, -65.7402776999 -96.6686111000))')); check table t1 extended; Table Op Msg_type Msg_text test.t1 check status OK drop table t1; mysql-test/t/gis-rtree.test +15 −0 Original line number Diff line number Diff line Loading @@ -173,4 +173,19 @@ CREATE TABLE t2 (geom GEOMETRY NOT NULL, SPATIAL KEY gk(geom)); INSERT INTO t2 SELECT GeomFromText(st) FROM t1; drop table t1, t2; CREATE TABLE t1 (`geometry` geometry NOT NULL default '',SPATIAL KEY `gndx` (`geometry`(32))) ENGINE=MyISAM DEFAULT CHARSET=latin1; INSERT INTO t1 (geometry) VALUES (PolygonFromText('POLYGON((-18.6086111000 -66.9327777000, -18.6055555000 -66.8158332999, -18.7186111000 -66.8102777000, -18.7211111000 -66.9269443999, -18.6086111000 -66.9327777000))')); INSERT INTO t1 (geometry) VALUES (PolygonFromText('POLYGON((-65.7402776999 -96.6686111000, -65.7372222000 -96.5516666000, -65.8502777000 -96.5461111000, -65.8527777000 -96.6627777000, -65.7402776999 -96.6686111000))')); check table t1 extended; drop table t1; # End of 4.1 tests Loading
myisam/mi_check.c +13 −9 Original line number Diff line number Diff line Loading @@ -1044,8 +1044,12 @@ int chk_data_link(MI_CHECK *param, MI_INFO *info,int extend) /* We don't need to lock the key tree here as we don't allow concurrent threads when running myisamchk */ if (_mi_search(info,keyinfo,info->lastkey,key_length, SEARCH_SAME, info->s->state.key_root[key])) int search_result= (keyinfo->flag & HA_SPATIAL) ? rtree_find_first(info, key, info->lastkey, key_length, SEARCH_SAME) : _mi_search(info,keyinfo,info->lastkey,key_length, SEARCH_SAME, info->s->state.key_root[key]); if (search_result) { mi_check_print_error(param,"Record at: %10s Can't find key for index: %2d", llstr(start_recpos,llbuff),key+1); Loading
mysql-test/r/gis-rtree.result +13 −0 Original line number Diff line number Diff line Loading @@ -804,3 +804,16 @@ CREATE TABLE t2 (geom GEOMETRY NOT NULL, SPATIAL KEY gk(geom)); INSERT INTO t2 SELECT GeomFromText(st) FROM t1; ERROR HY000: Unknown error drop table t1, t2; CREATE TABLE t1 (`geometry` geometry NOT NULL default '',SPATIAL KEY `gndx` (`geometry`(32))) ENGINE=MyISAM DEFAULT CHARSET=latin1; INSERT INTO t1 (geometry) VALUES (PolygonFromText('POLYGON((-18.6086111000 -66.9327777000, -18.6055555000 -66.8158332999, -18.7186111000 -66.8102777000, -18.7211111000 -66.9269443999, -18.6086111000 -66.9327777000))')); INSERT INTO t1 (geometry) VALUES (PolygonFromText('POLYGON((-65.7402776999 -96.6686111000, -65.7372222000 -96.5516666000, -65.8502777000 -96.5461111000, -65.8527777000 -96.6627777000, -65.7402776999 -96.6686111000))')); check table t1 extended; Table Op Msg_type Msg_text test.t1 check status OK drop table t1;
mysql-test/t/gis-rtree.test +15 −0 Original line number Diff line number Diff line Loading @@ -173,4 +173,19 @@ CREATE TABLE t2 (geom GEOMETRY NOT NULL, SPATIAL KEY gk(geom)); INSERT INTO t2 SELECT GeomFromText(st) FROM t1; drop table t1, t2; CREATE TABLE t1 (`geometry` geometry NOT NULL default '',SPATIAL KEY `gndx` (`geometry`(32))) ENGINE=MyISAM DEFAULT CHARSET=latin1; INSERT INTO t1 (geometry) VALUES (PolygonFromText('POLYGON((-18.6086111000 -66.9327777000, -18.6055555000 -66.8158332999, -18.7186111000 -66.8102777000, -18.7211111000 -66.9269443999, -18.6086111000 -66.9327777000))')); INSERT INTO t1 (geometry) VALUES (PolygonFromText('POLYGON((-65.7402776999 -96.6686111000, -65.7372222000 -96.5516666000, -65.8502777000 -96.5461111000, -65.8527777000 -96.6627777000, -65.7402776999 -96.6686111000))')); check table t1 extended; drop table t1; # End of 4.1 tests