summaryrefslogtreecommitdiff
path: root/ndb
diff options
context:
space:
mode:
authorjoreland@mysql.com <>2005-01-19 18:32:34 +0100
committerjoreland@mysql.com <>2005-01-19 18:32:34 +0100
commit67b044cc47a6ba19f4fb8d78e9b45c9e2acaf0d0 (patch)
treedbc96e358d1f149be5f78f7b38fa72f48b4b2df4 /ndb
parent51a443a1c3452e0763317ca74e8604ad0c8d59a8 (diff)
downloadmariadb-git-67b044cc47a6ba19f4fb8d78e9b45c9e2acaf0d0.tar.gz
ndb - make sure scan recevier pointers are aligned
Diffstat (limited to 'ndb')
-rw-r--r--ndb/src/ndbapi/NdbScanOperation.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/ndb/src/ndbapi/NdbScanOperation.cpp b/ndb/src/ndbapi/NdbScanOperation.cpp
index a90c9f524a2..670a18f72a0 100644
--- a/ndb/src/ndbapi/NdbScanOperation.cpp
+++ b/ndb/src/ndbapi/NdbScanOperation.cpp
@@ -241,17 +241,17 @@ NdbScanOperation::fix_receivers(Uint32 parallel){
if(parallel > m_allocated_receivers){
const Uint32 sz = parallel * (4*sizeof(char*)+sizeof(Uint32));
- Uint32 * tmp = new Uint32[(sz+3)/4];
+ Uint64 * tmp = new Uint64[(sz+7)/8];
// Save old receivers
- memcpy(tmp+parallel, m_receivers, m_allocated_receivers*sizeof(char*));
+ memcpy(tmp, m_receivers, m_allocated_receivers*sizeof(char*));
delete[] m_array;
- m_array = tmp;
+ m_array = (Uint32*)tmp;
- m_prepared_receivers = tmp;
- m_receivers = (NdbReceiver**)(tmp + parallel);
+ m_receivers = (NdbReceiver**)tmp;
m_api_receivers = m_receivers + parallel;
m_conf_receivers = m_api_receivers + parallel;
m_sent_receivers = m_conf_receivers + parallel;
+ m_prepared_receivers = (Uint32*)(m_sent_receivers + parallel);
// Only get/init "new" receivers
NdbReceiver* tScanRec;