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(@Nullable SqlLiteral functionQualifier,
SqlParserPos pos,
SqlNode... operands)
Creates a call to this operator 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,
SqlNodeList hints,
SqlParserPos pos)
Deprecated.
|
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, constructArgNameList, constructArgTypeList, constructOperandList, createCall, createCall, createCall, createCall, createCall, createCall, deriveType, equals, getAllowedSignatures, getAllowedSignatures, getKind, getLeftPrec, getMonotonicity, getMonotonicity, getName, getNameAsId, getOperandCountRange, getOperandTypeChecker, getOperandTypeInference, getReturnTypeInference, getRightPrec, getSignatureTemplate, getStrongPolicyInference, hashCode, inferReturnType, inferReturnType, isAggregator, isDeterministic, isDynamicFunction, isGroup, isGroupAuxiliary, isName, isSymmetrical, leftPrec, not, preValidateCall, requiresDecimalExpansion, requiresOrder, requiresOver, reverse, rewriteCall, rightPrec, toString, unparseListClause, unparseListClause, validateCall, validateOperands, validRexOperandspublic static final SqlSelectOperator INSTANCE
public SqlSyntax getSyntax()
SqlOperatorgetSyntax in class SqlOperatorpublic SqlCall createCall(@Nullable 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"), or nullpos - Parser position of the identifier of the calloperands - Array of operands@Deprecated public SqlSelect createCall(SqlNodeList keywordList, SqlNodeList selectList, SqlNode fromClause, SqlNode whereClause, SqlNodeList groupBy, SqlNode having, SqlNodeList windowDecls, SqlNodeList orderBy, SqlNode offset, SqlNode fetch, SqlNodeList hints, SqlParserPos pos)
createCall(SqlLiteral, SqlParserPos, SqlNode...).SELECT operator.public <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 sub-query, 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-2022 Apache Software Foundation. All Rights Reserved.