diff options
Diffstat (limited to 'sql/field.cc')
-rw-r--r-- | sql/field.cc | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/sql/field.cc b/sql/field.cc index 658dc711f6e..c3feb0b8826 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -4586,7 +4586,7 @@ void Field_blob::set_key_image(char *buff,uint length) void Field_geom::get_key_image(char *buff,uint length, imagetype type) { -/* length-=HA_KEY_BLOB_LENGTH; + length-=HA_KEY_BLOB_LENGTH; ulong blob_length=get_length(ptr); char *blob; get_ptr(&blob); @@ -4601,8 +4601,6 @@ void Field_geom::get_key_image(char *buff,uint length, imagetype type) float8store(buff+16, mbr.ymin); float8store(buff+24, mbr.ymax); return; -*/ - Field_blob::get_key_image(buff, length, type); } void Field_geom::set_key_image(char *buff,uint length) @@ -4612,7 +4610,7 @@ void Field_geom::set_key_image(char *buff,uint length) void Field_geom::sql_type(String &res) const { - res.set("geometry", 8U, default_charset_info); + res.set("geometry", 8, default_charset_info); } int Field_blob::key_cmp(const byte *key_ptr, uint max_key_length) @@ -5255,10 +5253,10 @@ uint32 calc_pack_length(enum_field_types type,uint32 length) case FIELD_TYPE_LONGLONG: return 8; /* Don't crash if no longlong */ case FIELD_TYPE_NULL : return 0; case FIELD_TYPE_TINY_BLOB: return 1+portable_sizeof_char_ptr; - case FIELD_TYPE_BLOB: return 2+portable_sizeof_char_ptr; + case FIELD_TYPE_BLOB: + case FIELD_TYPE_GEOMETRY: return 2+portable_sizeof_char_ptr; case FIELD_TYPE_MEDIUM_BLOB: return 3+portable_sizeof_char_ptr; case FIELD_TYPE_LONG_BLOB: return 4+portable_sizeof_char_ptr; - case FIELD_TYPE_GEOMETRY: return 2+portable_sizeof_char_ptr; case FIELD_TYPE_SET: case FIELD_TYPE_ENUM: abort(); return 0; // This shouldn't happen default: return 0; |