summaryrefslogtreecommitdiff
path: root/sql/ha_ndbcluster_binlog.cc
diff options
context:
space:
mode:
authorunknown <tomas@whalegate.ndb.mysql.com>2007-11-06 10:27:56 +0100
committerunknown <tomas@whalegate.ndb.mysql.com>2007-11-06 10:27:56 +0100
commitea9b647d6922f3bfccdfc6966783b76ba0edc9fb (patch)
treea9784de144f443250c230c1e3857c9b0f56a6589 /sql/ha_ndbcluster_binlog.cc
parentac7e0c857f7d44cb3d7b8d7696dc5c4d044167f6 (diff)
downloadmariadb-git-ea9b647d6922f3bfccdfc6966783b76ba0edc9fb.tar.gz
break out tuple data read
sql/ha_ndbcluster_binlog.cc: more state saving storage/ndb/tools/restore/Restore.cpp: ndb: break out tuple data read for ndb_restore more save state in run query
Diffstat (limited to 'sql/ha_ndbcluster_binlog.cc')
-rw-r--r--sql/ha_ndbcluster_binlog.cc25
1 files changed, 15 insertions, 10 deletions
diff --git a/sql/ha_ndbcluster_binlog.cc b/sql/ha_ndbcluster_binlog.cc
index 93f7027d788..4bb17dffa4a 100644
--- a/sql/ha_ndbcluster_binlog.cc
+++ b/sql/ha_ndbcluster_binlog.cc
@@ -241,19 +241,22 @@ static void dbug_print_table(const char *info, TABLE *table)
static void run_query(THD *thd, char *buf, char *end,
const int *no_print_error, my_bool disable_binlog)
{
- ulong save_query_length= thd->query_length;
- char *save_query= thd->query;
- struct system_variables save_variables= thd->variables;
- struct system_status_var save_status_var= thd->status_var;
+ ulong save_thd_query_length= thd->query_length;
+ char *save_thd_query= thd->query;
+ struct system_variables save_thd_variables= thd->variables;
+ struct system_status_var save_thd_status_var= thd->status_var;
+ THD_TRANS save_thd_transaction_all= thd->transaction.all;
+ THD_TRANS save_thd_transaction_stmt= thd->transaction.stmt;
ulonglong save_thd_options= thd->options;
DBUG_ASSERT(sizeof(save_thd_options) == sizeof(thd->options));
- NET save_net= thd->net;
+ NET save_thd_net= thd->net;
const char* found_semicolon= NULL;
bzero((char*) &thd->net, sizeof(NET));
thd->query_length= end - buf;
thd->query= buf;
thd->variables.pseudo_thread_id= thread_id;
+ thd->transaction.stmt.modified_non_trans_table= FALSE;
if (disable_binlog)
thd->options&= ~OPTION_BIN_LOG;
@@ -276,11 +279,13 @@ static void run_query(THD *thd, char *buf, char *end,
}
thd->options= save_thd_options;
- thd->query_length= save_query_length;
- thd->query= save_query;
- thd->variables= save_variables;
- thd->status_var= save_status_var;
- thd->net= save_net;
+ thd->query_length= save_thd_query_length;
+ thd->query= save_thd_query;
+ thd->variables= save_thd_variables;
+ thd->status_var= save_thd_status_var;
+ thd->transaction.all= save_thd_transaction_all;
+ thd->transaction.stmt= save_thd_transaction_stmt;
+ thd->net= save_thd_net;
if (thd == injector_thd)
{