summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <tomas@poseidon.ndb.mysql.com>2006-06-27 13:40:33 +0200
committerunknown <tomas@poseidon.ndb.mysql.com>2006-06-27 13:40:33 +0200
commit39fa14dd7d0619278d01565a964323120d3ac606 (patch)
tree855471a2d162291420e0838aef476f4c657e24cb
parentda70a12cb71eaacef99168a2bbc01fd54b970a8c (diff)
downloadmariadb-git-39fa14dd7d0619278d01565a964323120d3ac606.tar.gz
Bug #19852 Restoring backup made from cluster with full data memory fails
- post merge fixes for 5.1
-rw-r--r--storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp b/storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp
index a6842833dd8..88845a6ef64 100644
--- a/storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp
+++ b/storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp
@@ -535,9 +535,11 @@ void Dbtup::execTUP_ADD_ATTRREQ(Signal* signal)
#endif
{
- ndbrequire(regTabPtr.p->m_offsets[MM].m_fix_header_size > 0);
- Uint32 noRowsPerPage =
- ZWORDS_ON_PAGE/regTabPtr.p->m_offsets[MM].m_fix_header_size;
+ Uint32 fix_tupheader = regTabPtr.p->m_offsets[MM].m_fix_header_size;
+ if(regTabPtr.p->m_attributes[MM].m_no_of_varsize != 0)
+ fix_tupheader += Tuple_header::HeaderSize + 1;
+ ndbassert(fix_tupheader > 0);
+ Uint32 noRowsPerPage = ZWORDS_ON_PAGE / fix_tupheader;
Uint32 noAllocatedPages =
(fragOperPtr.p->minRows + noRowsPerPage - 1 )/ noRowsPerPage;
if (fragOperPtr.p->minRows == 0)