Fixed the usage of spatial data (and Point in specific) with
non-spatial indexes.
Several problems :
- The length of the Point class was not updated to include the
spatial reference system identifier. Fixed by increasing with 4
bytes.
- The storage length of the spatial columns was not accounting for
the length that is prepended to it. Fixed by treating the
spatial data columns as blobs (and thus increasing the storage
length)
- When creating the key image for comparison in index read wrong
key image was created (the one needed for and r-tree search,
not the one for b-tree/other search). Fixed by treating the
spatial data columns as blobs (and creating the correct kind of
image based on the index type).
mysql-test/r/bdb_gis.result:
Bug #30825: bdb tests
mysql-test/r/gis-rtree.result:
Bug #30825: key length changed
mysql-test/r/gis.result:
Bug #30825: MyISAM tests
mysql-test/r/innodb_gis.result:
Bug #30825: InnoDB tests
mysql-test/t/bdb_gis.test:
Bug #30825: bdb tests
mysql-test/t/gis.test:
Bug #30825: MyISAM tests
mysql-test/t/innodb_gis.test:
Bug #30825: InnoDB tests
sql/field.cc:
Bug #30825: Removed Field_geom::get_key_image as Field_blog::get_key_image
takes type parameter into consideration and is a superset of
Field_geom::get_key_image()
sql/field.h:
Bug #30825: Removed Field_geom::get_key_image as Field_blog::get_key_image
takes type parameter into consideration and is a superset of
Field_geom::get_key_image()
sql/sql_select.h:
Bug #30825: Geometry data are a blob derivate
sql/sql_table.cc:
Bug #30825: Increased key length to accomodate for
spatial reference system identifier (srid)
sql/sql_yacc.yy:
Bug #30825: Increased key length to accomodate for
spatial reference system identifier (srid)
sql/table.cc:
Bug #30825: It stores a length for spatial data
as well, so increase the storage length (as it's
done for blobs).
mysql-test/include/gis_keys.inc:
Bug #30825: Test file for spatial data and non-spatial indexes
Cleaned up xxxx_gis.test's and made gis_generic.inc independent of ndb
(Note that archive_gis.test fails, but this is independent of this patch)
client/mysqldump.c:
Add DROP TABLE to be able to re-run mysqldump if it fails after 'table-named-as-view' is created
mysql-test/include/gis_generic.inc:
Remove dependency of ndb
mysql-test/include/have_archive.inc:
Fix syntax
mysql-test/include/have_geometry.inc:
Fix syntax
mysql-test/r/mysqldump.result:
New test results after adding 'drop table'
mysql-test/t/archive_gis.test:
gis_generic tests for have_geometry.inc
mysql-test/t/bdb_gis.test:
gis_generic tests for have_geometry.inc
mysql-test/t/innodb_gis.test:
gis_generic tests for have_geometry.inc
mysql-test/t/ndb_gis.test:
gis_generic tests for have_geometry.inc
sql/item_func.cc:
Simplify code (as signal_divide_by_null sets 'null_value')
sql/ha_archive.h:
Adding support for Geometry type to archive.
sql/ha_berkeley.cc:
Adding geometry support to berkely
sql/ha_innodb.cc:
Adding geometry support to Innodb.
sql/ha_ndbcluster.cc:
Adding Geometry support to NDB.
mysql-test/include/gis_generic.inc:
New BitKeeper file ``mysql-test/include/gis_generic.inc''
mysql-test/r/archive_gis.result:
New BitKeeper file ``mysql-test/r/archive_gis.result''
mysql-test/r/bdb_gis.result:
New BitKeeper file ``mysql-test/r/bdb_gis.result''
mysql-test/r/ndb_gis.result:
New BitKeeper file ``mysql-test/r/ndb_gis.result''
mysql-test/t/archive_gis.test:
New BitKeeper file ``mysql-test/t/archive_gis.test''
mysql-test/t/bdb_gis.test:
New BitKeeper file ``mysql-test/t/bdb_gis.test''
mysql-test/t/innodb_gis.test:
New BitKeeper file ``mysql-test/t/innodb_gis.test''
mysql-test/t/ndb_gis.test:
New BitKeeper file ``mysql-test/t/ndb_gis.test''