|  | C++ SDK Documentation
    23.4.0
    | 
This class represents the value ranges of the arguments of a UDSF, one range per argument. More...


| Public Types | |
| enum | BoundType { LO_BOUND, UP_BOUND } | 
| Public Member Functions | |
| ValueRangeReader (size_t narg) | |
| bool | canHaveNulls (size_t idx) const | 
| Indicates if there can be NULL values in the range.  More... | |
| const vbool * | getBoolPtrLo (size_t idx) const | 
| Get a pointer to a BOOLEAN value from a range bound.  More... | |
| const vbool * | getBoolPtrUp (size_t idx) const | 
| const vbool & | getBoolRefLo (size_t idx) const | 
| Get a reference to a BOOLEAN value from a range bound.  More... | |
| const vbool & | getBoolRefUp (size_t idx) const | 
| template<class T , BoundType b> | |
| const T * | getColPtr (size_t idx) const | 
| template<class T , BoundType b> | |
| T * | getColPtrForWrite (size_t idx) | 
| const DateADT * | getDatePtrLo (size_t idx) const | 
| Get a pointer to a DATE value from a range bound.  More... | |
| const DateADT * | getDatePtrUp (size_t idx) const | 
| const DateADT & | getDateRefLo (size_t idx) const | 
| Get a reference to a DATE value from a range bound.  More... | |
| const DateADT & | getDateRefUp (size_t idx) const | 
| const vfloat * | getFloatPtrLo (size_t idx) const | 
| Get a pointer to a FLOAT value from a range bound.  More... | |
| const vfloat * | getFloatPtrUp (size_t idx) const | 
| const vfloat & | getFloatRefLo (size_t idx) const | 
| Get a reference to a FLOAT value from a range bound.  More... | |
| const vfloat & | getFloatRefUp (size_t idx) const | 
| const Interval * | getIntervalPtrLo (size_t idx) const | 
| Get a pointer to an INTERVAL value from a range bound.  More... | |
| const Interval * | getIntervalPtrUp (size_t idx) const | 
| const Interval & | getIntervalRefLo (size_t idx) const | 
| Get a reference to an INTERVAL value from a range bound.  More... | |
| const Interval & | getIntervalRefUp (size_t idx) const | 
| const IntervalYM * | getIntervalYMPtrLo (size_t idx) const | 
| Get a pointer to a INTERVAL YEAR TO MONTH value from a range bound.  More... | |
| const IntervalYM * | getIntervalYMPtrUp (size_t idx) const | 
| const IntervalYM & | getIntervalYMRefLo (size_t idx) const | 
| Get a reference to an INTERVAL YEAR TO MONTH value from a range bound.  More... | |
| const IntervalYM & | getIntervalYMRefUp (size_t idx) const | 
| const vint * | getIntPtrLo (size_t idx) const | 
| Get a pointer to an INTEGER value from a range bound.  More... | |
| const vint * | getIntPtrUp (size_t idx) const | 
| const vint & | getIntRefLo (size_t idx) const | 
| Get a reference to an INTEGER value from a range bound.  More... | |
| const vint & | getIntRefUp (size_t idx) const | 
| const VNumeric * | getNumericPtrLo (size_t idx) const | 
| Get a pointer to a VNumeric value from a range bound.  More... | |
| const VNumeric * | getNumericPtrUp (size_t idx) const | 
| const VNumeric & | getNumericRefLo (size_t idx) const | 
| Get a reference to a VNumeric value from a range bound.  More... | |
| const VNumeric & | getNumericRefUp (size_t idx) const | 
| size_t | getNumRanges () const | 
| Retrieve the number of range arguments.  More... | |
| const VerticaType & | getRangeType (size_t idx) const | 
| Returns the data type of the values in a range.  More... | |
| EE::ValueSort | getSortedness (size_t idx) const | 
| const VString * | getStringPtrLo (size_t idx) const | 
| Get a pointer to a VString value from a range bound.  More... | |
| const VString * | getStringPtrUp (size_t idx) const | 
| const VString & | getStringRefLo (size_t idx) const | 
| Get a reference to an VString value from a range bound.  More... | |
| const VString & | getStringRefUp (size_t idx) const | 
| const TimeADT * | getTimePtrLo (size_t idx) const | 
| Get a pointer to a TIME value from a range bound.  More... | |
| const TimeADT * | getTimePtrUp (size_t idx) const | 
| const TimeADT & | getTimeRefLo (size_t idx) const | 
| Get a reference to a TIME value from a range bound.  More... | |
| const TimeADT & | getTimeRefUp (size_t idx) const | 
| const Timestamp * | getTimestampPtrLo (size_t idx) const | 
| Get a pointer to a TIMESTAMP value from a range bound.  More... | |
| const Timestamp * | getTimestampPtrUp (size_t idx) const | 
| const Timestamp & | getTimestampRefLo (size_t idx) const | 
| Get a reference to a TIMESTAMP value from a range bound.  More... | |
| const Timestamp & | getTimestampRefUp (size_t idx) const | 
| const TimestampTz * | getTimestampTzPtrLo (size_t idx) const | 
| Get a pointer to a TIMESTAMP WITH TIMEZONE value from a range bound.  More... | |
| const TimestampTz * | getTimestampTzPtrUp (size_t idx) const | 
| const TimestampTz & | getTimestampTzRefLo (size_t idx) const | 
| Get a reference to a TIMESTAMP WITH TIMEZONE value from a range bound.  More... | |
| const TimestampTz & | getTimestampTzRefUp (size_t idx) const | 
| const TimeTzADT * | getTimeTzPtrLo (size_t idx) const | 
| Get a pointer to a TIME WITH TIMEZONE value from a range bound.  More... | |
| const TimeTzADT * | getTimeTzPtrUp (size_t idx) const | 
| const TimeTzADT & | getTimeTzRefLo (size_t idx) const | 
| Get a reference to a TIME WITH TIMEZONE value from a range bound.  More... | |
| const TimeTzADT & | getTimeTzRefUp (size_t idx) const | 
| const VUuid * | getUuidPtrLo (size_t idx) const | 
| Get a pointer to a VUuid value from a range bound.  More... | |
| const VUuid * | getUuidPtrUp (size_t idx) const | 
| const VUuid & | getUuidRefLo (size_t idx) const | 
| Get a reference to a VUuid value from a range bound.  More... | |
| const VUuid & | getUuidRefUp (size_t idx) const | 
| bool | hasBounds (size_t idx) const | 
| Check if this range has lower and upper bounds set.  More... | |
| bool | isNull (int idx) const | 
| Check if all values in the idx'th input range are NULL.  More... | |
| Protected Member Functions | |
| void | addArg (char *loBound, char *upBound, const VerticaType &dt, EE::ValueSort sortedness, bool canHaveNulls) | 
| void | setCanHaveNulls (size_t idx, bool u) | 
| Set a flag to indicate that some values in this range can be NULL.  More... | |
| void | setSortedness (size_t idx, EE::ValueSort s) | 
| Protected Attributes | |
| size_t | narg | 
| std::vector< ValueRange > | ranges | 
| std::vector< VString > | svWrappersLo | 
| std::vector< VString > | svWrappersUp | 
| std::vector< VUuid > | uuWrappersLo | 
| std::vector< VUuid > | uuWrappersUp | 
| std::vector< VNumeric > | vnWrappersLo | 
| std::vector< VNumeric > | vnWrappersUp | 
| Friends | |
| class | EE::VEval | 
This class represents the value ranges of the arguments of a UDSF, one range per argument.
Instances of this class are used to let UDSF developers specify the output range of UDSFs via the optional ScalarFunction::getOutputRange() function.
| 
 | inlineprotectedinherited | 
