summaryrefslogtreecommitdiff
path: root/storage/federatedx
diff options
context:
space:
mode:
Diffstat (limited to 'storage/federatedx')
-rw-r--r--storage/federatedx/federatedx_pushdown.cc13
1 files changed, 12 insertions, 1 deletions
diff --git a/storage/federatedx/federatedx_pushdown.cc b/storage/federatedx/federatedx_pushdown.cc
index 2bcee943308..15b0b0d3d4e 100644
--- a/storage/federatedx/federatedx_pushdown.cc
+++ b/storage/federatedx/federatedx_pushdown.cc
@@ -182,6 +182,16 @@ create_federatedx_select_handler(THD* thd, SELECT_LEX *sel)
return 0;
}
+ /*
+ Currently, ha_federatedx_select_handler::init_scan just takes the
+ thd->query and sends it to the backend.
+ This obviously won't work if the SELECT uses an "INTO @var" or
+ "INTO OUTFILE". It is also unlikely to work if the select has some
+ other kind of side effect.
+ */
+ if (sel->uncacheable & UNCACHEABLE_SIDEEFFECT)
+ return NULL;
+
handler= new ha_federatedx_select_handler(thd, sel);
return handler;
@@ -286,8 +296,9 @@ int ha_federatedx_select_handler::end_scan()
DBUG_RETURN(0);
}
-void ha_federatedx_select_handler::print_error(int, unsigned long)
+void ha_federatedx_select_handler::print_error(int error, myf error_flag)
{
+ select_handler::print_error(error, error_flag);
}