Class EventTableIndexRepository
java.lang.Object
com.espertech.esper.common.internal.epl.lookupplansubord.EventTableIndexRepository
A repository of index tables for use with anything that
may use the indexes to correlate triggering events with indexed events.
Maintains index tables and keeps a reference count for user. Allows reuse of indexes for multiple deleting statements.
-
Constructor Summary
ConstructorDescriptionEventTableIndexRepository
(EventTableIndexMetadata eventTableIndexMetadata) Ctor. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addExplicitIndex
(String explicitIndexName, String explicitIndexModuleName, QueryPlanIndexItem desc, EventType eventType, Iterable<EventBean> dataWindowContents, AgentInstanceContext agentInstanceContext, DataInputOutputSerde optionalSerde) addExplicitIndexOrReuse
(QueryPlanIndexItem desc, Iterable<EventBean> prefilledEvents, EventType indexedType, String indexName, String indexModuleName, AgentInstanceContext agentInstanceContext, DataInputOutputSerde optionalValueSerde) void
addIndex
(IndexMultiKey indexMultiKey, EventTableIndexRepositoryEntry entry) void
destroy()
Destroy indexes.findTable
(Set<String> keyPropertyNames, Set<String> rangePropertyNames, List<IndexHintInstruction> optionalIndexHintInstructions) getExplicitIndexByName
(String indexName, String moduleName) getIndexByDesc
(IndexMultiKey indexKey) Returns a list of current index tables in the repository.void
removeExplicitIndex
(String indexName, String moduleName) void
removeIndex
(IndexMultiKey index) void
validateAddExplicitIndex
(String explicitIndexName, String explicitIndexModuleName, QueryPlanIndexItem explicitIndexDesc, EventType eventType, Iterable<EventBean> dataWindowContents, AgentInstanceContext agentInstanceContext, boolean allowIndexExists, DataInputOutputSerde optionalValueSerde)
-
Constructor Details
-
EventTableIndexRepository
Ctor.- Parameters:
eventTableIndexMetadata
- metadata for index
-
-
Method Details
-
getEventTableIndexMetadata
-
addExplicitIndexOrReuse
public Pair<IndexMultiKey,EventTableAndNamePair> addExplicitIndexOrReuse(QueryPlanIndexItem desc, Iterable<EventBean> prefilledEvents, EventType indexedType, String indexName, String indexModuleName, AgentInstanceContext agentInstanceContext, DataInputOutputSerde optionalValueSerde) -
addIndex
-
getTables
Returns a list of current index tables in the repository.- Returns:
- index tables
-
destroy
public void destroy()Destroy indexes. -
findTable
public Pair<IndexMultiKey,EventTableAndNamePair> findTable(Set<String> keyPropertyNames, Set<String> rangePropertyNames, List<IndexHintInstruction> optionalIndexHintInstructions) -
getIndexDescriptors
-
getTableIndexesRefCount
-
validateAddExplicitIndex
public void validateAddExplicitIndex(String explicitIndexName, String explicitIndexModuleName, QueryPlanIndexItem explicitIndexDesc, EventType eventType, Iterable<EventBean> dataWindowContents, AgentInstanceContext agentInstanceContext, boolean allowIndexExists, DataInputOutputSerde optionalValueSerde) throws ExprValidationException - Throws:
ExprValidationException
-
addExplicitIndex
public void addExplicitIndex(String explicitIndexName, String explicitIndexModuleName, QueryPlanIndexItem desc, EventType eventType, Iterable<EventBean> dataWindowContents, AgentInstanceContext agentInstanceContext, DataInputOutputSerde optionalSerde) -
getExplicitIndexByName
-
getIndexByDesc
-
getExplicitIndexNames
-
removeIndex
-
removeExplicitIndex
-