This class represents value ranges used in analyzing the output of UDSFs. A range is expressed as a minimum/maximum value (inclusive) pair.
More...
|
enum | BoundType { LO_BOUND,
UP_BOUND
} |
|
|
| VerticaValueRange (size_t narg) |
|
bool | canHaveNulls (size_t idx) const |
| Indicates if there can be NULL values in the range. More...
|
|
template<class T , BoundType b> |
const T * | getColPtr (size_t idx) const |
|
template<class T , BoundType b> |
T * | getColPtrForWrite (size_t idx) |
|
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 |
|
|
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) |
|
|
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 |
|
|
struct | ::AnalyzeUDSFHandler |
|
struct | ::UDxExecContext |
|
This class represents value ranges used in analyzing the output of UDSFs. A range is expressed as a minimum/maximum value (inclusive) pair.
Instances of this class are used to allow UDSF developers to specify what the output range of of the function is. The UDSF developer is responsible to override ScalarFunction::getOutputRange() and set the function's output range using the knowledge of the input argument ranges passed as references to ScalarFunction::getOutputRange().
◆ addArg()
void Vertica::VerticaValueRange::addArg |
( |
char * |
loBound, |
|
|
char * |
upBound, |
|
|
const VerticaType & |
dt, |
|
|
EE::ValueSort |
sortedness, |
|
|
bool |
canHaveNulls |
|
) |
| |
|
inlineprotected |
Add a value range of a particular function argument
- Parameters
-
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 |
◆ canHaveNulls()
bool Vertica::VerticaValueRange::canHaveNulls |
( |
size_t |
idx | ) |
const |
|
inline |
Indicates if there can be NULL values in the range.
- Parameters
-
idx | the range argument number. |
- Returns
- TRUE if some range values can be NULL, else FALSE.
Referenced by addArg().
◆ getNumRanges()
size_t Vertica::VerticaValueRange::getNumRanges |
( |
| ) |
const |
|
inline |
Retrieve the number of range arguments.
- Returns
- the number of range arguments held by this object.
◆ getRangeType()
const VerticaType& Vertica::VerticaValueRange::getRangeType |
( |
size_t |
idx | ) |
const |
|
inline |
Returns the data type of the values in a range.
- Parameters
-
idx | The index of the range |
- Returns
- a VerticaType object describing the data type of the range values.
◆ setCanHaveNulls()
void Vertica::VerticaValueRange::setCanHaveNulls |
( |
size_t |
idx, |
|
|
bool |
u |
|
) |
| |
|
inlineprotected |
Set a flag to indicate that some values in this range can be NULL.
- Parameters
-
idx | The argument range number. |
u | true if there can be NULL values in the range, else false. |