Impala
Impalaistheopensource,nativeanalyticdatabaseforApacheHadoop.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
com.cloudera.impala.analysis.DescriptorTable Class Reference
Collaboration diagram for com.cloudera.impala.analysis.DescriptorTable:

Public Member Functions

TupleDescriptor createTupleDescriptor (String debugName)
 
TupleDescriptor copyTupleDescriptor (TupleId srcId, String debugName)
 
SlotDescriptor addSlotDescriptor (TupleDescriptor d)
 
SlotDescriptor copySlotDescriptor (TupleDescriptor dest, SlotDescriptor src)
 
TupleDescriptor getTupleDesc (TupleId id)
 
SlotDescriptor getSlotDesc (SlotId id)
 
Collection< TupleDescriptorgetTupleDescs ()
 
Collection< SlotDescriptorgetSlotDescs ()
 
TupleId getMaxTupleId ()
 
SlotId getMaxSlotId ()
 
void addReferencedTable (Table table)
 
void addReferencedPartition (Table table, long partitionId)
 
void markSlotsMaterialized (List< SlotId > ids)
 
List< SlotIdgetTupleSlotIds (List< SlotId > slotIds, TupleId tupleId)
 
void computeMemLayout ()
 
TDescriptorTable toThrift ()
 
String debugString ()
 

Private Member Functions

HashSet< Long > getReferencedPartitions (Table table)
 

Private Attributes

final HashMap< TupleId,
TupleDescriptor
tupleDescs_ = Maps.newHashMap()
 
final HashMap< SlotId,
SlotDescriptor
slotDescs_ = Maps.newHashMap()
 
final IdGenerator< TupleIdtupleIdGenerator_ = TupleId.createGenerator()
 
final IdGenerator< SlotIdslotIdGenerator_ = SlotId.createGenerator()
 
final List< TablereferencedTables_ = Lists.newArrayList()
 
final HashMap< Table, HashSet
< Long > > 
referencedPartitionsPerTable_
 

Detailed Description

Repository for tuple (and slot) descriptors. Descriptors should only be created through this class, which assigns them unique ids.

Definition at line 36 of file DescriptorTable.java.

Member Function Documentation

void com.cloudera.impala.analysis.DescriptorTable.addReferencedPartition ( Table  table,
long  partitionId 
)
inline

Add the partition with ID partitionId to the set of referenced partitions for the given table.

Definition at line 116 of file DescriptorTable.java.

References com.cloudera.impala.analysis.DescriptorTable.getReferencedPartitions().

void com.cloudera.impala.analysis.DescriptorTable.addReferencedTable ( Table  table)
inline

Definition at line 95 of file DescriptorTable.java.

SlotDescriptor com.cloudera.impala.analysis.DescriptorTable.addSlotDescriptor ( TupleDescriptor  d)
inline
void com.cloudera.impala.analysis.DescriptorTable.computeMemLayout ( )
inline
SlotDescriptor com.cloudera.impala.analysis.DescriptorTable.copySlotDescriptor ( TupleDescriptor  dest,
SlotDescriptor  src 
)
inline
TupleDescriptor com.cloudera.impala.analysis.DescriptorTable.copyTupleDescriptor ( TupleId  srcId,
String  debugName 
)
inline
TupleDescriptor com.cloudera.impala.analysis.DescriptorTable.createTupleDescriptor ( String  debugName)
inline
String com.cloudera.impala.analysis.DescriptorTable.debugString ( )
inline
SlotId com.cloudera.impala.analysis.DescriptorTable.getMaxSlotId ( )
inline

Definition at line 93 of file DescriptorTable.java.

TupleId com.cloudera.impala.analysis.DescriptorTable.getMaxTupleId ( )
inline

Definition at line 92 of file DescriptorTable.java.

HashSet<Long> com.cloudera.impala.analysis.DescriptorTable.getReferencedPartitions ( Table  table)
inlineprivate

Find the set of referenced partitions for the given table. Allocates a set if none has been allocated for the table yet.

Definition at line 103 of file DescriptorTable.java.

Referenced by com.cloudera.impala.analysis.DescriptorTable.addReferencedPartition(), and com.cloudera.impala.analysis.DescriptorTable.toThrift().

Collection<SlotDescriptor> com.cloudera.impala.analysis.DescriptorTable.getSlotDescs ( )
inline

Definition at line 91 of file DescriptorTable.java.

TupleDescriptor com.cloudera.impala.analysis.DescriptorTable.getTupleDesc ( TupleId  id)
inline
Collection<TupleDescriptor> com.cloudera.impala.analysis.DescriptorTable.getTupleDescs ( )
inline

Definition at line 90 of file DescriptorTable.java.

List<SlotId> com.cloudera.impala.analysis.DescriptorTable.getTupleSlotIds ( List< SlotId slotIds,
TupleId  tupleId 
)
inline

Return all ids in slotIds that belong to tupleId.

Definition at line 132 of file DescriptorTable.java.

References com.cloudera.impala.analysis.DescriptorTable.getSlotDesc().

void com.cloudera.impala.analysis.DescriptorTable.markSlotsMaterialized ( List< SlotId ids)
inline

Marks all slots in list as materialized.

Definition at line 123 of file DescriptorTable.java.

References com.cloudera.impala.analysis.DescriptorTable.getSlotDesc().

Member Data Documentation

final HashMap<Table, HashSet<Long> > com.cloudera.impala.analysis.DescriptorTable.referencedPartitionsPerTable_
private
Initial value:
=
Maps.newHashMap()

Definition at line 45 of file DescriptorTable.java.

final List<Table> com.cloudera.impala.analysis.DescriptorTable.referencedTables_ = Lists.newArrayList()
private
final HashMap<SlotId, SlotDescriptor> com.cloudera.impala.analysis.DescriptorTable.slotDescs_ = Maps.newHashMap()
private

Definition at line 38 of file DescriptorTable.java.

final IdGenerator<SlotId> com.cloudera.impala.analysis.DescriptorTable.slotIdGenerator_ = SlotId.createGenerator()
private
final HashMap<TupleId, TupleDescriptor> com.cloudera.impala.analysis.DescriptorTable.tupleDescs_ = Maps.newHashMap()
private
final IdGenerator<TupleId> com.cloudera.impala.analysis.DescriptorTable.tupleIdGenerator_ = TupleId.createGenerator()
private

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