summaryrefslogtreecommitdiff
path: root/storage/ndb
diff options
context:
space:
mode:
authorunknown <jonas@perch.ndb.mysql.com>2008-01-08 13:23:35 +0100
committerunknown <jonas@perch.ndb.mysql.com>2008-01-08 13:23:35 +0100
commitd2f7c2f9b9455c5fb19049d47bd30529285d1587 (patch)
tree61309805b7b41cca2ab4657d0f16133a24df49fc /storage/ndb
parent4c85c8dd504f38145f0cc2b0651bac6146caa7e9 (diff)
downloadmariadb-git-d2f7c2f9b9455c5fb19049d47bd30529285d1587.tar.gz
ndb - bug#33739
page need to refetched after timeslice
Diffstat (limited to 'storage/ndb')
-rw-r--r--storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp b/storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp
index eecbee4c058..36a274ef36a 100644
--- a/storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp
+++ b/storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp
@@ -601,6 +601,24 @@ Dbtup::scanNext(Signal* signal, ScanOpPtr scanPtr)
if (lcp && lcp_list != RNIL)
goto found_lcp_keep;
+
+ switch(pos.m_get){
+ case ScanPos::Get_next_tuple:
+ case ScanPos::Get_next_tuple_fs:
+ jam();
+ key.m_page_idx += size;
+ // fall through
+ case ScanPos::Get_tuple:
+ case ScanPos::Get_tuple_fs:
+ jam();
+ /**
+ * We need to refetch page after timeslice
+ */
+ pos.m_get = ScanPos::Get_page;
+ break;
+ default:
+ break;
+ }
while (true) {
switch (pos.m_get) {