FdbMergeQueryExtensions
Namespace: FoundationDB.Client · class
Methods
Except
static IAsyncLinqQuery<TResult> Except<TResult>(IAsyncQuery<TResult> first, IAsyncQuery<TResult> second, IComparer<TResult> comparer = null)
Sequence the return only the elements of first that are not in second
first— First query that contains the elements that could be in the resultsecond— Second query that contains the elements that cannot be in the resultcomparer— Instance used to compare elements
Returns: Async query that returns only the elements that are in first, and not in second
static IAsyncLinqQuery<KeyValuePair<Slice, Slice>> Except<TKey>(IFdbReadOnlyTransaction trans, IEnumerable<KeySelectorPair> ranges, Func<KeyValuePair<Slice, Slice>, TKey> keySelector, IComparer<TKey> keyComparer = null)
Return the keys that are in the first range, but not in the others
trans— Transaction used by the operationranges— List of at least one key selector pairskeySelector— Lambda called to extract the keys from the rangeskeyComparer— Instance used to compare the keys returned bykeySelector
Returns: Async query that returns only the results that are in the first range, and not in any other range.
static IAsyncLinqQuery<KeyValuePair<Slice, Slice>> Except<TKey>(IFdbReadOnlyTransaction trans, IEnumerable<KeyRange> ranges, Func<KeyValuePair<Slice, Slice>, TKey> keySelector, IComparer<TKey> keyComparer = null)
Return the keys that are in the first range, but not in the others
trans— Transaction used by the operationranges— List of at least one key rangekeySelector— Lambda called to extract the keys from the rangeskeyComparer— Instance used to compare the keys returned bykeySelector
Returns: Async query that returns only the results that are in the first range, and not in any other range.
static IAsyncLinqQuery<TResult> Except<TKey, TResult>(IAsyncQuery<TResult> first, IAsyncQuery<TResult> second, Func<TResult, TKey> keySelector, IComparer<TKey> keyComparer = null)
Sequence the return only the elements of first that are not in second, using a custom key comparison
first— First query that contains the elements that could be in the resultsecond— Second query that contains the elements that cannot be in the resultkeySelector— Lambda used to extract keys from both queries.keyComparer— Instance used to compare keys
Returns: Async query that returns only the elements that are in first, and not in second
static IAsyncLinqQuery<TResult> Except<TKey, TResult>(IFdbReadOnlyTransaction trans, IEnumerable<KeySelectorPair> ranges, Func<KeyValuePair<Slice, Slice>, TKey> keySelector, Func<KeyValuePair<Slice, Slice>, TResult> resultSelector, IComparer<TKey> keyComparer = null)
Return the keys that are in the first range, but not in the others
trans— Transaction used by the operationranges— List of at least one key selector pairskeySelector— Lambda called to extract the keys used by the sortresultSelector— Lambda called to extract the values returned by the querykeyComparer— Instance used to compare the keys returned bykeySelector
Returns: Async query that returns only the results that are in the first range, and not in any other range.
static IAsyncLinqQuery<TResult> Except<TKey, TResult>(IFdbReadOnlyTransaction trans, IEnumerable<KeyRange> ranges, Func<KeyValuePair<Slice, Slice>, TKey> keySelector, Func<KeyValuePair<Slice, Slice>, TResult> resultSelector, IComparer<TKey> keyComparer = null)
Return the keys that are in the first range, but not in the others
trans— Transaction used by the operationranges— List of at least one key rangeskeySelector— Lambda called to extract the keys used by the sortresultSelector— Lambda called to extract the values returned by the querykeyComparer— Instance used to compare the keys returned bykeySelector
Returns: Async query that returns only the results that are in the first range, and not in any other range.
Intersect
static IAsyncLinqQuery<TResult> Intersect<TResult>(IEnumerable<IAsyncQuery<TResult>> sources, IComparer<TResult> keyComparer = null)
static IAsyncLinqQuery<TResult> Intersect<TResult>(IAsyncQuery<TResult> first, IAsyncQuery<TResult> second, IComparer<TResult> comparer = null)
static IAsyncLinqQuery<TResult> Intersect<TKey, TResult>(IEnumerable<IAsyncQuery<TResult>> sources, Func<TResult, TKey> keySelector, IComparer<TKey> keyComparer = null)
static IAsyncLinqQuery<KeyValuePair<Slice, Slice>> Intersect<TKey>(IFdbReadOnlyTransaction trans, IEnumerable<KeySelectorPair> ranges, Func<KeyValuePair<Slice, Slice>, TKey> keySelector, IComparer<TKey> keyComparer = null)
static IAsyncLinqQuery<TResult> Intersect<TKey, TResult>(IAsyncQuery<TResult> first, IAsyncQuery<TResult> second, Func<TResult, TKey> keySelector, IComparer<TKey> keyComparer = null)
static IAsyncLinqQuery<TResult> Intersect<TKey, TResult>(IFdbReadOnlyTransaction trans, IEnumerable<KeySelectorPair> ranges, Func<KeyValuePair<Slice, Slice>, TKey> keySelector, Func<KeyValuePair<Slice, Slice>, TResult> resultSelector, IComparer<TKey> keyComparer = null)
MergeSort
static IAsyncLinqQuery<KeyValuePair<Slice, Slice>> MergeSort<TKey>(IFdbReadOnlyTransaction trans, IEnumerable<KeySelectorPair> ranges, Func<KeyValuePair<Slice, Slice>, TKey> keySelector, IComparer<TKey> keyComparer = null)
static IAsyncLinqQuery<TResult> MergeSort<TKey, TResult>(IFdbReadOnlyTransaction trans, IEnumerable<KeySelectorPair> ranges, Func<KeyValuePair<Slice, Slice>, TKey> keySelector, Func<KeyValuePair<Slice, Slice>, TResult> resultSelector, IComparer<TKey> keyComparer = null)
Union
static IAsyncLinqQuery<TResult> Union<TResult>(IEnumerable<IAsyncQuery<TResult>> sources, IComparer<TResult> keyComparer = null)
static IAsyncLinqQuery<TResult> Union<TKey, TResult>(IEnumerable<IAsyncQuery<TResult>> sources, Func<TResult, TKey> keySelector, IComparer<TKey> keyComparer = null)