internal SpanQueryResult Process(RemoteClusteredSpanQuery remoteClusteredSpanQuery, MessageContext messageContext, IndexStoreContext storeContext) { // increment the performance counter PerformanceCounters.Instance.SetCounterValue( PerformanceCounterEnum.IndexLookupAvgPerRemoteClusteredSpanQuery, messageContext.TypeId, remoteClusteredSpanQuery.IndexIdList.Count); // creating a spanQuery with copy ctor VirtualSpanQuery query = new VirtualSpanQuery(remoteClusteredSpanQuery) { CacheTypeName = storeContext.GetTypeName(messageContext.TypeId), // we get only reference at this point ExcludeData = true }; SpanQueryResult queryResult = RelayClient.Instance.SubmitQuery <VirtualSpanQuery, SpanQueryResult>(query); GetDataItems(remoteClusteredSpanQuery.FullDataIdInfo, remoteClusteredSpanQuery.ExcludeData, messageContext, storeContext, queryResult); return(queryResult); }
/// <summary> /// Processes the specified remote clustered intersection query. /// </summary> /// <param name="remoteClusteredIntersectionQuery">The remote clustered intersection query.</param> /// <param name="messageContext">The message context.</param> /// <param name="storeContext">The store context.</param> /// <returns>IntersectionQueryResult</returns> internal static IntersectionQueryResult Process(RemoteClusteredIntersectionQuery remoteClusteredIntersectionQuery, MessageContext messageContext, IndexStoreContext storeContext) { // increment performance counter PerformanceCounters.Instance.SetCounterValue( PerformanceCounterEnum.IndexLookupAvgPerRemoteClusteredIntersectionQuery, messageContext.TypeId, remoteClusteredIntersectionQuery.IndexIdList.Count); VirtualClusteredIntersectionQuery query = new VirtualClusteredIntersectionQuery( remoteClusteredIntersectionQuery.IndexIdList, remoteClusteredIntersectionQuery.TargetIndexName, storeContext.GetTypeName(messageContext.TypeId)) { ExcludeData = remoteClusteredIntersectionQuery.ExcludeData, GetIndexHeader = remoteClusteredIntersectionQuery.GetIndexHeader, Filter = remoteClusteredIntersectionQuery.Filter, intersectionQueryParamsMapping = remoteClusteredIntersectionQuery.IntersectionQueryParamsMapping, PrimaryId = remoteClusteredIntersectionQuery.PrimaryId, PrimaryIdList = remoteClusteredIntersectionQuery.PrimaryIdList }; return(RelayClient.Instance.SubmitQuery <VirtualClusteredIntersectionQuery, IntersectionQueryResult>(query)); }
/// <summary> /// Processes the specified remote clustered intersection query. /// </summary> /// <param name="remoteClusteredIntersectionQuery">The remote clustered intersection query.</param> /// <param name="messageContext">The message context.</param> /// <param name="storeContext">The store context.</param> /// <returns>IntersectionQueryResult</returns> internal static IntersectionQueryResult Process(RemoteClusteredIntersectionQuery remoteClusteredIntersectionQuery, MessageContext messageContext, IndexStoreContext storeContext) { // increment performance counter PerformanceCounters.Instance.SetCounterValue( PerformanceCounterEnum.IndexLookupAvgPerRemoteClusteredIntersectionQuery, messageContext.TypeId, remoteClusteredIntersectionQuery.IndexIdList.Count); VirtualClusteredIntersectionQuery query = new VirtualClusteredIntersectionQuery(remoteClusteredIntersectionQuery, storeContext.GetTypeName(messageContext.TypeId)); return(RelayClient.Instance.SubmitQuery <VirtualClusteredIntersectionQuery, IntersectionQueryResult>(query)); }