Below is the list of changes that have just been committed into a local
5.1 repository of tomas. When tomas 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@stripped, 2007-04-26 08:34:38+02:00, tomas@stripped +12 -0
ndb: force varpart part I, allow setting of flag in dictionary
storage/ndb/include/kernel/signaldata/DictTabInfo.hpp@stripped, 2007-04-26 08:34:35+02:00, tomas@stripped +2 -0
ndb: force varpart part I, allow setting of flag in dictionary
storage/ndb/include/kernel/signaldata/LqhFrag.hpp@stripped, 2007-04-26 08:34:35+02:00, tomas@stripped +2 -1
ndb: force varpart part I, allow setting of flag in dictionary
storage/ndb/include/kernel/signaldata/TupFrag.hpp@stripped, 2007-04-26 08:34:35+02:00, tomas@stripped +2 -1
ndb: force varpart part I, allow setting of flag in dictionary
storage/ndb/include/ndbapi/NdbDictionary.hpp@stripped, 2007-04-26 08:34:35+02:00, tomas@stripped +8 -0
ndb: force varpart part I, allow setting of flag in dictionary
storage/ndb/src/common/debugger/signaldata/DictTabInfo.cpp@stripped, 2007-04-26 08:34:35+02:00, tomas@stripped +2 -0
ndb: force varpart part I, allow setting of flag in dictionary
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp@stripped, 2007-04-26 08:34:35+02:00, tomas@stripped +5 -1
ndb: force varpart part I, allow setting of flag in dictionary
storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp@stripped, 2007-04-26 08:34:35+02:00, tomas@stripped +5 -4
ndb: force varpart part I, allow setting of flag in dictionary
storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp@stripped, 2007-04-26 08:34:35+02:00, tomas@stripped +2 -1
ndb: force varpart part I, allow setting of flag in dictionary
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp@stripped, 2007-04-26 08:34:35+02:00, tomas@stripped +3 -0
ndb: force varpart part I, allow setting of flag in dictionary
storage/ndb/src/ndbapi/NdbDictionary.cpp@stripped, 2007-04-26 08:34:36+02:00, tomas@stripped +10 -0
ndb: force varpart part I, allow setting of flag in dictionary
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp@stripped, 2007-04-26 08:34:36+02:00, tomas@stripped +2 -0
ndb: force varpart part I, allow setting of flag in dictionary
storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp@stripped, 2007-04-26 08:34:36+02:00, tomas@stripped +1 -0
ndb: force varpart part I, allow setting of flag in dictionary
# 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: tomas
# Host: whalegate.ndb.mysql.com
# Root: /home/tomas/mysql-5.1-telco-gca
--- 1.34/storage/ndb/include/kernel/signaldata/DictTabInfo.hpp 2006-12-23 20:20:04 +01:00
+++ 1.35/storage/ndb/include/kernel/signaldata/DictTabInfo.hpp 2007-04-26 08:34:35 +02:00
@@ -118,6 +118,7 @@
FrmData = 27,
TableTemporaryFlag = 28, //Default not Temporary
+ ForceVarPartFlag = 29,
FragmentCount = 128, // No of fragments in table (!fragment replicas)
FragmentDataLen = 129,
@@ -299,6 +300,7 @@
Uint32 PrimaryTableId;
Uint32 TableLoggedFlag;
Uint32 TableTemporaryFlag;
+ Uint32 ForceVarPartFlag;
Uint32 NoOfKeyAttr;
Uint32 NoOfAttributes;
Uint32 NoOfNullable;
--- 1.11/storage/ndb/include/kernel/signaldata/LqhFrag.hpp 2006-12-23 20:20:05 +01:00
+++ 1.12/storage/ndb/include/kernel/signaldata/LqhFrag.hpp 2007-04-26 08:34:35 +02:00
@@ -105,7 +105,7 @@
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 @@
Uint32 maxRowsHigh;
Uint32 minRowsLow;
Uint32 minRowsHigh;
+ Uint32 forceVarPartFlag;
};
class LqhFragConf {
--- 1.13/storage/ndb/include/kernel/signaldata/TupFrag.hpp 2006-12-23 20:20:07 +01:00
+++ 1.14/storage/ndb/include/kernel/signaldata/TupFrag.hpp 2007-04-26 08:34:35 +02:00
@@ -29,7 +29,7 @@
friend class Dblqh;
friend class Dbtup;
public:
- STATIC_CONST( SignalLength = 17 );
+ STATIC_CONST( SignalLength = 18 );
private:
Uint32 userPtr;
Uint32 userRef;
@@ -48,6 +48,7 @@
Uint32 checksumIndicator;
Uint32 globalCheckpointIdIndicator;
Uint32 tablespaceid;
+ Uint32 forceVarPartFlag;
};
class TupFragConf {
--- 1.88/storage/ndb/include/ndbapi/NdbDictionary.hpp 2007-04-12 11:47:36 +02:00
+++ 1.89/storage/ndb/include/ndbapi/NdbDictionary.hpp 2007-04-26 08:34:35 +02:00
@@ -922,6 +922,14 @@
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
--- 1.20/storage/ndb/src/common/debugger/signaldata/DictTabInfo.cpp 2006-12-23 20:20:10 +01:00
+++ 1.21/storage/ndb/src/common/debugger/signaldata/DictTabInfo.cpp 2007-04-26 08:34:35 +02:00
@@ -26,6 +26,7 @@
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),
@@ -123,6 +124,7 @@
PrimaryTableId = RNIL;
TableLoggedFlag = 1;
TableTemporaryFlag = 0;
+ ForceVarPartFlag = 0;
NoOfKeyAttr = 0;
NoOfAttributes = 0;
NoOfNullable = 0;
--- 1.115/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp 2007-03-09 11:50:30 +01:00
+++ 1.116/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp 2007-04-26 08:34:35 +02:00
@@ -449,6 +449,8 @@
!!(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);
@@ -5503,8 +5505,8 @@
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);
}
@@ -6119,6 +6121,8 @@
(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;
--- 1.47/storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp 2007-03-09 11:50:30 +01:00
+++ 1.48/storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp 2007-04-26 08:34:35 +02:00
@@ -236,10 +236,11 @@
/* 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;
--- 1.57/storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp 2006-12-23 20:20:16 +01:00
+++ 1.58/storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp 2007-04-26 08:34:35 +02:00
@@ -459,7 +459,8 @@
Uint32 maxRowsHigh;
Uint32 minRowsLow;
Uint32 minRowsHigh;
- };// Size 128 bytes
+ Uint32 forceVarPartFlag;
+ };
typedef Ptr<AddFragRecord> AddFragRecordPtr;
/* $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ */
--- 1.135/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp 2007-03-13 11:56:47 +01:00
+++ 1.136/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp 2007-04-26 08:34:35 +02:00
@@ -1071,6 +1071,7 @@
Uint32 primaryTableId = req->primaryTableId;
Uint32 tablespace= req->tablespace_id;
Uint32 logPart = req->logPartId;
+ Uint32 forceVarPartFlag = req->forceVarPartFlag;
if (signal->getLength() < 20)
{
@@ -1190,6 +1191,7 @@
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;
@@ -1340,6 +1342,7 @@
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;
--- 1.67/storage/ndb/src/ndbapi/NdbDictionary.cpp 2007-01-16 09:19:28 +01:00
+++ 1.68/storage/ndb/src/ndbapi/NdbDictionary.cpp 2007-04-26 08:34:36 +02:00
@@ -703,6 +703,16 @@
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)
{
--- 1.160/storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp 2007-04-12 11:47:36 +02:00
+++ 1.161/storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp 2007-04-26 08:34:36 +02:00
@@ -2105,6 +2105,7 @@
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;
@@ -2569,6 +2570,7 @@
tmpTab->MinRowsLow = (Uint32)(impl.m_min_rows & 0xFFFFFFFF);
tmpTab->DefaultNoPartFlag = impl.m_default_no_part_flag;
tmpTab->LinearHashFlag = impl.m_linear_flag;
+ tmpTab->ForceVarPartFlag = impl.m_force_var_part;
if (impl.m_ts_name.length())
{
--- 1.71/storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp 2006-12-27 10:58:06 +01:00
+++ 1.72/storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp 2007-04-26 08:34:36 +02:00
@@ -199,6 +199,7 @@
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;
| Thread |
|---|
| • bk commit into 5.1 tree (tomas:1.2461) | tomas | 26 Apr |