public class Interpreter extends AbstractEnumerable<Object[]> implements 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 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<Object[]> |
enumerator() |
private RelNode |
optimize(RelNode rootRel) |
private void |
start() |
iteratoraggregate, aggregate, aggregate, all, any, any, asEnumerable, asOrderedQueryable, asQueryable, average, average, average, average, average, average, average, average, average, average, cast, concat, contains, contains, 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, intersect, intersect, into, join, join, join, 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, zipclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitforEach, spliteratorprivate final Map<RelNode,Interpreter.NodeInfo> nodes
private final DataContext dataContext
private final RelNode rootRel
public Interpreter(DataContext dataContext, RelNode rootRel)
public Enumerator<Object[]> enumerator()
enumerator in interface RawEnumerable<Object[]>private void start()
public void close()
close in interface AutoCloseableCopyright © 2012–2018 The Apache Software Foundation. All rights reserved.