public ISet <EventBean> GetCollectKeys(EventBean theEvent, DataMap parent, ExprEvaluatorContext context, IList <Object> keys) { _events[_lookupStream] = theEvent; var mk = EventBeanUtility.GetMultiKey(_events, _evaluators, context, _keyCoercionTypes); keys.AddAll(mk.Keys); var innerIndex = (DataMap)parent.Get(mk); if (innerIndex == null) { return(null); } return(_next.GetCollectKeys(theEvent, innerIndex, context, keys)); }
public ICollection <EventBean> GetCollectKeys( EventBean theEvent, DataMap parent, ExprEvaluatorContext context, IList <object> keys, CompositeIndexQueryResultPostProcessor postProcessor) { _events[_lookupStream] = theEvent; var mk = EventBeanUtility.GetMultiKey(_events, _evaluators, context, _keyCoercionTypes); keys.AddAll(mk.Keys); var innerIndex = (DataMap)parent.Get(mk); if (innerIndex == null) { return(null); } return(_next.GetCollectKeys(theEvent, innerIndex, context, keys, postProcessor)); }
public ICollection <EventBean> Lookup(EventBean[] eventsPerStream, ExprEvaluatorContext context) { if (InstrumentationHelper.ENABLED) { InstrumentationHelper.Get().QIndexSubordLookup(this, _index, null); IList <Object> keys = new List <Object>(2); // can collect nulls ISet <EventBean> result = _innerIndexQuery.GetCollectKeys(eventsPerStream, _index.MapIndex, context, keys); InstrumentationHelper.Get().AIndexSubordLookup(result, keys.Count > 1 ? keys.ToArray() : keys[0]); return(result); } return(_innerIndexQuery.Get(eventsPerStream, _index.MapIndex, context)); }
public ICollection<EventBean> GetCollectKeys( EventBean theEvent, IDictionary<object, CompositeIndexEntry> parent, ExprEvaluatorContext context, ICollection<object> keys, CompositeIndexQueryResultPostProcessor postProcessor) { _events[_lookupStream] = theEvent; var mk = _hashGetter.Evaluate(_events, true, context); if (mk is MultiKeyArrayOfKeys<object> multiKeyArray) { keys.AddAll(multiKeyArray.Array); } else { keys.Add(mk); } var innerEntry = parent.Get(mk); if (innerEntry == null) { return null; } var innerIndex = innerEntry.AssertIndex(); return _next.GetCollectKeys(theEvent, innerIndex, context, keys, postProcessor); }
public ICollection <EventBean> Lookup(EventBean theEvent, Cursor cursor, ExprEvaluatorContext context) { if (InstrumentationHelper.ENABLED) { InstrumentationHelper.Get().QIndexJoinLookup(this, _index); } var keys = new List <Object>(2); var result = _chain.GetCollectKeys(theEvent, _index.MapIndex, context, keys); if (InstrumentationHelper.ENABLED) { InstrumentationHelper.Get().AIndexJoinLookup(result, keys.Count > 1 ? keys.ToArray() : keys[0]); } return(result); }
public ICollection <EventBean> Lookup(EventBean theEvent, Cursor cursor, ExprEvaluatorContext context) { if (InstrumentationHelper.ENABLED) { InstrumentationHelper.Get().QIndexJoinLookup(this, _index); var keys = new List <Object>(2); ICollection <EventBean> resultX = _chain.GetCollectKeys(theEvent, _index.MapIndex, context, keys, _index.PostProcessor); InstrumentationHelper.Get().AIndexJoinLookup(resultX, keys.Count > 1 ? keys.ToArray() : keys[0]); return(resultX); } ICollection <EventBean> result = _chain.Get(theEvent, _index.MapIndex, context, _index.PostProcessor); if (result != null && result.IsEmpty()) { return(null); } return(result); }