diff options
author | Sergei Golubchik <sergii@pisem.net> | 2010-07-23 22:37:21 +0200 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2010-07-23 22:37:21 +0200 |
commit | 069a068c90d8fa6ccb8028f3f2cd42c238b04699 (patch) | |
tree | 4d14a68363d56ecd99ff11e0eaa5258691b714c8 /storage/federatedx | |
parent | 24c08f5279ff350495d7334dcecd470a3c88cefb (diff) | |
download | mariadb-git-069a068c90d8fa6ccb8028f3f2cd42c238b04699.tar.gz |
restore the unintentinally broken ABI
Diffstat (limited to 'storage/federatedx')
-rw-r--r-- | storage/federatedx/ha_federatedx.cc | 8 | ||||
-rw-r--r-- | storage/federatedx/ha_federatedx.h | 4 |
2 files changed, 8 insertions, 4 deletions
diff --git a/storage/federatedx/ha_federatedx.cc b/storage/federatedx/ha_federatedx.cc index 435530e8caa..a88c60efb74 100644 --- a/storage/federatedx/ha_federatedx.cc +++ b/storage/federatedx/ha_federatedx.cc @@ -2143,12 +2143,12 @@ void ha_federatedx::start_bulk_insert(ha_rows rows) @retval != 0 Error occured at remote server. Also sets my_errno. */ -int ha_federatedx::end_bulk_insert(bool abort) +int ha_federatedx::end_bulk_insert() { int error= 0; DBUG_ENTER("ha_federatedx::end_bulk_insert"); - if (bulk_insert.str && bulk_insert.length && !abort) + if (bulk_insert.str && bulk_insert.length && !table_will_be_deleted) { if ((error= txn->acquire(share, FALSE, &io))) DBUG_RETURN(error); @@ -3082,6 +3082,9 @@ int ha_federatedx::extra(ha_extra_function operation) case HA_EXTRA_INSERT_WITH_UPDATE: insert_dup_update= TRUE; break; + case HA_EXTRA_PREPARE_FOR_DROP: + table_will_be_deleted = TRUE; + break; default: /* do nothing */ DBUG_PRINT("info",("unhandled operation: %d", (uint) operation)); @@ -3391,6 +3394,7 @@ int ha_federatedx::external_lock(MYSQL_THD thd, int lock_type) txn->release(&io); else { + table_will_be_deleted = FALSE; txn= get_txn(thd); if (!(error= txn->acquire(share, lock_type == F_RDLCK, &io)) && (lock_type == F_WRLCK || !io->is_autocommit())) diff --git a/storage/federatedx/ha_federatedx.h b/storage/federatedx/ha_federatedx.h index 0fa9df25895..2fd3c559321 100644 --- a/storage/federatedx/ha_federatedx.h +++ b/storage/federatedx/ha_federatedx.h @@ -259,7 +259,7 @@ class ha_federatedx: public handler int remote_error_number; char remote_error_buf[FEDERATEDX_QUERY_BUFFER_SIZE]; bool ignore_duplicates, replace_duplicates; - bool insert_dup_update; + bool insert_dup_update, table_will_be_deleted; DYNAMIC_STRING bulk_insert; private: @@ -379,7 +379,7 @@ public: int close(void); // required void start_bulk_insert(ha_rows rows); - int end_bulk_insert(bool abort); + int end_bulk_insert(); int write_row(uchar *buf); int update_row(const uchar *old_data, uchar *new_data); int delete_row(const uchar *buf); |