HashMapGenerator¶
HashMapGenerator
is an abstraction of HashMap generators that can generate an append-only row-based hash map for extremely fast key-value lookups while evaluating aggregates.
Contract¶
generateEquals¶
generateEquals(): String
Used when:
HashMapGenerator
is requested to generate a Java code
generateFindOrInsert¶
generateFindOrInsert(): String
Used when:
HashMapGenerator
is requested to generate a Java code
generateRowIterator¶
generateRowIterator(): String
Used when:
HashMapGenerator
is requested to generate a Java code
initializeAggregateHashMap¶
initializeAggregateHashMap(): String
Used when:
HashMapGenerator
is requested to generate a Java code
Implementations¶
RowBasedHashMapGenerator
VectorizedHashMapGenerator
Generating Java Code¶
generate(): String
generate
creates a source code of a Java class with the following (in that order):
- generatedClassName
- initializeAggregateHashMap
- generateFindOrInsert
- generateEquals
- generateHashFunction
- generateRowIterator
- generateClose
generate
is used when:
HashAggregateExec
physical operator is requested to doProduceWithKeys