C++ SDK Documentation
24.2.0
|
This class represents the output value range of a UDSF. More...
Public Types | |
enum | BoundType { LO_BOUND, UP_BOUND } |
Public Member Functions | |
ValueRangeWriter (char *outLoBound, char *outUpBound, const VerticaType &dt, EE::ValueSort sortedness, bool canHaveNulls) | |
bool | canHaveNulls (size_t idx) const |
Indicates if there can be NULL values in the range. More... | |
bool | canHaveNulls () const |
template<class T , BoundType b> | |
const T * | getColPtr (size_t idx) const |
template<class T , BoundType b> | |
T * | getColPtrForWrite (size_t idx) |
VNumeric & | getNumericRefLo () |
Gets a VNumeric object reference to set the range lower bound. More... | |
VNumeric & | getNumericRefUp () |
Gets a VNumeric object reference to set the range upper bound. More... | |
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 |
EE::ValueSort | getSortedness () const |
VString & | getStringRefLo () |
Gets a VString object reference to set the range lower bound. More... | |
VString & | getStringRefUp () |
Gets a VString object reference to set the range upper bound. More... | |
VUuid & | getUuidRefLo () |
Gets a VUuid object reference to set the range lower bound. More... | |
VUuid & | getUuidRefUp () |
Gets a VUuid object reference to set the range upper bound. More... | |
bool | hasBounds () const |
void | setBoolLo (vbool r) |
Sets a range bound as a BOOLEAN value. More... | |
void | setBoolUp (vbool r) |
void | setCanHaveNulls (bool u) |
void | setDateLo (DateADT r) |
Sets a range bound as a DATE value. More... | |
void | setDateUp (DateADT r) |
void | setFloatLo (vfloat r) |
Sets a range bound as a FLOAT value to the output row. More... | |
void | setFloatUp (vfloat r) |
void | setHasBounds () |
Lets Vertica know that this output range has user-defined bounds. | |
void | setIntervalLo (Interval r) |
Sets a range bound as an INTERVAL value. More... | |
void | setIntervalUp (Interval r) |
void | setIntervalYMLo (IntervalYM r) |
Sets a range bound as an INTERVAL YEAR TO MONTH value. More... | |
void | setIntervalYMUp (IntervalYM r) |
void | setIntLo (vint r) |
Sets a range bound as an INTEGER value. More... | |
void | setIntUp (vint r) |
void | setNull () |
Sets to NULL all values in this range. More... | |
void | setSortedness (EE::ValueSort s) |
void | setTimeLo (TimeADT r) |
Sets a range bound as a TIMESTAMP value. More... | |
void | setTimestampLo (Timestamp r) |
Sets a range bound as a TIMESTAMP value. More... | |
void | setTimestampTzLo (TimestampTz r) |
Sets a range bound as a TIMESTAMP WITH TIMEZONE value. More... | |
void | setTimestampTzUp (TimestampTz r) |
void | setTimestampUp (Timestamp r) |
void | setTimeTzLo (TimeTzADT r) |
Sets a range bound as a TIMESTAMP WITH TIMEZONE value. More... | |
void | setTimeTzUp (TimeTzADT r) |
void | setTimeUp (TimeADT r) |
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 output value range of a UDSF.
Instances of this class are used to allow 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. |
Referenced by Vertica::VerticaValueRange::addArg().
|
inline |
|
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 |
|
inline |
|
inline |
|
inline |
|
inline |
Sets a range bound as a BOOLEAN value.
r | The BOOLEAN value to set the range bound. |
Referenced by setNull().
|
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. |
|
inline |
Sets a range bound as a DATE value.
r | The DATE value to set the range bound. |
Referenced by setNull().
|
inline |
Sets a range bound as a FLOAT value to the output row.
r | The FLOAT value to set the range bound. |
Referenced by setNull().
|
inline |
Sets a range bound as an INTERVAL value.
r | The INTERVAL value to set the range bound. |
Referenced by setNull().
|
inline |
Sets a range bound as an INTERVAL YEAR TO MONTH value.
r | The INTERVAL YEAR TO MONTH value to set the range bound. |
|
inline |
Sets a range bound as an INTEGER value.
r | The INTEGER value to set the range bound. |
Referenced by setNull().
|
inline |
Sets to NULL all values in this range.
|
inline |
Sets a range bound as a TIMESTAMP value.
r | The TIMESTAMP value to set the range bound. |
Referenced by setNull().
|
inline |
Sets a range bound as a TIMESTAMP value.
r | The TIMESTAMP value to set the range bound. |
Referenced by setNull().
|
inline |
Sets a range bound as a TIMESTAMP WITH TIMEZONE value.
r | The TIMESTAMP WITH TIMEZONE value to set the range bound. |
Referenced by setNull().