Impala
Impalaistheopensource,nativeanalyticdatabaseforApacheHadoop.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
impala::TupleRow Class Reference

#include <tuple-row.h>

Collaboration diagram for impala::TupleRow:

Public Member Functions

TupleGetTuple (int tuple_idx)
 
void SetTuple (int tuple_idx, Tuple *tuple)
 
TupleRowDeepCopy (const std::vector< TupleDescriptor * > &descs, MemPool *pool)
 Create a deep copy of this TupleRow. DeepCopy will allocate from the pool. More...
 
void DeepCopy (TupleRow *dst, const std::vector< TupleDescriptor * > &descs, MemPool *pool, bool reuse_tuple_mem)
 
TupleRownext_row (RowBatch *batch) const
 

Static Public Attributes

static const char * LLVM_CLASS_NAME = "class.impala::TupleRow"
 

Private Attributes

Tupletuples_ [1]
 

Detailed Description

A TupleRow encapsulates a contiguous sequence of Tuple pointers which together make up a row.

Definition at line 28 of file tuple-row.h.

Member Function Documentation

TupleRow* impala::TupleRow::DeepCopy ( const std::vector< TupleDescriptor * > &  descs,
MemPool pool 
)
inline

Create a deep copy of this TupleRow. DeepCopy will allocate from the pool.

Definition at line 39 of file tuple-row.h.

References impala::MemPool::Allocate().

Referenced by DeepCopy(), and impala::SortedRunMerger::GetNext().

void impala::TupleRow::DeepCopy ( TupleRow dst,
const std::vector< TupleDescriptor * > &  descs,
MemPool pool,
bool  reuse_tuple_mem 
)
inline

Create a deep copy of this TupleRow into 'dst'. DeepCopy will allocate from the MemPool and copy the tuple pointers, the tuples and the string data in the tuples. If reuse_tuple_mem is true, it is assumed the dst TupleRow has already allocated tuple memory and that memory will be reused. Otherwise, new tuples will be allocated and stored in 'dst'.

Definition at line 52 of file tuple-row.h.

References DeepCopy(), impala::Tuple::DeepCopy(), GetTuple(), pool, and SetTuple().

Tuple* impala::TupleRow::GetTuple ( int  tuple_idx)
inline

Definition at line 30 of file tuple-row.h.

References tuples_.

Referenced by impala::Sorter::Run::AddBatch(), impala::DataStreamSender::Channel::AddRow(), impala::AnalyticEvalNode::AddRow(), impala::SimpleTupleStreamTest::AppendRowTuples(), impala::BufferedTupleStream::ComputeRowSize(), DeepCopy(), impala::BufferedTupleStream::DeepCopyInternal(), impala::HashTableTest::FullScan(), impala::OldHashTableTest::FullScan(), impala::SlotRef::GetBigIntVal(), impala::TupleIsNullPredicate::GetBooleanVal(), impala::SlotRef::GetBooleanVal(), impala::SlotRef::GetDecimalVal(), impala::SlotRef::GetDoubleVal(), impala::SlotRef::GetFloatVal(), impala::SlotRef::GetIntVal(), impala::BlockingJoinNode::GetLeftChildRowString(), impala::DataStreamTest::GetNextBatch(), impala::BufferedTupleStream::GetNextInternal(), impala::SlotRef::GetSmallIntVal(), impala::SlotRef::GetStringVal(), impala::SlotRef::GetTimestampVal(), impala::SlotRef::GetTinyIntVal(), impala::HashTableTest::GrowTableTest(), impala::HashTable::Insert(), impala::HashTableTest::InsertFullTest(), impala::RowEqualityChecker::operator()(), impala::PrintRow(), impala::HashTableTest::ProbeTest(), impala::OldHashTableTest::ProbeTest(), impala::AnalyticEvalNode::ProcessChildBatch(), impala::DataStreamTest::ReadStream(), impala::DataStreamTest::ReadStreamMerging(), impala::RowBatch::RowBatch(), impala::HashTableTest::ScanTest(), impala::RowBatch::Serialize(), impala::RowBatch::TotalByteSize(), impala::PartitionedAggregationNode::UpdateTuple(), and impala::RowBatchListTest::ValidateMatch().

TupleRow* impala::TupleRow::next_row ( RowBatch batch) const
inline

Member Data Documentation

Tuple* impala::TupleRow::tuples_[1]
private

Definition at line 79 of file tuple-row.h.

Referenced by GetTuple(), and SetTuple().


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