Commit 68ab6069 authored by unknown's avatar unknown
Browse files

merge ndb api blobs

parent 2aacdd94
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -321,6 +321,11 @@ public:
    void setStripeSize(int size) { setLength(size); }
    int getStripeSize() const { return getLength(); }

    /**
     * Get size of element
     */
    int Column::getSize() const;

    /** 
     * Set distribution key
     *
@@ -372,6 +377,7 @@ public:
#endif
    
  private:
    friend class NdbRecAttr;
    friend class NdbColumnImpl;
    class NdbColumnImpl & m_impl;
    Column(NdbColumnImpl&);
@@ -1054,4 +1060,6 @@ public:
  };
};

class NdbOut& operator <<(class NdbOut& ndbout, const NdbDictionary::Column::Type type);

#endif
+2 −2
Original line number Diff line number Diff line
@@ -32,7 +32,7 @@
#include "NdbRecAttr.hpp"
#include "NdbUtil.hpp"
#include "NdbBlob.hpp"

#include "ndbapi_limits.h"
#include <signaldata/TcKeyReq.hpp>
#include "NdbDictionaryImpl.hpp"

@@ -165,7 +165,7 @@ NdbOperation::init(NdbTableImpl* tab, NdbConnection* myConnection){
  m_currentTable = m_accessTable = tab;
  
  theNdbCon = myConnection;
  for (Uint32 i=0; i<MAXNROFTUPLEKEY; i++)
  for (Uint32 i=0; i<NDB_MAX_NO_OF_ATTRIBUTES_IN_KEY; i++)
    for (int j=0; j<3; j++)
      theTupleKeyDefined[i][j] = false;  

+0 −8
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@
#include <NdbError.hpp>
#include "NdbImpl.hpp"
#include "NdbDictionaryImpl.hpp"
#include <NdbSchemaCon.hpp>
#include <NdbOperation.hpp>
#include <NdbConnection.hpp>
#include <NdbBlob.hpp>
@@ -68,13 +67,6 @@ NdbOperation::getNdbError() const {
  return theError;
}

const 
NdbError & 
NdbSchemaCon::getNdbError() const {
  update(theError);
  return theError;
}

const
NdbError &
NdbBlob::getNdbError() const {
+45 −90
Original line number Diff line number Diff line
@@ -14,112 +14,35 @@
   along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */

#include "NDBT_Table.hpp"
#include <NDBT_Table.hpp>
#include <NdbTimer.hpp>
#include <NDBT.hpp>


