sql_table.cc, field.cc:
Bug fix opt_range.cc: Buf fix sql/field.cc: Bug fix sql/opt_range.cc: Buf fix sql/sql_table.cc: Bug fix
This commit is contained in:
parent
b3982368a8
commit
2b14161212
@ -4530,7 +4530,6 @@ void Field_geom::get_key_image(char *buff,uint length,CHARSET_INFO *cs,
|
||||
ulong blob_length=get_length(ptr);
|
||||
char *blob;
|
||||
get_ptr(&blob);
|
||||
memcpy(buff+2,blob,length);
|
||||
|
||||
MBR mbr;
|
||||
Geometry gobj;
|
||||
|
@ -2153,7 +2153,7 @@ check_quick_keys(PARAM *param,uint idx,SEL_ARG *key_tree,
|
||||
if (tmp_min_flag & GEOM_FLAG)
|
||||
{
|
||||
tmp= param->table->file->
|
||||
records_in_range((int) keynr, (byte*)(param->min_key + 1),
|
||||
records_in_range((int) keynr, (byte*)(param->min_key),
|
||||
min_key_length,
|
||||
(ha_rkey_function)(tmp_min_flag ^ GEOM_FLAG),
|
||||
(byte *)NullS, 0, HA_READ_KEY_EXACT);
|
||||
|
@ -705,14 +705,6 @@ int mysql_create_table(THD *thd,const char *db, const char *table_name,
|
||||
{
|
||||
if (key->type == Key::FULLTEXT)
|
||||
column->length=1; /* ft-code ignores it anyway :-) */
|
||||
else if (key->type == Key::SPATIAL)
|
||||
{
|
||||
/*
|
||||
BAR: 4 is: (Xmin,Xmax,Ymin,Ymax), this is for 2D case
|
||||
Lately we'll extend this code to support more dimensions
|
||||
*/
|
||||
column->length=4*sizeof(double);
|
||||
}
|
||||
else
|
||||
{
|
||||
my_printf_error(ER_BLOB_KEY_WITHOUT_LENGTH,
|
||||
@ -722,6 +714,17 @@ int mysql_create_table(THD *thd,const char *db, const char *table_name,
|
||||
}
|
||||
}
|
||||
}
|
||||
if (key->type == Key::SPATIAL)
|
||||
{
|
||||
if (!column->length )
|
||||
{
|
||||
/*
|
||||
BAR: 4 is: (Xmin,Xmax,Ymin,Ymax), this is for 2D case
|
||||
Lately we'll extend this code to support more dimensions
|
||||
*/
|
||||
column->length=4*sizeof(double);
|
||||
}
|
||||
}
|
||||
if (!(sql_field->flags & NOT_NULL_FLAG))
|
||||
{
|
||||
if (key->type == Key::PRIMARY)
|
||||
@ -757,6 +760,9 @@ int mysql_create_table(THD *thd,const char *db, const char *table_name,
|
||||
DBUG_RETURN(-1);
|
||||
}
|
||||
}
|
||||
else if (f_is_geom(sql_field->pack_flag))
|
||||
{
|
||||
}
|
||||
else if (column->length > length ||
|
||||
((f_is_packed(sql_field->pack_flag) ||
|
||||
((file->table_flags() & HA_NO_PREFIX_CHAR_KEYS) &&
|
||||
|
Loading…
x
Reference in New Issue
Block a user