public class Interpreter extends AbstractEnumerable<java.lang.Object[]> implements java.lang.AutoCloseable
Contains the context for interpreting relational expressions. In particular it holds working state while the data flow graph is being assembled.
Modifier and Type | Class and Description |
---|---|
(package private) static class |
Interpreter.CompilerImpl
|
private static class |
Interpreter.DuplicatingSink
Implementation of
Sink using a ArrayDeque . |
(package private) static class |
Interpreter.Edge
Edge between a
RelNode and one of its inputs. |
private static class |
Interpreter.EnumeratorSource
A
Source that is just backed by an Enumerator . |
private class |
Interpreter.FooCompiler
Not used.
|
private static class |
Interpreter.ListSink
Implementation of
Sink using a ArrayDeque . |
private static class |
Interpreter.ListSource
Implementation of
Source using a ArrayDeque . |
private static class |
Interpreter.NodeInfo
Information about a node registered in the data flow graph.
|
(package private) static interface |
Interpreter.ScalarCompiler
Converts a list of expressions to a scalar that can compute their
values.
|
Modifier and Type | Field and Description |
---|---|
private DataContext |
dataContext |
private java.util.Map<RelNode,Interpreter.NodeInfo> |
nodes |
private RelNode |
rootRel |
Constructor and Description |
---|
Interpreter(DataContext dataContext,
RelNode rootRel)
Creates an Interpreter.
|
Modifier and Type | Method and Description |
---|---|
void |
close() |
Enumerator<java.lang.Object[]> |
enumerator() |
private RelNode |
optimize(RelNode rootRel) |
private void |
start() |
iterator
aggregate, aggregate, aggregate, all, any, any, asEnumerable, asOrderedQueryable, asQueryable, average, average, average, average, average, average, average, average, average, average, cast, concat, contains, contains, correlateJoin, correlateJoin, count, count, createOrderedEnumerable, defaultIfEmpty, defaultIfEmpty, distinct, distinct, elementAt, elementAtOrDefault, except, except, first, first, firstOrDefault, firstOrDefault, foreach, getThis, getThisOrdered, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupJoin, groupJoin, hashJoin, hashJoin, hashJoin, intersect, intersect, into, last, last, lastOrDefault, lastOrDefault, longCount, longCount, max, max, max, max, max, max, max, max, max, max, max, max, min, min, min, min, min, min, min, min, min, min, min, min, ofType, orderBy, orderBy, orderByDescending, orderByDescending, removeAll, reverse, select, select, selectMany, selectMany, selectMany, selectMany, sequenceEqual, sequenceEqual, single, single, singleOrDefault, singleOrDefault, skip, skipWhile, skipWhile, sum, sum, sum, sum, sum, sum, sum, sum, sum, sum, take, takeWhile, takeWhile, thenBy, thenBy, thenByDescending, thenByDescending, toList, toLookup, toLookup, toLookup, toLookup, toMap, toMap, toMap, toMap, union, union, where, where, zip
private final java.util.Map<RelNode,Interpreter.NodeInfo> nodes
private final DataContext dataContext
private final RelNode rootRel
public Interpreter(DataContext dataContext, RelNode rootRel)
public Enumerator<java.lang.Object[]> enumerator()
enumerator
in interface RawEnumerable<java.lang.Object[]>
private void start()
public void close()
close
in interface java.lang.AutoCloseable
Copyright © 2012–2019 The Apache Software Foundation. All rights reserved.