diff options
Diffstat (limited to 'storage/federatedx')
-rw-r--r-- | storage/federatedx/federatedx_pushdown.cc | 13 |
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); } |