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 result
  • second — Second query that contains the elements that cannot be in the result
  • comparer — 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 operation
  • ranges — List of at least one key selector pairs
  • keySelector — Lambda called to extract the keys from the ranges
  • keyComparer — Instance used to compare the keys returned by keySelector

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 operation
  • ranges — List of at least one key range
  • keySelector — Lambda called to extract the keys from the ranges
  • keyComparer — Instance used to compare the keys returned by keySelector

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 result
  • second — Second query that contains the elements that cannot be in the result
  • keySelector — 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 operation
  • ranges — List of at least one key selector pairs
  • keySelector — Lambda called to extract the keys used by the sort
  • resultSelector — Lambda called to extract the values returned by the query
  • keyComparer — Instance used to compare the keys returned by keySelector

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 operation
  • ranges — List of at least one key ranges
  • keySelector — Lambda called to extract the keys used by the sort
  • resultSelector — Lambda called to extract the values returned by the query
  • keyComparer — Instance used to compare the keys returned by keySelector

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)