/// <summary> /// Add an explicit index. /// </summary> /// <param name="unique">indicator whether unique</param> /// <param name="indexName">indexname</param> /// <param name="columns">properties indexed</param> /// <throws>com.espertech.esper.epl.expression.core.ExprValidationException if the index fails to be valid</throws> public void AddExplicitIndex(bool unique, string indexName, IList <CreateIndexItem> columns) { lock (this) { _indexRepository.ValidateAddExplicitIndex( unique, indexName, columns, _rootView.EventType, _dataWindowContents); } }
/// <summary> /// Add an explicit index. /// </summary> /// <param name="unique">indicator whether unique</param> /// <param name="indexName">indexname</param> /// <param name="columns">properties indexed</param> /// <param name="isRecoveringResilient">if set to <c>true</c> [is recovering resilient].</param> /// <throws>com.espertech.esper.epl.expression.core.ExprValidationException if the index fails to be valid</throws> public void AddExplicitIndex(bool unique, string indexName, IList <CreateIndexItem> columns, bool isRecoveringResilient) { lock (this) { var initIndex = _agentInstanceContext.StatementContext.EventTableIndexService.AllowInitIndex(isRecoveringResilient); var initializeFrom = initIndex ? _dataWindowContents : CollectionUtil.NULL_EVENT_ITERABLE; _indexRepository.ValidateAddExplicitIndex( unique, indexName, columns, _rootView.EventType, initializeFrom, _agentInstanceContext, isRecoveringResilient, null); } }