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