org.eigenbase.rex
Class RexWindow

java.lang.Object
  extended by org.eigenbase.rex.RexWindow

public class RexWindow
extends Object

Specification of the window of rows over which a RexOver windowed aggregate is evaluated.

Treat it as immutable!

Since:
Dec 6, 2004
Version:
$Id: //open/dev/farrago/src/org/eigenbase/rex/RexWindow.java#7 $
Author:
jhyde

Field Summary
private  String digest
           
private  SqlNode lowerBound
           
 RexNode[] orderKeys
           
 RexNode[] partitionKeys
           
private  boolean physical
           
private  SqlNode upperBound
           
 
Constructor Summary
RexWindow(RexNode[] partitionKeys, RexNode[] orderKeys, SqlNode lowerBound, SqlNode upperBound, boolean physical)
          Creates a window.
 
Method Summary
private  String computeDigest()
           
 boolean equals(Object that)
           
 SqlNode getLowerBound()
           
 SqlNode getUpperBound()
           
 int hashCode()
           
 boolean isRows()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

partitionKeys

public final RexNode[] partitionKeys

orderKeys

public final RexNode[] orderKeys

lowerBound

private final SqlNode lowerBound

upperBound

private final SqlNode upperBound

physical

private final boolean physical

digest

private final String digest
Constructor Detail

RexWindow

RexWindow(RexNode[] partitionKeys,
          RexNode[] orderKeys,
          SqlNode lowerBound,
          SqlNode upperBound,
          boolean physical)
Creates a window.

If you need to create a window from outside this package, use RexBuilder.makeOver(org.eigenbase.reltype.RelDataType, org.eigenbase.sql.SqlAggFunction, org.eigenbase.rex.RexNode[], org.eigenbase.rex.RexNode[], org.eigenbase.rex.RexNode[], org.eigenbase.sql.SqlNode, org.eigenbase.sql.SqlNode, boolean, boolean, boolean).

Method Detail

toString

public String toString()
Overrides:
toString in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

equals

public boolean equals(Object that)
Overrides:
equals in class Object

computeDigest

private String computeDigest()

getLowerBound

public SqlNode getLowerBound()

getUpperBound

public SqlNode getUpperBound()

isRows

public boolean isRows()