#include <AttributeAccessorImpl.h>
Inheritance diagram for AttributeAccessorImpl:
Public Member Functions | |
AttributeAccessorImpl () | |
bool | unmarshalNullableValue (TupleAccessor const &tupleAccessor, TupleDatum &value) const |
Tests the null indicator for this attribute in the tuple's null bit array. | |
void | marshalValueData (PBuffer pDestData, TupleDatum const &value) const |
Marshals value data for the attribute. | |
virtual void | unmarshalValue (TupleAccessor const &tupleAccessor, TupleDatum &value) const=0 |
Unmarshals the attribute's value by setting up the data pointer, length, and null indicator; does not actually copy any data. | |
Public Attributes | |
uint | iNullBit |
Index of this attribute's null indicator bit in the tuple's bit array, or MAXU for a NOT NULL attribute. | |
uint | iFixedOffset |
Byte offset of this attribute within a stored tuple image, or MAXU if the start is variable. | |
uint | iEndIndirectOffset |
Indirect offset of the end of this attribute within a stored tuple image, or MAXU if the end is fixed. | |
uint | iValueBit |
Index of this attribute's value in the tuple's bit array, or MAXU for a non-bit attribute. | |
TupleStorageByteLength | cbStorage |
Copied from TupleAttributeDescriptor.cbStorage. |
Definition at line 43 of file AttributeAccessorImpl.h.
AttributeAccessorImpl::AttributeAccessorImpl | ( | ) | [explicit] |
Definition at line 33 of file AttributeAccessorImpl.cpp.
References AttributeAccessor::cbStorage, AttributeAccessor::iEndIndirectOffset, AttributeAccessor::iFixedOffset, AttributeAccessor::iNullBit, AttributeAccessor::iValueBit, and MAXU.
00034 { 00035 iNullBit = MAXU; 00036 iFixedOffset = MAXU; 00037 iEndIndirectOffset = MAXU; 00038 iValueBit = MAXU; 00039 cbStorage = 0; 00040 }
bool AttributeAccessorImpl::unmarshalNullableValue | ( | TupleAccessor const & | tupleAccessor, | |
TupleDatum & | value | |||
) | const [inline] |
Tests the null indicator for this attribute in the tuple's null bit array.
tupleAccessor | containing TupleAccessor set up with the current tuple image to be accessed | |
value | receives the null bit |
Definition at line 60 of file AttributeAccessorImpl.h.
References TupleAccessor::getBitFields(), and TupleDatum::pData.
00062 { 00063 if (tupleAccessor.getBitFields()[iNullBit]) { 00064 value.pData = NULL; 00065 return true; 00066 } else { 00067 return false; 00068 } 00069 }
void AttributeAccessorImpl::marshalValueData | ( | PBuffer | pDestData, | |
TupleDatum const & | value | |||
) | const [inline, virtual] |
Marshals value data for the attribute.
Only deals with the data bytes, not length and null indicators.
pDestData | the target address where the data should be marshalled | |
value | the value to be marshalled |
Implements AttributeAccessor.
Reimplemented in FixedWidthNetworkAccessor16, FixedWidthNetworkAccessor32, and FixedWidthNetworkAccessor64.
Definition at line 71 of file AttributeAccessorImpl.h.
References TupleDatum::cbData, and TupleDatum::pData.
virtual void AttributeAccessor::unmarshalValue | ( | TupleAccessor const & | tupleAccessor, | |
TupleDatum & | value | |||
) | const [pure virtual, inherited] |
Unmarshals the attribute's value by setting up the data pointer, length, and null indicator; does not actually copy any data.
tupleAccessor | containing TupleAccessor set up with the current tuple image to be accessed | |
value | receives the reference to the unmarshalled value |
Implemented in FixedWidthAccessor, FixedWidthNetworkAccessor16, FixedWidthNetworkAccessor32, FixedWidthNetworkAccessor64, FixedOffsetVarWidthAccessor< network >, VarOffsetAccessor< network >, and BitAccessor.
Referenced by BTreeAccessBase::getChildForCurrent(), BTreeWriter::splitCurrentNode(), and TupleTest::testMarshal().
uint AttributeAccessor::iNullBit [inherited] |
Index of this attribute's null indicator bit in the tuple's bit array, or MAXU for a NOT NULL attribute.
Definition at line 53 of file AttributeAccessor.h.
Referenced by AttributeAccessorImpl(), TupleAccessor::compute(), Java_net_sf_farrago_fennel_FennelStorage_getAccessorXmiForTupleDescriptor(), TupleAccessor::marshal(), and TupleAccessor::unmarshal().
uint AttributeAccessor::iFixedOffset [inherited] |
Byte offset of this attribute within a stored tuple image, or MAXU if the start is variable.
Definition at line 59 of file AttributeAccessor.h.
Referenced by AttributeAccessorImpl(), TupleAccessor::compute(), TupleAccessor::initFixedAccessors(), TupleAccessor::marshal(), TupleAccessor::unmarshal(), and FixedOffsetVarWidthAccessor< network >::unmarshalValue().
uint AttributeAccessor::iEndIndirectOffset [inherited] |
Indirect offset of the end of this attribute within a stored tuple image, or MAXU if the end is fixed.
Definition at line 65 of file AttributeAccessor.h.
Referenced by AttributeAccessorImpl(), TupleAccessor::marshal(), TupleAccessor::unmarshal(), VarOffsetAccessor< network >::unmarshalValue(), and FixedOffsetVarWidthAccessor< network >::unmarshalValue().
uint AttributeAccessor::iValueBit [inherited] |
Index of this attribute's value in the tuple's bit array, or MAXU for a non-bit attribute.
Definition at line 71 of file AttributeAccessor.h.
Referenced by AttributeAccessorImpl(), TupleAccessor::marshal(), and TupleAccessor::unmarshal().
TupleStorageByteLength AttributeAccessor::cbStorage [inherited] |
Copied from TupleAttributeDescriptor.cbStorage.
This is not used for anything except assertions.
Definition at line 77 of file AttributeAccessor.h.
Referenced by AttributeAccessorImpl(), TupleAccessor::compute(), TupleAccessor::marshal(), TupleAccessor::unmarshal(), VarOffsetAccessor< network >::unmarshalValue(), and FixedOffsetVarWidthAccessor< network >::unmarshalValue().