public interface FrameBound extends Comparable<FrameBound>
FrameBound
object represents either the left or the right bound of a window frame.
The FrameBound.Marker
enum provides tags to distinguish pre-defined frame bounds from arbitrary custom bounds.
Custom frame bounds carry either the marker FrameBound.Marker.PRECEDING
or FrameBound.Marker.FOLLOWING
and
a numeric offset. Based on the window frame unit (ROWS or RANGE) this offset is either an integral number
(ROWS) or otherwise depends on the data type of the ordering column as specified in the OVER
clause.Modifier and Type | Interface and Description |
---|---|
static class |
FrameBound.Marker
A
Marker is used to distinguish between pre-defined frame bounds and custom bounds. |
Modifier and Type | Method and Description |
---|---|
FrameBound.Marker |
getMarker()
Returns the marker which distinguishes pre-defined bounds from custom frame bounds.
|
JavaTypes.Type |
getType()
Returns the actual type of the offset.
|
BigDecimal |
getUnsignedOffset()
Returns the custom offset as an unsigned number with the maximum possible precision.
|
boolean |
isCurrentRow()
Returns
true if this frame bound equals the pre-defined CURRENT ROW bound. |
boolean |
isCustomBound()
Returns
true if this frame bound is a custom. |
boolean |
isFollowing()
Returns
true if this frame bound is a custom bound with a positive offset, i.e. |
boolean |
isPreceding()
Returns
true if this frame bound is a custom bound with a negative offset, i.e. |
boolean |
isUnboundedFollowing()
Returns
true if this frame bound equals the pre-defined UNBOUNDED FOLLOWING bound. |
boolean |
isUnboundedPreceding()
Returns
true if this frame bound equals the pre-defined UNBOUNDED PRECEDING bound. |
compareTo
BigDecimal getUnsignedOffset()
JavaTypes.Type getType()
FrameBound.Marker getMarker()
boolean isUnboundedPreceding()
true
if this frame bound equals the pre-defined UNBOUNDED PRECEDING bound.true
if this frame bound equals the pre-defined UNBOUNDED PRECEDING boundboolean isUnboundedFollowing()
true
if this frame bound equals the pre-defined UNBOUNDED FOLLOWING bound.true
if this frame bound equals the pre-defined UNBOUNDED FOLLOWING boundboolean isCurrentRow()
true
if this frame bound equals the pre-defined CURRENT ROW bound.true
if this frame bound equals the pre-defined CURRENT ROW boundboolean isCustomBound()
true
if this frame bound is a custom.true
if this frame bound is a custom boundboolean isPreceding()
true
if this frame bound is a custom bound with a negative offset, i.e. the bound
is left of or before the current row.true
if this frame bound is a custom bound with a negative offsetboolean isFollowing()
true
if this frame bound is a custom bound with a positive offset, i.e. the bound
is right of or after the current row.true
if this frame bound is a custom bound with a positive offset