class NdbOut& 
operator <<(class NdbOut& ndbout, const NDBT_Attribute & attr){

  NdbDictionary::Column::Type type = attr.getType();
  bool key = attr.getPrimaryKey();
  bool null = attr.getNullable();

  ndbout << attr.getName() << "\t";
  char tmp[100];
  if(attr.getLength() != 1)
    snprintf(tmp, 100," [%d]", attr.getLength());
  else
    tmp[0] = 0;
  ndbout << attr.getName() << " " << type;
  
  switch(type){
  case NdbDictionary::Column::Tinyint:
    ndbout << "Tinyint" << tmp;
    break;
  case NdbDictionary::Column::Tinyunsigned:
    ndbout << "Tinyunsigned" << tmp;
    break;
  case NdbDictionary::Column::Smallint:
    ndbout << "Smallint" << tmp;
    break;
  case NdbDictionary::Column::Smallunsigned:
    ndbout << "Smallunsigned" << tmp;
    break;
  case NdbDictionary::Column::Mediumint:
    ndbout << "Mediumint" << tmp;
    break;
  case NdbDictionary::Column::Mediumunsigned:
    ndbout << "Mediumunsigned" << tmp;
    break;
  case NdbDictionary::Column::Int:
    ndbout << "Int" << tmp;
    break;
  case NdbDictionary::Column::Unsigned:
    ndbout << "Unsigned" << tmp;
    break;
  case NdbDictionary::Column::Bigint:
    ndbout << "Bigint"  << tmp;
    break;
  case NdbDictionary::Column::Bigunsigned:
    ndbout << "Bigunsigned"  << tmp;
    break;
  case NdbDictionary::Column::Float:
    ndbout << "Float" << tmp;
    break;
  case NdbDictionary::Column::Double:
    ndbout << "Double"  << tmp;
    break;
  case NdbDictionary::Column::Decimal:
    ndbout << "Decimal(" 
	   << attr.getScale() << ", " << attr.getPrecision() << ")"
	   << tmp;
    break;
  case NdbDictionary::Column::Char:
    ndbout << "Char(" << attr.getLength() << ")";
    break;
  case NdbDictionary::Column::Varchar:
    ndbout << "Varchar(" << attr.getLength() << ")";
    break;
  case NdbDictionary::Column::Binary:
    ndbout << "Binary(" << attr.getLength() << ")";
    break;
  case NdbDictionary::Column::Varbinary:
    ndbout << "Varbinary(" << attr.getLength() << ")";
    break;
  case NdbDictionary::Column::Datetime:
    ndbout << "Datetime"  << tmp;
    break;
  case NdbDictionary::Column::Timespec:
    ndbout << "Timespec"  << tmp;
    break;
  case NdbDictionary::Column::Blob:
    ndbout << "Blob(" << attr.getInlineSize()
               << "," << attr.getPartSize()
               << "," << attr.getStripeSize() << ")";
    break;
  case NdbDictionary::Column::Clob:
    ndbout << "Clob(" << attr.getInlineSize()
               << "," << attr.getPartSize()
               << "," << attr.getStripeSize() << ")";
    break;
  case NdbDictionary::Column::Undefined:
    ndbout << "Undefined"  << tmp;
    ndbout << "(" << attr.getScale() << ", " << attr.getPrecision() << ")";
    break;
  default:
    ndbout << "Unknown(" << type << ")";
    break;
  }
  
  ndbout << "\t";
  if(null){
  if(attr.getLength() != 1)
    ndbout << "[" << attr.getLength() << "]";

  if(attr.getNullable())
    ndbout << " NULL";
  } else {
  else
    ndbout << " NOT NULL";
  }
  ndbout << "\t";
  
  if(key)
    ndbout << "\tprimary key";
  if(attr.getPrimaryKey())
    ndbout << " PRIMARY KEY";
  
  return ndbout;
}
@@ -137,6 +60,9 @@ operator <<(class NdbOut& ndbout, const NDBT_Table & tab)
  ndbout << "Temporary table: " <<  (tab.getStoredTable() ? "no" : "yes") << endl;
  ndbout << "Number of attributes: " <<  tab.getNoOfColumns() << endl;
  ndbout << "Number of primary keys: " <<  tab.getNoOfPrimaryKeys() << endl;
  ndbout << "Length of frm data: " << tab.getFrmLength() << endl;


  //<< ((tab.getTupleKey() == TupleId) ? " tupleid" : "") <<endl;
  ndbout << "TableStatus: ";
  switch(tab.getObjectStatus()){
@@ -161,3 +87,32 @@ operator <<(class NdbOut& ndbout, const NDBT_Table & tab)
  
  return ndbout;
}

class NdbOut& operator <<(class NdbOut&, const NdbDictionary::Index & idx)
{
  ndbout << idx.getName();
  ndbout << "(";
  for (unsigned i=0; i < idx.getNoOfColumns(); i++)
  {
    const NdbDictionary::Column *col = idx.getColumn(i);
    ndbout << col->getName();
    if (i < idx.getNoOfColumns()-1)
      ndbout << ", ";
  }
  ndbout << ")";
  
  ndbout << " - ";
  switch (idx.getType()) {
  case NdbDictionary::Object::UniqueHashIndex:
    ndbout << "UniqueHashIndex";
    break;
  case NdbDictionary::Object::OrderedIndex:
    ndbout << "OrderedIndex";
    break;
  default:
    ndbout << "Type " << idx.getType();
    break;
  }
  return ndbout;
}