public static interface SqlToRelConverter.Config
Modifier and Type | Field and Description |
---|---|
static SqlToRelConverter.Config |
DEFAULT
Default configuration.
|
Modifier and Type | Method and Description |
---|---|
int |
getInSubQueryThreshold()
Returns the
inSubQueryThreshold option,
default SqlToRelConverter.DEFAULT_IN_SUB_QUERY_THRESHOLD . |
boolean |
isConvertTableAccess()
Returns the
convertTableAccess option. |
boolean |
isCreateValuesRel()
Returns the
createValuesRel option. |
boolean |
isDecorrelationEnabled()
Returns the
decorrelationEnabled option. |
boolean |
isExpand()
Returns the
expand option. |
boolean |
isExplain()
Returns the
explain option. |
boolean |
isTrimUnusedFields()
Returns the
trimUnusedFields option. |
static final SqlToRelConverter.Config DEFAULT
boolean isConvertTableAccess()
convertTableAccess
option. Controls whether table
access references are converted to physical rels immediately. The
optimizer doesn't like leaf rels to have Convention.NONE
.
However, if we are doing further conversion passes (e.g.
RelStructuredTypeFlattener
), then we may need to defer
conversion.boolean isDecorrelationEnabled()
decorrelationEnabled
option. Controls whether to
disable sub-query decorrelation when needed. e.g. if outer joins are not
supported.boolean isTrimUnusedFields()
trimUnusedFields
option. Controls whether to trim
unused fields as part of the conversion process.boolean isCreateValuesRel()
createValuesRel
option. Controls whether instances
of LogicalValues
are generated.
These may not be supported by all physical implementations.boolean isExplain()
explain
option. Describes whether the current
statement is part of an EXPLAIN PLAN statement.boolean isExpand()
expand
option. Controls whether to expand
sub-queries. If false, each sub-query becomes a
RexSubQuery
.int getInSubQueryThreshold()
inSubQueryThreshold
option,
default SqlToRelConverter.DEFAULT_IN_SUB_QUERY_THRESHOLD
. Controls the list size
threshold under which SqlToRelConverter.convertInToOr(org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard, java.util.List<org.apache.calcite.rex.RexNode>, org.apache.calcite.sql.SqlNodeList, boolean)
is used. Lists of this size
or greater will instead be converted to use a join against an inline
table (LogicalValues
) rather than
a predicate. A threshold of 0 forces usage of an inline table in all
cases; a threshold of Integer.MAX_VALUE
forces usage of OR in all
cases.Copyright © 2014–2018 The Apache Software Foundation. All rights reserved.