#include <LhxHashBase.h>
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< TupleDescriptor > | 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. | |
vector< TupleProjection > | keyProj |
vector< vector< LhxHashTrim > > | isKeyColVarChar |
vector< bool > | useJoinFilter |
TupleProjection | aggsProj |
Projections of aggs and data fields out of the RHS. | |
vector< TupleProjection > | dataProj |
vector< RecordNum > | numRows |
Estimated number of rows from the inputs. | |
vector< RecordNum > | cndKeys |
Key cardinality estimate from the optimizer. | |
vector< SharedExecStreamBufAccessor > | streamBufAccessor |
ExecStream buf accessors. | |
vector< bool > | filterNull |
Special hash table properties:. | |
vector< TupleProjection > | filterNullKeyProj |
vector< bool > | removeDuplicate |
Definition at line 47 of file LhxHashBase.h.
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().
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().
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().
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().
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().
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().
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().