org.eigenbase.sql.fun
Class SqlPositionFunction
java.lang.Object
org.eigenbase.sql.SqlOperator
org.eigenbase.sql.SqlFunction
org.eigenbase.sql.fun.SqlPositionFunction
public class SqlPositionFunction
- extends SqlFunction
The POSITION
function.
- Version:
- $Id: //open/dev/farrago/src/org/eigenbase/sql/fun/SqlPositionFunction.java#10 $
- Author:
- Wael Chatila
Method Summary |
boolean |
checkOperandTypes(SqlCallBinding callBinding,
boolean throwOnFailure)
Checks that the operand values in a SqlCall to this operator are
valid. |
String |
getSignatureTemplate(int operandsCount)
Returns a template describing how the operator signature is to be built. |
void |
unparse(SqlWriter writer,
SqlNode[] operands,
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. |
Methods inherited from class org.eigenbase.sql.SqlOperator |
acceptCall, acceptCall, adjustType, argumentMustBeScalar, checkOperandCount, createCall, createCall, createCall, createCall, equals, getAllowedSignatures, getAllowedSignatures, getKind, getLeftPrec, getMonotonicity, getName, getOperandCountRange, getOperandTypeChecker, getOperandTypeInference, getReturnTypeInference, getRightPrec, hashCode, inferReturnType, inferReturnType, isAggregator, isDeterministic, isDynamicFunction, isName, leftPrec, preValidateCall, requiresDecimalExpansion, rewriteCall, rightPrec, toString, unparseListClause, unparseListClause, validateOperands |
SqlPositionFunction
public SqlPositionFunction()
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 SqlFunction
getSignatureTemplate
public String getSignatureTemplate(int operandsCount)
- Description copied from class:
SqlOperator
- Returns a template describing how the operator signature is to be built.
E.g for the binary + operator the template looks like "{1} {0} {2}" {0}
is the operator, subsequent numbers are operands.
- Overrides:
getSignatureTemplate
in class SqlOperator
- Parameters:
operandsCount
- is used with functions that can take a variable
number of operands
- Returns:
- signature template, or null to indicate that a default template
will suffice
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