public class EventTableIndexRepository extends Object
Maintains index tables and keeps a reference count for user. Allows reuse of indexes for multiple deleting statements.
Constructor and Description |
---|
EventTableIndexRepository(EventTableIndexMetadata eventTableIndexMetadata)
Ctor.
|
public EventTableIndexRepository(EventTableIndexMetadata eventTableIndexMetadata)
eventTableIndexMetadata
- metadata for indexpublic EventTableIndexMetadata getEventTableIndexMetadata()
public Pair<IndexMultiKey,EventTableAndNamePair> addExplicitIndexOrReuse(boolean unique, List<IndexedPropDesc> hashProps, List<IndexedPropDesc> btreeProps, EventAdvancedIndexProvisionDesc advancedIndexProvisionDesc, Iterable<EventBean> prefilledEvents, EventType indexedType, String indexName, AgentInstanceContext agentInstanceContext, Object optionalSerde)
public void addIndex(IndexMultiKey indexMultiKey, EventTableIndexRepositoryEntry entry)
public List<EventTable> getTables()
public void destroy()
public Pair<IndexMultiKey,EventTableAndNamePair> findTable(Set<String> keyPropertyNames, Set<String> rangePropertyNames, List<IndexHintInstruction> optionalIndexHintInstructions)
public IndexMultiKey[] getIndexDescriptors()
public Map<IndexMultiKey,EventTableIndexRepositoryEntry> getTableIndexesRefCount()
public void validateAddExplicitIndex(String explicitIndexName, QueryPlanIndexItem explicitIndexDesc, EventType eventType, Iterable<EventBean> dataWindowContents, AgentInstanceContext agentInstanceContext, boolean allowIndexExists, Object optionalSerde) throws ExprValidationException
ExprValidationException
public void addExplicitIndex(String explicitIndexName, QueryPlanIndexItem desc, EventType eventType, Iterable<EventBean> dataWindowContents, AgentInstanceContext agentInstanceContext, Object optionalSerde)
public EventTable getExplicitIndexByName(String indexName)
public EventTable getIndexByDesc(IndexMultiKey indexKey)
public String[] getExplicitIndexNames()
public void removeIndex(IndexMultiKey index)
public IndexMultiKey getIndexByName(String indexName)
public void removeExplicitIndex(String indexName)