public class SqlSelectOperator extends SqlOperator
Operands are:
SqlLiteral)SqlNodeList)SqlCall to "join" operator)SqlNode)SqlNode)SqlNode)SqlNodeList)SqlNode)| Modifier and Type | Field and Description |
|---|---|
static SqlSelectOperator |
INSTANCE |
kind, MDX_PRECEDENCE, NL| Modifier and Type | Method and Description |
|---|---|
<R> void |
acceptCall(SqlVisitor<R> visitor,
SqlCall call,
boolean onlyExpressions,
SqlBasicVisitor.ArgHandler<R> argHandler)
Accepts a
SqlVisitor, directing an
SqlBasicVisitor.ArgHandler
to visit an operand of a call. |
boolean |
argumentMustBeScalar(int ordinal)
Returns whether the
ordinalth argument to this operator must
be scalar (as opposed to a query). |
SqlCall |
createCall(SqlLiteral functionQualifier,
SqlParserPos pos,
SqlNode... operands)
Creates a call to this operand with an array of operands.
|
SqlSelect |
createCall(SqlNodeList keywordList,
SqlNodeList selectList,
SqlNode fromClause,
SqlNode whereClause,
SqlNodeList groupBy,
SqlNode having,
SqlNodeList windowDecls,
SqlNodeList orderBy,
SqlNode offset,
SqlNode fetch,
SqlParserPos pos)
Creates a call to the
SELECT operator. |
SqlSyntax |
getSyntax()
Returns the syntactic type of this operator, never null.
|
void |
unparse(SqlWriter writer,
SqlCall call,
int leftPrec,
int rightPrec)
Writes a SQL representation of a call to this operator to a writer,
including parentheses if the operators on either side are of greater
precedence.
|
acceptCall, adjustType, allowsFraming, checkOperandCount, checkOperandTypes, createCall, createCall, createCall, deriveType, equals, getAllowedSignatures, getAllowedSignatures, getKind, getLeftPrec, getMonotonicity, getName, getOperandCountRange, getOperandTypeChecker, getOperandTypeInference, getReturnTypeInference, getRightPrec, getSignatureTemplate, hashCode, inferReturnType, inferReturnType, isAggregator, isDeterministic, isDynamicFunction, isName, leftPrec, preValidateCall, requiresDecimalExpansion, requiresOrder, rewriteCall, rightPrec, toString, unparseListClause, unparseListClause, validateCall, validateOperands, validRexOperandspublic static final SqlSelectOperator INSTANCE
public SqlSyntax getSyntax()
SqlOperatorgetSyntax in class SqlOperatorpublic SqlCall createCall(SqlLiteral functionQualifier, SqlParserPos pos, SqlNode... operands)
SqlOperatorThe position of the resulting call is the union of the
pos and the positions of all of the operands.
createCall in class SqlOperatorfunctionQualifier - function qualifier (e.g. "DISTINCT"), may bepos - parser position of the identifier of the calloperands - array of operandspublic SqlSelect createCall(SqlNodeList keywordList, SqlNodeList selectList, SqlNode fromClause, SqlNode whereClause, SqlNodeList groupBy, SqlNode having, SqlNodeList windowDecls, SqlNodeList orderBy, SqlNode offset, SqlNode fetch, SqlParserPos pos)
SELECT operator.keywordList - List of keywords such DISTINCT and ALL, or nullselectList - The SELECT clause, or null if emptyfromClause - The FROM clausewhereClause - The WHERE clause, or null if not presentgroupBy - The GROUP BY clause, or null if not presenthaving - The HAVING clause, or null if not presentwindowDecls - The WINDOW clause, or null if not presentorderBy - The ORDER BY clause, or null if not presentoffset - Expression for number of rows to discard before
returning first rowfetch - Expression for number of rows to fetchpos - The parser position, or
SqlParserPos.ZERO
if not specified; must not be null.SqlSelect, never nullpublic <R> void acceptCall(SqlVisitor<R> visitor, SqlCall call, boolean onlyExpressions, SqlBasicVisitor.ArgHandler<R> argHandler)
SqlOperatorSqlVisitor, directing an
SqlBasicVisitor.ArgHandler
to visit an operand of a call.
The argument handler allows fine control about how the operands are visited, and how the results are combined.
acceptCall in class SqlOperatorvisitor - Visitorcall - Call to visitonlyExpressions - If true, ignores operands which are not
expressions. For example, in the call to the
AS operatorargHandler - Called for each operandpublic void unparse(SqlWriter writer, SqlCall call, int leftPrec, int rightPrec)
SqlOperatorThe default implementation of this method delegates to
SqlSyntax.unparse(org.apache.calcite.sql.SqlWriter, org.apache.calcite.sql.SqlOperator, org.apache.calcite.sql.SqlCall, int, int).
unparse in class SqlOperatorpublic boolean argumentMustBeScalar(int ordinal)
SqlOperatorordinalth argument to this operator must
be scalar (as opposed to a query).
If true (the default), the validator will attempt to convert the argument into a scalar subquery, which must have one column and return at most one row.
Operators such as SELECT and EXISTS override
this method.
argumentMustBeScalar in class SqlOperatorCopyright © 2012–2015 The Apache Software Foundation. All rights reserved.