Add a value range of a particular function argument
| loBound | Base location to find the lower bound data | 
| upBound | Base location to find the upper bound data | 
| sortedness | Sortedness of values in the range | 
| dt | The data type of range bounds | 
| 
 | inlineinherited | 
Indicates if there can be NULL values in the range.
| idx | the range argument number. | 
| 
 | inline | 
Get a pointer to a BOOLEAN value from a range bound.
| idx | The argument number to retrieve the range bound. | 
Referenced by getBoolRefLo().
| 
 | inline | 
Get a reference to a BOOLEAN value from a range bound.
| idx | The argument number to retrieve the range bound. | 
Referenced by isNull().
| 
 | inline | 
Get a pointer to a DATE value from a range bound.
| idx | The argument number to retrieve the range bound. | 
Referenced by getDateRefLo().
| 
 | inline | 
Get a reference to a DATE value from a range bound.
| idx | The argument number to retrieve the range bound. | 
Referenced by isNull().
| 
 | inline | 
Get a pointer to a FLOAT value from a range bound.
| idx | The argument number to retrieve the range bound. | 
Referenced by getFloatRefLo().
| 
 | inline | 
Get a reference to a FLOAT value from a range bound.
| idx | The argument number to retrieve the range bound. | 
Referenced by isNull().
| 
 | inline | 
