#At file:///C:/mysql/5.5-cluster/ based on revid:magnus.blaudd@stripped
3226 Magnus Blåudd 2011-03-08 [merge]
Merge
added:
sql/ndb_table_guard.h
modified:
sql/ha_ndbcluster.cc
sql/ha_ndbcluster_binlog.cc
sql/ha_ndbcluster_binlog.h
=== modified file 'sql/ha_ndbcluster.cc'
--- a/sql/ha_ndbcluster.cc 2011-03-08 13:14:35 +0000
+++ b/sql/ha_ndbcluster.cc 2011-03-08 14:43:21 +0000
@@ -44,6 +44,7 @@
#include "ha_ndbcluster_tables.h"
#include "ha_ndbcluster_connection.h"
#include "ndb_thd.h"
+#include "ndb_table_guard.h"
#include <mysql/plugin.h>
#include <ndb_version.h>
=== modified file 'sql/ha_ndbcluster_binlog.cc'
--- a/sql/ha_ndbcluster_binlog.cc 2011-03-08 12:59:56 +0000
+++ b/sql/ha_ndbcluster_binlog.cc 2011-03-08 14:40:38 +0000
@@ -23,6 +23,7 @@
#include "ha_ndbcluster_connection.h"
#include "ndb_local_connection.h"
#include "ndb_thd.h"
+#include "ndb_table_guard.h"
#include "rpl_injector.h"
#include "rpl_filter.h"
=== modified file 'sql/ha_ndbcluster_binlog.h'
--- a/sql/ha_ndbcluster_binlog.h 2011-03-08 12:59:56 +0000
+++ b/sql/ha_ndbcluster_binlog.h 2011-03-08 14:40:38 +0000
@@ -114,66 +114,6 @@ private:
pthread_mutex_t &m_mutex;
};
-class Ndb_table_guard
-{
-public:
- Ndb_table_guard(NDBDICT *dict)
- : m_dict(dict), m_ndbtab(NULL), m_invalidate(0)
- {}
- Ndb_table_guard(NDBDICT *dict, const char *tabname)
- : m_dict(dict), m_ndbtab(NULL), m_invalidate(0)
- {
- DBUG_ENTER("Ndb_table_guard");
- init(tabname);
- DBUG_VOID_RETURN;
- }
- ~Ndb_table_guard()
- {
- DBUG_ENTER("~Ndb_table_guard");
- reinit();
- DBUG_VOID_RETURN;
- }
- void init(const char *tabname)
- {
- DBUG_ENTER("Ndb_table_guard::init");
- /* must call reinit() if already initialized */
- DBUG_ASSERT(m_ndbtab == NULL);
- m_ndbtab= m_dict->getTableGlobal(tabname);
- m_invalidate= 0;
- DBUG_PRINT("info", ("m_ndbtab: %p", m_ndbtab));
- DBUG_VOID_RETURN;
- }
- void reinit(const char *tabname= 0)
- {
- DBUG_ENTER("Ndb_table_guard::reinit");
- if (m_ndbtab)
- {
- DBUG_PRINT("info", ("m_ndbtab: %p m_invalidate: %d",
- m_ndbtab, m_invalidate));
- m_dict->removeTableGlobal(*m_ndbtab, m_invalidate);
- m_ndbtab= NULL;
- m_invalidate= 0;
- }
- if (tabname)
- init(tabname);
- DBUG_PRINT("info", ("m_ndbtab: %p", m_ndbtab));
- DBUG_VOID_RETURN;
- }
- const NDBTAB *get_table() { return m_ndbtab; }
- void invalidate() { m_invalidate= 1; }
- const NDBTAB *release()
- {
- DBUG_ENTER("Ndb_table_guard::release");
- const NDBTAB *tmp= m_ndbtab;
- DBUG_PRINT("info", ("m_ndbtab: %p", m_ndbtab));
- m_ndbtab = 0;
- DBUG_RETURN(tmp);
- }
-private:
- NDBDICT *m_dict;
- const NDBTAB *m_ndbtab;
- int m_invalidate;
-};
class Thd_proc_info_guard
{
=== added file 'sql/ndb_table_guard.h'
--- a/sql/ndb_table_guard.h 1970-01-01 00:00:00 +0000
+++ b/sql/ndb_table_guard.h 2011-03-08 14:40:38 +0000
@@ -0,0 +1,85 @@
+/*
+ Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; version 2 of the License.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+*/
+
+#ifndef NDB_TABLE_GUARD_H
+#define NDB_TABLE_GUARD_H
+
+#include <ndbapi/NdbDictionary.hpp>
+
+class Ndb_table_guard
+{
+public:
+ Ndb_table_guard(NdbDictionary::Dictionary *dict)
+ : m_dict(dict), m_ndbtab(NULL), m_invalidate(0)
+ {}
+ Ndb_table_guard(NdbDictionary::Dictionary *dict, const char *tabname)
+ : m_dict(dict), m_ndbtab(NULL), m_invalidate(0)
+ {
+ DBUG_ENTER("Ndb_table_guard");
+ init(tabname);
+ DBUG_VOID_RETURN;
+ }
+ ~Ndb_table_guard()
+ {
+ DBUG_ENTER("~Ndb_table_guard");
+ reinit();
+ DBUG_VOID_RETURN;
+ }
+ void init(const char *tabname)
+ {
+ DBUG_ENTER("Ndb_table_guard::init");
+ /* must call reinit() if already initialized */
+ DBUG_ASSERT(m_ndbtab == NULL);
+ m_ndbtab= m_dict->getTableGlobal(tabname);
+ m_invalidate= 0;
+ DBUG_PRINT("info", ("m_ndbtab: %p", m_ndbtab));
+ DBUG_VOID_RETURN;
+ }
+ void reinit(const char *tabname= 0)
+ {
+ DBUG_ENTER("Ndb_table_guard::reinit");
+ if (m_ndbtab)
+ {
+ DBUG_PRINT("info", ("m_ndbtab: %p m_invalidate: %d",
+ m_ndbtab, m_invalidate));
+ m_dict->removeTableGlobal(*m_ndbtab, m_invalidate);
+ m_ndbtab= NULL;
+ m_invalidate= 0;
+ }
+ if (tabname)
+ init(tabname);
+ DBUG_PRINT("info", ("m_ndbtab: %p", m_ndbtab));
+ DBUG_VOID_RETURN;
+ }
+ const NdbDictionary::Table *get_table() { return m_ndbtab; }
+ void invalidate() { m_invalidate= 1; }
+ const NdbDictionary::Table *release()
+ {
+ DBUG_ENTER("Ndb_table_guard::release");
+ const NdbDictionary::Table *tmp= m_ndbtab;
+ DBUG_PRINT("info", ("m_ndbtab: %p", m_ndbtab));
+ m_ndbtab = 0;
+ DBUG_RETURN(tmp);
+ }
+private:
+ NdbDictionary::Dictionary *m_dict;
+ const NdbDictionary::Table *m_ndbtab;
+ int m_invalidate;
+};
+
+#endif
+
No bundle (reason: revision is a merge (you can force generation of a bundle with env var BZR_FORCE_BUNDLE=1)).| Thread |
|---|
| • bzr commit into mysql-5.5-cluster branch (magnus.blaudd:3226) | Magnus Blåudd | 8 Mar |