Package org.apache.calcite.sql.fun
Class SqlNewOperator
java.lang.Object
org.apache.calcite.sql.SqlOperator
org.apache.calcite.sql.SqlPrefixOperator
org.apache.calcite.sql.fun.SqlNewOperator
SqlNewOperator represents an SQL
new specification such as
NEW UDT(1, 2). When used in an SqlCall, SqlNewOperator takes a
single operand, which is an invocation of the constructor method; but when
used in a RexCall, the operands are the initial values to be used for the new
instance.-
Field Summary
Fields inherited from class org.apache.calcite.sql.SqlOperator
kind, MDX_PRECEDENCE, NL -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanMethod to check if call requires expansion when it has decimal operands.rewriteCall(SqlValidator validator, SqlCall call) Rewrites a call to this operator.Methods inherited from class org.apache.calcite.sql.SqlPrefixOperator
adjustType, getMonotonicity, getSignatureTemplate, getSyntax, validRexOperandsMethods inherited from class org.apache.calcite.sql.SqlOperator
acceptCall, acceptCall, allowsFraming, argumentMustBeScalar, checkOperandCount, checkOperandTypes, constructArgNameList, constructArgTypeList, constructOperandList, createCall, createCall, createCall, createCall, createCall, createCall, createCall, deriveOperandType, deriveType, equals, getAllowedSignatures, getAllowedSignatures, getKind, getLeftPrec, getMonotonicity, getName, getNameAsId, getOperandCountRange, getOperandTypeChecker, getOperandTypeInference, getReturnTypeInference, getRightPrec, getSqlCallFactory, getStrongPolicyInference, hashCode, inferReturnType, inferReturnType, isAggregator, isDeterministic, isDynamicFunction, isGroup, isGroupAuxiliary, isName, isSafeOperator, isSymmetrical, leftPrec, not, preValidateCall, requiresOrder, requiresOver, reverse, rightPrec, toString, unparse, unparseListClause, unparseListClause, validateCall, validateOperands
-
Constructor Details
-
SqlNewOperator
public SqlNewOperator()
-
-
Method Details
-
rewriteCall
Description copied from class:SqlOperatorRewrites a call to this operator. Some operators are implemented as trivial rewrites (e.g. NULLIF becomes CASE). However, we don't do this at createCall time because we want to preserve the original SQL syntax as much as possible; instead, we do this before the call is validated (so the trivial operator doesn't need its own implementation of type derivation methods). The default implementation is to just return the original call without any rewrite.- Overrides:
rewriteCallin classSqlOperator- Parameters:
validator- Validatorcall- Call to be rewritten- Returns:
- rewritten call
-
requiresDecimalExpansion
public boolean requiresDecimalExpansion()Description copied from class:SqlOperatorMethod to check if call requires expansion when it has decimal operands. The default implementation is to return true.- Overrides:
requiresDecimalExpansionin classSqlOperator
-