public virtual FieldIndexProcessorResult Run() { IIndexedNode bestIndex = SelectBestIndex(); if (null == bestIndex) { return(FieldIndexProcessorResult.NoIndexFound); } IIndexedNode resolved = ResolveFully(bestIndex); if (!bestIndex.IsEmpty()) { bestIndex.MarkAsBestIndex(_candidates); return(new FieldIndexProcessorResult(resolved)); } return(FieldIndexProcessorResult.FoundIndexButNoMatch); }
public virtual FieldIndexProcessorResult Run() { IIndexedNode bestIndex = SelectBestIndex(); if (null == bestIndex) { return(FieldIndexProcessorResult.NoIndexFound); } if (bestIndex.ResultSize() > 0) { IIndexedNode resolved = ResolveFully(bestIndex); if (null == resolved) { return(FieldIndexProcessorResult.NoIndexFound); } resolved.MarkAsBestIndex(); return(new FieldIndexProcessorResult(resolved)); } return(FieldIndexProcessorResult.FoundIndexButNoMatch); }
public override void MarkAsBestIndex() { _constraint.SetProcessedByIndex(); _next.MarkAsBestIndex(); }
public override void MarkAsBestIndex(QCandidates candidates) { _constraint.SetProcessedByIndex(candidates); _next.MarkAsBestIndex(candidates); }