#At file:///home/jonas/src/telco-6.2/ based on revid:frazer@stripped
3013 Jonas Oreland 2009-10-06
ndb - bug#47782 - don't copy any pages for empty fragments, if starting node also don't have any pages
modified:
storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp
=== modified file 'storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp'
--- a/storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp 2009-05-26 18:53:34 +0000
+++ b/storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp 2009-10-06 12:00:23 +0000
@@ -580,12 +580,23 @@ Dbtup::scanFirst(Signal*, ScanOpPtr scan
fragPtr.i = scan.m_fragPtrI;
ptrCheckGuard(fragPtr, cnoOfFragrec, fragrecord);
Fragrecord& frag = *fragPtr.p;
- // in the future should not pre-allocate pages
- if (frag.noOfPages == 0 && ((bits & ScanOp::SCAN_NR) == 0)) {
+
+ if (bits & ScanOp::SCAN_NR)
+ {
+ if (scan.m_endPage == 0 && frag.m_max_page_no == 0)
+ {
+ jam();
+ scan.m_state = ScanOp::Last;
+ return;
+ }
+ }
+ else if (frag.noOfPages == 0)
+ {
jam();
scan.m_state = ScanOp::Last;
return;
}
+
if (! (bits & ScanOp::SCAN_DD)) {
key.m_file_no = ZNIL;
key.m_page_no = 0;
Attachment: [text/bzr-bundle] bzr/jonas@mysql.com-20091006120023-9efh053wcbbxoek1.bundle
| Thread |
|---|
| • bzr commit into mysql-5.1-telco-6.2 branch (jonas:3013) Bug#47782 | Jonas Oreland | 6 Oct |