From: Ole John Aske Date: April 14 2011 8:59am Subject: bzr commit into mysql-5.1-telco-7.0-spj-scan-vs-scan branch (ole.john.aske:3476) List-Archive: http://lists.mysql.com/commits/135401 Message-Id: <20110414085949.DFEEF222@fimafeng09.norway.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============2958903996829996200==" --===============2958903996829996200== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///net/fimafeng09/export/home/tmp/oleja/mysql/mysql-5.1-telco-7.0-spj-scan-scan/ based on revid:jonas@stripped 3476 Ole John Aske 2011-04-14 SPJ: Minor refactoring: Remove unused 'Ndb' argument to ::NdbQueryBuilderImpl() and NdbQueryBuilder::create() Also fixed incorrect Copyright headers in HugoQueryBuilder.cpp and HugoQueryBuilder.hpp modified: sql/ha_ndbcluster.cc storage/ndb/src/ndbapi/NdbQueryBuilder.cpp storage/ndb/src/ndbapi/NdbQueryBuilder.hpp storage/ndb/src/ndbapi/NdbQueryBuilderImpl.hpp storage/ndb/test/include/HugoQueryBuilder.hpp storage/ndb/test/src/HugoQueryBuilder.cpp storage/ndb/test/tools/spj_performance_test.cpp storage/ndb/test/tools/spj_sanity_test.cpp === modified file 'sql/ha_ndbcluster.cc' --- a/sql/ha_ndbcluster.cc 2011-04-12 08:57:18 +0000 +++ b/sql/ha_ndbcluster.cc 2011-04-14 08:59:45 +0000 @@ -467,8 +467,7 @@ ha_ndbcluster::make_pushed_join(ndb_push * Parent operation is not defined before we have found the first * appendable child. */ - NdbQueryBuilder* const builder = - NdbQueryBuilder::create(*m_thd_ndb->ndb); + NdbQueryBuilder* const builder= NdbQueryBuilder::create(); if (unlikely (builder==NULL)) { DBUG_RETURN(HA_ERR_OUT_OF_MEM); === modified file 'storage/ndb/src/ndbapi/NdbQueryBuilder.cpp' --- a/storage/ndb/src/ndbapi/NdbQueryBuilder.cpp 2011-04-06 14:16:13 +0000 +++ b/storage/ndb/src/ndbapi/NdbQueryBuilder.cpp 2011-04-14 08:59:45 +0000 @@ -23,7 +23,6 @@ #include #include "signaldata/QueryTree.hpp" -#include #include "NdbDictionaryImpl.hpp" #include #include "AttributeHeader.hpp" @@ -686,9 +685,9 @@ NdbQueryOperationDef::getIndex() const * Implementation of NdbQueryBuilder factory ******************************************/ // Static method. -NdbQueryBuilder* NdbQueryBuilder::create(Ndb& ndb) +NdbQueryBuilder* NdbQueryBuilder::create() { - NdbQueryBuilderImpl* const impl = new NdbQueryBuilderImpl(ndb); + NdbQueryBuilderImpl* const impl = new NdbQueryBuilderImpl(); if (likely (impl != NULL)) { if (likely(impl->getNdbError().code == 0)) @@ -1128,9 +1127,9 @@ NdbQueryBuilder::prepare() // The (hidden) Impl of NdbQueryBuilder //////////////////////////////////////// -NdbQueryBuilderImpl::NdbQueryBuilderImpl(Ndb& ndb) +NdbQueryBuilderImpl::NdbQueryBuilderImpl() : m_interface(*this), - m_ndb(ndb), m_error(), + m_error(), m_operations(), m_operands(), m_paramCnt(0), @@ -2895,15 +2894,14 @@ main(int argc, const char** argv) assert (sizeof(NdbParamOperand) == sizeof(NdbQueryOperandImpl*)); assert (sizeof(NdbLinkedOperand) == sizeof(NdbQueryOperandImpl*)); - Ndb *myNdb = 0; - NdbQueryBuilder myBuilder(*myNdb); + NdbQueryBuilder* const myBuilder= NdbQueryBuilder::create(); const NdbDictionary::Table *manager = (NdbDictionary::Table*)0xDEADBEAF; // const NdbDictionary::Index *ix = (NdbDictionary::Index*)0x11223344; - NdbQueryDef* q1 = 0; + const NdbQueryDef* q1 = 0; { - NdbQueryBuilder* qb = &myBuilder; //myDict->getQueryBuilder(); + NdbQueryBuilder* qb = myBuilder; const NdbQueryOperand* managerKey[] = // Manager is indexed om {"dept_no", "emp_no"} { qb->constValue("d005"), // dept_no = "d005" === modified file 'storage/ndb/src/ndbapi/NdbQueryBuilder.hpp' --- a/storage/ndb/src/ndbapi/NdbQueryBuilder.hpp 2011-04-06 14:16:13 +0000 +++ b/storage/ndb/src/ndbapi/NdbQueryBuilder.hpp 2011-04-14 08:59:45 +0000 @@ -24,7 +24,6 @@ // skip includes...and require them to be included first // BUH! -class Ndb; class NdbQueryDef; class NdbQueryDefImpl; class NdbQueryBuilderImpl; @@ -358,8 +357,7 @@ private: * build phase. * * - The NdbQueryDef produced by the ::prepare() method has a lifetime - * determined by the Ndb object, or until it is explicit released by - * NdbQueryDef::release() + * until it is explicit released by NdbQueryDef::release() * */ class NdbQueryBuilder @@ -380,7 +378,7 @@ public: * Allocate an instance. * @return New instance, or NULL if allocation failed. */ - static NdbQueryBuilder* create(Ndb& ndb); + static NdbQueryBuilder* create(); /** * Release this object and any resources held by it. @@ -478,8 +476,7 @@ private: * NdbQueryDef represents a ::prepare()'d object from NdbQueryBuilder. * * The NdbQueryDef is reusable in the sense that it may be executed multiple - * times. Its lifetime is defined by the Ndb object which it was created with, - * or it may be explicitely released() when no longer required. + * times. It is valid until it is explicitely released(). * * The NdbQueryDef *must* be keept alive until the last thread * which executing a query based on this NdbQueryDef has completed execution === modified file 'storage/ndb/src/ndbapi/NdbQueryBuilderImpl.hpp' --- a/storage/ndb/src/ndbapi/NdbQueryBuilderImpl.hpp 2011-04-06 14:16:13 +0000 +++ b/storage/ndb/src/ndbapi/NdbQueryBuilderImpl.hpp 2011-04-14 08:59:45 +0000 @@ -644,7 +644,7 @@ class NdbQueryBuilderImpl public: ~NdbQueryBuilderImpl(); - explicit NdbQueryBuilderImpl(Ndb& ndb); + explicit NdbQueryBuilderImpl(); const NdbQueryDefImpl* prepare(); @@ -667,7 +667,6 @@ private: bool contains(const NdbQueryOperationDefImpl*); NdbQueryBuilder m_interface; - Ndb& m_ndb; NdbError m_error; Vector m_operations; === modified file 'storage/ndb/test/include/HugoQueryBuilder.hpp' --- a/storage/ndb/test/include/HugoQueryBuilder.hpp 2011-04-06 14:16:13 +0000 +++ b/storage/ndb/test/include/HugoQueryBuilder.hpp 2011-04-14 08:59:45 +0000 @@ -1,6 +1,5 @@ /* - Copyright (C) 2003 MySQL AB - All rights reserved. Use is subject to license terms. + 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 @@ -105,7 +104,7 @@ public: OptionMask getOptionMask() const { return m_options;} void setOptionMask(OptionMask om) { m_options = om;} - const NdbQueryDef * createQuery(Ndb*, bool takeOwnership = false); + const NdbQueryDef * createQuery(bool takeOwnership = false); private: struct TableDef === modified file 'storage/ndb/test/src/HugoQueryBuilder.cpp' --- a/storage/ndb/test/src/HugoQueryBuilder.cpp 2011-04-06 14:16:13 +0000 +++ b/storage/ndb/test/src/HugoQueryBuilder.cpp 2011-04-14 08:59:45 +0000 @@ -1,6 +1,5 @@ /* - Copyright (C) 2003 MySQL AB - All rights reserved. Use is subject to license terms. + 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 @@ -563,9 +562,9 @@ loop: } const NdbQueryDef * -HugoQueryBuilder::createQuery(Ndb* pNdb, bool takeOwnership) +HugoQueryBuilder::createQuery(bool takeOwnership) { - NdbQueryBuilder* const builder = NdbQueryBuilder::create(*pNdb); + NdbQueryBuilder* const builder = NdbQueryBuilder::create(); if (builder == NULL) { ndbout << "Failed to create NdbQueryBuilder." << endl; === modified file 'storage/ndb/test/tools/spj_performance_test.cpp' --- a/storage/ndb/test/tools/spj_performance_test.cpp 2011-03-31 07:44:04 +0000 +++ b/storage/ndb/test/tools/spj_performance_test.cpp 2011-04-14 08:59:45 +0000 @@ -248,7 +248,7 @@ void TestThread::run(){ } void TestThread::doLinkedAPITest(){ - NdbQueryBuilder* const builder = NdbQueryBuilder::create(m_ndb); + NdbQueryBuilder* const builder = NdbQueryBuilder::create(); const NdbQueryDef* queryDef = NULL; const Row** resultPtrs = new const Row*[m_params->m_depth+1]; === modified file 'storage/ndb/test/tools/spj_sanity_test.cpp' --- a/storage/ndb/test/tools/spj_sanity_test.cpp 2011-03-31 07:44:04 +0000 +++ b/storage/ndb/test/tools/spj_sanity_test.cpp 2011-04-14 08:59:45 +0000 @@ -544,7 +544,7 @@ namespace SPJSanityTest{ Query::Query(Ndb& ndb): m_ndb(ndb), - m_builder(NdbQueryBuilder::create(ndb)), + m_builder(NdbQueryBuilder::create()), m_root(NULL), m_queryDef(NULL), m_query(NULL), --===============2958903996829996200== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/ole.john.aske@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: ole.john.aske@stripped\ # 7wt8m96ehgzm5sv3 # target_branch: file:///net/fimafeng09/export/home/tmp/oleja/mysql\ # /mysql-5.1-telco-7.0-spj-scan-scan/ # testament_sha1: 9c0a8919d548ddf80ca3ea5e831bc306bfa39527 # timestamp: 2011-04-14 10:59:49 +0200 # source_branch: bzr+ssh://oaske@stripped/bzrroot/server\ # /mysql-5.1-telco-7.0/ # base_revision_id: jonas@stripped # # Begin bundle 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 --===============2958903996829996200==--