T
- Element typeclass QueryableRelBuilder<T> extends java.lang.Object implements QueryableFactory<T>
QueryableFactory
that builds a tree of RelNode
planner nodes. Used by
LixToRelTranslator
.
Each of the methods that implements a Replayer
method creates
a tree of RelNode
s equivalent to the arguments, and calls
setRel(org.apache.calcite.rel.RelNode)
to assign the root of that tree to the rel
member
variable.
To comply with the QueryableFactory
interface, which is after all a factory, each method returns a dummy result
such as null
or 0
.
The caller will not use the result.
The real effect of the method is to
call setRel(org.apache.calcite.rel.RelNode)
with a RelNode
.
NOTE: Many methods currently throw UnsupportedOperationException
.
These method need to be implemented.
Modifier and Type | Field and Description |
---|---|
private RelNode |
rel |
private LixToRelTranslator |
translator |
Constructor and Description |
---|
QueryableRelBuilder(LixToRelTranslator translator) |
private final LixToRelTranslator translator
private RelNode rel
QueryableRelBuilder(LixToRelTranslator translator)
private void setRel(RelNode rel)
public <TAccumulate,TResult> TResult aggregate(Queryable<T> source, TAccumulate seed, FunctionExpression<Function2<TAccumulate,T,TAccumulate>> func, FunctionExpression<Function1<TAccumulate,TResult>> selector)
aggregate
in interface QueryableFactory<T>
public T aggregate(Queryable<T> source, FunctionExpression<Function2<T,T,T>> selector)
aggregate
in interface QueryableFactory<T>
public <TAccumulate> TAccumulate aggregate(Queryable<T> source, TAccumulate seed, FunctionExpression<Function2<TAccumulate,T,TAccumulate>> selector)
aggregate
in interface QueryableFactory<T>
public boolean all(Queryable<T> source, FunctionExpression<Predicate1<T>> predicate)
all
in interface QueryableFactory<T>
public boolean any(Queryable<T> source)
any
in interface QueryableFactory<T>
public boolean any(Queryable<T> source, FunctionExpression<Predicate1<T>> predicate)
any
in interface QueryableFactory<T>
public java.math.BigDecimal averageBigDecimal(Queryable<T> source, FunctionExpression<BigDecimalFunction1<T>> selector)
averageBigDecimal
in interface QueryableFactory<T>
public java.math.BigDecimal averageNullableBigDecimal(Queryable<T> source, FunctionExpression<NullableBigDecimalFunction1<T>> selector)
averageNullableBigDecimal
in interface QueryableFactory<T>
public double averageDouble(Queryable<T> source, FunctionExpression<DoubleFunction1<T>> selector)
averageDouble
in interface QueryableFactory<T>
public java.lang.Double averageNullableDouble(Queryable<T> source, FunctionExpression<NullableDoubleFunction1<T>> selector)
averageNullableDouble
in interface QueryableFactory<T>
public int averageInteger(Queryable<T> source, FunctionExpression<IntegerFunction1<T>> selector)
averageInteger
in interface QueryableFactory<T>
public java.lang.Integer averageNullableInteger(Queryable<T> source, FunctionExpression<NullableIntegerFunction1<T>> selector)
averageNullableInteger
in interface QueryableFactory<T>
public float averageFloat(Queryable<T> source, FunctionExpression<FloatFunction1<T>> selector)
averageFloat
in interface QueryableFactory<T>
public java.lang.Float averageNullableFloat(Queryable<T> source, FunctionExpression<NullableFloatFunction1<T>> selector)
averageNullableFloat
in interface QueryableFactory<T>
public long averageLong(Queryable<T> source, FunctionExpression<LongFunction1<T>> selector)
averageLong
in interface QueryableFactory<T>
public java.lang.Long averageNullableLong(Queryable<T> source, FunctionExpression<NullableLongFunction1<T>> selector)
averageNullableLong
in interface QueryableFactory<T>
public Queryable<T> concat(Queryable<T> source, Enumerable<T> source2)
concat
in interface QueryableFactory<T>
public boolean contains(Queryable<T> source, T element)
contains
in interface QueryableFactory<T>
public boolean contains(Queryable<T> source, T element, EqualityComparer<T> comparer)
contains
in interface QueryableFactory<T>
public int count(Queryable<T> source)
count
in interface QueryableFactory<T>
public int count(Queryable<T> source, FunctionExpression<Predicate1<T>> predicate)
count
in interface QueryableFactory<T>
public Queryable<T> defaultIfEmpty(Queryable<T> source)
defaultIfEmpty
in interface QueryableFactory<T>
public Queryable<T> defaultIfEmpty(Queryable<T> source, T value)
defaultIfEmpty
in interface QueryableFactory<T>
public Queryable<T> distinct(Queryable<T> source)
distinct
in interface QueryableFactory<T>
public Queryable<T> distinct(Queryable<T> source, EqualityComparer<T> comparer)
distinct
in interface QueryableFactory<T>
public T elementAt(Queryable<T> source, int index)
elementAt
in interface QueryableFactory<T>
public T elementAtOrDefault(Queryable<T> source, int index)
elementAtOrDefault
in interface QueryableFactory<T>
public Queryable<T> except(Queryable<T> source, Enumerable<T> enumerable)
except
in interface QueryableFactory<T>
public Queryable<T> except(Queryable<T> source, Enumerable<T> enumerable, EqualityComparer<T> tEqualityComparer)
except
in interface QueryableFactory<T>
public T first(Queryable<T> source, FunctionExpression<Predicate1<T>> predicate)
first
in interface QueryableFactory<T>
public T firstOrDefault(Queryable<T> source)
firstOrDefault
in interface QueryableFactory<T>
public T firstOrDefault(Queryable<T> source, FunctionExpression<Predicate1<T>> predicate)
firstOrDefault
in interface QueryableFactory<T>
public <TKey> Queryable<Grouping<TKey,T>> groupBy(Queryable<T> source, FunctionExpression<Function1<T,TKey>> keySelector)
groupBy
in interface QueryableFactory<T>
public <TKey> Queryable<Grouping<TKey,T>> groupBy(Queryable<T> source, FunctionExpression<Function1<T,TKey>> keySelector, EqualityComparer<TKey> comparer)
groupBy
in interface QueryableFactory<T>
public <TKey,TElement> Queryable<Grouping<TKey,TElement>> groupBy(Queryable<T> source, FunctionExpression<Function1<T,TKey>> keySelector, FunctionExpression<Function1<T,TElement>> elementSelector)
groupBy
in interface QueryableFactory<T>
public <TKey,TResult> Queryable<TResult> groupByK(Queryable<T> source, FunctionExpression<Function1<T,TKey>> keySelector, FunctionExpression<Function2<TKey,Enumerable<T>,TResult>> resultSelector)
groupByK
in interface QueryableFactory<T>
public <TKey,TElement> Queryable<Grouping<TKey,TElement>> groupBy(Queryable<T> source, FunctionExpression<Function1<T,TKey>> keySelector, FunctionExpression<Function1<T,TElement>> elementSelector, EqualityComparer<TKey> comparer)
groupBy
in interface QueryableFactory<T>
public <TKey,TResult> Queryable<TResult> groupByK(Queryable<T> source, FunctionExpression<Function1<T,TKey>> keySelector, FunctionExpression<Function2<TKey,Enumerable<T>,TResult>> elementSelector, EqualityComparer<TKey> comparer)
groupByK
in interface QueryableFactory<T>
public <TKey,TElement,TResult> Queryable<TResult> groupBy(Queryable<T> source, FunctionExpression<Function1<T,TKey>> keySelector, FunctionExpression<Function1<T,TElement>> elementSelector, FunctionExpression<Function2<TKey,Enumerable<TElement>,TResult>> resultSelector)
groupBy
in interface QueryableFactory<T>
public <TKey,TElement,TResult> Queryable<TResult> groupBy(Queryable<T> source, FunctionExpression<Function1<T,TKey>> keySelector, FunctionExpression<Function1<T,TElement>> elementSelector, FunctionExpression<Function2<TKey,Enumerable<TElement>,TResult>> resultSelector, EqualityComparer<TKey> comparer)
groupBy
in interface QueryableFactory<T>
public <TInner,TKey,TResult> Queryable<TResult> groupJoin(Queryable<T> source, Enumerable<TInner> inner, FunctionExpression<Function1<T,TKey>> outerKeySelector, FunctionExpression<Function1<TInner,TKey>> innerKeySelector, FunctionExpression<Function2<T,Enumerable<TInner>,TResult>> resultSelector)
groupJoin
in interface QueryableFactory<T>
public <TInner,TKey,TResult> Queryable<TResult> groupJoin(Queryable<T> source, Enumerable<TInner> inner, FunctionExpression<Function1<T,TKey>> outerKeySelector, FunctionExpression<Function1<TInner,TKey>> innerKeySelector, FunctionExpression<Function2<T,Enumerable<TInner>,TResult>> resultSelector, EqualityComparer<TKey> comparer)
groupJoin
in interface QueryableFactory<T>
public Queryable<T> intersect(Queryable<T> source, Enumerable<T> enumerable)
intersect
in interface QueryableFactory<T>
public Queryable<T> intersect(Queryable<T> source, Enumerable<T> enumerable, EqualityComparer<T> tEqualityComparer)
intersect
in interface QueryableFactory<T>
public <TInner,TKey,TResult> Queryable<TResult> join(Queryable<T> source, Enumerable<TInner> inner, FunctionExpression<Function1<T,TKey>> outerKeySelector, FunctionExpression<Function1<TInner,TKey>> innerKeySelector, FunctionExpression<Function2<T,TInner,TResult>> resultSelector)
join
in interface QueryableFactory<T>
public <TInner,TKey,TResult> Queryable<TResult> join(Queryable<T> source, Enumerable<TInner> inner, FunctionExpression<Function1<T,TKey>> outerKeySelector, FunctionExpression<Function1<TInner,TKey>> innerKeySelector, FunctionExpression<Function2<T,TInner,TResult>> resultSelector, EqualityComparer<TKey> comparer)
join
in interface QueryableFactory<T>
public T last(Queryable<T> source, FunctionExpression<Predicate1<T>> predicate)
last
in interface QueryableFactory<T>
public T lastOrDefault(Queryable<T> source)
lastOrDefault
in interface QueryableFactory<T>
public T lastOrDefault(Queryable<T> source, FunctionExpression<Predicate1<T>> predicate)
lastOrDefault
in interface QueryableFactory<T>
public long longCount(Queryable<T> source)
longCount
in interface QueryableFactory<T>
public long longCount(Queryable<T> source, FunctionExpression<Predicate1<T>> predicate)
longCount
in interface QueryableFactory<T>
public <TResult extends java.lang.Comparable<TResult>> TResult max(Queryable<T> source, FunctionExpression<Function1<T,TResult>> selector)
max
in interface QueryableFactory<T>
public <TResult extends java.lang.Comparable<TResult>> TResult min(Queryable<T> source, FunctionExpression<Function1<T,TResult>> selector)
min
in interface QueryableFactory<T>
public <TResult> Queryable<TResult> ofType(Queryable<T> source, java.lang.Class<TResult> clazz)
ofType
in interface QueryableFactory<T>
public <T2> Queryable<T2> cast(Queryable<T> source, java.lang.Class<T2> clazz)
cast
in interface QueryableFactory<T>
public <TKey extends java.lang.Comparable> OrderedQueryable<T> orderBy(Queryable<T> source, FunctionExpression<Function1<T,TKey>> keySelector)
orderBy
in interface QueryableFactory<T>
public <TKey> OrderedQueryable<T> orderBy(Queryable<T> source, FunctionExpression<Function1<T,TKey>> keySelector, java.util.Comparator<TKey> comparator)
orderBy
in interface QueryableFactory<T>
public <TKey extends java.lang.Comparable> OrderedQueryable<T> orderByDescending(Queryable<T> source, FunctionExpression<Function1<T,TKey>> keySelector)
orderByDescending
in interface QueryableFactory<T>
public <TKey> OrderedQueryable<T> orderByDescending(Queryable<T> source, FunctionExpression<Function1<T,TKey>> keySelector, java.util.Comparator<TKey> comparator)
orderByDescending
in interface QueryableFactory<T>
public Queryable<T> reverse(Queryable<T> source)
reverse
in interface QueryableFactory<T>
public <TResult> Queryable<TResult> select(Queryable<T> source, FunctionExpression<Function1<T,TResult>> selector)
select
in interface QueryableFactory<T>
public <TResult> Queryable<TResult> selectN(Queryable<T> source, FunctionExpression<Function2<T,java.lang.Integer,TResult>> selector)
selectN
in interface QueryableFactory<T>
public <TResult> Queryable<TResult> selectMany(Queryable<T> source, FunctionExpression<Function1<T,Enumerable<TResult>>> selector)
selectMany
in interface QueryableFactory<T>
public <TResult> Queryable<TResult> selectManyN(Queryable<T> source, FunctionExpression<Function2<T,java.lang.Integer,Enumerable<TResult>>> selector)
selectManyN
in interface QueryableFactory<T>
public <TCollection,TResult> Queryable<TResult> selectMany(Queryable<T> source, FunctionExpression<Function2<T,java.lang.Integer,Enumerable<TCollection>>> collectionSelector, FunctionExpression<Function2<T,TCollection,TResult>> resultSelector)
selectMany
in interface QueryableFactory<T>
public <TCollection,TResult> Queryable<TResult> selectManyN(Queryable<T> source, FunctionExpression<Function1<T,Enumerable<TCollection>>> collectionSelector, FunctionExpression<Function2<T,TCollection,TResult>> resultSelector)
selectManyN
in interface QueryableFactory<T>
public boolean sequenceEqual(Queryable<T> source, Enumerable<T> enumerable)
sequenceEqual
in interface QueryableFactory<T>
public boolean sequenceEqual(Queryable<T> source, Enumerable<T> enumerable, EqualityComparer<T> tEqualityComparer)
sequenceEqual
in interface QueryableFactory<T>
public T single(Queryable<T> source, FunctionExpression<Predicate1<T>> predicate)
single
in interface QueryableFactory<T>
public T singleOrDefault(Queryable<T> source)
singleOrDefault
in interface QueryableFactory<T>
public T singleOrDefault(Queryable<T> source, FunctionExpression<Predicate1<T>> predicate)
singleOrDefault
in interface QueryableFactory<T>
public Queryable<T> skip(Queryable<T> source, int count)
skip
in interface QueryableFactory<T>
public Queryable<T> skipWhile(Queryable<T> source, FunctionExpression<Predicate1<T>> predicate)
skipWhile
in interface QueryableFactory<T>
public Queryable<T> skipWhileN(Queryable<T> source, FunctionExpression<Predicate2<T,java.lang.Integer>> predicate)
skipWhileN
in interface QueryableFactory<T>
public java.math.BigDecimal sumBigDecimal(Queryable<T> source, FunctionExpression<BigDecimalFunction1<T>> selector)
sumBigDecimal
in interface QueryableFactory<T>
public java.math.BigDecimal sumNullableBigDecimal(Queryable<T> source, FunctionExpression<NullableBigDecimalFunction1<T>> selector)
sumNullableBigDecimal
in interface QueryableFactory<T>
public double sumDouble(Queryable<T> source, FunctionExpression<DoubleFunction1<T>> selector)
sumDouble
in interface QueryableFactory<T>
public java.lang.Double sumNullableDouble(Queryable<T> source, FunctionExpression<NullableDoubleFunction1<T>> selector)
sumNullableDouble
in interface QueryableFactory<T>
public int sumInteger(Queryable<T> source, FunctionExpression<IntegerFunction1<T>> selector)
sumInteger
in interface QueryableFactory<T>
public java.lang.Integer sumNullableInteger(Queryable<T> source, FunctionExpression<NullableIntegerFunction1<T>> selector)
sumNullableInteger
in interface QueryableFactory<T>
public long sumLong(Queryable<T> source, FunctionExpression<LongFunction1<T>> selector)
sumLong
in interface QueryableFactory<T>
public java.lang.Long sumNullableLong(Queryable<T> source, FunctionExpression<NullableLongFunction1<T>> selector)
sumNullableLong
in interface QueryableFactory<T>
public float sumFloat(Queryable<T> source, FunctionExpression<FloatFunction1<T>> selector)
sumFloat
in interface QueryableFactory<T>
public java.lang.Float sumNullableFloat(Queryable<T> source, FunctionExpression<NullableFloatFunction1<T>> selector)
sumNullableFloat
in interface QueryableFactory<T>
public Queryable<T> take(Queryable<T> source, int count)
take
in interface QueryableFactory<T>
public Queryable<T> takeWhile(Queryable<T> source, FunctionExpression<Predicate1<T>> predicate)
takeWhile
in interface QueryableFactory<T>
public Queryable<T> takeWhileN(Queryable<T> source, FunctionExpression<Predicate2<T,java.lang.Integer>> predicate)
takeWhileN
in interface QueryableFactory<T>
public <TKey extends java.lang.Comparable<TKey>> OrderedQueryable<T> thenBy(OrderedQueryable<T> source, FunctionExpression<Function1<T,TKey>> keySelector)
thenBy
in interface QueryableFactory<T>
public <TKey> OrderedQueryable<T> thenBy(OrderedQueryable<T> source, FunctionExpression<Function1<T,TKey>> keySelector, java.util.Comparator<TKey> comparator)
thenBy
in interface QueryableFactory<T>
public <TKey extends java.lang.Comparable<TKey>> OrderedQueryable<T> thenByDescending(OrderedQueryable<T> source, FunctionExpression<Function1<T,TKey>> keySelector)
thenByDescending
in interface QueryableFactory<T>
public <TKey> OrderedQueryable<T> thenByDescending(OrderedQueryable<T> source, FunctionExpression<Function1<T,TKey>> keySelector, java.util.Comparator<TKey> comparator)
thenByDescending
in interface QueryableFactory<T>
public Queryable<T> union(Queryable<T> source, Enumerable<T> source1)
union
in interface QueryableFactory<T>
public Queryable<T> union(Queryable<T> source, Enumerable<T> source1, EqualityComparer<T> tEqualityComparer)
union
in interface QueryableFactory<T>
public Queryable<T> where(Queryable<T> source, FunctionExpression<? extends Predicate1<T>> predicate)
where
in interface QueryableFactory<T>
public Queryable<T> whereN(Queryable<T> source, FunctionExpression<? extends Predicate2<T,java.lang.Integer>> predicate)
whereN
in interface QueryableFactory<T>
public <T1,TResult> Queryable<TResult> zip(Queryable<T> source, Enumerable<T1> source1, FunctionExpression<Function2<T,T1,TResult>> resultSelector)
zip
in interface QueryableFactory<T>
Copyright © 2012–2019 The Apache Software Foundation. All rights reserved.