summaryrefslogtreecommitdiff
path: root/sql/item_geofunc.cc
diff options
context:
space:
mode:
authorunknown <hf@deer.(none)>2005-04-29 20:23:02 +0500
committerunknown <hf@deer.(none)>2005-04-29 20:23:02 +0500
commit1df25ccdac1855e82fc04b2055c193864f8b33b9 (patch)
treea1ccc4cac7fa2e450dd06586cd94df5312459b26 /sql/item_geofunc.cc
parentcfd042108a8d4a38422d965b2a1d1fc8f32f7330 (diff)
downloadmariadb-git-1df25ccdac1855e82fc04b2055c193864f8b33b9.tar.gz
Fix for #6553 and #8776 (no errors on bad spatial data)
mysql-test/r/gis-rtree.result: test result fixed mysql-test/r/gis.result: test result fixed mysql-test/t/gis-rtree.test: test case fixed mysql-test/t/gis.test: test case added sql/field.cc: error messages launched now when we try to put bad spatial data in the GEOMETRY field sql/field.h: interface fixed sql/item_geofunc.cc: bad_data sign now instead of NULL now returned from Item_geometry_from_text::val_str sql/share/errmsg.txt: error message added sql/spatial.cc: bad_geometry data instance sql/spatial.h: bad_geometry_data declaration sql/sql_base.cc: messages now created in store_* function
Diffstat (limited to 'sql/item_geofunc.cc')
-rw-r--r--sql/item_geofunc.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/sql/item_geofunc.cc b/sql/item_geofunc.cc
index 1a8cb50081b..b9f2ec8a6ca 100644
--- a/sql/item_geofunc.cc
+++ b/sql/item_geofunc.cc
@@ -55,8 +55,11 @@ String *Item_func_geometry_from_text::val_str(String *str)
return 0;
str->length(0);
str->q_append(srid);
- if ((null_value= !Geometry::create_from_wkt(&buffer, &trs, str, 0)))
- return 0;
+ if (!Geometry::create_from_wkt(&buffer, &trs, str, 0))
+ /* We shouldn't return NULL here as NULL is a legal spatial object */
+ /* Geometry::bad_spatial_data will produce error message beeing stored*/
+ /* in GEOMETRY field */
+ return &Geometry::bad_geometry_data;
return str;
}