diff options
author | ram@mysql.r18.ru <> | 2003-04-04 14:10:24 +0500 |
---|---|---|
committer | ram@mysql.r18.ru <> | 2003-04-04 14:10:24 +0500 |
commit | d29557cb68e9049642c305820ce8a9dda26679c3 (patch) | |
tree | b6bd1f17a19d8a9910a1efe9bcf945cc340b6ee2 | |
parent | be27b2369b8755cd3fe98b258bd620b054799744 (diff) | |
parent | 7a856411ec49f2ce64b72981c66d290bb402bcbc (diff) | |
download | mariadb-git-d29557cb68e9049642c305820ce8a9dda26679c3.tar.gz |
Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.r18.ru:/usr/home/ram/work/mysql-4.1.sp
-rw-r--r-- | sql/item_strfunc.cc | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc index 0ec2acb5d75..45a7625b331 100644 --- a/sql/item_strfunc.cc +++ b/sql/item_strfunc.cc @@ -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; } |