From: Tomas Ulin Date: February 25 2009 4:01pm Subject: bzr commit into mysql-5.1-telco-6.3 branch (tomas.ulin:2887) List-Archive: http://lists.mysql.com/commits/67576 Message-Id: <20090225160146.6B14C4405E@linux.local> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit #At file:///home/tomas/mysql_src/mysql-5.1-telco-6.3/ 2887 Tomas Ulin 2009-02-25 [merge] merge modified: sql/ha_ndbcluster_binlog.cc storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp === modified file 'sql/ha_ndbcluster_binlog.cc' --- a/sql/ha_ndbcluster_binlog.cc 2009-02-20 08:39:06 +0000 +++ b/sql/ha_ndbcluster_binlog.cc 2009-02-25 16:01:16 +0000 @@ -5480,7 +5480,7 @@ restart_cluster_failure: goto err; } - if (!(s_ndb= new Ndb(g_ndb_cluster_connection, "")) || + if (!(s_ndb= new Ndb(g_ndb_cluster_connection, NDB_REP_DB)) || s_ndb->init()) { sql_print_error("NDB Binlog: Getting Schema Ndb object failed"); === modified file 'storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp' --- a/storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp 2009-02-18 13:20:25 +0000 +++ b/storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp 2009-02-25 16:01:16 +0000 @@ -1746,7 +1746,7 @@ NdbDictionaryImpl::fetchGlobalTableImplR m_ndb.usingFullyQualifiedNames()); else m_error.code = 4000; - if (impl != 0 && (obj.init(*impl))) + if (impl != 0 && (obj.init(this, *impl))) { delete impl; impl = 0; @@ -4305,7 +4305,7 @@ NdbDictionaryImpl::getEvent(const char * DBUG_PRINT("info",("table %s", ev->getTableName())); if (tab == NULL) { - tab= fetchGlobalTableImplRef(InitTable(this, ev->getTableName())); + tab= fetchGlobalTableImplRef(InitTable(ev->getTableName())); if (tab == 0) { DBUG_PRINT("error",("unable to find table %s", ev->getTableName())); @@ -4319,7 +4319,7 @@ NdbDictionaryImpl::getEvent(const char * { DBUG_PRINT("info", ("mismatch on verison in cache")); releaseTableGlobal(*tab, 1); - tab= fetchGlobalTableImplRef(InitTable(this, ev->getTableName())); + tab= fetchGlobalTableImplRef(InitTable(ev->getTableName())); if (tab == 0) { DBUG_PRINT("error",("unable to find table %s", ev->getTableName())); === modified file 'storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp' --- a/storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp 2008-11-11 11:47:00 +0000 +++ b/storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp 2009-02-25 16:01:16 +0000 @@ -688,15 +688,12 @@ class NdbDictionaryImpl; class GlobalCacheInitObject { public: - NdbDictionaryImpl *m_dict; const BaseString &m_name; - GlobalCacheInitObject(NdbDictionaryImpl *dict, - const BaseString &name) : - m_dict(dict), + GlobalCacheInitObject(const BaseString &name) : m_name(name) {} virtual ~GlobalCacheInitObject() {} - virtual int init(NdbTableImpl &tab) const = 0; + virtual int init(NdbDictionaryImpl *dict, NdbTableImpl &tab) const = 0; }; class NdbDictionaryImpl : public NdbDictionary::Dictionary { @@ -1176,15 +1173,14 @@ NdbDictionaryImpl::getImpl(const NdbDict class InitTable : public GlobalCacheInitObject { public: - InitTable(NdbDictionaryImpl *dict, - const BaseString &name) : - GlobalCacheInitObject(dict, name) + InitTable(const BaseString &name) : + GlobalCacheInitObject(name) {} - int init(NdbTableImpl &tab) const + int init(NdbDictionaryImpl *dict, NdbTableImpl &tab) const { - int res= m_dict->getBlobTables(tab); + int res= dict->getBlobTables(tab); if (res == 0) - res= m_dict->createDefaultNdbRecord(&tab, NULL); + res= dict->createDefaultNdbRecord(&tab, NULL); return res; } @@ -1195,7 +1191,7 @@ NdbTableImpl * NdbDictionaryImpl::getTableGlobal(const char * table_name) { const BaseString internal_tabname(m_ndb.internalize_table_name(table_name)); - return fetchGlobalTableImplRef(InitTable(this, internal_tabname)); + return fetchGlobalTableImplRef(InitTable(internal_tabname)); } inline @@ -1234,7 +1230,7 @@ NdbDictionaryImpl::get_local_table_info( if (info == 0) { NdbTableImpl *tab= - fetchGlobalTableImplRef(InitTable(this, internalTableName)); + fetchGlobalTableImplRef(InitTable(internalTableName)); if (tab) { info= Ndb_local_table_info::create(tab, m_local_table_data_size); @@ -1256,12 +1252,12 @@ public: InitIndex(const BaseString &internal_indexname, const char *index_name, const NdbTableImpl &prim) : - GlobalCacheInitObject(0, internal_indexname), + GlobalCacheInitObject(internal_indexname), m_index_name(index_name), m_prim(prim) {} - int init(NdbTableImpl &tab) const { + int init(NdbDictionaryImpl *dict, NdbTableImpl &tab) const { DBUG_ENTER("InitIndex::init"); DBUG_ASSERT(tab.m_indexType != NdbDictionary::Object::TypeUndefined); /** @@ -1277,7 +1273,7 @@ public: tab.m_index = idx; /* Finally, create default NdbRecord for this index */ - DBUG_RETURN(m_dict->createDefaultNdbRecord(&tab, &m_prim)); + DBUG_RETURN(dict->createDefaultNdbRecord(&tab, &m_prim)); } DBUG_RETURN(1); }