summaryrefslogtreecommitdiff
path: root/sql/gcalc_tools.cc
diff options
context:
space:
mode:
authorAlexey Botchkov <holyfoot@askmonty.org>2011-09-23 17:00:36 +0500
committerAlexey Botchkov <holyfoot@askmonty.org>2011-09-23 17:00:36 +0500
commit6e7d578b2b3fad8671504785b757e53b11516b22 (patch)
treebae936260d8fbced7090f092e5a8e0ca0064fbd1 /sql/gcalc_tools.cc
parent5b83aee35dffff0de4758a2a595624a18bec2b3e (diff)
downloadmariadb-git-6e7d578b2b3fad8671504785b757e53b11516b22.tar.gz
bug 857087 Wrong result with ST_INTERSECTS and LINESTRINGs
Line autointersection point was treated as if it doesn't belong to the line. It's in some way logical, but seems to confuse people. Fixed. per_file_comments: mysql-test/r/gis-precise.result bug 857087 Wrong result with ST_INTERSECTS and LINESTRINGs test result updated. mysql-test/t/gis-precise.test bug 857087 Wrong result with ST_INTERSECTS and LINESTRINGs test case added. sql/gcalc_tools.cc bug 857087 Wrong result with ST_INTERSECTS and LINESTRINGs Point of line autointersection handled as it belongs to the line. sql/gcalc_tools.h bug 857087 Wrong result with ST_INTERSECTS and LINESTRINGs Gcalc_function::set_i_state() added
Diffstat (limited to 'sql/gcalc_tools.cc')
-rw-r--r--sql/gcalc_tools.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/sql/gcalc_tools.cc b/sql/gcalc_tools.cc
index 69071c16ee8..8e881b84c5d 100644
--- a/sql/gcalc_tools.cc
+++ b/sql/gcalc_tools.cc
@@ -297,7 +297,7 @@ int Gcalc_function::check_function(Gcalc_scan_iterator &scan_it)
(get_shape_kind(si) == Gcalc_function::shape_polygon))
set_b_state(si);
else if (get_shape_kind(si) == Gcalc_function::shape_line)
- invert_i_state(si);
+ set_i_state(si);
}
if (count())
@@ -313,7 +313,7 @@ int Gcalc_function::check_function(Gcalc_scan_iterator &scan_it)
(get_shape_kind(si) == Gcalc_function::shape_polygon))
clear_b_state(si);
else if (get_shape_kind(si) == Gcalc_function::shape_line)
- invert_i_state(si);
+ clear_i_state(si);
}
if (scan_it.get_event_position() == scan_it.get_event_end())