Get a pointer to an INTERVAL value from a range bound.
| idx | The argument number to retrieve the range bound. | 
Referenced by getIntervalRefLo().
| 
 | inline | 
Get a reference to an INTERVAL value from a range bound.
| idx | The argument number to retrieve the range bound. | 
Referenced by isNull().
| 
 | inline | 
Get a pointer to a INTERVAL YEAR TO MONTH value from a range bound.
| idx | The argument number to retrieve the range bound. | 
Referenced by getIntervalYMRefLo().
| 
 | inline | 
Get a reference to an INTERVAL YEAR TO MONTH value from a range bound.
| idx | The argument number to retrieve the range bound. | 
Referenced by isNull().
| 
 | inline | 
Get a pointer to an INTEGER value from a range bound.
| idx | The argument number to retrieve the range bound. | 
Example:
Referenced by getIntRefLo().
| 
 | inline | 
| 
 | inline | 
Get a pointer to a VNumeric value from a range bound.
| idx | The argument number to retrieve the range bound. | 
Referenced by getNumericRefLo().
| 
 | inline | 
| 
 | inlineinherited | 
Retrieve the number of range arguments.
| 
 | inlineinherited | 
Returns the data type of the values in a range.
| idx | The index of the range | 
| 
 | inline | 
Get a pointer to a VString value from a range bound.
| idx | The argument number to retrieve the range bound. | 
Referenced by getStringRefLo().
| 
 | inline | 
Get a reference to an VString value from a range bound.
| idx | The argument number to retrieve the range bound. | 
Referenced by isNull().
| 
 | inline | 
Get a pointer to a TIME value from a range bound.
| idx | The argument number to retrieve the range bound. | 
Referenced by getTimeRefLo().
| 
 | inline | 
Get a reference to a TIME value from a range bound.
| idx | The argument number to retrieve the range bound. | 
Referenced by isNull().
| 
 | inline | 
Get a pointer to a TIMESTAMP value from a range bound.
| idx | The argument number to retrieve the range bound. | 
Referenced by getTimestampRefLo().
| 
 | inline | 
Get a reference to a TIMESTAMP value from a range bound.
| idx | The argument number to retrieve the range bound. | 
Referenced by isNull().
| 
 | inline | 
Get a pointer to a TIMESTAMP WITH TIMEZONE value from a range bound.
| idx | The argument number to retrieve the range bound. | 
Referenced by getTimestampTzRefLo().
| 
 | inline | 
Get a reference to a TIMESTAMP WITH TIMEZONE value from a range bound.
| idx | The argument number to retrieve the range bound. | 
Referenced by isNull().
| 
 | inline | 
Get a pointer to a TIME WITH TIMEZONE value from a range bound.
| idx | The argument number to retrieve the range bound. | 
Referenced by getTimeTzRefLo().
| 
 | inline | 
Get a reference to a TIME WITH TIMEZONE value from a range bound.
| idx | The argument number to retrieve the range bound. | 
Referenced by isNull().
| 
 | inline | 
Get a pointer to a VUuid value from a range bound.
| idx | The argument number to retrieve the range bound. | 
Referenced by getUuidRefLo().
| 
 | inline | 
| 
 | inline | 
Check if this range has lower and upper bounds set.
Example:
| 
 | inline | 
Check if all values in the idx'th input range are NULL.
| idx | The argument range number. | 
| 
 | inlineprotectedinherited | 
Set a flag to indicate that some values in this range can be NULL.
| idx | The argument range number. | 
| u | true if there can be NULL values in the range, else false. |