org.eigenbase.sql.fun
Class SqlThrowOperator

java.lang.Object
  extended by org.eigenbase.sql.SqlOperator
      extended by org.eigenbase.sql.SqlSpecialOperator
          extended by org.eigenbase.sql.SqlInternalOperator
              extended by org.eigenbase.sql.fun.SqlThrowOperator

public class SqlThrowOperator
extends SqlInternalOperator

An internal operator that throws an exception.
The exception is thrown with a (localized) error message which is the only input paramter to the operator.
The return type is defined as a BOOLEAN to facilitate the use of it in constructs like the following:

CASE
WHEN <conditionn> THEN true
ELSE throw("what's wrong with you man?")
END

Since:
Mar 29, 2005
Version:
$Id: //open/dev/farrago/src/org/eigenbase/sql/fun/SqlThrowOperator.java#10 $
Author:
Wael Chatila

Field Summary
 
Fields inherited from class org.eigenbase.sql.SqlOperator
MaxPrec, NL
 
Constructor Summary
SqlThrowOperator()
           
 
Method Summary
 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.SqlInternalOperator
getSyntax
 
Methods inherited from class org.eigenbase.sql.SqlSpecialOperator
reduceExpr
 
Methods inherited from class org.eigenbase.sql.SqlOperator
acceptCall, acceptCall, adjustType, argumentMustBeScalar, checkOperandCount, checkOperandTypes, createCall, createCall, createCall, createCall, deriveType, equals, getAllowedSignatures, getAllowedSignatures, getKind, getLeftPrec, getMonotonicity, getName, getOperandCountRange, getOperandTypeChecker, getOperandTypeInference, getReturnTypeInference, getRightPrec, getSignatureTemplate, hashCode, inferReturnType, inferReturnType, isAggregator, isDeterministic, isDynamicFunction, isName, leftPrec, preValidateCall, requiresDecimalExpansion, rewriteCall, rightPrec, toString, unparseListClause, unparseListClause, validateCall, validateOperands
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SqlThrowOperator

public SqlThrowOperator()
Method Detail

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 SqlInternalOperator