summaryrefslogtreecommitdiff
path: root/sql/spatial.cc
diff options
context:
space:
mode:
authorhf@deer.(none) <>2004-05-25 15:06:32 +0500
committerhf@deer.(none) <>2004-05-25 15:06:32 +0500
commitf200b0fbf0594bc3f75dd93795722c499f1a0afb (patch)
tree1bd30ca9cbdba7bdacc7453d22bf1f95af138fd0 /sql/spatial.cc
parent216c3a3b5f01d46240d0175821fe672e8558484c (diff)
downloadmariadb-git-f200b0fbf0594bc3f75dd93795722c499f1a0afb.tar.gz
WL#1562 (Improving spatial code)
A set of changes improving our RTree indexes and fixed few bugs found during the tests
Diffstat (limited to 'sql/spatial.cc')
-rw-r--r--sql/spatial.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/sql/spatial.cc b/sql/spatial.cc
index ab415d9af10..f26e7dc3e83 100644
--- a/sql/spatial.cc
+++ b/sql/spatial.cc
@@ -395,7 +395,7 @@ bool Gis_line_string::init_from_wkt(Gis_read_stream *trs, String *wkb)
if (trs->skip_char(',')) // Didn't find ','
break;
}
- if (n_points < 2)
+ if (n_points < 1)
{
trs->set_error_msg("Too few points in LINESTRING");
return 1;
@@ -484,6 +484,11 @@ int Gis_line_string::is_closed(int *closed) const
if (no_data(data, 4))
return 1;
n_points= uint4korr(data);
+ if (n_points == 1)
+ {
+ *closed=1;
+ return 0;
+ }
data+= 4;
if (no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points))
return 1;