taco-db  0.1.0
Public Member Functions | Private Attributes | List of all members
taco::SortStateInputIterator Class Reference
Inheritance diagram for taco::SortStateInputIterator:
taco::ItemIterator

Public Member Functions

 SortStateInputIterator (PlanExecState *state, const Schema *schema)
 
 ~SortStateInputIterator () override
 
bool Next () override
 Subclass implementation should override the Next() function for moving to the next item . More...
 
const char * GetCurrentItem (FieldOffset &p_reclen) override
 Returns the current serialized item that a previous Next() call moved this iterator to. More...
 
bool SupportsRewind () const override
 Whether the subclass implementation supports rewinding. More...
 
uint64_t SavePosition () const override
 Saves the current posision if the subclass implementation supports rewinding. More...
 
void Rewind (uint64_t pos) override
 Rewinds the iterator back to a previously saved posision if the subclass implementation supports rewinding. More...
 
void EndScan () override
 Ends the scan. More...
 
- Public Member Functions inherited from taco::ItemIterator
virtual ~ItemIterator ()
 Destructor. More...
 

Private Attributes

PlanExecStatem_state
 
const Schemam_schema
 
maxaligned_char_buf m_buf
 

Constructor & Destructor Documentation

◆ SortStateInputIterator()

taco::SortStateInputIterator::SortStateInputIterator ( PlanExecState state,
const Schema schema 
)
inline

◆ ~SortStateInputIterator()

taco::SortStateInputIterator::~SortStateInputIterator ( )
inlineoverride

Member Function Documentation

◆ EndScan()

void taco::SortStateInputIterator::EndScan ( )
inlineoverridevirtual

Ends the scan.

Implements taco::ItemIterator.

◆ GetCurrentItem()

const char* taco::SortStateInputIterator::GetCurrentItem ( FieldOffset p_reclen)
inlineoverridevirtual

Returns the current serialized item that a previous Next() call moved this iterator to.

p_reclen is set to the length of the item upon return.

Implements taco::ItemIterator.

◆ Next()

bool taco::SortStateInputIterator::Next ( )
inlineoverridevirtual

Subclass implementation should override the Next() function for moving to the next item .

Upon a successful return, GetCurrentItem() should return a pointer to a byte array which contains the item (which may be a heap record, an index record or something else). The interpretation of the record is up to the caller.

Implements taco::ItemIterator.

◆ Rewind()

void taco::SortStateInputIterator::Rewind ( uint64_t  pos)
inlineoverridevirtual

Rewinds the iterator back to a previously saved posision if the subclass implementation supports rewinding.

The argument pos must be a value previously returned by a call to SavePosition() on this iterator, otherwise it is undefined.

It is undefined if called on a ItemIterator such that this->SupportsRewind() == false.

Implements taco::ItemIterator.

◆ SavePosition()

uint64_t taco::SortStateInputIterator::SavePosition ( ) const
inlineoverridevirtual

Saves the current posision if the subclass implementation supports rewinding.

The position is expressed as an opaque uint64_t rather than RecordId (which may fit into a uint64_t), so that the implementation can actually store other kinds of position pointer/index.

It is undefined if called on a ItemIterator such that this->SupportsRewind() == false.

Implements taco::ItemIterator.

◆ SupportsRewind()

bool taco::SortStateInputIterator::SupportsRewind ( ) const
inlineoverridevirtual

Whether the subclass implementation supports rewinding.

Implements taco::ItemIterator.

Member Data Documentation

◆ m_buf

maxaligned_char_buf taco::SortStateInputIterator::m_buf
private

◆ m_schema

const Schema* taco::SortStateInputIterator::m_schema
private

◆ m_state

PlanExecState* taco::SortStateInputIterator::m_state
private

The documentation for this class was generated from the following file: