List:Commits« Previous MessageNext Message »
From:tomas Date:April 26 2007 6:34am
Subject:bk commit into 5.1 tree (tomas:1.2461)
View as plain text  
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)tomas26 Apr