mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.r18.ru:/usr/home/ram/work/mysql-4.1.sp sql/item_strfunc.cc: Auto merged
This commit is contained in:
@ -2624,20 +2624,21 @@ String *Item_func_geometry_type::val_str(String *str)
|
||||
|
||||
String *Item_func_envelope::val_str(String *str)
|
||||
{
|
||||
String *res= args[0]->val_str(str);
|
||||
String arg_val;
|
||||
String *swkb= args[0]->val_str(&arg_val);
|
||||
Geometry geom;
|
||||
|
||||
if ((null_value= args[0]->null_value ||
|
||||
geom.create_from_wkb(res->ptr() + SRID_SIZE,
|
||||
res->length() - SRID_SIZE)))
|
||||
geom.create_from_wkb(swkb->ptr() + SRID_SIZE,
|
||||
swkb->length() - SRID_SIZE)))
|
||||
return 0;
|
||||
|
||||
uint32 srid= uint4korr(res->ptr());
|
||||
if (res->reserve(SRID_SIZE, 512))
|
||||
uint32 srid= uint4korr(swkb->ptr());
|
||||
str->length(0);
|
||||
if (str->reserve(SRID_SIZE, 512))
|
||||
return 0;
|
||||
res->length(0);
|
||||
res->q_append(srid);
|
||||
return (null_value= geom.envelope(res)) ? 0 : res;
|
||||
str->q_append(srid);
|
||||
return (null_value= geom.envelope(str)) ? 0 : str;
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user