From: Jan Wedvik Date: June 24 2011 12:06pm Subject: bzr commit into mysql-5.1-telco-7.0-spj-scan-vs-scan branch (jan.wedvik:3516) List-Archive: http://lists.mysql.com/commits/139820 Message-Id: <20110624120651.1B882225@fimafeng09.norway.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0709219491484209809==" --===============0709219491484209809== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///net/atum17/export/home/tmp/jw159207/mysql/repo/push-scan-scan/ based on revid:jan.wedvik@stripped 3516 Jan Wedvik 2011-06-24 Reverting previous commit (which was done in wrong branch). modified: storage/ndb/src/kernel/blocks/dbspj/Dbspj.hpp storage/ndb/src/kernel/blocks/dbspj/DbspjMain.cpp === modified file 'storage/ndb/src/kernel/blocks/dbspj/Dbspj.hpp' --- a/storage/ndb/src/kernel/blocks/dbspj/Dbspj.hpp 2011-06-24 11:19:41 +0000 +++ b/storage/ndb/src/kernel/blocks/dbspj/Dbspj.hpp 2011-06-24 12:06:45 +0000 @@ -532,7 +532,7 @@ public: struct ScanIndexData { - Uint16 m_frags_complete; + Uint16 m_frags_not_complete; Uint16 m_frags_outstanding; Uint32 m_rows_received; // #execTRANSID_AI Uint32 m_rows_expecting; // Sum(ScanFragConf) === modified file 'storage/ndb/src/kernel/blocks/dbspj/DbspjMain.cpp' --- a/storage/ndb/src/kernel/blocks/dbspj/DbspjMain.cpp 2011-06-24 11:19:41 +0000 +++ b/storage/ndb/src/kernel/blocks/dbspj/DbspjMain.cpp 2011-06-24 12:06:45 +0000 @@ -4449,7 +4449,7 @@ Dbspj::parseScanIndex(Build_context& ctx ScanIndexData& data = treeNodePtr.p->m_scanindex_data; data.m_fragments.init(); data.m_frags_outstanding = 0; - data.m_frags_complete = 0; + data.m_frags_not_complete = 0; data.m_batch_chunks = 0; err = parseDA(ctx, requestPtr, treeNodePtr, @@ -4679,7 +4679,6 @@ Dbspj::execDIH_SCAN_TAB_CONF(Signal* sig } } } - data.m_frags_complete = data.m_fragCount; if (!pruned) { @@ -4967,8 +4966,7 @@ Dbspj::scanIndex_parent_batch_complete(S data.m_rows_received = 0; data.m_rows_expecting = 0; ndbassert(data.m_frags_outstanding == 0); - ndbassert(data.m_frags_complete == data.m_fragCount); - data.m_frags_complete = 0; + ndbassert(data.m_frags_not_complete == 0); Ptr fragPtr; { @@ -4977,33 +4975,32 @@ Dbspj::scanIndex_parent_batch_complete(S if ((treeNodePtr.p->m_bits & TreeNode::T_PRUNE_PATTERN) == 0) { - if (fragPtr.p->m_rangePtrI == RNIL) + if (fragPtr.p->m_rangePtrI != RNIL) { - // No keys found + // No pruning, so we must scan all fragments. jam(); - data.m_frags_complete = data.m_fragCount; + data.m_frags_not_complete = data.m_fragCount; } } else { while(!fragPtr.isNull()) { - if (fragPtr.p->m_rangePtrI == RNIL) + if (fragPtr.p->m_rangePtrI != RNIL) { jam(); /** * This is a pruned scan, so we must scan those fragments that * some distribution key hashed to. */ - fragPtr.p->m_state = ScanFragHandle::SFH_COMPLETE; - data.m_frags_complete++; + data.m_frags_not_complete++; } list.next(fragPtr); } } } - if (data.m_frags_complete == data.m_fragCount) + if (data.m_frags_not_complete == 0) { jam(); /** @@ -5061,7 +5058,7 @@ Dbspj::scanIndex_send(Signal* signal, if (treeNodePtr.p->m_bits & TreeNode::T_SCAN_PARALLEL) { jam(); - cnt = data.m_fragCount - data.m_frags_complete; + cnt = data.m_frags_not_complete; ndbrequire(cnt > 0); bs_rows /= cnt; @@ -5197,8 +5194,7 @@ Dbspj::scanIndex_send(Signal* signal, if (treeNodePtr.p->m_bits & TreeNode::T_SCAN_PARALLEL) { - ndbrequire(data.m_frags_outstanding == - data.m_fragCount - data.m_frags_complete); + ndbrequire(data.m_frags_outstanding == data.m_frags_not_complete); } else { @@ -5299,10 +5295,10 @@ Dbspj::scanIndex_execSCAN_FRAGCONF(Signa { jam(); fragPtr.p->m_state = ScanFragHandle::SFH_COMPLETE; - ndbrequire(data.m_frags_complete < data.m_fragCount); - data.m_frags_complete++; + ndbrequire(data.m_frags_not_complete>0); + data.m_frags_not_complete--; - if (data.m_frags_complete == data.m_fragCount) + if (data.m_frags_not_complete == 0) { jam(); ndbrequire(requestPtr.p->m_cnt_active); @@ -5359,12 +5355,12 @@ Dbspj::scanIndex_execSCAN_FRAGREF(Signal fragPtr.p->m_state = ScanFragHandle::SFH_COMPLETE; ScanIndexData& data = treeNodePtr.p->m_scanindex_data; - ndbrequire(data.m_frags_complete < data.m_fragCount); - data.m_frags_complete++; + ndbrequire(data.m_frags_not_complete > 0); + data.m_frags_not_complete--; ndbrequire(data.m_frags_outstanding > 0); data.m_frags_outstanding--; - if (data.m_frags_complete == data.m_fragCount) + if (data.m_frags_not_complete == 0) { jam(); ndbrequire(requestPtr.p->m_cnt_active); @@ -5395,8 +5391,8 @@ Dbspj::scanIndex_execSCAN_NEXTREQ(Signal data.m_rows_expecting = 0; ndbassert(data.m_frags_outstanding == 0); - ndbrequire(data.m_frags_complete < data.m_fragCount); - Uint32 cnt = data.m_fragCount - data.m_frags_complete; + ndbrequire(data.m_frags_not_complete>0); + Uint32 cnt = data.m_frags_not_complete; if ((treeNodePtr.p->m_bits & TreeNode::T_SCAN_PARALLEL) == 0) { jam(); @@ -5585,7 +5581,7 @@ Dbspj::scanIndex_execNODE_FAILREP(Signal Ptr fragPtr; Uint32 save0 = data.m_frags_outstanding; - Uint32 save1 = data.m_frags_complete; + Uint32 save1 = data.m_frags_not_complete; for (list.first(fragPtr); !fragPtr.isNull(); list.next(fragPtr)) { @@ -5601,8 +5597,8 @@ Dbspj::scanIndex_execNODE_FAILREP(Signal switch(fragPtr.p->m_state){ case ScanFragHandle::SFH_NOT_STARTED: jam(); - ndbrequire(data.m_frags_complete < data.m_fragCount); - data.m_frags_complete++; + ndbrequire(data.m_frags_not_complete > 0); + data.m_frags_not_complete--; // fall through case ScanFragHandle::SFH_COMPLETE: jam(); @@ -5622,8 +5618,8 @@ Dbspj::scanIndex_execNODE_FAILREP(Signal case ScanFragHandle::SFH_WAIT_NEXTREQ: jam(); sum++; - ndbrequire(data.m_frags_complete < data.m_fragCount); - data.m_frags_complete++; + ndbrequire(data.m_frags_not_complete > 0); + data.m_frags_not_complete--; break; } fragPtr.p->m_ref = 0; @@ -5637,8 +5633,7 @@ Dbspj::scanIndex_execNODE_FAILREP(Signal requestPtr.p->m_outstanding--; } - if (save1 != data.m_fragCount - && data.m_frags_complete == data.m_fragCount) + if (save1 != 0 && data.m_frags_not_complete == 0) { jam(); ndbrequire(requestPtr.p->m_cnt_active); --===============0709219491484209809== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/jan.wedvik@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: jan.wedvik@stripped # target_branch: file:///net/atum17/export/home/tmp/jw159207/mysql\ # /repo/push-scan-scan/ # testament_sha1: f415dae35a3e219e155dcd0b3c14782eb615aac8 # timestamp: 2011-06-24 14:06:50 +0200 # source_branch: bzr+ssh://jwedvik@stripped/bzrroot\ # /server/mysql-5.1-telco-7.0/ # base_revision_id: jan.wedvik@stripped\ # 2hv00n7afjtdux1h # # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWb4Mc4AAA1vfgFUQcW///143 UoC////wUAXZ7nd062aBd1W2T06b3W8JJIRtU2SejKbQTQeoyaPUyGgAaZBkEoQaTRoCEQ9TQNGQ AADQAAkSENKn6aKeJPJPEjaho9QeoaGgB6gARSo0nlPKeozUGTajTIAAADTTRkaAikgmmkYTTZTy ptTYSeptTT00hoaAACgBq1dG0xzxDbTY2DkfTs192NcudXOHA4GENsIGqX125w3MQrCzGDdZBcQ9 xRztwtrbJ0phzADJBm3FPtSaPxebfApIiEYgSSWP0l8BDLZ9Kthsb222eFUJNXddFVWKjKOsFktF isVnRgVroDres5tRYK9zym02nRfn8SxNkPkqdGZympLHZFztYZQRlrbqsL5inbCQr7cS1OVu7XAH NFdeuC8/FsL5FUp9tSJNBrvDLnFCPeVDouijQ+OmAmHIyh+EcqTnqCc1AaMlGcYm09WTByi0O/G2 KnSTi6+OoyE8l5geGxGpobQjHTCOpjZulM0ftG+KtAqIIvnwlFJ8LrUJzAizpCF2ripQnVtFBBMo wNixSWNumA834kEOePruMEQIdJ03+LBECqDopZjQVAIIz7cpgYZHbQOxYonG/DzT8Fnpl0vVrFpS yaRynNRouot/qXXciYcRa4im6sb6Z1DmGacCjLlYShfeJFBFJneEgRjftNC4UprZCkcq4KsapL9G Aj8BR52dk3s3ZvrBHUDUIbbGedNHmQjeiNNGZCyzrkNmdTLgLEyRJUcsZgpYM3LExOoBszeA74Z6 xVYIDNeEMGYUCCicUKwwqSEHCNqGm7mluDZwGE2eqVg+U89JxXIZ6lJRQReMBpRZQNC7ea2pEnqN tQOJAzywWD2WFo8dJnDGmY+xlkHdQtdvQL9o0W1SWZyckImEmqZRF2Xkq78Hjow+JdJ6KY4NHJCL CYFjfBDc7aloEGAwhKBwFtmKnYEeOotLoMueSyvE0gkmBYuzJRB6LHwX8M8tsNjIR6lze7iiIHDV 1piM1hsHQWzykKhXKZBKCUZMze+d5DkNRV3mbWW3kY4seTlQJEwDBQZ4T0Kk5HfQGyFSJDvkSA2k 3WVX/7u0CWQixmVEKtshLXMZ55yfXoMIk8hgcTzJbtEkAmyqkZDjwL+io0aLCviYKbpjgYxt8tQH 4giDcI1P7B9mQCm4PJ1Nux4xsDMJVXdIk0u0SIFfokmomvnNj1mYKhokSZNFTLm+HJSYPlOOQ1NV S4nW27Tm1Euppqx/XcnQrAniU7vOM4zgHxLO4OO0C8zYx4aCscb8TmHRkgyMlq10bbglgy3LLUdo 0EsDV/DilUqhwim9e6Ths4oy+JGneFGiGIXVnK7ZxFRUNqan8npOspS+Rs4dhNJUmnCgIIRdZthj lGLpiUh8QNoVRQbW0CxMipI5+jZGTFlSKc3bHbwsb7hVvjKSF19Uty2qf1v13pdtKe4YTEWTg4Ug YwJxOLBKuczps1kC3ph0hiSUgnKBYDAKWZxjNmq4i6hC6E3nganCd/PjLSsonZCldE45RCYlHFDU yRNEd8fS3OjdBsg35u8LWJFhbgaJJKEhu8b8+AUKE18J1P2LyJhdMnSKZv5XlmApHpLrLoIDQO8Z 3BnAkKVdnPBBbXPEXRvVFhgoF12EgB6C4VDKtkadPFQ0TTtGkPIBdNJsqY4UzA7SIg23RY3l+cqs RXE1QUuDbXQBfjfFlRVpzmGyAkJvtiRByCSSKG9F4iEa2Dn9wFK32FoJehgn9BSKhllp/hOM77l6 3M1YzJWlspdmRWB2DeFmAruDJCWk8R1meph/xdyRThQkL4Mc4AA= --===============0709219491484209809==--