diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc index d2b0e89254e77fce271912c10857a26d3c30f818..7818a23fcd81332fbf1fd1b8183cf42aa584e4dc 100644 --- a/sql/item_strfunc.cc +++ b/sql/item_strfunc.cc @@ -2666,6 +2666,9 @@ Functions to concatinate various spatial objects String *Item_func_point::val_str(String *str) { + double x= args[0]->val(); + double y= args[1]->val(); + if ( (null_value = (args[0]->null_value || args[1]->null_value || str->realloc(1+4+8+8)))) @@ -2674,8 +2677,8 @@ String *Item_func_point::val_str(String *str) str->length(0); str->q_append((char)Geometry::wkbNDR); str->q_append((uint32)Geometry::wkbPoint); - str->q_append((double)args[0]->val()); - str->q_append((double)args[1]->val()); + str->q_append(x); + str->q_append(y); return str; } @@ -2707,11 +2710,10 @@ String *Item_func_spatial_collection::val_str(String *str) for (i = 0; i < arg_count; ++i) { + String *res = args[i]->val_str(&arg_value); if (args[i]->null_value) goto ret; - String *res = args[i]->val_str(&arg_value); - if ( coll_type == Geometry::wkbGeometryCollection ) { /*