Impala
Impalaistheopensource,nativeanalyticdatabaseforApacheHadoop.
|
#include <tuple-row.h>
Public Member Functions | |
Tuple * | GetTuple (int tuple_idx) |
void | SetTuple (int tuple_idx, Tuple *tuple) |
TupleRow * | DeepCopy (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) |
TupleRow * | next_row (RowBatch *batch) const |
Static Public Attributes | |
static const char * | LLVM_CLASS_NAME = "class.impala::TupleRow" |
Private Attributes | |
Tuple * | tuples_ [1] |
A TupleRow encapsulates a contiguous sequence of Tuple pointers which together make up a row.
Definition at line 28 of file tuple-row.h.
|
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().
|
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().
|
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().
Definition at line 69 of file tuple-row.h.
References impala::RowBatch::row_byte_size().
Referenced by impala::PartitionedHashJoinNode::OutputUnmatchedBuild().
|
inline |
Definition at line 34 of file tuple-row.h.
References tuples_.
Referenced by impala::DataStreamSender::Channel::AddRow(), impala::HdfsParquetScanner::AssembleRows(), impala::SimpleTupleStreamTest::CreateIntBatch(), impala::RowBatchListTest::CreateRowBatch(), impala::DataStreamTest::CreateRowBatch(), impala::SimpleTupleStreamTest::CreateStringBatch(), impala::HashTableTest::CreateTupleRow(), impala::OldHashTableTest::CreateTupleRow(), impala::HdfsAvroScanner::DecodeAvroData(), DeepCopy(), impala::UnionNode::EvalAndMaterializeExprs(), impala::HBaseScanNode::GetNext(), impala::DataSourceScanNode::GetNext(), impala::AggregationNode::GetNext(), impala::Sorter::Run::GetNext(), impala::PartitionedAggregationNode::GetNext(), impala::BufferedTupleStream::GetNextInternal(), impala::AnalyticEvalNode::GetNextOutputBatch(), impala::BufferedTupleStream::GetTupleRow(), impala::AnalyticEvalNode::ProcessChildBatch(), impala::HdfsRCFileScanner::ProcessRange(), impala::HdfsScanner::WriteCompleteTuple(), impala::HdfsScanner::WriteEmptyTuples(), and impala::HdfsTextScanner::WriteFields().
|
static |
TODO: make a macro for doing thisf For C++/IR interop, we need to be able to look up types by name.
Definition at line 76 of file tuple-row.h.
Referenced by impala::HashJoinNode::CodegenCreateOutputRow(), impala::PartitionedHashJoinNode::CodegenCreateOutputRow(), impala::HashTableCtx::CodegenEquals(), impala::OldHashTable::CodegenEquals(), impala::ExecNode::CodegenEvalConjuncts(), impala::HashTableCtx::CodegenEvalRow(), impala::OldHashTable::CodegenEvalTupleRow(), impala::AggregationNode::CodegenUpdateSlot(), impala::PartitionedAggregationNode::CodegenUpdateSlot(), impala::AggregationNode::CodegenUpdateTuple(), impala::PartitionedAggregationNode::CodegenUpdateTuple(), impala::HdfsScanner::CodegenWriteCompleteTuple(), and impala::Expr::CreateIrFunctionPrototype().
|
private |
Definition at line 79 of file tuple-row.h.
Referenced by GetTuple(), and SetTuple().