From: magnus.blaudd Date: November 16 2011 2:16pm Subject: bzr push into mysql-trunk-cluster branch (magnus.blaudd:3417 to 3419) WL#5881 List-Archive: http://lists.mysql.com/commits/141992 Message-Id: <201111161416.pAGEGJgk003575@acsmt358.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3419 magnus.blaudd@stripped 2011-11-16 WL#5881 - cherrypick fix to silence the most annoying warnings in ndbapi modified: storage/ndb/include/ndbapi/NdbScanOperation.hpp storage/ndb/src/ndbapi/NdbScanOperation.cpp 3418 magnus.blaudd@stripped 2011-11-16 WL#5881 - record another suppression in the .result file for rpl_row_basic_allw_batching modified: mysql-test/suite/rpl/r/rpl_row_basic_allow_batching.result 3417 magnus.blaudd@stripped 2011-11-15 WL#5881 - cherrypick fix not to run test for slave_allow_batching with embedded modified: mysql-test/suite/sys_vars/t/slave_allow_batching_basic.test === modified file 'mysql-test/suite/rpl/r/rpl_row_basic_allow_batching.result' --- a/mysql-test/suite/rpl/r/rpl_row_basic_allow_batching.result 2011-11-15 14:30:51 +0000 +++ b/mysql-test/suite/rpl/r/rpl_row_basic_allow_batching.result 2011-11-16 13:34:08 +0000 @@ -501,6 +501,7 @@ SET GLOBAL SLAVE_TYPE_CONVERSIONS = @sav call mtr.add_suppression("Slave SQL.*Table definition on master and slave does not match: Column 1 size mismatch.* Error_code: 1535"); call mtr.add_suppression("Slave SQL.*Could not execute Delete_rows event on table test.t1.* Error_code: 1032"); call mtr.add_suppression("Slave SQL.*Column 1 of table .test.t.. cannot be converted from type.*, Error_code: 1677"); +call mtr.add_suppression("The slave coordinator and worker threads are stopped, possibly leaving data in inconsistent state"); include/rpl_reset.inc [expecting slave to replicate correctly] INSERT INTO t4 VALUES (1, "", 1); === modified file 'storage/ndb/include/ndbapi/NdbScanOperation.hpp' --- a/storage/ndb/include/ndbapi/NdbScanOperation.hpp 2011-09-02 09:16:56 +0000 +++ b/storage/ndb/include/ndbapi/NdbScanOperation.hpp 2011-11-16 13:40:48 +0000 @@ -252,12 +252,8 @@ public: #endif #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL - NdbBlob* getBlobHandle(const char* anAttrName); - NdbBlob* getBlobHandle(Uint32 anAttrId); - /* Const variants not overloaded - underlying - * const NdbOperation::getBlobHandle implementation - * only returns existing Blob operations - */ + virtual NdbBlob* getBlobHandle(const char* anAttrName); + virtual NdbBlob* getBlobHandle(Uint32 anAttrId); /** * setInterpretedCode @@ -530,12 +526,13 @@ protected: // Overloaded private methods from NdbOperation int init(const NdbTableImpl* tab, NdbTransaction*); - int prepareSend(Uint32 TC_ConnectPtr, Uint64 TransactionId); + int prepareSend(Uint32 TC_ConnectPtr, Uint64 TransactionId, + NdbOperation::AbortOption); int doSend(int ProcessorId); virtual void setReadLockMode(LockMode lockMode); - virtual void setErrorCode(int aErrorCode); - virtual void setErrorCodeAbort(int aErrorCode); + virtual void setErrorCode(int aErrorCode) const; + virtual void setErrorCodeAbort(int aErrorCode) const; /* This is the transaction which defined this scan * The transaction(connection) used for the scan is @@ -678,6 +675,17 @@ protected: private: NdbScanOperation(const NdbScanOperation&); // Not impl. NdbScanOperation&operator=(const NdbScanOperation&); + + /** + * Const variants overloaded...calling NdbOperation::getBlobHandle() + * (const NdbOperation::getBlobHandle implementation + * only returns existing Blob operations) + * + * I'm not sure...but these doesn't seem to be an users of this... + * so I make them private... + */ + virtual NdbBlob* getBlobHandle(const char* anAttrName) const; + virtual NdbBlob* getBlobHandle(Uint32 anAttrId) const; }; inline === modified file 'storage/ndb/src/ndbapi/NdbScanOperation.cpp' --- a/storage/ndb/src/ndbapi/NdbScanOperation.cpp 2011-05-20 05:54:20 +0000 +++ b/storage/ndb/src/ndbapi/NdbScanOperation.cpp 2011-11-16 13:40:48 +0000 @@ -57,22 +57,27 @@ NdbScanOperation::~NdbScanOperation() } void -NdbScanOperation::setErrorCode(int aErrorCode){ +NdbScanOperation::setErrorCode(int aErrorCode) const +{ + NdbScanOperation *pnonConstThis=const_cast(this); + NdbTransaction* tmp = theNdbCon; - theNdbCon = m_transConnection; + pnonConstThis->theNdbCon = m_transConnection; NdbOperation::setErrorCode(aErrorCode); - theNdbCon = tmp; + pnonConstThis->theNdbCon = tmp; } void -NdbScanOperation::setErrorCodeAbort(int aErrorCode){ +NdbScanOperation::setErrorCodeAbort(int aErrorCode) const +{ + NdbScanOperation *pnonConstThis=const_cast(this); + NdbTransaction* tmp = theNdbCon; - theNdbCon = m_transConnection; + pnonConstThis->theNdbCon = m_transConnection; NdbOperation::setErrorCodeAbort(aErrorCode); - theNdbCon = tmp; + pnonConstThis->theNdbCon = tmp; } - /***************************************************************************** * int init(); * @@ -2028,7 +2033,9 @@ NdbScanOperation::send_next_scan(Uint32 } int -NdbScanOperation::prepareSend(Uint32 TC_ConnectPtr, Uint64 TransactionId) +NdbScanOperation::prepareSend(Uint32 TC_ConnectPtr, + Uint64 TransactionId, + NdbOperation::AbortOption) { abort(); return 0; @@ -4064,3 +4071,14 @@ NdbScanOperation::getPruned() const (m_pruneState == SPS_FIXED)); } +NdbBlob* +NdbScanOperation::getBlobHandle(const char* anAttrName) const +{ + return NdbOperation::getBlobHandle(anAttrName); +} + +NdbBlob* +NdbScanOperation::getBlobHandle(Uint32 anAttrId) const +{ + return NdbOperation::getBlobHandle(anAttrId); +} No bundle (reason: useless for push emails).