LhxHashInfo Struct Reference

Information common to all hash execution components: join, aggregate. More...

#include <LhxHashBase.h>

List of all members.

Public Attributes

SegmentAccessor externalSegmentAccessor
 Accessor for segment used to store runs externally.
SegmentAccessor memSegmentAccessor
 Accessor for scratch segment used for building runs in-memory.
uint numCachePages
 Cache pages to use by this join.
vector< TupleDescriptorinputDesc
 Join keys, aggs and data For join, index 0 refers to the orginal(optimizer chosen) probe side index 1 refers to the orginal(optimizer chosen) build side For aggregation, index 0 refers to the input.
vector< TupleProjectionkeyProj
vector< vector< LhxHashTrim > > isKeyColVarChar
vector< bool > useJoinFilter
TupleProjection aggsProj
 Projections of aggs and data fields out of the RHS.
vector< TupleProjectiondataProj
vector< RecordNumnumRows
 Estimated number of rows from the inputs.
vector< RecordNumcndKeys
 Key cardinality estimate from the optimizer.
vector< SharedExecStreamBufAccessorstreamBufAccessor
 ExecStream buf accessors.
vector< bool > filterNull
 Special hash table properties:.
vector< TupleProjectionfilterNullKeyProj
vector< bool > removeDuplicate


Detailed Description

Information common to all hash execution components: join, aggregate.

Author:
Rushan Chen
Version:
Id
//open/dev/fennel/hashexe/LhxHashBase.h#1

Definition at line 47 of file LhxHashBase.h.


Member Data Documentation

SegmentAccessor LhxHashInfo::externalSegmentAccessor

Accessor for segment used to store runs externally.

Definition at line 61 of file LhxHashBase.h.

Referenced by LhxPartitionWriter::open(), LhxJoinExecStream::setHashInfo(), LhxAggExecStream::setHashInfo(), LhxHashTableTest::testCaseSetUp(), and LhxHashTableTest::testCaseTearDown().

SegmentAccessor LhxHashInfo::memSegmentAccessor

Accessor for scratch segment used for building runs in-memory.

Definition at line 66 of file LhxHashBase.h.

Referenced by LhxHashTable::calculateSize(), LhxHashTable::init(), LhxPartitionWriter::open(), LhxJoinExecStream::setHashInfo(), LhxAggExecStream::setHashInfo(), LhxHashTableTest::testCaseSetUp(), LhxHashTableTest::testCaseTearDown(), and LhxHashTableTest::testInsert().

uint LhxHashInfo::numCachePages

Cache pages to use by this join.

These pages are used for (1) building hash table (2) buffering I/O for writing out to partitions on disk.

Definition at line 73 of file LhxHashBase.h.

Referenced by LhxHashTable::init(), LhxPartitionInfo::open(), LhxPartitionWriter::open(), LhxJoinExecStream::setResourceAllocation(), LhxAggExecStream::setResourceAllocation(), and LhxHashTableTest::testInsert().

vector<TupleDescriptor> LhxHashInfo::inputDesc

Join keys, aggs and data For join, index 0 refers to the orginal(optimizer chosen) probe side index 1 refers to the orginal(optimizer chosen) build side For aggregation, index 0 refers to the input.

Definition at line 92 of file LhxHashBase.h.

Referenced by LhxHashTable::calculateSize(), LhxPlan::createChildren(), LhxPlan::generatePartitions(), LhxPartitionInfo::init(), LhxHashTableReader::init(), LhxHashTable::init(), LhxPartitionReader::open(), LhxPartitionWriter::open(), LhxAggExecStream::prepare(), LhxHashTableTest::readPartition(), LhxAggExecStream::setAggComputers(), LhxJoinExecStream::setHashInfo(), LhxAggExecStream::setHashInfo(), LhxHashTableTest::testCaseTearDown(), LhxHashTableTest::testInsert(), and LhxHashTableTest::writeHashTable().

vector<TupleProjection> LhxHashInfo::keyProj

Definition at line 94 of file LhxHashBase.h.

Referenced by LhxHashTable::calculateSize(), LhxPlan::createChildren(), LhxJoinExecStream::execute(), LhxPlan::generatePartitions(), LhxHashTableReader::init(), LhxHashTable::init(), LhxJoinExecStream::setHashInfo(), LhxAggExecStream::setHashInfo(), LhxHashTableTest::testCaseTearDown(), and LhxHashTableTest::testInsert().

