C++ SDK Documentation
23.3.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. |