public class EventTableIndexRepository
extends java.lang.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.
|
Modifier and Type | Method and Description |
---|---|
void |
addExplicitIndex(java.lang.String explicitIndexName,
QueryPlanIndexItem desc,
EventType eventType,
java.lang.Iterable<EventBean> dataWindowContents,
AgentInstanceContext agentInstanceContext,
java.lang.Object optionalSerde) |
Pair<IndexMultiKey,EventTableAndNamePair> |
addExplicitIndexOrReuse(boolean unique,
java.util.List<IndexedPropDesc> hashProps,
java.util.List<IndexedPropDesc> btreeProps,
EventAdvancedIndexProvisionDesc advancedIndexProvisionDesc,
java.lang.Iterable<EventBean> prefilledEvents,
EventType indexedType,
java.lang.String indexName,
AgentInstanceContext agentInstanceContext,
java.lang.Object optionalSerde) |
void |
addIndex(IndexMultiKey indexMultiKey,
EventTableIndexRepositoryEntry entry) |
void |
destroy()
Destroy indexes.
|
Pair<IndexMultiKey,EventTableAndNamePair> |
findTable(java.util.Set<java.lang.String> keyPropertyNames,
java.util.Set<java.lang.String> rangePropertyNames,
java.util.List<IndexHintInstruction> optionalIndexHintInstructions) |
EventTableIndexMetadata |
getEventTableIndexMetadata() |
EventTable |
getExplicitIndexByName(java.lang.String indexName) |
java.lang.String[] |
getExplicitIndexNames() |
EventTable |
getIndexByDesc(IndexMultiKey indexKey) |
IndexMultiKey |
getIndexByName(java.lang.String indexName) |
IndexMultiKey[] |
getIndexDescriptors() |
java.util.Map<IndexMultiKey,EventTableIndexRepositoryEntry> |
getTableIndexesRefCount() |
java.util.List<EventTable> |
getTables()
Returns a list of current index tables in the repository.
|
void |
removeExplicitIndex(java.lang.String indexName) |
void |
removeIndex(IndexMultiKey index) |
void |
validateAddExplicitIndex(java.lang.String explicitIndexName,
QueryPlanIndexItem explicitIndexDesc,
EventType eventType,
java.lang.Iterable<EventBean> dataWindowContents,
AgentInstanceContext agentInstanceContext,
boolean allowIndexExists,
java.lang.Object optionalSerde) |
public EventTableIndexRepository(EventTableIndexMetadata eventTableIndexMetadata)
eventTableIndexMetadata
- metadata for indexpublic EventTableIndexMetadata getEventTableIndexMetadata()
public Pair<IndexMultiKey,EventTableAndNamePair> addExplicitIndexOrReuse(boolean unique, java.util.List<IndexedPropDesc> hashProps, java.util.List<IndexedPropDesc> btreeProps, EventAdvancedIndexProvisionDesc advancedIndexProvisionDesc, java.lang.Iterable<EventBean> prefilledEvents, EventType indexedType, java.lang.String indexName, AgentInstanceContext agentInstanceContext, java.lang.Object optionalSerde)
public void addIndex(IndexMultiKey indexMultiKey, EventTableIndexRepositoryEntry entry)
public java.util.List<EventTable> getTables()
public void destroy()
public Pair<IndexMultiKey,EventTableAndNamePair> findTable(java.util.Set<java.lang.String> keyPropertyNames, java.util.Set<java.lang.String> rangePropertyNames, java.util.List<IndexHintInstruction> optionalIndexHintInstructions)
public IndexMultiKey[] getIndexDescriptors()
public java.util.Map<IndexMultiKey,EventTableIndexRepositoryEntry> getTableIndexesRefCount()
public void validateAddExplicitIndex(java.lang.String explicitIndexName, QueryPlanIndexItem explicitIndexDesc, EventType eventType, java.lang.Iterable<EventBean> dataWindowContents, AgentInstanceContext agentInstanceContext, boolean allowIndexExists, java.lang.Object optionalSerde) throws ExprValidationException
ExprValidationException
public void addExplicitIndex(java.lang.String explicitIndexName, QueryPlanIndexItem desc, EventType eventType, java.lang.Iterable<EventBean> dataWindowContents, AgentInstanceContext agentInstanceContext, java.lang.Object optionalSerde)
public EventTable getExplicitIndexByName(java.lang.String indexName)
public EventTable getIndexByDesc(IndexMultiKey indexKey)
public java.lang.String[] getExplicitIndexNames()
public void removeIndex(IndexMultiKey index)
public IndexMultiKey getIndexByName(java.lang.String indexName)
public void removeExplicitIndex(java.lang.String indexName)