summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--storage/federatedx/federatedx_pushdown.cc11
-rw-r--r--storage/federatedx/federatedx_pushdown.h1
2 files changed, 4 insertions, 8 deletions
diff --git a/storage/federatedx/federatedx_pushdown.cc b/storage/federatedx/federatedx_pushdown.cc
index 5402a7e4f16..82bdc2dc241 100644
--- a/storage/federatedx/federatedx_pushdown.cc
+++ b/storage/federatedx/federatedx_pushdown.cc
@@ -137,18 +137,13 @@ int federatedx_handler_base::end_scan_()
DBUG_ENTER("ha_federatedx_derived_handler::end_scan");
(*iop)->free_result(stored_result);
-
- free_share(txn, share);
+ if (share)
+ free_share(txn, share);
DBUG_RETURN(0);
}
-void ha_federatedx_derived_handler::print_error(int, unsigned long)
-{
-}
-
-
static select_handler *create_federatedx_select_handler(
THD *thd, SELECT_LEX *sel_lex)
{
@@ -228,6 +223,8 @@ int federatedx_handler_base::init_scan_()
ha_federatedx *h= (ha_federatedx *) query_table->file;
iop= &h->io;
share= get_share(query_table->s->table_name.str, query_table);
+ if (!share)
+ goto err;
txn= h->get_txn(thd);
if ((rc= txn->acquire(share, thd, TRUE, iop)))
DBUG_RETURN(rc);
diff --git a/storage/federatedx/federatedx_pushdown.h b/storage/federatedx/federatedx_pushdown.h
index 9a3ec10b310..d369039891f 100644
--- a/storage/federatedx/federatedx_pushdown.h
+++ b/storage/federatedx/federatedx_pushdown.h
@@ -51,7 +51,6 @@ public:
int init_scan() { return federatedx_handler_base::init_scan_(); }
int next_row() { return federatedx_handler_base::next_row_(table); }
int end_scan() { return federatedx_handler_base::end_scan_(); }
- void print_error(int, unsigned long);
};