org.eigenbase.sql
Class SqlJoinOperator

java.lang.Object
  extended by org.eigenbase.sql.SqlOperator
      extended by org.eigenbase.sql.SqlJoinOperator

public class SqlJoinOperator
extends SqlOperator

SqlJoinOperator describes the syntax of the SQL JOIN operator. Since there is only one such operator, this class is almost certainly a singleton.

Since:
Mar 19, 2003
Version:
$Id: //open/dev/farrago/src/org/eigenbase/sql/SqlJoinOperator.java#20 $
Author:
jhyde

Nested Class Summary
static class SqlJoinOperator.ConditionType
          Enumerates the types of condition in a join expression.
static class SqlJoinOperator.JoinType
          Enumerates the types of join.
 
Field Summary
private static SqlWriter.FrameType UsingFrameType
           
 
Fields inherited from class org.eigenbase.sql.SqlOperator
MaxPrec, NL
 
Constructor Summary
SqlJoinOperator()
           
 
Method Summary
 SqlCall createCall(SqlLiteral functionQualifier, SqlParserPos pos, SqlNode... operands)
          Creates a call to this operand with an array of operands.
 SqlCall createCall(SqlNode left, SqlLiteral isNatural, SqlLiteral joinType, SqlNode right, SqlLiteral conditionType, SqlNode condition, SqlParserPos pos)
           
 SqlSyntax getSyntax()
          Returns the syntactic type of this operator.
 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, checkOperandTypes, 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
 

Field Detail

UsingFrameType

private static final SqlWriter.FrameType UsingFrameType
Constructor Detail

SqlJoinOperator

public SqlJoinOperator()
Method Detail

getSyntax

public SqlSyntax getSyntax()
Description copied from class: SqlOperator
Returns the syntactic type of this operator.

Specified by:
getSyntax in class SqlOperator

createCall

public SqlCall createCall(SqlLiteral functionQualifier,
                          SqlParserPos pos,
                          SqlNode... operands)
Description copied from class: SqlOperator
Creates a call to this operand with an array of operands.

The position of the resulting call is the union of the pos and the positions of all of the operands.

Overrides:
createCall in class SqlOperator
Parameters:
functionQualifier - function qualifier (e.g. "DISTINCT"), may be
pos - parser position of the identifier of the call
operands - array of operands

createCall

public SqlCall createCall(SqlNode left,
                          SqlLiteral isNatural,
                          SqlLiteral joinType,
                          SqlNode right,
                          SqlLiteral conditionType,
                          SqlNode condition,
                          SqlParserPos pos)

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 SqlOperator