field.cc | field.cc | |||
---|---|---|---|---|
skipping to change at line 7609 | skipping to change at line 7609 | |||
/* The following is used only when comparing a key */ | /* The following is used only when comparing a key */ | |||
uint Field_blob::get_key_image(uchar *buff,uint length, imagetype type_arg) | uint Field_blob::get_key_image(uchar *buff,uint length, imagetype type_arg) | |||
{ | { | |||
uint32 blob_length= get_length(ptr); | uint32 blob_length= get_length(ptr); | |||
uchar *blob; | uchar *blob; | |||
#ifdef HAVE_SPATIAL | #ifdef HAVE_SPATIAL | |||
if (type_arg == itMBR) | if (type_arg == itMBR) | |||
{ | { | |||
const char *dummy; | ||||
MBR mbr; | MBR mbr; | |||
Geometry_buffer buffer; | Geometry_buffer buffer; | |||
Geometry *gobj; | Geometry *gobj; | |||
const uint image_length= SIZEOF_STORED_DOUBLE*4; | const uint image_length= SIZEOF_STORED_DOUBLE*4; | |||
if (blob_length < SRID_SIZE) | if (blob_length < SRID_SIZE) | |||
{ | { | |||
memset(buff, 0, image_length); | memset(buff, 0, image_length); | |||
return image_length; | return image_length; | |||
} | } | |||
get_ptr(&blob); | get_ptr(&blob); | |||
gobj= Geometry::construct(&buffer, (char*) blob, blob_length); | gobj= Geometry::construct(&buffer, (char*) blob, blob_length); | |||
if (!gobj || gobj->get_mbr(&mbr, &dummy)) | if (!gobj || gobj->get_mbr(&mbr)) | |||
memset(buff, 0, image_length); | memset(buff, 0, image_length); | |||
else | else | |||
{ | { | |||
float8store(buff, mbr.xmin); | float8store(buff, mbr.xmin); | |||
float8store(buff+8, mbr.xmax); | float8store(buff+8, mbr.xmax); | |||
float8store(buff+16, mbr.ymin); | float8store(buff+16, mbr.ymin); | |||
float8store(buff+24, mbr.ymax); | float8store(buff+24, mbr.ymax); | |||
} | } | |||
return image_length; | return image_length; | |||
} | } | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 1 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |