Impala
Impalaistheopensource,nativeanalyticdatabaseforApacheHadoop.
|
#include <descriptors.h>
Public Member Functions | |
int | byte_size () const |
int | num_null_bytes () const |
const std::vector < SlotDescriptor * > & | slots () const |
const std::vector < SlotDescriptor * > & | string_slots () const |
const TableDescriptor * | table_desc () const |
TupleId | id () const |
std::string | DebugString () const |
llvm::StructType * | GenerateLlvmStruct (LlvmCodeGen *codegen) |
Protected Member Functions | |
TupleDescriptor (const TTupleDescriptor &tdesc) | |
void | AddSlot (SlotDescriptor *slot) |
Protected Attributes | |
const TupleId | id_ |
TableDescriptor * | table_desc_ |
const int | byte_size_ |
const int | num_null_bytes_ |
int | num_materialized_slots_ |
std::vector< SlotDescriptor * > | slots_ |
std::vector< SlotDescriptor * > | string_slots_ |
llvm::StructType * | llvm_struct_ |
Friends | |
class | DescriptorTbl |
Definition at line 298 of file descriptors.h.
|
protected |
Definition at line 232 of file descriptors.cc.
|
protected |
Definition at line 242 of file descriptors.cc.
References impala::SlotDescriptor::is_materialized(), impala::ColumnType::IsVarLen(), num_materialized_slots_, slots_, string_slots_, and impala::SlotDescriptor::type().
|
inline |
Definition at line 300 of file descriptors.h.
References byte_size_.
Referenced by impala::AnalyticEvalNode::AddResultTuple(), impala::BufferedTupleStream::BufferedTupleStream(), impala::PartitionedAggregationNode::CleanupHashTbl(), impala::AggregationNode::Close(), impala::HdfsScanner::CodegenWriteCompleteTuple(), impala::HdfsScanner::CommitRows(), impala::AggregationNode::ConstructIntermediateTuple(), impala::PartitionedAggregationNode::ConstructIntermediateTuple(), impala::Tuple::DeepCopy(), impala::UnionNode::EvalAndMaterializeExprs(), impala::AggregationNode::FinalizeTuple(), GenerateLlvmStruct(), impala::HBaseScanNode::GetNext(), impala::PartitionedAggregationNode::GetOutputTuple(), impala::Sorter::Init(), impala::HdfsScanNode::InitEmptyTemplateTuple(), impala::AnalyticEvalNode::InitNextPartition(), impala::TopNNode::InsertTupleRow(), impala::DataSourceScanNode::MaterializeNextRow(), impala::AnalyticEvalNode::Open(), impala::TopNNode::Prepare(), impala::HdfsTextScanner::ResetScanner(), and impala::HdfsTextScanner::WriteFields().
string impala::TupleDescriptor::DebugString | ( | ) | const |
Definition at line 250 of file descriptors.cc.
References byte_size_, id_, slots_, and table_desc_.
Referenced by impala::SlotRef::Prepare().
StructType * impala::TupleDescriptor::GenerateLlvmStruct | ( | LlvmCodeGen * | codegen | ) |
Creates a typed struct description for llvm. The layout of the struct is computed by the FE which includes the order of the fields in the resulting struct. Returns the struct type or NULL if the type could not be created. For example, the aggregation tuple for this query: select count(*), min(int_col_a) would map to: struct Tuple { int8_t null_byte; int32_t min_a; int64_t count_val; }; The resulting struct definition is cached.
Definition at line 556 of file descriptors.cc.
References byte_size(), impala::LlvmCodeGen::context(), impala::LlvmCodeGen::execution_engine(), impala::SlotDescriptor::field_idx(), impala::SlotDescriptor::field_idx_, impala::LlvmCodeGen::GetType(), impala::SlotDescriptor::is_materialized(), llvm_struct_, num_materialized_slots_, num_null_bytes_, impala::SlotDescriptor::slot_idx_, slots(), impala::SlotDescriptor::tuple_offset(), impala::ColumnType::type, impala::SlotDescriptor::type(), impala::TYPE_CHAR, and impala::TYPE_TINYINT.
Referenced by impala::HdfsAvroScanner::CodegenMaterializeTuple(), impala::AggregationNode::CodegenUpdateSlot(), impala::PartitionedAggregationNode::CodegenUpdateSlot(), impala::AggregationNode::CodegenUpdateTuple(), impala::PartitionedAggregationNode::CodegenUpdateTuple(), impala::HdfsScanner::CodegenWriteCompleteTuple(), and impala::TextConverter::CodegenWriteSlot().
|
inline |
Definition at line 306 of file descriptors.h.
References id_.
Referenced by impala::BlockingJoinNode::Prepare(), and impala::AnalyticEvalNode::Prepare().
|
inline |
Definition at line 301 of file descriptors.h.
References num_null_bytes_.
Referenced by impala::HdfsScanner::CodegenWriteCompleteTuple(), and impala::Tuple::MaterializeExprs().
|
inline |
Definition at line 302 of file descriptors.h.
References slots_.
Referenced by impala::AggregationNode::CodegenUpdateTuple(), impala::PartitionedAggregationNode::CodegenUpdateTuple(), impala::AggregationNode::ConstructIntermediateTuple(), impala::PartitionedAggregationNode::ConstructIntermediateTuple(), impala::AggregationNode::FinalizeTuple(), GenerateLlvmStruct(), impala::PartitionedAggregationNode::GetOutputTuple(), impala::Tuple::MaterializeExprs(), impala::TupleEqualityChecker::operator()(), impala::HBaseScanNode::Prepare(), impala::UnionNode::Prepare(), impala::DataSourceScanNode::Prepare(), impala::AggregationNode::Prepare(), impala::AnalyticEvalNode::Prepare(), impala::PartitionedAggregationNode::Prepare(), impala::HdfsScanNode::Prepare(), impala::PrintTuple(), and impala::HBaseTableScanner::ScanSetup().
|
inline |
Definition at line 303 of file descriptors.h.
References string_slots_.
Referenced by impala::ScannerContext::AddStream(), impala::BufferedTupleStream::BufferedTupleStream(), impala::Tuple::DeepCopy(), impala::Sorter::Init(), impala::HdfsScanner::InitializeWriteTuplesFn(), impala::HdfsRCFileScanner::InitNewRange(), and impala::HdfsScanner::UpdateDecompressor().
|
inline |
Definition at line 304 of file descriptors.h.
References table_desc_.
Referenced by impala::HBaseScanNode::GetNext(), impala::DataSourceScanNode::Open(), impala::HBaseScanNode::Prepare(), impala::HdfsScanNode::Prepare(), and impala::HBaseTableScanner::ScanSetup().
|
friend |
Definition at line 323 of file descriptors.h.
|
protected |
Definition at line 327 of file descriptors.h.
Referenced by byte_size(), and DebugString().
|
protected |
Definition at line 325 of file descriptors.h.
Referenced by DebugString(), and id().
|
protected |
Definition at line 332 of file descriptors.h.
Referenced by GenerateLlvmStruct().
|
protected |
Definition at line 329 of file descriptors.h.
Referenced by AddSlot(), and GenerateLlvmStruct().
|
protected |
Definition at line 328 of file descriptors.h.
Referenced by GenerateLlvmStruct(), and num_null_bytes().
|
protected |
Definition at line 330 of file descriptors.h.
Referenced by AddSlot(), DebugString(), and slots().
|
protected |
Definition at line 331 of file descriptors.h.
Referenced by AddSlot(), and string_slots().
|
protected |
Definition at line 326 of file descriptors.h.
Referenced by impala::DescriptorTbl::Create(), DebugString(), and table_desc().