From 9dfc925db0db97f20a561d976bd9c2c40917600a Mon Sep 17 00:00:00 2001
From: unknown <tomas@poseidon.ndb.mysql.com>
Date: Wed, 20 Feb 2008 12:52:04 +0100
Subject: [PATCH] Upon the sql command flush logs, we need to ensure that all
 outstanding ndb data to be logged has made it to the binary log to get a
 deterministic behavior on the rotation of the log.

---
 sql/ha_ndbcluster_binlog.cc | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/sql/ha_ndbcluster_binlog.cc b/sql/ha_ndbcluster_binlog.cc
index 841dce2d83..af185e9736 100644
--- a/sql/ha_ndbcluster_binlog.cc
+++ b/sql/ha_ndbcluster_binlog.cc
@@ -683,6 +683,18 @@ static void ndbcluster_reset_slave(THD *thd)
 /*
   Initialize the binlog part of the ndb handlerton
 */
+
+/**
+  Upon the sql command flush logs, we need to ensure that all outstanding
+  ndb data to be logged has made it to the binary log to get a deterministic
+  behavior on the rotation of the log.
+ */
+static bool ndbcluster_flush_logs(handlerton *hton)
+{
+  ndbcluster_binlog_wait(current_thd);
+  return FALSE;
+}
+
 static int ndbcluster_binlog_func(handlerton *hton, THD *thd, 
                                   enum_binlog_func fn, 
                                   void *arg)
@@ -711,6 +723,7 @@ static int ndbcluster_binlog_func(handlerton *hton, THD *thd,
 void ndbcluster_binlog_init_handlerton()
 {
   handlerton *h= ndbcluster_hton;
+  h->flush_logs=       ndbcluster_flush_logs;
   h->binlog_func=      ndbcluster_binlog_func;
   h->binlog_log_query= ndbcluster_binlog_log_query;
 }
-- 
2.30.9