diff options
author | Alexey Botchkov <holyfoot@askmonty.org> | 2011-09-23 17:00:36 +0500 |
---|---|---|
committer | Alexey Botchkov <holyfoot@askmonty.org> | 2011-09-23 17:00:36 +0500 |
commit | 6e7d578b2b3fad8671504785b757e53b11516b22 (patch) | |
tree | bae936260d8fbced7090f092e5a8e0ca0064fbd1 /sql/gcalc_tools.h | |
parent | 5b83aee35dffff0de4758a2a595624a18bec2b3e (diff) | |
download | mariadb-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.h | 2 |
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) |