1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

wl1671 - Sorted scan

This commit is contained in:
unknown
2004-05-26 13:24:14 +02:00
parent d887ce18a4
commit 66011d0b8c
78 changed files with 3523 additions and 5330 deletions

View File

@ -75,8 +75,9 @@ class AttrInfo;
class NdbRecAttr
{
friend class NdbOperation;
friend class NdbIndexScanOperation;
friend class NdbEventOperationImpl;
friend class NdbScanReceiver;
friend class NdbReceiver;
friend class Ndb;
public:
@ -247,9 +248,8 @@ private:
NdbRecAttr();
Uint32 attrId() const; /* Get attribute id */
void setNULL(); /* Set NULL indicator */
void setNotNULL(); /* Set Not NULL indicator */
void setUNDEFINED(); /* Set UNDEFINED indicator */
bool setNULL(); /* Set NULL indicator */
bool receive_data(const Uint32*, Uint32);
void release(); /* Release memory if allocated */
void init(); /* Initialise object when allocated */
@ -257,6 +257,7 @@ private:
void next(NdbRecAttr* aRecAttr);
NdbRecAttr* next() const;
int setup(const class NdbColumnImpl* anAttrInfo, char* aValue);
/* Set up attributes and buffers */
bool copyoutRequired() const; /* Need to copy data to application */
@ -271,6 +272,7 @@ private:
Uint32 theAttrId; /* The attribute id */
int theNULLind;
bool m_nullable;
Uint32 theAttrSize;
Uint32 theArraySize;
const NdbDictionary::Column* m_column;
@ -291,29 +293,7 @@ NdbRecAttr::getColumn() const {
inline
Uint32
NdbRecAttr::attrSize() const {
switch(getType()){
case NdbDictionary::Column::Int:
case NdbDictionary::Column::Unsigned:
case NdbDictionary::Column::Float:
return 4;
case NdbDictionary::Column::Decimal:
case NdbDictionary::Column::Char:
case NdbDictionary::Column::Varchar:
case NdbDictionary::Column::Binary:
case NdbDictionary::Column::Varbinary:
return 1;
case NdbDictionary::Column::Bigint:
case NdbDictionary::Column::Bigunsigned:
case NdbDictionary::Column::Double:
case NdbDictionary::Column::Datetime:
return 8;
case NdbDictionary::Column::Timespec:
return 12;
case NdbDictionary::Column::Undefined:
default:
return 0;
}
return theAttrSize;
}
inline
@ -478,24 +458,11 @@ NdbRecAttr::attrId() const
}
inline
void
bool
NdbRecAttr::setNULL()
{
theNULLind = 1;
}
inline
void
NdbRecAttr::setNotNULL()
{
theNULLind = 0;
}
inline
void
NdbRecAttr::setUNDEFINED()
{
theNULLind = -1;
return m_nullable;
}
inline