summaryrefslogtreecommitdiff
path: root/storage
diff options
context:
space:
mode:
authorunknown <tomas@whalegate.ndb.mysql.com>2007-04-26 13:50:04 +0200
committerunknown <tomas@whalegate.ndb.mysql.com>2007-04-26 13:50:04 +0200
commitda719b3dab64b1801cb490fae79528a682105bae (patch)
tree73aa9e01899355690137cfd5b2260885865c03a8 /storage
parent9eb496dabecda510517cbad80b8376bc6d5f9210 (diff)
parent10d2d90063fa20b4c96646783da7d7369f632f3d (diff)
downloadmariadb-git-da719b3dab64b1801cb490fae79528a682105bae.tar.gz
Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-telco-gca
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user storage/ndb/include/kernel/signaldata/DictTabInfo.hpp: Auto merged storage/ndb/include/ndbapi/NdbDictionary.hpp: Auto merged storage/ndb/src/common/debugger/signaldata/DictTabInfo.cpp: Auto merged storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp: Auto merged storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp: Auto merged storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp: Auto merged storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp: Auto merged storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp: Auto merged storage/ndb/src/kernel/blocks/dbtup/DbtupFixAlloc.cpp: Auto merged storage/ndb/src/kernel/blocks/dbtup/DbtupPageMap.cpp: Auto merged storage/ndb/src/ndbapi/NdbDictionary.cpp: Auto merged storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp: Auto merged storage/ndb/test/include/HugoOperations.hpp: Auto merged storage/ndb/test/ndbapi/testBasic.cpp: Auto merged storage/ndb/test/run-test/daily-basic-tests.txt: Auto merged storage/ndb/test/src/HugoOperations.cpp: Auto merged mysql-test/r/ndb_partition_key.result: manual merge sql/ha_ndbcluster.cc: manual merge storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp: manual merge storage/ndb/test/src/NDBT_Table.cpp: manual merge
Diffstat (limited to 'storage')
-rw-r--r--storage/ndb/include/kernel/signaldata/DictTabInfo.hpp2
-rw-r--r--storage/ndb/include/kernel/signaldata/LqhFrag.hpp3
-rw-r--r--storage/ndb/include/kernel/signaldata/TupFrag.hpp3
-rw-r--r--storage/ndb/include/ndbapi/NdbDictionary.hpp8
-rw-r--r--storage/ndb/src/common/debugger/signaldata/DictTabInfo.cpp2
-rw-r--r--storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp6
-rw-r--r--storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp9
-rw-r--r--storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp3
-rw-r--r--storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp3
-rw-r--r--storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp2
-rw-r--r--storage/ndb/src/kernel/blocks/dbtup/DbtupFixAlloc.cpp16
-rw-r--r--storage/ndb/src/kernel/blocks/dbtup/DbtupPageMap.cpp2
-rw-r--r--storage/ndb/src/kernel/vm/DLFifoList.hpp23
-rw-r--r--storage/ndb/src/ndbapi/NdbDictionary.cpp10
-rw-r--r--storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp2
-rw-r--r--storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp1
-rw-r--r--storage/ndb/test/src/NDBT_Table.cpp1
17 files changed, 75 insertions, 21 deletions
diff --git a/storage/ndb/include/kernel/signaldata/DictTabInfo.hpp b/storage/ndb/include/kernel/signaldata/DictTabInfo.hpp
index 57b4f0e7520..3923d8e6fbf 100644
--- a/storage/ndb/include/kernel/signaldata/DictTabInfo.hpp
+++ b/storage/ndb/include/kernel/signaldata/DictTabInfo.hpp
@@ -118,6 +118,7 @@ public:
FrmData = 27,
TableTemporaryFlag = 28, //Default not Temporary
+ ForceVarPartFlag = 29,
FragmentCount = 128, // No of fragments in table (!fragment replicas)
FragmentDataLen = 129,
@@ -301,6 +302,7 @@ public:
Uint32 PrimaryTableId;
Uint32 TableLoggedFlag;
Uint32 TableTemporaryFlag;
+ Uint32 ForceVarPartFlag;
Uint32 NoOfKeyAttr;
Uint32 NoOfAttributes;
Uint32 NoOfNullable;
diff --git a/storage/ndb/include/kernel/signaldata/LqhFrag.hpp b/storage/ndb/include/kernel/signaldata/LqhFrag.hpp
index 40ed73ad2e7..d4f4877cc5b 100644
--- a/storage/ndb/include/kernel/signaldata/LqhFrag.hpp
+++ b/storage/ndb/include/kernel/signaldata/LqhFrag.hpp
@@ -105,7 +105,7 @@ class LqhFragReq {
friend bool printLQH_FRAG_REQ(FILE *, const Uint32 *, Uint32, Uint16);
public:
- STATIC_CONST( SignalLength = 24 );
+ STATIC_CONST( SignalLength = 25 );
enum RequestInfo {
CreateInRunning = 0x8000000,
@@ -143,6 +143,7 @@ private:
Uint32 maxRowsHigh;
Uint32 minRowsLow;
Uint32 minRowsHigh;
+ Uint32 forceVarPartFlag;
};
class LqhFragConf {
diff --git a/storage/ndb/include/kernel/signaldata/TupFrag.hpp b/storage/ndb/include/kernel/signaldata/TupFrag.hpp
index cae548aa094..106518dd47b 100644
--- a/storage/ndb/include/kernel/signaldata/TupFrag.hpp
+++ b/storage/ndb/include/kernel/signaldata/TupFrag.hpp
@@ -29,7 +29,7 @@ class TupFragReq {
friend class Dblqh;
friend class Dbtup;
public:
- STATIC_CONST( SignalLength = 17 );
+ STATIC_CONST( SignalLength = 18 );
private:
Uint32 userPtr;
Uint32 userRef;
@@ -48,6 +48,7 @@ private:
Uint32 checksumIndicator;
Uint32 globalCheckpointIdIndicator;
Uint32 tablespaceid;
+ Uint32 forceVarPartFlag;
};
class TupFragConf {
diff --git a/storage/ndb/include/ndbapi/NdbDictionary.hpp b/storage/ndb/include/ndbapi/NdbDictionary.hpp
index 02dcf81a413..58882e139fd 100644
--- a/storage/ndb/include/ndbapi/NdbDictionary.hpp
+++ b/storage/ndb/include/ndbapi/NdbDictionary.hpp
@@ -939,6 +939,14 @@ public:
void setTemporary(bool);
/**
+ * Only table with varpart do support online add column
+ * Add property so that table wo/ varsize column(s) still
+ * allocates varpart-ref, so that later online add column is possible
+ */
+ bool getForceVarPart() const;
+ void setForceVarPart(bool);
+
+ /**
* Check if any of column in bitmaps are disk columns
* returns bitmap of different columns
* bit 0 = atleast 1 pk column is set
diff --git a/storage/ndb/src/common/debugger/signaldata/DictTabInfo.cpp b/storage/ndb/src/common/debugger/signaldata/DictTabInfo.cpp
index 49392b9beeb..dae5527dc5e 100644
--- a/storage/ndb/src/common/debugger/signaldata/DictTabInfo.cpp
+++ b/storage/ndb/src/common/debugger/signaldata/DictTabInfo.cpp
@@ -26,6 +26,7 @@ DictTabInfo::TableMapping[] = {
DTIMAP(Table, PrimaryTableId, PrimaryTableId),
DTIMAP2(Table, TableLoggedFlag, TableLoggedFlag, 0, 1),
DTIMAP2(Table, TableTemporaryFlag, TableTemporaryFlag, 0, 1),
+ DTIMAP2(Table, ForceVarPartFlag, ForceVarPartFlag, 0, 1),
DTIMAP2(Table, TableKValue, TableKValue, 6, 6),
DTIMAP2(Table, MinLoadFactor, MinLoadFactor, 0, 90),
DTIMAP2(Table, MaxLoadFactor, MaxLoadFactor, 25, 110),
@@ -124,6 +125,7 @@ DictTabInfo::Table::init(){
PrimaryTableId = RNIL;
TableLoggedFlag = 1;
TableTemporaryFlag = 0;
+ ForceVarPartFlag = 0;
NoOfKeyAttr = 0;
NoOfAttributes = 0;
NoOfNullable = 0;
diff --git a/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp b/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp
index 39dda8b6db5..13ecd230f8c 100644
--- a/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp
+++ b/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp
@@ -448,6 +448,8 @@ Dbdict::packTableIntoPages(SimpleProperties::Writer & w,
!!(tablePtr.p->m_bits & TableRecord::TR_RowChecksum));
w.add(DictTabInfo::TableTemporaryFlag,
!!(tablePtr.p->m_bits & TableRecord::TR_Temporary));
+ w.add(DictTabInfo::ForceVarPartFlag,
+ !!(tablePtr.p->m_bits & TableRecord::TR_ForceVarPart));
w.add(DictTabInfo::MinLoadFactor, tablePtr.p->minLoadFactor);
w.add(DictTabInfo::MaxLoadFactor, tablePtr.p->maxLoadFactor);
@@ -5413,8 +5415,8 @@ Dbdict::execADD_FRAGREQ(Signal* signal) {
req->tableType = tabPtr.p->tableType;
req->primaryTableId = tabPtr.p->primaryTableId;
req->tablespace_id= tabPtr.p->m_tablespace_id;
- //req->tablespace_id= tablespace_id;
req->logPartId = logPart;
+ req->forceVarPartFlag = !!(tabPtr.p->m_bits& TableRecord::TR_ForceVarPart);
sendSignal(DBLQH_REF, GSN_LQHFRAGREQ, signal,
LqhFragReq::SignalLength, JBB);
}
@@ -6031,6 +6033,8 @@ void Dbdict::handleTabInfoInit(SimpleProperties::Reader & it,
(c_tableDesc.RowGCIFlag ? TableRecord::TR_RowGCI : 0);
tablePtr.p->m_bits |=
(c_tableDesc.TableTemporaryFlag ? TableRecord::TR_Temporary : 0);
+ tablePtr.p->m_bits |=
+ (c_tableDesc.ForceVarPartFlag ? TableRecord::TR_ForceVarPart : 0);
tablePtr.p->minLoadFactor = c_tableDesc.MinLoadFactor;
tablePtr.p->maxLoadFactor = c_tableDesc.MaxLoadFactor;
tablePtr.p->fragmentType = (DictTabInfo::FragmentType)c_tableDesc.FragmentType;
diff --git a/storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp b/storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp
index a5a9a83d7e3..e5b918ca270 100644
--- a/storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp
+++ b/storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp
@@ -236,10 +236,11 @@ public:
/* Is the table logged (i.e. data survives system restart) */
enum Bits
{
- TR_Logged = 0x1,
- TR_RowGCI = 0x2,
- TR_RowChecksum = 0x4,
- TR_Temporary = 0x8
+ TR_Logged = 0x1,
+ TR_RowGCI = 0x2,
+ TR_RowChecksum = 0x4,
+ TR_Temporary = 0x8,
+ TR_ForceVarPart = 0x10
};
Uint16 m_bits;
diff --git a/storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp b/storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp
index 8d7290469ca..ba146fce005 100644
--- a/storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp
+++ b/storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp
@@ -459,7 +459,8 @@ public:
Uint32 maxRowsHigh;
Uint32 minRowsLow;
Uint32 minRowsHigh;
- };// Size 128 bytes
+ Uint32 forceVarPartFlag;
+ };
typedef Ptr<AddFragRecord> AddFragRecordPtr;
/* $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ */
diff --git a/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp b/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp
index 56d320de68c..817e6830a87 100644
--- a/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp
+++ b/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp
@@ -1092,6 +1092,7 @@ void Dblqh::execLQHFRAGREQ(Signal* signal)
Uint32 primaryTableId = req->primaryTableId;
Uint32 tablespace= req->tablespace_id;
Uint32 logPart = req->logPartId;
+ Uint32 forceVarPartFlag = req->forceVarPartFlag;
if (signal->getLength() < 20)
{
@@ -1211,6 +1212,7 @@ void Dblqh::execLQHFRAGREQ(Signal* signal)
addfragptr.p->tableType = tableType;
addfragptr.p->primaryTableId = primaryTableId;
addfragptr.p->tablespace_id= tablespace;
+ addfragptr.p->forceVarPartFlag = forceVarPartFlag;
//
addfragptr.p->tupConnectptr = RNIL;
addfragptr.p->tuxConnectptr = RNIL;
@@ -1361,6 +1363,7 @@ Dblqh::sendAddFragReq(Signal* signal)
tupFragReq->checksumIndicator = addfragptr.p->checksumIndicator;
tupFragReq->globalCheckpointIdIndicator = addfragptr.p->GCPIndicator;
tupFragReq->tablespaceid = addfragptr.p->tablespace_id;
+ tupFragReq->forceVarPartFlag = addfragptr.p->forceVarPartFlag;
sendSignal(fragptr.p->tupBlockref, GSN_TUPFRAGREQ,
signal, TupFragReq::SignalLength, JBB);
return;
diff --git a/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp b/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp
index 55eca41fed8..2e8b6695c13 100644
--- a/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp
+++ b/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp
@@ -688,7 +688,7 @@ struct Fragrecord {
Uint32 noOfPagesToGrow;
DLList<Page>::Head emptyPrimPage; // allocated pages (not init)
- DLList<Page>::Head thFreeFirst; // pages with atleast 1 free record
+ DLFifoList<Page>::Head thFreeFirst; // pages with atleast 1 free record
SLList<Page>::Head m_empty_pages; // Empty pages not in logical/physical map
Uint32 m_lcp_scan_op;
diff --git a/storage/ndb/src/kernel/blocks/dbtup/DbtupFixAlloc.cpp b/storage/ndb/src/kernel/blocks/dbtup/DbtupFixAlloc.cpp
index 31903ea8c33..900a02cfd72 100644
--- a/storage/ndb/src/kernel/blocks/dbtup/DbtupFixAlloc.cpp
+++ b/storage/ndb/src/kernel/blocks/dbtup/DbtupFixAlloc.cpp
@@ -90,8 +90,8 @@ Dbtup::alloc_fix_rec(Fragrecord* const regFragPtr,
pagePtr.p->page_state = ZTH_MM_FREE;
- LocalDLList<Page> free_pages(c_page_pool, regFragPtr->thFreeFirst);
- free_pages.add(pagePtr);
+ LocalDLFifoList<Page> free_pages(c_page_pool, regFragPtr->thFreeFirst);
+ free_pages.addFirst(pagePtr);
} else {
jam();
/* ---------------------------------------------------------------- */
@@ -173,7 +173,7 @@ Dbtup::alloc_tuple_from_page(Fragrecord* const regFragPtr,
/* ARE MAINTAINED EVEN AFTER A SYSTEM CRASH. */
/* ---------------------------------------------------------------- */
ndbrequire(regPagePtr->page_state == ZTH_MM_FREE);
- LocalDLList<Page> free_pages(c_page_pool, regFragPtr->thFreeFirst);
+ LocalDLFifoList<Page> free_pages(c_page_pool, regFragPtr->thFreeFirst);
free_pages.remove((Page*)regPagePtr);
regPagePtr->page_state = ZTH_MM_FULL;
}
@@ -193,10 +193,10 @@ void Dbtup::free_fix_rec(Fragrecord* regFragPtr,
{
jam();
PagePtr pagePtr = { (Page*)regPagePtr, key->m_page_no };
- LocalDLList<Page> free_pages(c_page_pool, regFragPtr->thFreeFirst);
+ LocalDLFifoList<Page> free_pages(c_page_pool, regFragPtr->thFreeFirst);
ndbrequire(regPagePtr->page_state == ZTH_MM_FULL);
regPagePtr->page_state = ZTH_MM_FREE;
- free_pages.add(pagePtr);
+ free_pages.addLast(pagePtr);
}
}//Dbtup::freeTh()
@@ -224,13 +224,13 @@ Dbtup::alloc_page(Tablerec* tabPtrP, Fragrecord* fragPtrP,
c_page_pool.getPtr(pagePtr, getRealpid(fragPtrP, page_no));
LocalDLList<Page> alloc_pages(c_page_pool, fragPtrP->emptyPrimPage);
- LocalDLList<Page> free_pages(c_page_pool, fragPtrP->thFreeFirst);
+ LocalDLFifoList<Page> free_pages(c_page_pool, fragPtrP->thFreeFirst);
if (pagePtr.p->page_state == ZEMPTY_MM)
{
convertThPage((Fix_page*)pagePtr.p, tabPtrP, MM);
pagePtr.p->page_state = ZTH_MM_FREE;
alloc_pages.remove(pagePtr);
- free_pages.add(pagePtr);
+ free_pages.addFirst(pagePtr);
}
*ret = pagePtr;
@@ -254,7 +254,7 @@ Dbtup::alloc_fix_rowid(Fragrecord* regFragPtr,
}
Uint32 state = pagePtr.p->page_state;
- LocalDLList<Page> free_pages(c_page_pool, regFragPtr->thFreeFirst);
+ LocalDLFifoList<Page> free_pages(c_page_pool, regFragPtr->thFreeFirst);
switch(state){
case ZTH_MM_FREE:
if (((Fix_page*)pagePtr.p)->alloc_record(idx) != idx)
diff --git a/storage/ndb/src/kernel/blocks/dbtup/DbtupPageMap.cpp b/storage/ndb/src/kernel/blocks/dbtup/DbtupPageMap.cpp
index 380826d9330..6ef8d3585e9 100644
--- a/storage/ndb/src/kernel/blocks/dbtup/DbtupPageMap.cpp
+++ b/storage/ndb/src/kernel/blocks/dbtup/DbtupPageMap.cpp
@@ -293,7 +293,7 @@ void Dbtup::releaseFragPages(Fragrecord* regFragPtr)
}
{
- LocalDLList<Page> tmp(c_page_pool, regFragPtr->thFreeFirst);
+ LocalDLFifoList<Page> tmp(c_page_pool, regFragPtr->thFreeFirst);
tmp.remove();
}
diff --git a/storage/ndb/src/kernel/vm/DLFifoList.hpp b/storage/ndb/src/kernel/vm/DLFifoList.hpp
index a71cb71e207..da92390dd8f 100644
--- a/storage/ndb/src/kernel/vm/DLFifoList.hpp
+++ b/storage/ndb/src/kernel/vm/DLFifoList.hpp
@@ -62,8 +62,9 @@ public:
*/
void insert(Ptr<T> & ptr, Ptr<T>& loc);
+ void remove();
void remove(Ptr<T> &);
-
+ void remove(T*);
/**
* Update i & p value according to <b>i</b>
*/
@@ -277,9 +278,25 @@ DLFifoListImpl<P,T,U>::insert(Ptr<T> & ptr, Ptr<T> & loc)
template <typename P, typename T, typename U>
inline
void
+DLFifoListImpl<P,T,U>::remove()
+{
+ head.firstItem = RNIL;
+ head.lastItem = RNIL;
+}
+
+template <typename P, typename T, typename U>
+inline
+void
DLFifoListImpl<P,T,U>::remove(Ptr<T> & p)
{
- T * t = p.p;
+ remove(p.p);
+}
+
+template <typename P, typename T, typename U>
+inline
+void
+DLFifoListImpl<P,T,U>::remove(T * t)
+{
Uint32 ni = t->U::nextList;
Uint32 pi = t->U::prevList;
@@ -328,7 +345,7 @@ inline
void
DLFifoListImpl<P,T,U>::release(Ptr<T> & p)
{
- remove(p);
+ remove(p.p);
thePool.release(p);
}
diff --git a/storage/ndb/src/ndbapi/NdbDictionary.cpp b/storage/ndb/src/ndbapi/NdbDictionary.cpp
index b3ee41358d9..a4395fc4b9c 100644
--- a/storage/ndb/src/ndbapi/NdbDictionary.cpp
+++ b/storage/ndb/src/ndbapi/NdbDictionary.cpp
@@ -727,6 +727,16 @@ NdbDictionary::Table::getRowGCIIndicator() const {
return m_impl.m_row_gci;
}
+void
+NdbDictionary::Table::setForceVarPart(bool val){
+ m_impl.m_force_var_part = val;
+}
+
+bool
+NdbDictionary::Table::getForceVarPart() const {
+ return m_impl.m_force_var_part;
+}
+
int
NdbDictionary::Table::aggregate(NdbError& error)
{
diff --git a/storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp b/storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp
index 41b1dbc06e4..7c956651518 100644
--- a/storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp
+++ b/storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp
@@ -2179,6 +2179,7 @@ NdbDictInterface::parseTableInfo(NdbTableImpl ** ret,
impl->m_temporary = tableDesc->TableTemporaryFlag;
impl->m_row_gci = tableDesc->RowGCIFlag;
impl->m_row_checksum = tableDesc->RowChecksumFlag;
+ impl->m_force_var_part = tableDesc->ForceVarPartFlag;
impl->m_kvalue = tableDesc->TableKValue;
impl->m_minLoadFactor = tableDesc->MinLoadFactor;
impl->m_maxLoadFactor = tableDesc->MaxLoadFactor;
@@ -2693,6 +2694,7 @@ NdbDictInterface::createOrAlterTable(Ndb & ndb,
tmpTab->DefaultNoPartFlag = impl.m_default_no_part_flag;
tmpTab->LinearHashFlag = impl.m_linear_flag;
tmpTab->SingleUserMode = impl.m_single_user_mode;
+ tmpTab->ForceVarPartFlag = impl.m_force_var_part;
if (impl.m_ts_name.length())
{
diff --git a/storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp b/storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp
index c904b9d65c3..673587b1ed7 100644
--- a/storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp
+++ b/storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp
@@ -199,6 +199,7 @@ public:
bool m_temporary;
bool m_row_gci;
bool m_row_checksum;
+ bool m_force_var_part;
int m_kvalue;
int m_minLoadFactor;
int m_maxLoadFactor;
diff --git a/storage/ndb/test/src/NDBT_Table.cpp b/storage/ndb/test/src/NDBT_Table.cpp
index 2e0e5939266..1787bef9aba 100644
--- a/storage/ndb/test/src/NDBT_Table.cpp
+++ b/storage/ndb/test/src/NDBT_Table.cpp
@@ -34,6 +34,7 @@ operator <<(class NdbOut& ndbout, const NDBT_Table & tab)
ndbout << "Row Checksum: " << tab.getRowChecksumIndicator() << endl;
ndbout << "Row GCI: " << tab.getRowGCIIndicator() << endl;
ndbout << "SingleUserMode: " << (Uint32) tab.getSingleUserMode() << endl;
+ ndbout << "ForceVarPart: " << tab.getForceVarPart() << endl;
//<< ((tab.getTupleKey() == TupleId) ? " tupleid" : "") <<endl;
ndbout << "TableStatus: ";