org.eigenbase.sql.fun
Class SqlMultisetValueConstructor
java.lang.Object
org.eigenbase.sql.SqlOperator
org.eigenbase.sql.SqlSpecialOperator
org.eigenbase.sql.fun.SqlMultisetValueConstructor
public class SqlMultisetValueConstructor
- extends SqlSpecialOperator
Definition of the SQL:2003 standard MULTISET constructor, MULTISET
[<expr>, ...]
.
- Since:
- Oct 17, 2004
- Version:
- $Id: //open/dev/farrago/src/org/eigenbase/sql/fun/SqlMultisetValueConstructor.java#7 $
- Author:
- Wael Chatila
- See Also:
SqlMultisetQueryConstructor
Methods inherited from class org.eigenbase.sql.SqlOperator |
acceptCall, acceptCall, adjustType, argumentMustBeScalar, checkOperandCount, createCall, createCall, createCall, createCall, deriveType, equals, getAllowedSignatures, getAllowedSignatures, getKind, getLeftPrec, getMonotonicity, getName, getOperandCountRange, getOperandTypeChecker, getOperandTypeInference, getReturnTypeInference, getRightPrec, getSignatureTemplate, hashCode, inferReturnType, isAggregator, isDeterministic, isDynamicFunction, isName, leftPrec, preValidateCall, requiresDecimalExpansion, rewriteCall, rightPrec, toString, unparseListClause, unparseListClause, validateCall, validateOperands |
SqlMultisetValueConstructor
public SqlMultisetValueConstructor()
inferReturnType
public RelDataType inferReturnType(SqlOperatorBinding opBinding)
- Description copied from class:
SqlOperator
- Infers the return type of an invocation of this operator; only called
after the number and types of operands have already been validated.
Subclasses must either override this method or supply an instance of
SqlReturnTypeInference
to the constructor.
- Overrides:
inferReturnType
in class SqlOperator
- Parameters:
opBinding
- description of invocation (not necessarily a SqlCall
)
- Returns:
- inferred return type
getComponentType
private RelDataType getComponentType(RelDataTypeFactory typeFactory,
RelDataType[] argTypes)
checkOperandTypes
public boolean checkOperandTypes(SqlCallBinding callBinding,
boolean throwOnFailure)
- Description copied from class:
SqlOperator
- Checks that the operand values in a
SqlCall
to this operator are
valid. Subclasses must either override this method or supply an instance
of SqlOperandTypeChecker
to the constructor.
- Overrides:
checkOperandTypes
in class SqlOperator
- Parameters:
callBinding
- description of callthrowOnFailure
- whether to throw an exception if check fails
(otherwise returns false in that case)
- Returns:
- whether check succeeded
unparse
public void unparse(SqlWriter writer,
SqlNode[] operands,
int leftPrec,
int rightPrec)
- Description copied from class:
SqlOperator
- 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.
The default implementation of this method delegates to SqlSyntax.unparse(org.eigenbase.sql.SqlWriter, org.eigenbase.sql.SqlOperator, org.eigenbase.sql.SqlNode[], int, int)
.
- Overrides:
unparse
in class SqlSpecialOperator