vector< vector<LhxHashTrim> > LhxHashInfo::isKeyColVarChar

Definition at line 99 of file LhxHashBase.h.

Referenced by LhxPlan::createChildren(), LhxPlan::generatePartitions(), LhxHashTable::init(), LhxJoinExecStream::setHashInfo(), LhxAggExecStream::setHashInfo(), LhxHashTableTest::testCaseTearDown(), and LhxHashTableTest::testInsert().

vector<bool> LhxHashInfo::useJoinFilter

Definition at line 105 of file LhxHashBase.h.

Referenced by LhxPlan::generatePartitions(), LhxJoinExecStream::setHashInfo(), LhxAggExecStream::setHashInfo(), and LhxHashTableTest::testInsert().

TupleProjection LhxHashInfo::aggsProj

Projections of aggs and data fields out of the RHS.

Definition at line 110 of file LhxHashBase.h.

Referenced by LhxHashTableReader::init(), LhxHashTable::init(), LhxAggExecStream::setAggComputers(), LhxAggExecStream::setHashInfo(), LhxHashTableTest::testCaseTearDown(), and LhxHashTableTest::testInsert().

vector<TupleProjection> LhxHashInfo::dataProj

Definition at line 111 of file LhxHashBase.h.

Referenced by LhxHashTable::calculateSize(), LhxHashTableReader::init(), LhxHashTable::init(), LhxJoinExecStream::setHashInfo(), LhxAggExecStream::setHashInfo(), LhxHashTableTest::testCaseTearDown(), and LhxHashTableTest::testInsert().

vector<RecordNum> LhxHashInfo::numRows

Estimated number of rows from the inputs.

Definition at line 116 of file LhxHashBase.h.

Referenced by LhxHashTable::calculateSize(), LhxJoinExecStream::setHashInfo(), LhxAggExecStream::setHashInfo(), and LhxHashTableTest::testInsert().

vector<RecordNum> LhxHashInfo::cndKeys

Key cardinality estimate from the optimizer.

It is also used to estimate the size of the hash table(to build partial aggregates) during recursive partitioning for aggregate operations.

Definition at line 124 of file LhxHashBase.h.

Referenced by LhxHashTable::calculateSize(), LhxHashTable::init(), LhxPartitionWriter::open(), LhxJoinExecStream::setHashInfo(), LhxAggExecStream::setHashInfo(), and LhxHashTableTest::testInsert().

vector<SharedExecStreamBufAccessor> LhxHashInfo::streamBufAccessor

ExecStream buf accessors.

Definition at line 129 of file LhxHashBase.h.

Referenced by LhxPartitionReader::open(), LhxJoinExecStream::setHashInfo(), and LhxAggExecStream::setHashInfo().

vector<bool> LhxHashInfo::filterNull

Special hash table properties:.

filterNull: do not add null keys to hash table In join sementics, nulls do not match; however, in set matching sementics and special comparison semantics("is not distinct from"), nulls are considered equal.

removeDuplicate: do not add duplicatekeys to hash table removeDuplicate is only used in set matching joins where inputDesc and keyProj have the same size for both inputs.

Definition at line 143 of file LhxHashBase.h.

Referenced by LhxHashTable::init(), LhxJoinExecStream::setHashInfo(), LhxAggExecStream::setHashInfo(), and LhxHashTableTest::testInsert().

vector<TupleProjection> LhxHashInfo::filterNullKeyProj

Definition at line 144 of file LhxHashBase.h.

Referenced by LhxJoinExecStream::execute(), LhxHashTable::init(), LhxJoinExecStream::setHashInfo(), LhxAggExecStream::setHashInfo(), and LhxHashTableTest::testInsert().

vector<bool> LhxHashInfo::removeDuplicate

Definition at line 145 of file LhxHashBase.h.

Referenced by LhxJoinExecStream::execute(), LhxHashTable::init(), LhxJoinExecStream::setHashInfo(), LhxAggExecStream::setHashInfo(), and LhxHashTableTest::testInsert().


The documentation for this struct was generated from the following file:
Generated on Mon Jun 22 04:00:38 2009 for Fennel by  doxygen 1.5.1