summaryrefslogtreecommitdiff
path: root/sql/gcalc_tools.cc
diff options
context:
space:
mode:
authorAlexey Botchkov <holyfoot@askmonty.org>2011-11-20 12:30:43 +0400
committerAlexey Botchkov <holyfoot@askmonty.org>2011-11-20 12:30:43 +0400
commit5a4c91003a73c551d89e0c6878edfe03704352fe (patch)
tree2be110dc992f0631b422ea2ea9a55fe64e8beb28 /sql/gcalc_tools.cc
parent8ea398292e9c5ae8e8efcaccde8e781317855d13 (diff)
downloadmariadb-git-5a4c91003a73c551d89e0c6878edfe03704352fe.tar.gz
Fix for bug #809849 spatial operations must be KILL-able.
Checks for thd->killed state added to the long loops in geometry calculations. per-file comments: sql/gcalc_slicescan.cc Fix for bug #809849 spatial operations must be KILL-able. checks for TERMINATED_STATE added. sql/gcalc_slicescan.h Fix for bug #809849 spatial operations must be KILL-able. defines added to include checks for termination in the library. sql/gcalc_tools.cc Fix for bug #809849 spatial operations must be KILL-able. checks for TERMINATED_STATE added. sql/gcalc_tools.h Fix for bug #809849 spatial operations must be KILL-able. TERMINATED_STATE pointers added. sql/item_geofunc.cc Fix for bug #809849 spatial operations must be KILL-able. sql/item_geofunc.h Fix for bug #809849 spatial operations must be KILL-able.
Diffstat (limited to 'sql/gcalc_tools.cc')
-rw-r--r--sql/gcalc_tools.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/sql/gcalc_tools.cc b/sql/gcalc_tools.cc
index b4b01767f5f..161fa385f16 100644
--- a/sql/gcalc_tools.cc
+++ b/sql/gcalc_tools.cc
@@ -637,6 +637,7 @@ void Gcalc_operation_reducer::init(Gcalc_function *fn, modes mode)
m_lines_hook= (Gcalc_dyn_list::Item **) &m_lines;
m_poly_borders= NULL;
m_poly_borders_hook= (Gcalc_dyn_list::Item **) &m_poly_borders;
+ GCALC_SET_TERMINATED(killed, 0);
}
@@ -1218,6 +1219,7 @@ int Gcalc_operation_reducer::count_all(Gcalc_heap *hp)
Gcalc_scan_iterator si;
GCALC_DBUG_ENTER("Gcalc_operation_reducer::count_all");
si.init(hp);
+ GCALC_SET_TERMINATED(si.killed, killed);
while (si.more_points())
{
if (si.step())