Commit 2f77a22a authored by unknown's avatar unknown
Browse files

To get correct values in SHOW TABLE STATUS

    Added pseudo column fragment memory
    changed ndb_get_table_statistics to take struct 
    and read row_size and fragment_memory


ndb/include/kernel/AttributeHeader.hpp:
  Added pseudo column fragment memory
ndb/include/ndbapi/NdbDictionary.hpp:
  Added pseudo column fragment memory
ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp:
  Added pseudo column fragment memory
ndb/src/ndbapi/NdbDictionary.cpp:
  Added pseudo column fragment memory
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Added pseudo column fragment memory
sql/ha_ndbcluster.cc:
  changed ndb_get_table_statistics to take struct 
  and read row_size and fragment_memory
sql/ha_ndbcluster.h:
  partially implemented update_table_comment
parent 12040a9d
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ public:
  STATIC_CONST( RANGE_NO     = 0xFFFB ); // Read range no (when batched ranges)
  
  STATIC_CONST( ROW_SIZE     = 0xFFFA );
  STATIC_CONST( FRAGMENT_MEMORY= 0xFFF9 );

  /** Initialize AttributeHeader at location aHeaderPtr */
  static AttributeHeader& init(void* aHeaderPtr, Uint32 anAttributeId, 
+1 −0
Original line number Diff line number Diff line
@@ -438,6 +438,7 @@ public:
    const char* getDefaultValue() const;

    static const Column * FRAGMENT;
    static const Column * FRAGMENT_MEMORY;
    static const Column * ROW_COUNT;
    static const Column * COMMIT_COUNT;
    static const Column * ROW_SIZE;
+7 −0
Original line number Diff line number Diff line
@@ -1001,6 +1001,13 @@ Dbtup::read_psuedo(Uint32 attrId, Uint32* outBuffer){
  case AttributeHeader::FRAGMENT:
    * outBuffer = operPtr.p->fragId >> 1; // remove "hash" bit
    return 1;
  case AttributeHeader::FRAGMENT_MEMORY:
    {
      Uint64 tmp= fragptr.p->noOfPages;
      tmp*= 32768;
      memcpy(outBuffer,&tmp,8);
    }
    return 2;
  case AttributeHeader::ROW_SIZE:
    * outBuffer = tabptr.p->tupheadsize << 2;
    return 1;
+1 −0
Original line number Diff line number Diff line
@@ -1000,6 +1000,7 @@ operator<<(NdbOut& out, const NdbDictionary::Column& col)
}

const NdbDictionary::Column * NdbDictionary::Column::FRAGMENT = 0;
const NdbDictionary::Column * NdbDictionary::Column::FRAGMENT_MEMORY = 0;
const NdbDictionary::Column * NdbDictionary::Column::ROW_COUNT = 0;
const NdbDictionary::Column * NdbDictionary::Column::COMMIT_COUNT = 0;
const NdbDictionary::Column * NdbDictionary::Column::ROW_SIZE = 0;
+9 −0
Original line number Diff line number Diff line
@@ -232,6 +232,11 @@ NdbColumnImpl::create_psuedo(const char * name){
    col->m_impl.m_attrId = AttributeHeader::FRAGMENT;
    col->m_impl.m_attrSize = 4;
    col->m_impl.m_arraySize = 1;
  } else if(!strcmp(name, "NDB$FRAGMENT_MEMORY")){
    col->setType(NdbDictionary::Column::Bigunsigned);
    col->m_impl.m_attrId = AttributeHeader::FRAGMENT_MEMORY;
    col->m_impl.m_attrSize = 8;
    col->m_impl.m_arraySize = 1;
  } else if(!strcmp(name, "NDB$ROW_COUNT")){
    col->setType(NdbDictionary::Column::Bigunsigned);
    col->m_impl.m_attrId = AttributeHeader::ROW_COUNT;
@@ -685,10 +690,12 @@ NdbDictionaryImpl::~NdbDictionaryImpl()
    m_globalHash->lock();
    if(--f_dictionary_count == 0){
      delete NdbDictionary::Column::FRAGMENT; 
      delete NdbDictionary::Column::FRAGMENT_MEMORY;
      delete NdbDictionary::Column::ROW_COUNT;
      delete NdbDictionary::Column::COMMIT_COUNT;
      delete NdbDictionary::Column::ROW_SIZE;
      NdbDictionary::Column::FRAGMENT= 0;
      NdbDictionary::Column::FRAGMENT_MEMORY= 0;
      NdbDictionary::Column::ROW_COUNT= 0;
      NdbDictionary::Column::COMMIT_COUNT= 0;
      NdbDictionary::Column::ROW_SIZE= 0;
@@ -754,6 +761,8 @@ NdbDictionaryImpl::setTransporter(class Ndb* ndb,
    if(f_dictionary_count++ == 0){
      NdbDictionary::Column::FRAGMENT= 
	NdbColumnImpl::create_psuedo("NDB$FRAGMENT");
      NdbDictionary::Column::FRAGMENT_MEMORY= 
	NdbColumnImpl::create_psuedo("NDB$FRAGMENT_MEMORY");
      NdbDictionary::Column::ROW_COUNT= 
	NdbColumnImpl::create_psuedo("NDB$ROW_COUNT");
      NdbDictionary::Column::COMMIT_COUNT= 
Loading