org.eigenbase.sql
Class SqlProcedureCallOperator

java.lang.Object
  extended by org.eigenbase.sql.SqlOperator
      extended by org.eigenbase.sql.SqlPrefixOperator
          extended by org.eigenbase.sql.SqlProcedureCallOperator

public class SqlProcedureCallOperator
extends SqlPrefixOperator

SqlProcedureCallOperator represents the CALL statement. It takes a single operand which is the real SqlCall.

Version:
$Id: //open/dev/farrago/src/org/eigenbase/sql/SqlProcedureCallOperator.java#12 $
Author:
John V. Sichi

Field Summary
 
Fields inherited from class org.eigenbase.sql.SqlOperator
MaxPrec, NL
 
Constructor Summary
SqlProcedureCallOperator()
           
 
Method Summary
 SqlNode rewriteCall(SqlValidator validator, SqlCall call)
          Rewrites a call to this operator.
 
Methods inherited from class org.eigenbase.sql.SqlPrefixOperator
adjustType, getMonotonicity, getSignatureTemplate, getSyntax
 
Methods inherited from class org.eigenbase.sql.SqlOperator
acceptCall, acceptCall, argumentMustBeScalar, checkOperandCount, checkOperandTypes, createCall, createCall, createCall, createCall, deriveType, equals, getAllowedSignatures, getAllowedSignatures, getKind, getLeftPrec, getName, getOperandCountRange, getOperandTypeChecker, getOperandTypeInference, getReturnTypeInference, getRightPrec, hashCode, inferReturnType, inferReturnType, isAggregator, isDeterministic, isDynamicFunction, isName, leftPrec, preValidateCall, requiresDecimalExpansion, rightPrec, toString, unparse, unparseListClause, unparseListClause, validateCall, validateOperands
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SqlProcedureCallOperator

public SqlProcedureCallOperator()
Method Detail

rewriteCall

public SqlNode rewriteCall(SqlValidator validator,
                           SqlCall call)
Description copied from class: SqlOperator
Rewrites 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:
rewriteCall in class SqlOperator
call - to be rewritten
Returns:
rewritten call