Here is a list of all documented files with brief descriptions:
| Vertica.h | Contains the classes needed to write User-Defined things in Vertica |
|---|
This is the multi-page printable view of this section. Click here to print.
Here is a list of all documented files with brief descriptions:
| Vertica.h | Contains the classes needed to write User-Defined things in Vertica |
|---|
| Files | |
|---|---|
| file | Accessors.h |
Here is a list of all documented file members with links to the documentation:
This page explains how to interpret the graphs that are generated by doxygen.
Consider the following example:
/*! Invisible class because of truncation */
class Invisible { };
/*! Truncated class, inheritance relation is hidden */
class Truncated : public Invisible { };
/* Class not documented with doxygen comments */
class Undocumented { };
/*! Class that is inherited using public inheritance */
class PublicBase : public Truncated { };
/*! A template class */
template class Templ { };
/*! Class that is inherited using protected inheritance */
class ProtectedBase { };
/*! Class that is inherited using private inheritance */
class PrivateBase { };
/*! Class that is used by the Inherited class */
class Used { };
/*! Super class that inherits a number of other classes */
class Inherited : public PublicBase,
protected ProtectedBase,
private PrivateBase,
public Undocumented,
public Templ
{
private:
Used *m_usedClass;
};
This will result in the following graph:

The boxes in the above graph have the following meaning:
A filled gray box represents the struct or class for which the graph is generated.
A box with a black border denotes a documented struct or class.
A box with a grey border denotes an undocumented struct or class.
A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
The arrows have the following meaning:
A dark blue arrow is used to visualize a public inheritance relation between two classes.
A dark green arrow is used for protected inheritance.
A dark red arrow is used for private inheritance.
A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible.
A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance.
| Directories | |
|---|---|
| directory | Arrays |
| Files | |
|---|---|
| file | BasicsSupport.h |
| file | BasicsUDxShared.h |
| file | BigInt.cpp |
| file | BigInt.h |
| file | BigIntSubs.h |
| file | BuildAssertions.h |
| file | BuildInfo.h |
| file | DateTimeParsing.h |
| file | EEUDxShared.h |
| file | IntervalUDx.h |
| file | Logging.h |
| file | Oids.h |
| file | PGUDxShared.h |
| file | ServerFunctions.h |
| file | TimestampUDxShared.h |
| file | UdfException.h |
| file | VArchive.h |
| file | VAssert.h |
| file | Vertica.cpp |
| file | Vertica.h |
| Contains the classes needed to write User-Defined things in Vertica. | |
| file | VerticaDFS.h |
| file | VerticaErrorCodes.h |
| file | VerticaErrorMacros.h |
| file | VerticaModel.h |
| file | VerticaSymbols.h |
| file | VerticaUDFS.h |
| file | VerticaUDFSImpl.h |
| file | VerticaUDl.h |
| file | VerticaUDx.h |
| file | VerticaUDxDebug.h |
| file | VerticaUDxInternal.h |
| file | VValgrind.h |
Contains the classes needed to write User-Defined things in Vertica.
Include dependency graph for Vertica.h:

| Classes | |
|---|---|
| struct | Vertica::LibraryRegistrar |
| struct | Vertica::UDxRegistrar |
| Namespaces | |
|---|---|
| Vertica |
| Macros | |
|---|---|
| #define | InlineAggregate() |
| #define | RegisterFactory(clazz) |
| #define | RegisterLibrary(author, library_build_tag, library_version, library_sdk_version, source_url, description, licenses_required, signature) Vertica::LibraryRegistrar registrar(author, library_build_tag, library_version, library_sdk_version, source_url, description, licenses_required, signature) |
Contains the classes needed to write User-Defined things in Vertica.
#define InlineAggregate()
Value:
virtual void aggregateArrs(ServerInterface &srvInterface, void **dstTuples,\
int doff, const void *arr, int stride, const void *rcounts,\
int rcstride, int count, IntermediateAggs &intAggs,\
std::vector &intOffsets, BlockReader &arg_reader) override {\
char *arg = const_cast(static_cast(arr));\
const uint8 *rowCountPtr = static_cast(rcounts);\
for (int i=0; i(rowCountPtr);\
char *aggPtr = static_cast(dstTuples[i]) + doff;\
updateCols(arg_reader, arg, rowCount, intAggs, aggPtr, intOffsets);\
aggregate(srvInterface, arg_reader, intAggs);\
arg += rowCount * stride;\
rowCountPtr += rcstride;\
}\
}\
Vertica::vposunsigned long long vpos64-bit vertica position Definition: BasicsUDxShared.h:102
Vertica::uint8unsigned char uint8unsigned 8-bit integer Definition: BasicsUDxShared.h:72
InlineAggregate() is used to implement the virtual function "aggregateArrs()" for AggregateFunctions. This allows aggregate functions to work on blocks at a time. This macro should be called from inside an AggregateFunction - for a reference, check the examples in the example folder.
#define RegisterFactory(clazz)
Value:
clazz clazz##_instance; \
extern "C" Vertica::UDXFactory *get##clazz() { return &clazz##_instance; } \
Vertica::UDxRegistrar clazz##_registrar(#clazz)
Vertica::UDXFactoryParent class for UDx factories; not intended for direct use by applications. Definition: VerticaUDx.h:3114
Parameters
class: The name of the class to register as a UDx factory. Helper macro for registering UDx's with VerticaTo use: Extend a subclass of UDXFactory (e.g. ScalarFunctionFactory) and then call RegisterFactory with that class name.
For example:
... class MyFactory : public ScalarFunctionFactory ...