summaryrefslogtreecommitdiff
path: root/sql/gcalc_tools.h
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.h
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.h')
-rw-r--r--sql/gcalc_tools.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/sql/gcalc_tools.h b/sql/gcalc_tools.h
index 5e98d46a90f..d79ba630506 100644
--- a/sql/gcalc_tools.h
+++ b/sql/gcalc_tools.h
@@ -104,6 +104,8 @@ public:
void set_states(int *shape_states) { i_states= shape_states; }
int alloc_states();
void invert_i_state(gcalc_shape_info shape) { i_states[shape]^= 1; }
+ void set_i_state(gcalc_shape_info shape) { i_states[shape]= 1; }
+ void clear_i_state(gcalc_shape_info shape) { i_states[shape]= 0; }
void set_b_state(gcalc_shape_info shape) { b_states[shape]= 1; }
void clear_b_state(gcalc_shape_info shape) { b_states[shape]= 0; }
int get_state(gcalc_shape_info shape)