public class InlineDataSource extends Object implements DataSource
getRows()
and iterates the result, or until someone calls getRowsAsList()
.Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object o) |
static InlineDataSource |
fromIterable(Iterable<Object[]> rows,
RowSignature signature)
Creates an inline datasource from an Iterable.
|
List<DataSource> |
getChildren()
Returns datasources that this datasource depends on.
|
List<String> |
getColumnNames() |
List<ValueType> |
getColumnTypes() |
Iterable<Object[]> |
getRows()
Returns rows as an Iterable.
|
List<Object[]> |
getRowsAsList()
Returns rows as a list.
|
RowSignature |
getRowSignature()
Returns the row signature (map of column name to type) for this inline datasource.
|
Set<String> |
getTableNames()
Returns the names of all table datasources involved in this query.
|
int |
hashCode() |
boolean |
isCacheable()
Returns true if queries on this dataSource are cacheable at both the result level and per-segment level.
|
boolean |
isConcrete()
Returns true if this datasource represents concrete data that can be scanned via a
Segment adapter of some kind. |
boolean |
isGlobal()
Returns true if all servers have a full copy of this datasource.
|
RowAdapter<Object[]> |
rowAdapter() |
String |
toString() |
DataSource |
withChildren(List<DataSource> children)
Return a new DataSource, identical to this one, with different children.
|
public static InlineDataSource fromIterable(Iterable<Object[]> rows, RowSignature signature)
getRows()
and iterates the result, or until someone calls getRowsAsList()
.rows
- rows, each of the same length as signature.size()
signature
- row signaturepublic Set<String> getTableNames()
DataSource
getTableNames
in interface DataSource
public List<Object[]> getRowsAsList()
public List<DataSource> getChildren()
DataSource
getChildren
in interface DataSource
public DataSource withChildren(List<DataSource> children)
DataSource
withChildren
in interface DataSource
public boolean isCacheable()
DataSource
isCacheable
in interface DataSource
public boolean isGlobal()
DataSource
JoinableFactory
which might build a
Joinable
for this datasource directly. If a subquery 'inline' join is
required to join this datasource on the right hand side, then this value must be false for now.
In the future, instead of directly using this method, the query planner and engine should consider
JoinableFactory.isDirectlyJoinable(DataSource)
when determining if the
right hand side is directly joinable, which would allow decoupling this property from joins.isGlobal
in interface DataSource
public boolean isConcrete()
DataSource
Segment
adapter of some kind. True for e.g. 'table' but not for 'query' or 'join'.isConcrete
in interface DataSource
which uses this
,
which uses this
public RowSignature getRowSignature()
public RowAdapter<Object[]> rowAdapter()
Copyright © 2011–2021 The Apache Software Foundation. All rights reserved.