mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
merge ndb api blobs
This commit is contained in:
@ -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
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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 {
|
||||
|
@ -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){
|
||||
ndbout << "NULL";
|
||||
} else {
|
||||
ndbout << "NOT NULL";
|
||||
}
|
||||
ndbout << "\t";
|
||||
if(attr.getLength() != 1)
|
||||
ndbout << "[" << attr.getLength() << "]";
|
||||
|
||||
if(attr.getNullable())
|
||||
ndbout << " NULL";
|
||||
else
|
||||
ndbout << " NOT NULL";
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user