Class PropertyCompositeEventTableFactory
java.lang.Object
com.espertech.esper.common.internal.epl.index.composite.PropertyCompositeEventTableFactory
- All Implemented Interfaces:
EventTableFactory
For use when the index comprises of either two or more ranges or a unique key in combination with a range.
Organizes into a TreeMap<key, TreeMap<key2, Set<EventBean>>, for short. The top level can also be just Map<HashableMultiKey, TreeMap...>.
Expected at least either (A) one key and one range or (B) zero keys and 2 ranges.
An alternative implementatation could have been based on "TreeMap<ComparableMultiKey, Set<EventBean>>>", however the following implication arrive - not applicable for range-only lookups (since there the key can be the value itself - not applicable for multiple nested range as ordering not nested - each add/remove and lookup would also need to construct a key object.
-
Field Summary
Modifier and TypeFieldDescriptionprotected final CompositeIndexEnterRemove
protected final EventPropertyValueGetter
protected final String[]
protected final EPTypeClass[]
protected final EPTypeClass[]
protected final EventPropertyValueGetter[]
protected final String[]
protected final int
protected final MultiKeyFromObjectArray
-
Constructor Summary
ConstructorDescriptionPropertyCompositeEventTableFactory
(int streamNum, String[] optionalKeyedProps, EPTypeClass[] optKeyCoercedTypes, EventPropertyValueGetter hashGetter, MultiKeyFromObjectArray transformFireAndForget, String[] rangeProps, EPTypeClass[] optRangeCoercedTypes, EventPropertyValueGetter[] rangeGetters) -
Method Summary
Modifier and TypeMethodDescriptiongetChain()
protected EventTableOrganization
makeEventTables
(ExprEvaluatorContext exprEvaluatorContext, Integer subqueryNumber)
-
Field Details
-
streamNum
protected final int streamNum -
optionalKeyedProps
-
optKeyCoercedTypes
-
hashGetter
-
transformFireAndForget
-
rangeProps
-
optRangeCoercedTypes
-
rangeGetters
-
chain
-
-
Constructor Details
-
PropertyCompositeEventTableFactory
public PropertyCompositeEventTableFactory(int streamNum, String[] optionalKeyedProps, EPTypeClass[] optKeyCoercedTypes, EventPropertyValueGetter hashGetter, MultiKeyFromObjectArray transformFireAndForget, String[] rangeProps, EPTypeClass[] optRangeCoercedTypes, EventPropertyValueGetter[] rangeGetters)
-
-
Method Details
-
makeEventTables
public EventTable[] makeEventTables(ExprEvaluatorContext exprEvaluatorContext, Integer subqueryNumber) - Specified by:
makeEventTables
in interfaceEventTableFactory
-
getEventTableClass
- Specified by:
getEventTableClass
in interfaceEventTableFactory
-
getChain
-
toQueryPlan
- Specified by:
toQueryPlan
in interfaceEventTableFactory
-
getOrganization
-