net.sf.farrago.query
Class FarragoRexBuilder

java.lang.Object
  extended by org.eigenbase.rex.RexBuilder
      extended by org.eigenbase.oj.util.JavaRexBuilder
          extended by net.sf.farrago.query.FarragoRexBuilder

public class FarragoRexBuilder
extends JavaRexBuilder

FarragoRexBuilder refines JavaRexBuilder with Farrago-specific details.

Version:
$Id: //open/dev/farrago/src/net/sf/farrago/query/FarragoRexBuilder.java#22 $
Author:
John V. Sichi

Field Summary
private  FarragoPreparingStmt preparingStmt
           
 
Fields inherited from class org.eigenbase.rex.RexBuilder
typeFactory
 
Constructor Summary
FarragoRexBuilder(FarragoPreparingStmt preparingStmt)
           
 
Method Summary
 FarragoPreparingStmt getPreparingStmt()
           
private  FarragoUserDefinedRoutine getRoutine(FemUserDefinedOrdering udo)
           
 RexNode makeCall(SqlOperator op, RexNode... exprs)
          Creates a call with an array of arguments.
private  RexNode makeComparison(SqlOperator op, RexNode[] exprs)
           
 RexLiteral makeLiteral(String s)
          Creates a character string literal.
private  RexNode makeMapComparison(FemUserDefinedType udt, FemUserDefinedOrdering udo, SqlOperator op, RexNode[] exprs)
           
private  RexNode makeRelativeComparison(FemUserDefinedType udt, FemUserDefinedOrdering udo, SqlOperator op, RexNode[] exprs)
           
private  RexNode makeUdfInvocation(SqlOperator op, RexNode[] exprs)
           
 
Methods inherited from class org.eigenbase.oj.util.JavaRexBuilder
createMethodCall, makeCase, makeCast, makeFieldAccess, makeJava
 
Methods inherited from class org.eigenbase.rex.RexBuilder
addAggCall, constantNull, copy, deriveReturnType, getOpTab, getTypeFactory, makeAbstractCast, makeApproxLiteral, makeApproxLiteral, makeBigintLiteral, makeBinaryLiteral, makeCall, makeCall, makeCharLiteral, makeCorrel, makeDateLiteral, makeDynamicParam, makeExactLiteral, makeExactLiteral, makeFieldAccess, makeFlag, makeInputRef, makeIntervalLiteral, makeIntervalLiteral, makeLiteral, makeLiteral, makeNewInvocation, makeNotNullCast, makeNullLiteral, makeNullLiteral, makeOver, makePreciseStringLiteral, makeRangeReference, makeRangeReference, makeReinterpretCast, makeTimeLiteral, makeTimestampLiteral
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

preparingStmt

private final FarragoPreparingStmt preparingStmt
Constructor Detail

FarragoRexBuilder

public FarragoRexBuilder(FarragoPreparingStmt preparingStmt)
Method Detail

makeLiteral

public RexLiteral makeLiteral(String s)
Description copied from class: RexBuilder
Creates a character string literal.

Overrides:
makeLiteral in class RexBuilder

getPreparingStmt

public FarragoPreparingStmt getPreparingStmt()

makeCall

public RexNode makeCall(SqlOperator op,
                        RexNode... exprs)
Description copied from class: RexBuilder
Creates a call with an array of arguments.

This is the fundamental method called by all of the other makeCall methods. If you derive a class from RexBuilder, this is the only method you need to override.

Overrides:
makeCall in class RexBuilder

makeUdfInvocation

private RexNode makeUdfInvocation(SqlOperator op,
                                  RexNode[] exprs)

makeComparison

private RexNode makeComparison(SqlOperator op,
                               RexNode[] exprs)

makeRelativeComparison

private RexNode makeRelativeComparison(FemUserDefinedType udt,
                                       FemUserDefinedOrdering udo,
                                       SqlOperator op,
                                       RexNode[] exprs)

makeMapComparison

private RexNode makeMapComparison(FemUserDefinedType udt,
                                  FemUserDefinedOrdering udo,
                                  SqlOperator op,
                                  RexNode[] exprs)

getRoutine

private FarragoUserDefinedRoutine getRoutine(FemUserDefinedOrdering udo)