Below is the list of changes that have just been committed into a local
5.1 repository of jonas. When jonas does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet
1.1963 05/11/24 16:11:34 jonas@stripped +5 -0
ndb - fix various tup scan issues
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp
1.95 05/11/24 16:11:31 jonas@stripped +1 -0
Make pseudo column mm columns
storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp
1.11 05/11/24 16:11:31 jonas@stripped +3 -2
Impl. NoDiskScan for TupScan
storage/ndb/src/kernel/blocks/dbtup/DbtupDiskAlloc.cpp
1.4 05/11/24 16:11:31 jonas@stripped +1 -0
Init m_first_page_no also during SR
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp
1.84 05/11/24 16:11:31 jonas@stripped +2 -0
Impl. NoDiskScan for TupScan
storage/ndb/include/kernel/signaldata/AccScan.hpp
1.7 05/11/24 16:11:31 jonas@stripped +19 -1
Impl. NoDiskScan for TupScan
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: jonas
# Host: perch.ndb.mysql.com
# Root: /home/jonas/src/51-ndb
--- 1.3/storage/ndb/src/kernel/blocks/dbtup/DbtupDiskAlloc.cpp 2005-11-10 12:04:37 +01:00
+++ 1.4/storage/ndb/src/kernel/blocks/dbtup/DbtupDiskAlloc.cpp 2005-11-24 16:11:31 +01:00
@@ -1062,6 +1062,7 @@
ext.p->m_key = *key;
ndbout << "allocated " << pages << " pages: " <<
ext.p->m_key << endl;
+ ext.p->m_first_page_no = ext.p->m_key.m_page_no;
bzero(ext.p->m_free_page_count, sizeof(ext.p->m_free_page_count));
ext.p->m_free_space= alloc.m_page_free_bits_map[0] * pages;
ext.p->m_free_page_count[0]= pages; // All pages are "free"-est
--- 1.6/storage/ndb/include/kernel/signaldata/AccScan.hpp 2005-05-02 13:19:44 +02:00
+++ 1.7/storage/ndb/include/kernel/signaldata/AccScan.hpp 2005-11-24 16:11:31 +01:00
@@ -58,6 +58,9 @@
static void setLockMode(Uint32 & requestInfo, Uint32 lockMode);
static void setReadCommittedFlag(Uint32 & requestInfo, Uint32 readCommitted);
static void setDescendingFlag(Uint32 & requestInfo, Uint32 descending);
+
+ static Uint32 getNoDiskScanFlag(const Uint32 & requestInfo);
+ static void setNoDiskScanFlag(Uint32 & requestInfo, Uint32 nodisk);
};
/**
@@ -66,15 +69,17 @@
* l = Lock Mode - 1 Bit 2
* h = Read Committed - 1 Bit 5
* z = Descending (TUX) - 1 Bit 6
+ * d = No disk scan - 1 Bit 7
*
* 1111111111222222222233
* 01234567890123456789012345678901
- * l hz
+ * l hzd
*/
#define AS_LOCK_MODE_SHIFT (2)
#define AS_LOCK_MODE_MASK (1)
#define AS_READ_COMMITTED_SHIFT (5)
#define AS_DESCENDING_SHIFT (6)
+#define AS_NO_DISK_SCAN (7)
inline
Uint32
@@ -113,6 +118,19 @@
AccScanReq::setDescendingFlag(UintR & requestInfo, UintR val){
ASSERT_BOOL(val, "AccScanReq::setDescendingFlag");
requestInfo |= (val << AS_DESCENDING_SHIFT);
+}
+
+inline
+Uint32
+AccScanReq::getNoDiskScanFlag(const Uint32 & requestInfo){
+ return (requestInfo >> AS_NO_DISK_SCAN) & 1;
+}
+
+inline
+void
+AccScanReq::setNoDiskScanFlag(UintR & requestInfo, UintR val){
+ ASSERT_BOOL(val, "AccScanReq::setNoDiskScanFlag");
+ requestInfo |= (val << AS_NO_DISK_SCAN);
}
class AccScanConf {
--- 1.83/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp 2005-11-23 10:12:40 +01:00
+++ 1.84/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp 2005-11-24 16:11:31 +01:00
@@ -7616,6 +7616,8 @@
AccScanReq::setLockMode(req->requestInfo, scanptr.p->scanLockMode);
AccScanReq::setReadCommittedFlag(req->requestInfo, scanptr.p->readCommitted);
AccScanReq::setDescendingFlag(req->requestInfo, scanptr.p->descending);
+ AccScanReq::setNoDiskScanFlag(req->requestInfo,
+ !tcConnectptr.p->m_disk_table);
req->transId1 = tcConnectptr.p->transid[0];
req->transId2 = tcConnectptr.p->transid[1];
req->savePointId = tcConnectptr.p->savePointId;
--- 1.94/storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp 2005-11-23 07:50:51 +01:00
+++ 1.95/storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp 2005-11-24 16:11:31 +01:00
@@ -328,6 +328,7 @@
} else {
abort();
}
+ col->m_impl.m_storageType = NDB_STORAGETYPE_MEMORY;
return col;
}
--- 1.10/storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp 2005-11-24 12:03:22 +01:00
+++ 1.11/storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp 2005-11-24 16:11:31 +01:00
@@ -60,8 +60,9 @@
jam();
break;
}
- if (tablePtr.p->m_attributes[DD].m_no_of_fixsize +
- tablePtr.p->m_attributes[DD].m_no_of_varsize > 0) {
+ if (!AccScanReq::getNoDiskScanFlag(req->requestInfo)
+ && tablePtr.p->m_no_of_disk_attributes)
+ {
bits |= ScanOp::SCAN_DD;
}
bool mm = (bits & ScanOp::SCAN_DD);
| Thread |
|---|
| • bk commit into 5.1 tree (jonas:1.1963) | jonas | 24 Nov |