Commit 2616b657 authored by unknown's avatar unknown

Fix for bug #12267 (primary key over GEOMETRY field)


mysql-test/r/gis.result:
  test result fixed
mysql-test/t/gis.test:
  test case added
sql/sql_table.cc:
  we should check this for GEOMETRY fields
parent ddd18a89
......@@ -680,3 +680,8 @@ select astext(fn3());
astext(fn3())
POINT(1 1)
drop function fn3;
create table t1(pt POINT);
alter table t1 add primary key pti(pt);
ERROR 42000: BLOB/TEXT column 'pt' used in key specification without a key length
alter table t1 add primary key pti(pt(20));
drop table t1;
......@@ -395,3 +395,11 @@ show create function fn3;
select astext(fn3());
drop function fn3;
#
# Bug #12267 (primary key over GIS)
#
create table t1(pt POINT);
--error 1170
alter table t1 add primary key pti(pt);
alter table t1 add primary key pti(pt(20));
drop table t1;
......@@ -1148,7 +1148,8 @@ static int mysql_prepare_table(THD *thd, HA_CREATE_INFO *create_info,
{
column->length*= sql_field->charset->mbmaxlen;
if (f_is_blob(sql_field->pack_flag))
if (f_is_blob(sql_field->pack_flag) ||
(f_is_geom(sql_field->pack_flag) && key->type != Key::SPATIAL))
{
if (!(file->table_flags() & HA_CAN_INDEX_BLOBS))
{
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment