Professional Documents
Culture Documents
HP Vertica 7.1.x CPP SDK API
HP Vertica 7.1.x CPP SDK API
Contents
Introduction
Namespace Index
Namespace List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hierarchical Index
Class Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Class Index
5
7
Class List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
File Index
File List
7
11
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Namespace Documentation
11
13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
13
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
Typedef Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
DateADT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
Interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
IntervalYM
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
TimeADT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
Timestamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
TimestampTz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
TimeTzADT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
InputState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
StreamState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
UDXDebugLevels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
volatility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
iv
CONTENTS
Function Documentation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
describeIntervalTypeMod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
getDateFromUnixTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
getGMTTz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
getTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
getTimeFromUnixTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
getTimestampFromUnixTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
getTimestampTzFromUnixTime
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
getTimeTz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
getUnixTimeFromDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
getUnixTimeFromTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
getUnixTimeFromTimestamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
getZoneTz
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
setTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
setTimeTz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
vsmemcpy
23
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Class Documentation
25
25
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
27
isEqualNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
isZero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
numericToFloat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
setFromFloat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
ucompareNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
29
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
30
31
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
32
aggregateArrs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
combine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
destroy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
CONTENTS
initAggregate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
terminate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
updateCols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
34
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
36
UDXType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
36
createAggregateFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
getIntermediateTypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
getParameterType
36
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
getPerInstanceResources
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
getReturnType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
getUDXFactoryType
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
39
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
41
cancel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
destroy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
isCanceled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
processPartition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
42
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
44
UDXType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
44
createAnalyticFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
getParameterType
44
getPrototype
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
getPerInstanceResources
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
getReturnType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
getUDXFactoryType
45
getPrototype
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
51
addCol
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
vi
CONTENTS
getBoolPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
getBoolRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
getColPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
getColRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
getDatePtr
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
getDateRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
getFloatPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
getFloatRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
getIntervalPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
getIntervalRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
getIntervalYMPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
getIntervalYMRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
getIntPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
getIntRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
getNumCols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
getNumericPtr
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
getNumericRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
getNumRows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
getStringPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
getStringRef
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
56
getTimePtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
getTimeRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
getTimestampPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
getTimestampRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
getTimestampTzPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
getTimestampTzRef
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
getTimeTzPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
getTimeTzRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
getTypeMetaData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
getTypeMetaData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
isNull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
readNextBlock
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
60
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
63
addCol
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
copyFromInput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
getColPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
getColRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
CONTENTS
vii
getNumCols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
getNumRows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
getTypeMetaData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
getTypeMetaData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
getWriteableBlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
setInt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
setNull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
65
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
66
67
getStrideLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
67
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
69
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
70
70
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
74
74
addCol
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
74
getBoolPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
getBoolRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
getColPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
getColRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
getDatePtr
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
76
getDateRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
getFloatPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
getFloatRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
getIntervalPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
getIntervalRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
getIntervalYMPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
getIntervalYMRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
getIntPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
getIntRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
getNumCols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
getNumericPtr
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
getNumericRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
getNumRows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
80
getStringPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
80
getStringRef
80
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
viii
CONTENTS
getTimePtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
80
getTimeRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
getTimestampPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
82
getTimestampRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
82
getTimestampTzPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
82
getTimestampTzRef
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
82
getTimeTzPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
getTimeTzRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
getTypeMetaData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
getTypeMetaData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
isNull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
next . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
84
84
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
88
88
addCol
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
88
getColPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
88
getColRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
89
getNumCols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
89
getNumericRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
89
getNumRows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
89
getStringRef
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
89
getTypeMetaData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
89
getTypeMetaData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
89
next . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
90
setBool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
90
setDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
90
setFloat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
90
setInt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
90
setInterval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
90
setIntervalYM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
90
setTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
91
setTimestamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
91
setTimestampTz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
91
setTimeTz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
91
91
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
93
93
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
94
CONTENTS
ix
94
95
createNextSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
95
destroy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
96
getNumberOfSources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
96
getSizeOfSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
96
setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
96
97
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
99
99
UDXType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
99
99
getParameterType
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
getPerInstanceResources
getPrototype
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
99
99
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
getReturnType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
getUDXFactoryType
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
prepare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Vertica::FIunion Union Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Vertica::IntermediateAggs Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
addCol
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
getBoolPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
getBoolRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
getColPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
getColRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
getDatePtr
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
getDateRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
getFloatPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
getFloatRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
getIntervalPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
getIntervalRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
getIntervalYMPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
getIntervalYMRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
getIntPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
getIntRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
getNumCols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
HP Vertica C++ SDK Documentation Version 7.1
CONTENTS
getNumericPtr
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
getNumericRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
getNumRows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
getStringPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
getStringRef
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
getTimePtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
getTimeRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
getTimestampPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
getTimestampRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
getTimestampTzPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
getTimestampTzRef
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
getTimeTzPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
getTimeTzRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
getTypeMetaData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
getTypeMetaData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Vertica::IterativeSourceFactory Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Member Enumeration Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
UDXType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
getParameterType
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
getPerInstanceResources
getPrototype
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
getReturnType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
getUDXFactoryType
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
prepare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Vertica::LibraryRegistrar Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Vertica::MultiPhaseTransformFunctionFactory Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Member Enumeration Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
UDXType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
getParameterType
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
getPerInstanceResources
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
getPhases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
getPrototype
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
getReturnType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
getUDXFactoryType
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
HP Vertica C++ SDK Documentation Version 7.1
CONTENTS
xi
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
getBoolPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
getBoolRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
getColPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
getColRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
getDatePtr
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
getDateRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
getFloatPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
getFloatRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
getIntervalPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
getIntervalRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
getIntervalYMPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
getIntervalYMRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
getIntPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
getIntRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
getNumCols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
getNumericPtr
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
getNumericRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
getNumRows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
getStringPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
getStringRef
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
getTimePtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
getTimeRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
getTimestampPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
getTimestampRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
getTimestampTzPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
getTimestampTzRef
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
getTimeTzPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
getTimeTzRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
getTypeMetaData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
getTypeMetaData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
isNull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
next . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Vertica::NodeSpecifyingPlanContext Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
getClusterNodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
HP Vertica C++ SDK Documentation Version 7.1
xii
CONTENTS
getReader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
getTargetNodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
getUDLParamReader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
getUDLParamWriter
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
getWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
setTargetNodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Vertica::ParamReader Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
addCol
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
addParameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
getBoolPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
getBoolRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
getColPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
getColRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
getDatePtr
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
getDateRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
getFloatPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
getFloatRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
getIntervalPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
getIntervalRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
getIntervalYMPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
getIntervalYMRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
getIntPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
getIntRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
getNumCols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
getNumericPtr
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
getNumericRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
getNumRows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
getStringPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
getStringRef
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
getTimePtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
getTimeRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
getTimestampPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
getTimestampRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
getTimestampTzPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
getTimestampTzRef
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
getTimeTzPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
getTimeTzRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
HP Vertica C++ SDK Documentation Version 7.1
CONTENTS
xiii
getTypeMetaData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
getTypeMetaData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
paramNameToIndex
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
addParameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
getBoolPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
getBoolRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
getColPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
getColRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
getDatePtr
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
getDateRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
getFloatPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
getFloatRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
getIntervalPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
getIntervalRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
getIntervalYMPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
getIntervalYMRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
getIntPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
getIntRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
getLongStringRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
getNumCols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
getNumericPtr
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
getNumericRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
getNumRows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
getStringPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
getStringRef
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
getTimePtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
getTimeRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
getTimestampPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
getTimestampRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
getTimestampTzPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
getTimestampTzRef
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
getTimeTzPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
getTimeTzRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
getTypeMetaData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
HP Vertica C++ SDK Documentation Version 7.1
xiv
CONTENTS
getTypeMetaData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
setAllocator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
setBool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
setDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
setFloat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
setInt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
setInterval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
setIntervalYM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
setTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
setTimestamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
setTimestampTz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
setTimeTz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
paramNameToIndex
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
getParserReturnType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
getPerInstanceResources
getPrototype
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
getReturnType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
getUDXFactoryType
isParserApportionable
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
prepare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Vertica::PartitionOrderColumnInfo Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Vertica::PartitionReader Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
addCol
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
getBoolPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
getBoolRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
getColPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
getColRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
getDatePtr
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
HP Vertica C++ SDK Documentation Version 7.1
CONTENTS
xv
getDateRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
getFloatPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
getFloatRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
getIntervalPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
getIntervalRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
getIntervalYMPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
getIntervalYMRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
getIntPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
getIntRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
getNumCols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
getNumericPtr
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
getNumericRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
getNumRows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
getStringPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
getStringRef
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
getTimePtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
getTimeRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
getTimestampPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
getTimestampRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
getTimestampTzPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
getTimestampTzRef
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
getTimeTzPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
getTimeTzRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
getTypeMetaData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
getTypeMetaData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
isNull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
readNextBlock
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
copyFromInput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
getColPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
getColRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
getNumCols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
getNumRows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
getTypeMetaData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
getTypeMetaData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
getWriteableBlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
HP Vertica C++ SDK Documentation Version 7.1
xvi
CONTENTS
setInt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
setNull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Vertica::PartitionWriterColumn< T > Class Template Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
getStrideLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Vertica::PartitionWriterColumns Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Vertica::PartitionWriterNumericColumn Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
append . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
directCopy
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
getRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
getStrideLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Vertica::PartitionWriterStringColumn Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
append . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
getMaxSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
getRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
getStrideLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Vertica::PerColumnParamReader Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
getColumnNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
getColumnParamReader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Vertica::PlanContext Class Reference
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
getWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Vertica::Portion Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Vertica::RejectedRecord Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Vertica::ScalarFunction Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
HP Vertica C++ SDK Documentation Version 7.1
CONTENTS
xvii
destroy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
getOutputRange
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
processBlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Vertica::ScalarFunctionFactory Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Member Enumeration Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
UDXType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
createScalarFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
getParameterType
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
getPerInstanceResources
getPrototype
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
getReturnType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
getUDXFactoryType
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
getDependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
getLocale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
getParamReader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
getSessionParamReader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
setDependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
setParamReader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
setSessionParamReader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
vlog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
allocator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
fileManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
nodeName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
paramReader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
HP Vertica C++ SDK Documentation Version 7.1
xviii
CONTENTS
sessionParamReader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
sqlName
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
udxDebugLogLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
vlogPtr
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
addCharPartitionColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
addDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
addDateOrderColumn
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
addDatePartitionColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
addFloat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
addFloatOrderColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
addFloatPartitionColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
addInt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
addInterval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
addIntervalOrderColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
addIntervalPartitionColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
addIntervalYM
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
addIntervalYMOrderColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
addIntervalYMPartitionColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
addIntOrderColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
addIntPartitionColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
addLongVarbinary
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
addLongVarbinaryOrderColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
addLongVarbinaryPartitionColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
addLongVarchar
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
addLongVarcharOrderColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
addLongVarcharPartitionColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
addNumeric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
addNumericOrderColumn
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
HP Vertica C++ SDK Documentation Version 7.1
CONTENTS
xix
addNumericPartitionColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
addTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
addTimeOrderColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
addTimePartitionColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
addTimestamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
addTimestampOrderColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
addTimestampPartitionColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
addTimestampTz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
addTimestampTzOrderColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
addTimestampTzPartitionColumn
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
addTimeTz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
addTimeTzOrderColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
addTimeTzPartitionColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
addUserDefinedType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
addVarbinary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
addVarbinaryOrderColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
addVarbinaryPartitionColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
addVarchar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
addVarcharOrderColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
addVarcharPartitionColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
getArgumentColumns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
getColumnName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
getColumnType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
getColumnType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
getOrderByColumns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
getPartitionByColumns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
isOrderByColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
isPartitionByColumn
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
setPartitionOrderColumnIdx
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
setPartitionOrderColumnIdx
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
getPerInstanceResources
getPrototype
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
getReturnType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
HP Vertica C++ SDK Documentation Version 7.1
xx
CONTENTS
getUDXFactoryType
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
prepare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
prepareUDSources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Vertica::SourceIterator Class Reference
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
copyFromInput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
getColPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
getColRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
getNumCols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
getNumRows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
getTypeMetaData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
getTypeMetaData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
getWriteableBlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
setInt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
setNull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Vertica::TransformFunction Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
cancel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
destroy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
isCanceled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
processPartition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Vertica::TransformFunctionFactory Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Member Enumeration Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
UDXType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
HP Vertica C++ SDK Documentation Version 7.1
CONTENTS
xxi
createTransformFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
getParameterType
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
getPerInstanceResources
getPrototype
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
getReturnType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
getUDXFactoryType
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
UDChunker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
destroy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Vertica::UDFileOperator Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
appendWithRetry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Vertica::UDFileSystem Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Vertica::UDFileSystemFactory Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Member Enumeration Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
UDXType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
getParameterType
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
getPerInstanceResources
getPrototype
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
getReturnType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
getUDXFactoryType
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
xxii
CONTENTS
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
getPerInstanceResources
getPrototype
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
getReturnType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
getUDXFactoryType
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
getPerInstanceResources
getPrototype
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
getReturnType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
getUDXFactoryType
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
CONTENTS
xxiii
UDXObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
destroy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Vertica::UDXObjectCancelable Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
cancel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
destroy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
isCanceled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Vertica::UDxRegistrar Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Vertica::UnsizedUDSource Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
getUri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Vertica::ValueRangeReader Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
addArg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
canHaveNulls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
getBoolPtrLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
getBoolRefLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
getDatePtrLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
getDateRefLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
getFloatPtrLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
getFloatRefLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
getIntervalPtrLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
getIntervalRefLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
getIntervalYMPtrLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
getIntervalYMRefLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
getIntPtrLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
getIntRefLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
getNumericPtrLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
getNumericRefLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
getNumRanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
getRangeType
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
getSortedness
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
getStringPtrLo
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
xxiv
CONTENTS
getStringRefLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
getTimePtrLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
getTimeRefLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
getTimestampPtrLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
getTimestampRefLo
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
getTimestampTzPtrLo
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
getTimestampTzRefLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
getTimeTzPtrLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
getTimeTzRefLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
hasBounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
isNull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
setCanHaveNulls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
setSortedness
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
getSortedness
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
getStringRefLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
getStringRefUp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
setBoolLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
setCanHaveNulls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
setDateLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
setFloatLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
setIntervalLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
setIntervalYMLo
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
setIntLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
setNull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
setSortedness
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
setTimeLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
setTimestampLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
setTimestampTzLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
setTimeTzLo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Vertica::VerticaBlock Class Reference
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
HP Vertica C++ SDK Documentation Version 7.1
CONTENTS
xxv
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
getColPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
getColRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
getNumCols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
getNumRows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
getTypeMetaData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
getTypeMetaData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Vertica::VerticaBuildInfo Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Vertica::VerticaType Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
getUnderlyingType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Vertica::VerticaValueRange Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
addArg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
canHaveNulls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
getNumRanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
getRangeType
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
getSortedness
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
setCanHaveNulls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
setSortedness
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
xxvi
CONTENTS
compare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
compareUnsigned
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
copy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
copy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
toFloat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Vertica::VResources Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
nFileHandles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
scratchMemory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Vertica::VString Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
alloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
compare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
copy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
copy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
copy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
copy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
copy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
equal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
isNull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
str . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Vertica::VTAllocator Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
alloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
File Documentation
335
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
InlineAggregate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
RegisterFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Index
337
HP Vertica C++ SDK Documentation Version 7.1
Introduction
Welcome to the HP Vertica C++ SDK Documentation. This documentation covers all of the classes that make up the C++ SDK API. Using this API, you can create User Defined Extensions (UDxs) that integrate your own features into the HP Vertica
Analytics Platform.
To learn how UDxs work and how to develop, compile, and deploy them, see the main HP Vertica documentation topic
Developing and Using User Defined Functions.
If you are viewing this SDK documentation as part of the documentation package installed locally, you view Developing and
Using User Defined Functions in your locally-installed copy of the documetnation.
Introduction
Namespace Index
Namespace List
Here is a list of all documented namespaces with brief descriptions:
Basics
Vertica
13
13
Namespace Index
Hierarchical Index
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
Basics::BigInt . . . . . . . . . . .
Basics::BigInt::long_double_parts .
Basics::FiveToScale . . . . . . . .
EE::DataArea . . . . . . . . . . .
EE::StringValue . . . . . . . . . .
Vertica::BasePartitionWriterColumn
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
25
28
29
29
30
65
67
Vertica::BlockFormatterCout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
Vertica::ColumnTypes . . . . . .
Vertica::DataBuffer . . . . . . .
Vertica::FIunion . . . . . . . . .
Vertica::LibraryRegistrar . . . . .
Vertica::PartitionOrderColumnInfo
Vertica::PartitionWriterColumns .
Vertica::PerColumnParamReader
Vertica::PlanContext . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
91
93
101
118
172
195
202
204
Vertica::NodeSpecifyingPlanContext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Vertica::Portion . . . . . .
Vertica::RejectedRecord . .
Vertica::ServerInterface . .
Vertica::SizedColumnTypes
Vertica::SourceIterator . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Vertica::DefaultSourceIterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::TransformFunctionPhase
Vertica::UDChunker . . . . . . .
Vertica::UDFileOperator . . . . .
Vertica::UDFileSystem . . . . .
Vertica::UDFilter . . . . . . . . .
Vertica::UDParser . . . . . . . .
Vertica::UDXFactory . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
206
207
216
220
243
94
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
258
259
261
262
266
271
277
Vertica::AggregateFunctionFactory . . . . . .
Vertica::AnalyticFunctionFactory . . . . . . .
Vertica::MultiPhaseTransformFunctionFactory
Vertica::ScalarFunctionFactory . . . . . . . .
Vertica::TransformFunctionFactory . . . . . .
Vertica::UDFileSystemFactory . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
34
42
119
212
254
263
Hierarchical Index
Vertica::UDLFactory . . . . . . . .
Vertica::FilterFactory . . . . . .
Vertica::IterativeSourceFactory
Vertica::SourceFactory . .
Vertica::ParserFactory . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
268
97
114
238
168
Vertica::UDXObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Vertica::AggregateFunction . .
Vertica::ScalarFunction . . . .
Vertica::UDXObjectCancelable
Vertica::AnalyticFunction .
Vertica::TransformFunction
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 31
. 208
. 282
. 39
. 251
Vertica::UDxRegistrar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Vertica::UnsizedUDSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Vertica::UDSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Vertica::VerticaBlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
Vertica::BlockReader . . . . . . . . .
Vertica::MultipleIntermediateAggs .
Vertica::PartitionReader . . . . . .
Vertica::AnalyticPartitionReader
Vertica::BlockWriter . . . . . . . . . .
Vertica::IntermediateAggs . . . . . . .
Vertica::ParamReader . . . . . . . . .
Vertica::ParamWriter . . . . . . .
Vertica::PartitionWriter . . . . . . . . .
Vertica::AnalyticPartitionWriter . .
Vertica::StreamWriter . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
70
122
174
47
84
101
137
150
187
60
246
Vertica::VerticaBuildInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Vertica::VerticaType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Vertica::VerticaValueRange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Vertica::ValueRangeReader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Vertica::ValueRangeWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Vertica::VerticaValueRange::ValueRange
Vertica::VInterval . . . . . . . . . . . .
Vertica::VIntervalYM . . . . . . . . . . .
Vertica::VNumeric . . . . . . . . . . . .
Vertica::VResources . . . . . . . . . . .
Vertica::VString . . . . . . . . . . . . .
Vertica::VTAllocator . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
322
323
324
325
328
328
333
Class Index
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
Basics::BigInt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Basics::BigInt::long_double_parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Basics::FiveToScale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EE::DataArea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EE::StringValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::AggregateFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::AggregateFunctionFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::AnalyticFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::AnalyticFunctionFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::AnalyticPartitionReader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::AnalyticPartitionWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::BasePartitionWriterColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::BlockFormatter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::BlockFormatterCout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::BlockReader
Iterator interface for reading rows in a Vertica block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::BlockWriter
Iterator interface for writing rows to a Vertica block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::ColumnTypes
Represents (unsized) types of the columns used as input/output of a User Defined Function/Transform Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::DataBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::DefaultSourceIterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::FilterFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::FIunion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::IntermediateAggs
: A wrapper around a single intermediate aggregate value . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::IterativeSourceFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::LibraryRegistrar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::MultiPhaseTransformFunctionFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::MultipleIntermediateAggs
: A wrapper around multiple intermediate aggregates . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::NodeSpecifyingPlanContext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::ParamReader
: A wrapper around Parameters that have a name->value correspondence . . . . . . . . . . . . . . . . . .
Vertica::ParamWriter
Iterator interface for writing rows to a Vertica block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::ParserFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::PartitionOrderColumnInfo
Represents the partition by and order by column information for each phase in a multi-phase transform function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
28
29
29
30
31
34
39
42
47
60
65
67
69
70
84
91
93
94
97
101
101
114
118
119
122
135
137
150
168
172
Class Index
Vertica::PartitionReader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::PartitionWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::PartitionWriterColumn< T > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::PartitionWriterColumns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::PartitionWriterNumericColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::PartitionWriterStringColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::PerColumnParamReader
: A wrapper around a map from column to ParamReader . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::PlanContext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::Portion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::RejectedRecord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::ScalarFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::ScalarFunctionFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::ServerInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::SizedColumnTypes
Represents types and information to determine the size of the columns as input/output of a User Defined
Function/Transform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::SourceFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::SourceIterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::StreamWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::TransformFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::TransformFunctionFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::TransformFunctionPhase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::UDChunker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::UDFileOperator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::UDFileSystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::UDFileSystemFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::UDFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::UDLFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::UDParser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::UDSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::UDXFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::UDXObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::UDXObjectCancelable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::UDxRegistrar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::UnsizedUDSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::ValueRangeReader
This class represents the value ranges of the arguments of a UDSF, one range per argument . . . . . . . .
Vertica::ValueRangeWriter
This class represents the output value range of a UDSF . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::VerticaBlock
: Represents an in-memory block of tuples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::VerticaBuildInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::VerticaType
Represents types of data that are passed into and returned back from users code . . . . . . . . . . . . . .
Vertica::VerticaValueRange
This class represents value ranges used in analyzing the output of UDSFs. A range is expressed as a
minimum/maximum value (inclusive) pair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::VerticaValueRange::ValueRange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::VInterval
Representation of an Interval in Vertica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::VIntervalYM
Representation of an IntervalYM in Vertica. An Interval can be broken up into years and months . . . . . .
Vertica::VNumeric
Representation of NUMERIC, fixed point data types in Vertica . . . . . . . . . . . . . . . . . . . . . . . .
Vertica::VResources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
174
187
192
195
197
200
202
204
206
207
208
212
216
220
238
243
246
251
254
258
259
261
262
263
266
268
271
274
277
280
282
284
285
286
301
310
314
314
317
322
323
324
325
328
Vertica::VString
Representation of a String in Vertica. All character data is internally encoded as UTF-8 characters and is not
NULL terminated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Vertica::VTAllocator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
10
Class Index
File Index
File List
Here is a list of all documented files with brief descriptions:
Vertica.h
Contains the classes needed to write User-Defined things in Vertica
. . . . . . . . . . . . . . . . . . . . . 335
12
File Index
Namespace Documentation
Basics Namespace Reference
basic utilities mainly for data types.
Classes
struct BigInt
struct FiveToScale
Functions
bool Divide32 (uint64 hi, uint64 lo, uint64 d, uint64 &_q, uint64 &_r)
static int32 getNumericLength (int32 typmod)
Get Numeric data length from typmod.
Detailed Description
basic utilities mainly for data types.
class AggregateFunction
class AggregateFunctionFactory
class AnalyticFunction
class AnalyticFunctionFactory
class AnalyticPartitionReader
class AnalyticPartitionWriter
class BasePartitionWriterColumn
14
Namespace Documentation
struct BlockFormatter
struct BlockFormatterCout
class BlockReader
Iterator interface for reading rows in a Vertica block.
class BlockWriter
Iterator interface for writing rows to a Vertica block.
class ColumnTypes
Represents (unsized) types of the columns used as input/output of a User Defined Function/Transform Function.
struct DataBuffer
class DefaultSourceIterator
class FilterFactory
union FIunion
class IntermediateAggs
class IterativeSourceFactory
struct LibraryRegistrar
class MultiPhaseTransformFunctionFactory
class MultipleIntermediateAggs
class NodeSpecifyingPlanContext
class ParamReader
: A wrapper around Parameters that have a name->value correspondence
class ParamWriter
Iterator interface for writing rows to a Vertica block.
class ParserFactory
struct PartitionOrderColumnInfo
Represents the partition by and order by column information for each phase in a multi-phase transform function.
class PartitionReader
class PartitionWriter
class PartitionWriterColumn
class PartitionWriterColumns
class PartitionWriterNumericColumn
class PartitionWriterStringColumn
class PerColumnParamReader
class PlanContext
struct Portion
struct RejectedRecord
class ScalarFunction
class ScalarFunctionFactory
class ServerInterface
class SizedColumnTypes
class SourceFactory
class SourceIterator
class StreamWriter
class TransformFunction
class TransformFunctionFactory
class TransformFunctionPhase
class UDChunker
class UDFileOperator
class UDFileSystem
Represents types and information to determine the size of the columns as input/output of a User Defined Function/Transform.
15
class UDFileSystemFactory
class UDFilter
class UDLFactory
class UDParser
class UDSource
class UDXFactory
class UDXObject
class UDXObjectCancelable
struct UDxRegistrar
class UnsizedUDSource
class ValueRangeReader
This class represents the value ranges of the arguments of a UDSF, one range per argument.
class ValueRangeWriter
This class represents the output value range of a UDSF.
class VerticaBlock
: Represents an in-memory block of tuples
struct VerticaBuildInfo
class VerticaType
Represents types of data that are passed into and returned back from users code.
class VerticaValueRange
This class represents value ranges used in analyzing the output of UDSFs. A range is expressed as a minimum/maximum value
(inclusive) pair.
class VInterval
Representation of an Interval in Vertica.
class VIntervalYM
Representation of an IntervalYM in Vertica. An Interval can be broken up into years and months.
class VNumeric
Representation of NUMERIC, fixed point data types in Vertica.
struct VResources
class VString
Representation of a String in Vertica. All character data is internally encoded as UTF-8 characters and is not NULL terminated.
class VTAllocator
Typedefs
typedef uint8 byte
unsigned 8-bit integer
16
Namespace Documentation
Enumerations
enum DTtype {
RESERV = 0, MONTH = 1, YEAR = 2, DAY = 3,
NEG_INTERVAL = 4, TZ = 5, DTZ = 6, DTZMOD = 7,
IGNORE_DTF = 8, AMPM = 9, HOUR = 10, MINUTE = 11,
SECOND = 12, DOY = 13, DOW = 14, UNITS = 15,
ADBC = 16, AGO = 17, ISODATE = 20, ISOTIME = 21,
UNKNOWN_FIELD = 31 }
enum InputState {
OK = 0, END_OF_FILE = 1, END_OF_CHUNK = 2, START_OF_PORTION = 3,
END_OF_PORTION = 4 }
enum StreamState {
INPUT_NEEDED = 0, OUTPUT_NEEDED = 1, DONE = 2, REJECT = 3,
KEEP_GOING = 4, CHUNK_ALIGNED = 5 }
enum strictness { DEFAULT_STRICTNESS, CALLED_ON_NULL_INPUT, RETURN_NULL_ON_NULL_INPUT, STRICT }
enum UDXDebugLevels { UDXDebugging_WARNING = 0x0001, UDXDebugging_INFO = 0x0002, UDXDebugging_BASIC = 0x0008, UDXDebugging_ALL = 0xFFFF }
enum VBool { VFalse = 0, VTrue = 1, VUnknown = 2 }
Enumeration for Boolean data values.
17
Functions
18
Namespace Documentation
TRET vt_createFuncObject (VTAllocator allocator, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8
arg8, T9 arg9)
template<typename TRET , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 ,
typename T9 , typename T10 >
TRET vt_createFuncObject (VTAllocator allocator, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8
arg8, T9 arg9, T10 arg10)
Variables
const byte byte_null = 0xff
Indicates NULL byte.
VT_ERRMSG vt_server_errmsg = 0
VT_THROW_EXCEPTION vt_throw_exception = 0
VT_THROW_INTERNAL_EXCEPTION vt_throw_internal_exception = 0
Detailed Description
Defines classes for Vertica User Defined Functions
Typedef Documentation
typedef int64 Vertica::DateADT
The value in DateADT is the number of days
HP Vertica C++ SDK Documentation Version 7.1
19
20
Namespace Documentation
END_OF_FILE Reached the end of the input stream. No further data is available. Returning a StreamState of INPUT_NEEDED
at this point is invalid, as there is no more input.
END_OF_CHUNK Reached the end of an input chunk. Applies only to a parser and only when fed by a Chunker, it means the
current data block ends on a record boundary. In this state a parser should consume all data in the block before returning from
process.
START_OF_PORTION Used when a load stack is apportioned. This mode indicates input does not start at the beginning of a
source. Typical response of a parser is to find the first end-of-record and return PORTION_START. Subsequent calls to process
will use InputState = OK, until the end of the portion/source is reached.
END_OF_PORTION Used when a load stack is apportioned. This mode indicates the underlying source has reached the end of
its allotted portion. The typical response from a parser is to finish the last record it started but proceed no farther.
enum Vertica::StreamState
StreamState
Indicates the state of a stream after process() has handled some input and some output data.
The different enum values have the following meanings:
INPUT_NEEDED Indicates that a stream is unable to continue without being given more input. It may not have consumed all of
its available input yet. It does not need to have consumed every byte of input. Not valid for output-only streams, ie., UDSources.
OUTPUT_NEEDED Indicates that a stream is unable to write more output without being given a new or larger output buffer.
Basically that it has "filled" the buffer as much as it is reasonably able to (which may be every byte full, some bytes full, even
completely empty in which case Vertica assumes that the UDL needs a larger buffer). Not valid for input-only streams, ie.,
UDParsers.
DONE The stream has completed; it will not be writing any more output nor consuming any more input.
REJECT Only valid for UDParsers. Indicates that the last row the Parser consumed is invalid and should be processed as a
rejected row.
KEEP_GOING Not commonly used. The stream has neither filled all of its output buffer nor consumed all of its input buffer, but
would like to yield to the server. Typically it has neither consumed data nor produced data. This state should be used instead
of a "wait" loop; a stream that is waiting for some external operation to complete should periodically return KEEP_GOING rather
than simply blocking forever.
CHUNK_ALIGNED Used by UDChunker only. The chunker has found as many rows as possible in current block, and would like
to hand off to parser a data block that is aligned with record boundary (input offset points to the start of the row after last row
found in current block).
See the UDSource, UDFilter, and UDParser classes for how these streams are used.
enum Vertica::UDXDebugLevels
Bit mast for communicatnig the available UDx debug logging levels.
enum Vertica::volatility
Enums to allow programmatic specification of volatility and strictness
Function Documentation
static void Vertica::describeIntervalTypeMod ( char result, int32 typemod ) [inline], [static]
Format interval "<subtype>" where <subtype> often starts with a space Call with char buf[64] to hold the result.
Referenced by Vertica::VerticaType::getPrettyPrintStr().
HP Vertica C++ SDK Documentation Version 7.1
21
22
Namespace Documentation
23
Parameters
format
void Vertica::vsmemcpy ( void dst, const void src, size_t len ) [inline]
Version of memcpy optimized for verticas small data types. Inline function for copying small things of arbitrary length.
24
Namespace Documentation
Class Documentation
Basics::BigInt Struct Reference
Collaboration diagram for Basics::BigInt:
Basics::BigInt
+ accumulateNN()
+ addNN()
+ castNumeric()
+ checkOverowNN()
+ checkOverowNN()
+ compareNN()
+ convertPosToFloatNN()
+ copy()
+ divUnsignedN1()
+ divUnsignedNN()
and 26 more...
Classes
union long_double_parts
static uint64 addNN (void outBuf, const void buf1, const void buf2, int nWords)
Add together 2 numbers w/ same number of digits No null handling Returns carry.
static void castNumeric (uint64 wordso, int nwdso, int32 typmodo, uint64 wordsi, int nwdsi, int32 typmodi)
static bool checkOverflowNN (const void po, int nwdso, int32 typmodo)
static bool checkOverflowNN (const void po, int nwo, int nwdso, int32 typmodo)
26
Class Documentation
static int compareNN (const void buf1, const void buf2, int nWords)
Compare integers, return -1, 0, 1.
static void copy (void buf, const void src, int nWords)
cpoy nWords from src to buf
static uint64 divUnsignedN1 (void qbuf, int qw, int round, const void ubuf, int uw, uint64 v)
static void divUnsignedNN (void qbuf, int qw, int round, uint64 rbuf, int rw, const void ubuf, int uw, const void vbuf, int
vw)
static void fromIntNN (void buf, int nWords, int64 val)
Load from 64-bit signed int (does not handle NULL inside)
static bool isEqualNN (const void buf1, const void buf2, int nWords)
Check integers for equality.
static void mulUnsignedN1 (void obuf, const void ubuf, int uw, uint64 v)
Multiply, unsigned only. uw words by 1 word -> uw+1 words Output array must be uw+1 words long; may not overlap inputs.
static void mulUnsignedNN (void obuf, const void buf1, int nw1, const void buf2, int nw2)
Multiply, unsigned only. Output array must be nw1+nw2 long; may not overlap inputs PERF NOTE: Operates like a school boy, could
do Karatsuba (or better)
static void numericDivide (const uint64 pa, int nwdsa, int32 typmoda, const uint64 pb, int nwdsb, int32 typmodb, uint64
outNum, int nwdso, int32 typmodo)
Divide Numerics Handles negative / null input.
static void numericMultiply (const uint64 pa, int nwdsa, const uint64 pb, int nwdsb, uint64 outNum, int nwdso)
Multiply Numerics , result in outNum Handles negative / null input.
static void NumericRescaleDown (uint64 wordso, int nwdso, int32 typmodo, uint64 wordsi, int nwdsi, int32 typmodi)
static void NumericRescaleSameScaleSmallerPrec (uint64 wordso, int nwdso, int32 typmodo, uint64 wordsi, int nwdsi,
int32 typmodi)
static void NumericRescaleUp (uint64 wordso, int nwdso, int32 typmodo, uint64 wordsi, int nwdsi, int32 typmodi)
static ifloat numericToFloat (const void buf, int nwds, ifloat tenthtoscale)
Convert Numeric to a float Handles negative / null input.
static bool rescaleNumeric (void out, int ow, int pout, int sout, void in, int iw, int pin, int sin)
Rescale a given numeric to a specific prec/scale/nwds The input should have minimal precision to avoid unnecessary overflow; for
example, "0" should have precision 0 (as generated by charToNumeric). Accepts signed numerics. Will set its "in" argument to
abs(in).
static bool setFromFloat (void bbuf, int bwords, int typmod, long double value, bool round)
Convert floating point multiplied by 10 scale to an integer This truncates if round is false; otherwise the numeric result is rounded.
static void setNumericBoundsFromType (uint64 numUpperBound, uint64 numLowerBound, int nwdso, int32 typmod)
static void setZero (void buf, int nWords)
Set an integer to 0.
27
Shift a BigInt to the left (<<) by the given number of bits. The given BigInt must be positive and non-null.
static bool toIntNN (int64 &out, const void buf, int nWords)
Convert to int (return false if there was an overflow)
static int ucompareNN (const void buf1, const void buf2, int nWords)
static int usedWordsUnsigned (const void buf, int nWords)
Calculate number of words that are actually used to represent the value (amount left after stripping leading 0s)
Detailed Description
Holds integer utilities A few are inlined for performance reasons. Most are in vertica.cpp.
ifloat Basics::BigInt::numericToFloat ( const void buf, int nwds, ifloat tenthtoscale ) [static]
Convert Numeric to a float Handles negative / null input.
Parameters
tenthtoscale
Referenced by Vertica::VNumeric::toFloat().
bool Basics::BigInt::setFromFloat ( void bbuf, int bwords, int typmod, long double value, bool round ) [static]
Convert floating point multiplied by 10 scale to an integer This truncates if round is false; otherwise the numeric result is rounded.
Returns
false if high bits were lost, true if reasonable fidelity was achieved
Referenced by Vertica::VNumeric::copy().
HP Vertica C++ SDK Documentation Version 7.1
28
Class Documentation
static int Basics::BigInt::ucompareNN ( const void buf1, const void buf2, int nWords ) [inline], [static]
Compare integers, return -1, 0, 1
Referenced by Vertica::VNumeric::compareUnsigned().
Basics::BigInt::long
_double_parts
+ @1
+ exponent
+ mantissa
+ remainder
+ value
+ long_double_parts()
Public Attributes
struct {
unsigned short int exponent
unsigned long long int mantissa
unsigned short int remainder [3]
};
long double value
Detailed Description
x86 only 80-bit extended precision float 64 bit mantissa, stored little endian (just like a 64-bit int) Note that the mantissa
does not have an implicit "1" bit thus eliminating the concept of denormal numbers. 16 bit exponent, also little endian,
within the next 64 bits. High bit is sign Lower 15 bits are "excess 16383" Example: 1.0 is stored as, in binary: mantissa:
1000000000000000000000000000000000000000000000000000000000000000, exponent: 0011111111111111
HP Vertica C++ SDK Documentation Version 7.1
29
Basics::FiveToScale
+ scale
+ value
+ wordCount
Public Attributes
unsigned scale
const uint64 value
unsigned wordCount
EE::DataArea
+ freeDA
+ sizeDA
+ centry()
+ clearDA()
+ entry()
+ initializeDA()
30
Class Documentation
char entry (size_t e)
void initializeDA (size_t sz)
Public Attributes
size_t freeDA
size_t sizeDA
Detailed Description
This class holds the strings used by a TupleBlock, VLHash, etc. It is fixed length, applications either use a conservative max or
go until it is full.
EE::StringValue
+ base
+ slen
+ sloc
+ inlinePtr()
Public Attributes
char base [ ]
vsize slen
uint32 sloc
31
Vertica::UDXObject
+ ~UDXObject()
+ destroy()
+ setup()
Vertica::AggregateFunction
+ aggregateArrs()
+ combine()
+ initAggregate()
+ terminate()
+ updateCols()
32
Class Documentation
Vertica::UDXObject
+ ~UDXObject()
+ destroy()
+ setup()
Vertica::AggregateFunction
+ aggregateArrs()
+ combine()
+ initAggregate()
+ terminate()
+ updateCols()
Detailed Description
Interface for User Defined Aggregate, the actual code to process a block of data coming in from the stream
33
virtual void Vertica::AggregateFunction::aggregateArrs ( ServerInterface & srvInterface, void dstTuples, int doff, const void arr, int
stride, const void rcounts, int rcstride, int count, IntermediateAggs & intAggs, std::vector< int > & intOffsets, BlockReader &
arg_reader ) [pure virtual]
Called by the server to perform aggregation on multiple blocks of data
Note
User should not explicity implement this function. It is implemented by calling the InlineAggregate() macro. User should follow the convention of implementing void aggregate(ServerInterface &srvInterface, BlockReader &arg_reader, IntermediateAggs &aggs) along with initAggregate, combine, and terminate. For references on what a fully implemented Aggregate
Function looks like, check the examples in the example folder.
which the inlined aggregateArrs implemention will invoke
virtual void Vertica::UDXObject::destroy ( ServerInterface & srvInterface, const SizedColumnTypes & argTypes ) [inline],
[virtual], [inherited]
Perform per instance destruction. This function may throw errors
virtual void Vertica::AggregateFunction::initAggregate ( ServerInterface & srvInterface, IntermediateAggs & aggs ) [pure
virtual]
Called by the server to set the starting values of the Intermediate aggregates.
Note
This can be called multiple times on multiple machines, so starting values should be idempotent.
virtual void Vertica::UDXObject::setup ( ServerInterface & srvInterface, const SizedColumnTypes & argTypes ) [inline],
[virtual], [inherited]
Perform per instance initialization. This function may throw errors.
virtual void Vertica::AggregateFunction::terminate ( ServerInterface & srvInterface, BlockWriter & res_writer, IntermediateAggs &
aggs ) [pure virtual]
Called by the server to get the output to the aggregate function
void Vertica::AggregateFunction::updateCols ( BlockReader & arg_reader, char arg, int count, IntermediateAggs & intAggs, char
aggPtr, std::vector< int > & intOffsets ) [static]
Helper function for aggregateArrs.
Note
User should not call this function.
HP Vertica C++ SDK Documentation Version 7.1
34
Class Documentation
Vertica::UDXFactory
# libOid
# sqlName
+ ~UDXFactory()
+ getParameterType()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
+ getUDXFactoryType()
Vertica::AggregateFunction
Factory
+ ~AggregateFunctionFactory()
+ createAggregateFunction()
+ getIntermediateTypes()
# getUDXFactoryType()
35
Vertica::UDXFactory
# libOid
# sqlName
+ ~UDXFactory()
+ getParameterType()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
+ getUDXFactoryType()
Vertica::AggregateFunction
Factory
+ ~AggregateFunctionFactory()
+ createAggregateFunction()
+ getIntermediateTypes()
# getUDXFactoryType()
Public Types
enum UDXType {
FUNCTION, TRANSFORM, ANALYTIC, MULTI_TRANSFORM,
AGGREGATE, LOAD_SOURCE, LOAD_FILTER, LOAD_PARSER,
FILESYSTEM, TYPE }
36
Class Documentation
Protected Attributes
Oid libOid
std::string sqlName
Detailed Description
Interface to provide User Defined Aggregate compile time information
virtual]
Called when Vertica needs a new AggregateFunction object to process a function call.
Returns
an AggregateFunction object which implements the UDx API described by this metadata.
Parameters
srvInterface
Note
More than one object may be instantiated per query.
virtual void Vertica::UDXFactory::getPerInstanceResources ( ServerInterface & srvInterface, VResources & res ) [inline],
[virtual], [inherited]
Set the resource required for each instance of the UDX Object subclass
37
38
Class Documentation
Parameters
srvInterface
res
Reimplemented in Vertica::UDLFactory.
virtual void Vertica::UDXFactory::getPrototype ( ServerInterface & srvInterface, ColumnTypes & argTypes, ColumnTypes &
returnType ) [pure virtual], [inherited]
Provides the argument and return types of the UDX
Implemented in Vertica::UDLFactory, Vertica::MultiPhaseTransformFunctionFactory, and Vertica::UDFileSystemFactory.
Referenced by Vertica::ScalarFunctionFactory::getReturnType().
virtual void Vertica::UDXFactory::getReturnType ( ServerInterface & srvInterface, const SizedColumnTypes & argTypes,
SizedColumnTypes & returnType ) [pure virtual], [inherited]
Function to tell Vertica what the return types (and length/precision if necessary) of this UDX are.
For CHAR/VARCHAR types, specify the max length,
For NUMERIC types, specify the precision and scale.
For Time/Timestamp types (with or without time zone), specify the precision, -1 means unspecified/dont care
For IntervalYM/IntervalDS types, specify the precision and range
For all other types, no length/precision specification needed
Parameters
argTypes
returnType
Provides the data types of arguments that this UDT was called with. This may be used to modify the
return types accordingly.
User code must fill in the names and data types returned by the UDT.
39
Returns
the object type internally used by Vertica
Implements Vertica::UDXFactory.
Vertica::UDXObject
+ ~UDXObject()
+ destroy()
+ setup()
Vertica::UDXObjectCancelable
# canceled
+ UDXObjectCancelable()
+ cancel()
+ isCanceled()
Vertica::AnalyticFunction
+ processPartition()
40
Class Documentation
Vertica::UDXObject
+ ~UDXObject()
+ destroy()
+ setup()
Vertica::UDXObjectCancelable
# canceled
+ UDXObjectCancelable()
+ cancel()
+ isCanceled()
Vertica::AnalyticFunction
+ processPartition()
Protected Attributes
volatile bool canceled
Detailed Description
Interface for User Defined Analytic, the actual code to process a partition of data coming in as a stream
HP Vertica C++ SDK Documentation Version 7.1
41
This function is invoked from a different thread when the execution is canceled This baseclass cancel should be called in any
override.
virtual void Vertica::UDXObject::destroy ( ServerInterface & srvInterface, const SizedColumnTypes & argTypes ) [inline],
[virtual], [inherited]
Perform per instance destruction. This function may throw errors
Invoke a user defined analytic on a set of rows. As the name suggests, a batch of rows are passed in for every invocation to
amortize performance.
Parameters
srvInterface
input_reader
output_writer
virtual void Vertica::UDXObject::setup ( ServerInterface & srvInterface, const SizedColumnTypes & argTypes ) [inline],
[virtual], [inherited]
42
Class Documentation
Vertica::UDXFactory
# libOid
# sqlName
+ ~UDXFactory()
+ getParameterType()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
+ getUDXFactoryType()
Vertica::AnalyticFunction
Factory
+ ~AnalyticFunctionFactory()
+ createAnalyticFunction()
# getUDXFactoryType()
43
Vertica::UDXFactory
# libOid
# sqlName
+ ~UDXFactory()
+ getParameterType()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
+ getUDXFactoryType()
Vertica::AnalyticFunction
Factory
+ ~AnalyticFunctionFactory()
+ createAnalyticFunction()
# getUDXFactoryType()
Public Types
enum UDXType {
FUNCTION, TRANSFORM, ANALYTIC, MULTI_TRANSFORM,
AGGREGATE, LOAD_SOURCE, LOAD_FILTER, LOAD_PARSER,
FILESYSTEM, TYPE }
44
Class Documentation
Protected Attributes
Oid libOid
std::string sqlName
Detailed Description
Interface to provide User Defined Analytic compile time information
virtual]
Called when Vertica needs a new AnalyticFunction object to process a function call.
Returns
an AnalyticFunction object which implements the UDx API described by this metadata.
Parameters
srvInterface
Note
More than one object may be instantiated per query.
virtual void Vertica::UDXFactory::getPerInstanceResources ( ServerInterface & srvInterface, VResources & res ) [inline],
[virtual], [inherited]
Set the resource required for each instance of the UDX Object subclass
Parameters
45
Reimplemented in Vertica::UDLFactory.
virtual void Vertica::UDXFactory::getPrototype ( ServerInterface & srvInterface, ColumnTypes & argTypes, ColumnTypes &
returnType ) [pure virtual], [inherited]
Provides the argument and return types of the UDX
Implemented in Vertica::UDLFactory, Vertica::MultiPhaseTransformFunctionFactory, and Vertica::UDFileSystemFactory.
Referenced by Vertica::ScalarFunctionFactory::getReturnType().
virtual void Vertica::UDXFactory::getReturnType ( ServerInterface & srvInterface, const SizedColumnTypes & argTypes,
SizedColumnTypes & returnType ) [pure virtual], [inherited]
Function to tell Vertica what the return types (and length/precision if necessary) of this UDX are.
For CHAR/VARCHAR types, specify the max length,
For NUMERIC types, specify the precision and scale.
For Time/Timestamp types (with or without time zone), specify the precision, -1 means unspecified/dont care
For IntervalYM/IntervalDS types, specify the precision and range
For all other types, no length/precision specification needed
Parameters
argTypes
returnType
Provides the data types of arguments that this UDT was called with. This may be used to modify the
return types accordingly.
User code must fill in the names and data types returned by the UDT.
46
Class Documentation
Returns
the object type internally used by Vertica
Implements Vertica::UDXFactory.
47
Vertica::VerticaBlock
# cols
# colstrides
# count
# index
# indices
# ncols
# nrows
# svWrappers
# typeMetaData
# vnWrappers
+ VerticaBlock()
+ getColPtr()
+ getColPtrForWrite()
+ getColRef()
+ getColRefForWrite()
+ getDataArea()
+ getNumCols()
+ getNumRows()
+ getTypeMetaData()
+ getTypeMetaData()
+ getVoidPtr()
+ setDataArea()
# addCol()
# addCol()
# validateStringColumn()
# void::copyDataToPlanPool()
Vertica::BlockReader
+ BlockReader()
+ getBoolPtr()
+ getBoolRef()
+ getDatePtr()
+ getDateRef()
+ getFloatPtr()
+ getFloatRef()
+ getIntervalPtr()
+ getIntervalRef()
+ getIntervalYMPtr()
and 17 more...
Vertica::PartitionReader
+ udan
+ udt
+ udx_object
# @3
# dh
# pstart
+ PartitionReader()
+ ~PartitionReader()
+ next()
+ readNextBlock()
# setupColsAndStrides()
Vertica::AnalyticPartition
Reader
# newOrderMarkers
+ AnalyticPartitionReader()
+ isNewOrderByKey()
+ readNextBlock()
# setupColsAndStrides()
48
Class Documentation
Vertica::SizedColumnTypes
+ addBinary()
+ addBinaryOrderColumn()
+ addBinaryPartitionColumn()
+ addBool()
+ addBoolOrderColumn()
+ addBoolPartitionColumn()
+ addChar()
+ addCharOrderColumn()
+ addCharPartitionColumn()
+ addDate()
and 57 more...
#typeMetaData
Vertica::VerticaBlock
# cols
# colstrides
# count
# index
# indices
# ncols
# nrows
# svWrappers
# vnWrappers
+ VerticaBlock()
+ getColPtr()
+ getColPtrForWrite()
+ getColRef()
+ getColRefForWrite()
+ getDataArea()
+ getNumCols()
+ getNumRows()
+ getTypeMetaData()
+ getTypeMetaData()
+ getVoidPtr()
+ setDataArea()
# addCol()
# addCol()
# validateStringColumn()
# void::copyDataToPlanPool()
Vertica::BlockReader
+ BlockReader()
+ getBoolPtr()
+ getBoolRef()
+ getDatePtr()
+ getDateRef()
+ getFloatPtr()
+ getFloatRef()
+ getIntervalPtr()
+ getIntervalRef()
+ getIntervalYMPtr()
and 17 more...
Vertica::PartitionReader
+ udan
+ udt
+ udx_object
# @3
# dh
# pstart
+ PartitionReader()
+ ~PartitionReader()
+ next()
+ readNextBlock()
# setupColsAndStrides()
Vertica::AnalyticPartition
Reader
# newOrderMarkers
+ AnalyticPartitionReader()
+ isNewOrderByKey()
+ readNextBlock()
# setupColsAndStrides()
template<class T >
const T getColPtr (size_t idx)
template<class T >
T getColPtrForWrite (size_t idx)
template<class T >
const T & getColRef (size_t idx)
template<class T >
T & getColRefForWrite (size_t idx)
const EE::DataArea getDataArea (size_t idx)
const DateADT getDatePtr (size_t idx)
Get a pointer to a DATE value from the input row.
49
50
Class Documentation
Get a reference to a TIMESTAMP WITH TIMEZONE value from the input row.
bool next ()
virtual bool readNextBlock ()
void setDataArea (size_t idx, void dataarea)
void addCol (char arg, int colstride, const VerticaType &dt, const std::string fieldName="")
void addCol (const char arg, int colstride, const VerticaType &dt, const std::string fieldName="")
virtual void setupColsAndStrides ()
void validateStringColumn (size_t idx, const VString &s, const VerticaType &t)
friend void::copyDataToPlanPool (VerticaBlock block)
Protected Attributes
union {
EE::UserDefinedAnalytic udan
EE::UserDefinedTransform udt
EE::UserDefinedProcess udx_object
};
Friends
class ::AnalyticPartitionReaderHelper
class EE::UserDefinedAnalytic
class EE::UserDefinedProcess
HP Vertica C++ SDK Documentation Version 7.1
51
Detailed Description
AnalyticPartitionReader provides an iterator-based read interface over all the partition_by keys, order_by keys, and function
arguments in a partition.
Referenced by Vertica::ParamReader::addParameter().
Returns
A pointer to the retrieved value cast as a BOOLEAN.
Referenced by Vertica::BlockReader::getBoolRef().
Returns
a reference to the idxth argument, cast as an BOOLEAN.
Referenced by Vertica::BlockReader::isNull().
52
Class Documentation
Returns
a pointer to the idxth argument, cast appropriately.
Example:
* const vint *a = arg_reader->getColPtr<vint>(0);
*
Referenced by Vertica::PartitionWriter::copyFromInput().
Returns
A pointer to the retrieved value cast as a DATE.
Referenced by Vertica::BlockReader::getDateRef().
Returns
a reference to the idxth argument, cast as an DATE.
Referenced by Vertica::BlockReader::isNull().
idx
Returns
A pointer to the retrieved value cast as a FLOAT.
Referenced by Vertica::BlockReader::getFloatRef().
Returns
A reference to the idxth argument, cast as an FLOAT.
Referenced by Vertica::BlockReader::isNull().
Returns
A pointer to the retrieved value cast as an INTERVAL.
Referenced by Vertica::BlockReader::getIntervalRef().
Returns
a reference to the idxth argument, cast as an INTERVAL.
Referenced by Vertica::BlockReader::isNull().
53
54
Class Documentation
Parameters
idx
Returns
A point to the retrieved value cast as a INTERVAL YEAR TO MONTH.
Referenced by Vertica::BlockReader::getIntervalYMRef().
Returns
a reference to the idxth argument, cast as an INTERVAL YEAR TO MONTH.
Referenced by Vertica::BlockReader::isNull().
Example:
* const vint *a = arg_reader->getIntPtr(0);
*
Referenced by Vertica::BlockReader::getIntRef().
Returns
a reference to the idxth argument, cast as an INTEGER.
Example:
* const vint a = arg_reader->getIntRef(0);
*
Referenced by Vertica::BlockReader::isNull().
HP Vertica C++ SDK Documentation Version 7.1
Returns
A pointer to the retrieved value cast as a Numeric.
Referenced by Vertica::BlockReader::getNumericRef().
Returns
a reference to the idxth argument, cast as an VNumeric.
Referenced by Vertica::BlockReader::isNull().
Returns
A pointer to the retrieved value cast as a VString.
Referenced by Vertica::PartitionWriter::copyFromInput(), and Vertica::BlockReader::getStringRef().
HP Vertica C++ SDK Documentation Version 7.1
55
56
Class Documentation
Returns
a reference to the idxth argument, cast as an VString.
Referenced by Vertica::BlockReader::isNull().
Returns
A pointer to the retrieved value cast as a TIME.
Referenced by Vertica::BlockReader::getTimeRef().
Returns
a reference to the idxth argument, cast as a TIME.
Referenced by Vertica::BlockReader::isNull().
Returns
A pointer to the retrieved value cast as a TIMESTAMP.
Referenced by Vertica::BlockReader::getTimestampRef().
57
58
Class Documentation
Parameters
idx
Returns
a reference to the idxth argument, cast as a TIMESTAMP.
Referenced by Vertica::BlockReader::isNull().
Returns
A pointer to the retrieved value cast as a TIMESTAMP WITH TIMEZONE .
Referenced by Vertica::BlockReader::getTimestampTzRef().
Returns
a reference to the idxth argument, cast as a TIMESTAMP WITH TIMEZONE.
Referenced by Vertica::BlockReader::isNull().
Returns
A pointer to the retrieved value cast as a TIME WITH TIMEZONE.
Referenced by Vertica::BlockReader::getTimeTzRef().
59
Parameters
idx
Returns
a reference to the idxth argument, cast as a TIME WITH TIMEZONE.
Referenced by Vertica::BlockReader::isNull().
Returns
true is the col value is null false otherwise
60
Class Documentation
Vertica::VerticaBlock
# cols
# colstrides
# count
# index
# indices
# ncols
# nrows
# svWrappers
# typeMetaData
# vnWrappers
+ VerticaBlock()
+ getColPtr()
+ getColPtrForWrite()
+ getColRef()
+ getColRefForWrite()
+ getDataArea()
+ getNumCols()
+ getNumRows()
+ getTypeMetaData()
+ getTypeMetaData()
+ getVoidPtr()
+ setDataArea()
# addCol()
# addCol()
# validateStringColumn()
# void::copyDataToPlanPool()
Vertica::PartitionWriter
+ udan
+ udt
+ udx_object
# @5
# pstart
+ PartitionWriter()
+ ~PartitionWriter()
+ copyFromInput()
+ getColumns()
+ getNumericRef()
+ getStringRef()
+ getStringRefNoClear()
+ getVoidPtr()
+ getWriteableBlock()
+ next()
and 11 more...
# commitPrelledRows()
Vertica::AnalyticPartition
Writer
+ AnalyticPartitionWriter()
+ ~AnalyticPartitionWriter()
+ getWriteableBlock()
61
Vertica::SizedColumnTypes
+ addBinary()
+ addBinaryOrderColumn()
+ addBinaryPartitionColumn()
+ addBool()
+ addBoolOrderColumn()
+ addBoolPartitionColumn()
+ addChar()
+ addCharOrderColumn()
+ addCharPartitionColumn()
+ addDate()
and 57 more...
#typeMetaData
Vertica::VerticaBlock
# cols
# colstrides
# count
# index
# indices
# ncols
# nrows
# svWrappers
# vnWrappers
+ VerticaBlock()
+ getColPtr()
+ getColPtrForWrite()
+ getColRef()
+ getColRefForWrite()
+ getDataArea()
+ getNumCols()
+ getNumRows()
+ getTypeMetaData()
+ getTypeMetaData()
+ getVoidPtr()
+ setDataArea()
# addCol()
# addCol()
# validateStringColumn()
# void::copyDataToPlanPool()
Vertica::PartitionWriter
+ udan
+ udt
+ udx_object
# @5
# pstart
+ PartitionWriter()
+ ~PartitionWriter()
+ copyFromInput()
+ getColumns()
+ getNumericRef()
+ getStringRef()
+ getStringRefNoClear()
+ getVoidPtr()
+ getWriteableBlock()
+ next()
and 11 more...
# commitPrelledRows()
Vertica::AnalyticPartition
Writer
+ AnalyticPartitionWriter()
+ ~AnalyticPartitionWriter()
+ getWriteableBlock()
62
Class Documentation
template<class T >
T getColPtrForWrite (size_t idx)
template<class T >
const T & getColRef (size_t idx)
template<class T >
T & getColRefForWrite (size_t idx)
PartitionWriterColumns getColumns ()
const EE::DataArea getDataArea (size_t idx)
size_t getNumCols () const
VNumeric & getNumericRef (size_t idx)
int getNumRows () const
VString & getStringRef (size_t idx)
VString & getStringRefNoClear (size_t idx)
const SizedColumnTypes & getTypeMetaData () const
SizedColumnTypes & getTypeMetaData ()
void getVoidPtr ()
void getVoidPtr (size_t idx)
virtual bool getWriteableBlock ()
bool next ()
void setBool (size_t idx, vbool r)
void setDataArea (size_t idx, void dataarea)
void setDate (size_t idx, DateADT r)
void setFloat (size_t idx, vfloat r)
void setInt (size_t idx, vint r)
void setInterval (size_t idx, Interval r)
void setNull (size_t idx)
Set the idxth argument to null.
void addCol (char arg, int colstride, const VerticaType &dt, const std::string fieldName="")
void addCol (const char arg, int colstride, const VerticaType &dt, const std::string fieldName="")
bool commitPrefilledRows (int nRows)
void validateStringColumn (size_t idx, const VString &s, const VerticaType &t)
friend void::copyDataToPlanPool (VerticaBlock block)
Protected Attributes
union {
EE::UserDefinedAnalytic udan
EE::UserDefinedTransform udt
EE::UserDefinedProcess udx_object
};
63
Detailed Description
AnalyticPartitionWriter provides an iterator-based write interface over all input data in a single partition. It automatically makes
space as needed.
[protected], [inherited]
Add the location for reading a particular argument.
Parameters
arg
colstride
dt
fieldname
Referenced by Vertica::ParamReader::addParameter().
void Vertica::PartitionWriter::copyFromInput ( size_t dstIdx, PartitionReader & input_reader, size_t srcIdx ) [inline],
[inherited]
Copies a column from the input reader to the output writer. The data types and sizes of the source and destination columns must
match exactly.
Parameters
dstIdx
input_reader
srcIdx
Referenced by Vertica::PartitionWriter::copyFromInput().
HP Vertica C++ SDK Documentation Version 7.1
64
Class Documentation
65
Parameters
idx
Vertica::BasePartitionWriter
Column
# curr
# end
# start
# stridelength
+ getStrideLength()
# BasePartitionWriterColumn()
# ~BasePartitionWriterColumn()
# getAndAdvance()
# getPtr()
# getWrittenElementCount()
Vertica::PartitionWriter
Column< T >
# null_value
+ append()
+ appendNull()
+ directCopy()
+ getVal()
# PartitionWriterColumn()
Vertica::PartitionWriter
NumericColumn
# wrapper
+ append()
+ appendNull()
+ directCopy()
+ getRef()
+ getTypmod()
# PartitionWriterNumericColumn()
Vertica::PartitionWriter
StringColumn
# wrapper
+ append()
+ appendNull()
+ getMaxSize()
+ getRef()
# PartitionWriterStringColumn()
66
Class Documentation
Vertica::BasePartitionWriter
Column
# curr
# end
# start
# stridelength
+ getStrideLength()
# BasePartitionWriterColumn()
# ~BasePartitionWriterColumn()
# getAndAdvance()
# getPtr()
# getWrittenElementCount()
Protected Attributes
char curr
const char end
const char start
const int stridelength
Friends
class PartitionWriterColumns
Detailed Description
Base class for vectorized writing to columns. Efficiently writes each element in a single column.
HP Vertica C++ SDK Documentation Version 7.1
67
Vertica::BlockFormatter
+ BlockFormatter()
+ ~BlockFormatter()
+ format()
+ writeRow()
Vertica::BlockFormatterCout
+ BlockFormatterCout()
+ ~BlockFormatterCout()
+ writeRow()
68
Class Documentation
Vertica::BlockFormatter
+ BlockFormatter()
+ ~BlockFormatter()
+ format()
+ writeRow()
void format ()
Detailed Description
Vertica::BlockFormatter
+ BlockFormatter()
+ ~BlockFormatter()
+ format()
+ writeRow()
Vertica::BlockFormatterCout
+ BlockFormatterCout()
+ ~BlockFormatterCout()
+ writeRow()
69
70
Class Documentation
Vertica::BlockFormatter
+ BlockFormatter()
+ ~BlockFormatter()
+ format()
+ writeRow()
Vertica::BlockFormatterCout
+ BlockFormatterCout()
+ ~BlockFormatterCout()
+ writeRow()
Detailed Description
Formatting rows in a BlockReader to stdout
Example Usage with BlockReader arg_reader
BlockFormatterCout(arg_reader).format();
71
Vertica::VerticaBlock
# cols
# colstrides
# count
# index
# indices
# ncols
# nrows
# svWrappers
# typeMetaData
# vnWrappers
+ VerticaBlock()
+ getColPtr()
+ getColPtrForWrite()
+ getColRef()
+ getColRefForWrite()
+ getDataArea()
+ getNumCols()
+ getNumRows()
+ getTypeMetaData()
+ getTypeMetaData()
+ getVoidPtr()
+ setDataArea()
# addCol()
# addCol()
# validateStringColumn()
# void::copyDataToPlanPool()
Vertica::BlockReader
+ BlockReader()
+ getBoolPtr()
+ getBoolRef()
+ getDatePtr()
+ getDateRef()
+ getFloatPtr()
+ getFloatRef()
+ getIntervalPtr()
+ getIntervalRef()
+ getIntervalYMPtr()
and 17 more...
Vertica::PartitionReader
Vertica::MultipleIntermediateAggs
+ MultipleIntermediateAggs()
+ MultipleIntermediateAggs()
+ udan
+ udt
+ udx_object
# @3
# dh
# pstart
+ PartitionReader()
+ ~PartitionReader()
+ next()
+ readNextBlock()
# setupColsAndStrides()
Vertica::AnalyticPartition
Reader
# newOrderMarkers
+ AnalyticPartitionReader()
+ isNewOrderByKey()
+ readNextBlock()
# setupColsAndStrides()
72
Class Documentation
Vertica::SizedColumnTypes
+ addBinary()
+ addBinaryOrderColumn()
+ addBinaryPartitionColumn()
+ addBool()
+ addBoolOrderColumn()
+ addBoolPartitionColumn()
+ addChar()
+ addCharOrderColumn()
+ addCharPartitionColumn()
+ addDate()
and 57 more...
#typeMetaData
Vertica::VerticaBlock
# cols
# colstrides
# count
# index
# indices
# ncols
# nrows
# svWrappers
# vnWrappers
+ VerticaBlock()
+ getColPtr()
+ getColPtrForWrite()
+ getColRef()
+ getColRefForWrite()
+ getDataArea()
+ getNumCols()
+ getNumRows()
+ getTypeMetaData()
+ getTypeMetaData()
+ getVoidPtr()
+ setDataArea()
# addCol()
# addCol()
# validateStringColumn()
# void::copyDataToPlanPool()
Vertica::BlockReader
+ BlockReader()
+ getBoolPtr()
+ getBoolRef()
+ getDatePtr()
+ getDateRef()
+ getFloatPtr()
+ getFloatRef()
+ getIntervalPtr()
+ getIntervalRef()
+ getIntervalYMPtr()
and 17 more...
template<class T >
const T getColPtr (size_t idx)
template<class T >
T getColPtrForWrite (size_t idx)
template<class T >
const T & getColRef (size_t idx)
template<class T >
T & getColRefForWrite (size_t idx)
const EE::DataArea getDataArea (size_t idx)
const DateADT getDatePtr (size_t idx)
Get a pointer to a DATE value from the input row.
73
74
Class Documentation
Get a reference to a TIMESTAMP WITH TIMEZONE value from the input row.
bool next ()
void setDataArea (size_t idx, void dataarea)
void addCol (char arg, int colstride, const VerticaType &dt, const std::string fieldName="")
void addCol (const char arg, int colstride, const VerticaType &dt, const std::string fieldName="")
void validateStringColumn (size_t idx, const VString &s, const VerticaType &t)
friend void::copyDataToPlanPool (VerticaBlock block)
Protected Attributes
Friends
class EE::VEval
class VerticaRInterface
Detailed Description
Iterator interface for reading rows in a Vertica block.
This class provides the input to the ScalarFunction.processBlock() function. You extract values from the input row using data
type specific functions to extract each column value. You can also determine the number of columns and their data types, if your
processBlock function does not have hard-coded input expectations.
Referenced by Vertica::ParamReader::addParameter().
Returns
A pointer to the retrieved value cast as a BOOLEAN.
Referenced by getBoolRef().
Returns
a reference to the idxth argument, cast as an BOOLEAN.
Referenced by isNull().
Referenced by Vertica::PartitionWriter::copyFromInput().
75
76
Class Documentation
Returns
A pointer to the retrieved value cast as a DATE.
Referenced by getDateRef().
Returns
a reference to the idxth argument, cast as an DATE.
Referenced by isNull().
Returns
A pointer to the retrieved value cast as a FLOAT.
Referenced by getFloatRef().
Returns
A reference to the idxth argument, cast as an FLOAT.
Referenced by isNull().
77
78
Class Documentation
Parameters
idx
Returns
A pointer to the retrieved value cast as an INTERVAL.
Referenced by getIntervalRef().
Returns
a reference to the idxth argument, cast as an INTERVAL.
Referenced by isNull().
Returns
A point to the retrieved value cast as a INTERVAL YEAR TO MONTH.
Referenced by getIntervalYMRef().
Returns
a reference to the idxth argument, cast as an INTERVAL YEAR TO MONTH.
Referenced by isNull().
Example:
* const vint *a = arg_reader->getIntPtr(0);
*
Referenced by getIntRef().
Returns
a reference to the idxth argument, cast as an INTEGER.
Example:
* const vint a = arg_reader->getIntRef(0);
*
Referenced by isNull().
Returns
A pointer to the retrieved value cast as a Numeric.
Referenced by getNumericRef().
79
80
Class Documentation
Parameters
idx
Returns
a reference to the idxth argument, cast as an VNumeric.
Referenced by isNull().
Returns
A pointer to the retrieved value cast as a VString.
Referenced by Vertica::PartitionWriter::copyFromInput(), and getStringRef().
Returns
a reference to the idxth argument, cast as an VString.
Referenced by isNull().
Returns
A pointer to the retrieved value cast as a TIME.
Referenced by getTimeRef().
HP Vertica C++ SDK Documentation Version 7.1
81
82
Class Documentation
Parameters
idx
Returns
a reference to the idxth argument, cast as a TIME.
Referenced by isNull().
Returns
A pointer to the retrieved value cast as a TIMESTAMP.
Referenced by getTimestampRef().
Returns
a reference to the idxth argument, cast as a TIMESTAMP.
Referenced by isNull().
Returns
A pointer to the retrieved value cast as a TIMESTAMP WITH TIMEZONE .
Referenced by getTimestampTzRef().
83
Parameters
idx
Returns
a reference to the idxth argument, cast as a TIMESTAMP WITH TIMEZONE.
Referenced by isNull().
Returns
A pointer to the retrieved value cast as a TIME WITH TIMEZONE.
Referenced by getTimeTzRef().
Returns
a reference to the idxth argument, cast as a TIME WITH TIMEZONE.
Referenced by isNull().
84
Class Documentation
Parameters
col
Returns
true is the col value is null false otherwise
Returns
true if there are more rows to read, false otherwise.
85
Vertica::VerticaBlock
# cols
# colstrides
# count
# index
# indices
# ncols
# nrows
# svWrappers
# typeMetaData
# vnWrappers
+ VerticaBlock()
+ getColPtr()
+ getColPtrForWrite()
+ getColRef()
+ getColRefForWrite()
+ getDataArea()
+ getNumCols()
+ getNumRows()
+ getTypeMetaData()
+ getTypeMetaData()
+ getVoidPtr()
+ setDataArea()
# addCol()
# addCol()
# validateStringColumn()
# void::copyDataToPlanPool()
Vertica::BlockWriter
+ BlockWriter()
+ getNumericRef()
+ getStringRef()
+ next()
+ setBool()
+ setDate()
+ setFloat()
+ setInt()
+ setInterval()
+ setIntervalYM()
+ setTime()
+ setTimestamp()
+ setTimestampTz()
+ setTimeTz()
86
Class Documentation
Vertica::SizedColumnTypes
+ addBinary()
+ addBinaryOrderColumn()
+ addBinaryPartitionColumn()
+ addBool()
+ addBoolOrderColumn()
+ addBoolPartitionColumn()
+ addChar()
+ addCharOrderColumn()
+ addCharPartitionColumn()
+ addDate()
and 57 more...
#typeMetaData
Vertica::VerticaBlock
# cols
# colstrides
# count
# index
# indices
# ncols
# nrows
# svWrappers
# vnWrappers
+ VerticaBlock()
+ getColPtr()
+ getColPtrForWrite()
+ getColRef()
+ getColRefForWrite()
+ getDataArea()
+ getNumCols()
+ getNumRows()
+ getTypeMetaData()
+ getTypeMetaData()
+ getVoidPtr()
+ setDataArea()
# addCol()
# addCol()
# validateStringColumn()
# void::copyDataToPlanPool()
Vertica::BlockWriter
+ BlockWriter()
+ getNumericRef()
+ getStringRef()
+ next()
+ setBool()
+ setDate()
+ setFloat()
+ setInt()
+ setInterval()
+ setIntervalYM()
+ setTime()
+ setTimestamp()
+ setTimestampTz()
+ setTimeTz()
87
88
Class Documentation
Protected Attributes
std::vector< char > cols
std::vector< int > colstrides
int count
int index
const int indices
size_t ncols
int nrows
std::vector< VString > svWrappers
SizedColumnTypes typeMetaData
std::vector< VNumeric > vnWrappers
Friends
class EE::VEval
Detailed Description
Iterator interface for writing rows to a Vertica block.
This class provides the output rows that ScalarFunction.processBlock() writes to.
Referenced by Vertica::ParamReader::addParameter().
Referenced by Vertica::PartitionWriter::copyFromInput().
HP Vertica C++ SDK Documentation Version 7.1
89
90
Class Documentation
The INTERVAL YEAR TO MONTH value to insert into the output row.
The TIMESTAMP WITH TIMEZONE value to insert into the output row.
The TIMESTAMP WITH TIMEZONE value to insert into the output row.
91
92
Class Documentation
Vertica::ColumnTypes
+ addAny()
+ addBinary()
+ addBool()
+ addChar()
+ addDate()
+ addFloat()
+ addInt()
+ addInterval()
+ addIntervalYM()
+ addLongVarbinary()
and 9 more...
void addBinary ()
Adds a column of type BINARY.
void addBool ()
Adds a column of type BOOLEAN.
void addChar ()
Adds a column of type CHAR.
void addDate ()
Adds a column of type DATE.
void addFloat ()
Adds a column of type FLOAT.
void addInt ()
Adds a column of type INTEGER.
void addInterval ()
Adds a column of type INTERVAL/INTERVAL DAY TO SECOND.
void addIntervalYM ()
Adds a column of type INTERVAL YEAR TO MONTH.
void addLongVarbinary ()
Adds a column of type VARBINARY.
void addLongVarchar ()
Adds a column of type VARBINARY.
void addNumeric ()
Adds a column of type NUMERIC.
HP Vertica C++ SDK Documentation Version 7.1
93
void addTime ()
Adds a column of type TIME.
void addTimestamp ()
Adds a column of type TIMESTAMP.
void addTimestampTz ()
Adds a column of type TIMESTAMP WITH TIMEZONE.
void addTimeTz ()
Adds a column of type TIME WITH TIMEZONE.
void addVarchar ()
Adds a column of type VARCHAR.
Detailed Description
Represents (unsized) types of the columns used as input/output of a User Defined Function/Transform Function.
This class is used only for generating the function or transform function prototype, where the sizes and/or precisions of the data
types are not known.
Vertica::DataBuer
+ buf
+ oset
+ size
Public Attributes
char buf
Pointer to the start of the buffer.
size_t offset
Number of bytes that have been processed by the UDL.
size_t size
Size of the buffer in bytes.
94
Class Documentation
Detailed Description
DataBuffer
A contiguous in-memory buffer
Vertica::SourceIterator
+ ~SourceIterator()
+ createNextSource()
+ destroy()
+ getNumberOfSources()
+ getSizeOfSource()
+ setup()
Vertica::DefaultSourceIterator
+ DefaultSourceIterator()
+ createNextSource()
+ getNumberOfSources()
+ getSizeOfSource()
95
Vertica::SourceIterator
+ ~SourceIterator()
+ createNextSource()
+ destroy()
+ getNumberOfSources()
+ getSizeOfSource()
+ setup()
Vertica::DefaultSourceIterator
+ DefaultSourceIterator()
+ createNextSource()
+ getNumberOfSources()
+ getSizeOfSource()
size_t getNumberOfSources ()
size_t getSizeOfSource (size_t sourceNum)
virtual void setup (ServerInterface &srvInterface, NodeSpecifyingPlanContext &planCtxt)
Set up this SourceIterator.
96
Class Documentation
Returns
a new Source instance corresponding to a new input stream
Implements Vertica::SourceIterator.
Implements Vertica::SourceIterator.
This value is used as a hint, and is used by the "load_streams" table to display load progress. If incorrect or not set, "load_streams" may contain incorrect or unhelpful information.
Reimplemented from Vertica::SourceIterator.
virtual void Vertica::SourceIterator::setup ( ServerInterface & srvInterface, NodeSpecifyingPlanContext & planCtxt ) [inline],
[virtual], [inherited]
Set up this SourceIterator.
Should perform setup that should not take place in the constructor due to the exception-handling semantics of constructors
97
Vertica::UDXFactory
# libOid
# sqlName
+ ~UDXFactory()
+ getParameterType()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
+ getUDXFactoryType()
Vertica::UDLFactory
+ ~UDLFactory()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
Vertica::FilterFactory
+ getUDXFactoryType()
+ plan()
+ prepare()
98
Class Documentation
Vertica::UDXFactory
# libOid
# sqlName
+ ~UDXFactory()
+ getParameterType()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
+ getUDXFactoryType()
Vertica::UDLFactory
+ ~UDLFactory()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
Vertica::FilterFactory
+ getUDXFactoryType()
+ plan()
+ prepare()
Public Types
enum UDXType {
FUNCTION, TRANSFORM, ANALYTIC, MULTI_TRANSFORM,
AGGREGATE, LOAD_SOURCE, LOAD_FILTER, LOAD_PARSER,
FILESYSTEM, TYPE }
99
Protected Attributes
Oid libOid
std::string sqlName
Detailed Description
Construct a single Filter.
Note that FilterFactories are singletons. Subclasses should be stateless, with no fields containing data, just methods. plan() and
prepare() methods must never modify any global variables or state; they may only modify the variables that they are given as
arguments. (If global state must be modified, use SourceIterator.)
Factories should be registered using the RegisterFactory() macro, defined in Vertica.h.
virtual void Vertica::UDLFactory::getPerInstanceResources ( ServerInterface & srvInterface, VResources & res ) [inline],
[virtual], [inherited]
Set the resource required for each instance of the UDX Object subclass
Parameters
srvInterface
res
100
Class Documentation
void Vertica::UDLFactory::getPrototype ( ServerInterface & srvInterface, ColumnTypes & argTypes, ColumnTypes & returnType )
virtual void Vertica::UDLFactory::getReturnType ( ServerInterface & srvInterface, const SizedColumnTypes & argTypes,
SizedColumnTypes & returnType ) [inline], [virtual], [inherited]
Not used in this form
Implements Vertica::UDXFactory.
Note
User subclasses should use the appropriate subclass of UDXFactory and not override this method on their own.
Implements Vertica::UDXFactory.
virtual void Vertica::FilterFactory::plan ( ServerInterface & srvInterface, PlanContext & planCtxt ) [inline], [virtual]
Execute any planning logic required at query plan time. This method is run once per query, during query initialization. Its job is
to perform parameter validation, and to modify the set of nodes that the COPY statement will run on (through srvInterface).
plan() runs exactly once per query, on the initiator node. If it throws an exception, the query will not proceed; it will be aborted
prior to distributing the query to the other nodes and running prepare().
Parameters
srvInterface
planCtxt
virtual UDFilter Vertica::FilterFactory::prepare ( ServerInterface & srvInterface, PlanContext & planCtxt ) [pure virtual]
Initialize a UDFilter. This function will be called on each node, prior to the Load operator starting to execute.
planData contains the same data that was placed there by the plan() static method.
Parameters
srvInterface
planCtxt
Returns
UDFilter instance to use for this query
HP Vertica C++ SDK Documentation Version 7.1
101
Vertica::FIunion
+ vf
+ vi
Public Attributes
vfloat vf
vint vi
102
Class Documentation
Vertica::VerticaBlock
# cols
# colstrides
# count
# index
# indices
# ncols
# nrows
# svWrappers
# typeMetaData
# vnWrappers
+ VerticaBlock()
+ getColPtr()
+ getColPtrForWrite()
+ getColRef()
+ getColRefForWrite()
+ getDataArea()
+ getNumCols()
+ getNumRows()
+ getTypeMetaData()
+ getTypeMetaData()
+ getVoidPtr()
+ setDataArea()
# addCol()
# addCol()
# validateStringColumn()
# void::copyDataToPlanPool()
Vertica::IntermediateAggs
+ IntermediateAggs()
+ IntermediateAggs()
+ getBoolPtr()
+ getBoolRef()
+ getDatePtr()
+ getDateRef()
+ getFloatPtr()
+ getFloatRef()
+ getIntervalPtr()
+ getIntervalRef()
and 16 more...
103
Vertica::SizedColumnTypes
+ addBinary()
+ addBinaryOrderColumn()
+ addBinaryPartitionColumn()
+ addBool()
+ addBoolOrderColumn()
+ addBoolPartitionColumn()
+ addChar()
+ addCharOrderColumn()
+ addCharPartitionColumn()
+ addDate()
and 57 more...
#typeMetaData
Vertica::VerticaBlock
# cols
# colstrides
# count
# index
# indices
# ncols
# nrows
# svWrappers
# vnWrappers
+ VerticaBlock()
+ getColPtr()
+ getColPtrForWrite()
+ getColRef()
+ getColRefForWrite()
+ getDataArea()
+ getNumCols()
+ getNumRows()
+ getTypeMetaData()
+ getTypeMetaData()
+ getVoidPtr()
+ setDataArea()
# addCol()
# addCol()
# validateStringColumn()
# void::copyDataToPlanPool()
Vertica::IntermediateAggs
+ IntermediateAggs()
+ IntermediateAggs()
+ getBoolPtr()
+ getBoolRef()
+ getDatePtr()
+ getDateRef()
+ getFloatPtr()
+ getFloatRef()
+ getIntervalPtr()
+ getIntervalRef()
and 16 more...
104
Class Documentation
template<class T >
const T getColPtr (size_t idx)
template<class T >
T getColPtrForWrite (size_t idx)
template<class T >
const T & getColRef (size_t idx)
template<class T >
T & getColRefForWrite (size_t idx)
const EE::DataArea getDataArea (size_t idx)
DateADT getDatePtr (size_t idx)
Get a pointer to a DATE value from the intermediate results set.
105
Get a reference to a TIMESTAMP WITH TIMEZONE value from the intermediate results set.
void addCol (char arg, int colstride, const VerticaType &dt, const std::string fieldName="")
void addCol (const char arg, int colstride, const VerticaType &dt, const std::string fieldName="")
void validateStringColumn (size_t idx, const VString &s, const VerticaType &t)
friend void::copyDataToPlanPool (VerticaBlock block)
Protected Attributes
Detailed Description
: A wrapper around a single intermediate aggregate value
Referenced by Vertica::ParamReader::addParameter().
106
Class Documentation
Parameters
idx
Returns
A pointer to the retrieved value cast as a BOOLEAN.
Referenced by getBoolRef().
Returns
a reference to the idxth argument, cast as an BOOLEAN.
Referenced by Vertica::PartitionWriter::copyFromInput().
Returns
A pointer to the retrieved value cast as a DATE.
Referenced by getDateRef().
HP Vertica C++ SDK Documentation Version 7.1
107
108
Class Documentation
Parameters
idx
Returns
a reference to the idxth argument, cast as an DATE.
Returns
A pointer to the retrieved value cast as a FLOAT.
Referenced by getFloatRef().
Returns
A reference to the idxth argument, cast as an FLOAT.
Returns
A pointer to the retrieved value cast as an INTERVAL.
Referenced by getIntervalRef().
Returns
a reference to the idxth argument, cast as an INTERVAL.
Returns
A point to the retrieved value cast as a INTERVAL YEAR TO MONTH.
Referenced by getIntervalYMRef().
Returns
a reference to the idxth argument, cast as an INTERVAL YEAR TO MONTH.
Example:
*
*
vint *a = arg_reader->getIntPtr(0);
Referenced by getIntRef().
109
110
Class Documentation
Parameters
idx
Returns
a reference to the idxth argument, cast as an INTEGER.
Example:
*
*
vint a = arg_reader->getIntRef(0);
Returns
A pointer to the retrieved value cast as a Numeric.
Referenced by getNumericRef().
Returns
a reference to the idxth argument, cast as an VNumeric.
Returns
A pointer to the retrieved value cast as a VString.
Referenced by getStringRef().
Returns
a reference to the idxth argument, cast as an VString.
Returns
A pointer to the retrieved value cast as a TIME.
Referenced by getTimeRef().
Returns
a reference to the idxth argument, cast as a TIME.
111
112
Class Documentation
Parameters
idx
Returns
A pointer to the retrieved value cast as a TIMESTAMP.
Referenced by getTimestampRef().
Returns
a reference to the idxth argument, cast as a TIMESTAMP.
Returns
A pointer to the retrieved value cast as a TIMESTAMP WITH TIMEZONE .
Referenced by getTimestampTzRef().
Returns
a reference to the idxth argument, cast as a TIMESTAMP WITH TIMEZONE.
113
Parameters
idx
Returns
A pointer to the retrieved value cast as a TIME WITH TIMEZONE.
Referenced by getTimeTzRef().
Returns
a reference to the idxth argument, cast as a TIME WITH TIMEZONE.
114
Class Documentation
Returns
information about the types and numbers of arguments
Vertica::UDXFactory
# libOid
# sqlName
+ ~UDXFactory()
+ getParameterType()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
+ getUDXFactoryType()
Vertica::UDLFactory
+ ~UDLFactory()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
Vertica::IterativeSource
Factory
+ getUDXFactoryType()
+ isSourceApportionable()
+ plan()
+ prepare()
Vertica::SourceFactory
+ plan()
+ prepareUDSources()
Vertica::UDXFactory
# libOid
# sqlName
+ ~UDXFactory()
+ getParameterType()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
+ getUDXFactoryType()
Vertica::UDLFactory
+ ~UDLFactory()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
Vertica::IterativeSource
Factory
+ getUDXFactoryType()
+ isSourceApportionable()
+ plan()
+ prepare()
Public Types
enum UDXType {
FUNCTION, TRANSFORM, ANALYTIC, MULTI_TRANSFORM,
AGGREGATE, LOAD_SOURCE, LOAD_FILTER, LOAD_PARSER,
FILESYSTEM, TYPE }
115
116
Class Documentation
Protected Attributes
Oid libOid
std::string sqlName
Detailed Description
High-level initialization required by a UDSource.
Performs initial validation and planning of the query, before it is distributed over the network. Also instantiates objects to perform
further initialization on each node, once the query has been distributed.
Note that SourceFactories are singletons. Subclasses should be stateless, with no fields containing data, just methods. plan()
and prepare() methods must never modify any global variables or state; they may only modify the variables that they are given
as arguments. (If global state must be modified, use SourceIterator.)
Factories should be registered using the RegisterFactory() macro, defined in Vertica.h.
virtual void Vertica::UDLFactory::getPerInstanceResources ( ServerInterface & srvInterface, VResources & res ) [inline],
[virtual], [inherited]
Set the resource required for each instance of the UDX Object subclass
117
Parameters
srvInterface
res
void Vertica::UDLFactory::getPrototype ( ServerInterface & srvInterface, ColumnTypes & argTypes, ColumnTypes & returnType )
virtual void Vertica::UDLFactory::getReturnType ( ServerInterface & srvInterface, const SizedColumnTypes & argTypes,
SizedColumnTypes & returnType ) [inline], [virtual], [inherited]
Not used in this form
Implements Vertica::UDXFactory.
Note
User subclasses should use the appropriate subclass of UDXFactory and not override this method on their own.
Implements Vertica::UDXFactory.
118
Class Documentation
Vertica::LibraryRegistrar
+ LibraryRegistrar()
LibraryRegistrar (const char author, const char library_build_tag, const char library_version, const char library_sdk_version, const char source_url, const char description, const char licenses_required, const char signature)
Vertica::UDXFactory
# libOid
# sqlName
+ ~UDXFactory()
+ getParameterType()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
+ getUDXFactoryType()
Vertica::MultiPhaseTransform
FunctionFactory
+ ~MultiPhaseTransformFunction
Factory()
+ getPhases()
+ getPrototype()
+ getReturnType()
# getUDXFactoryType()
119
120
Class Documentation
Vertica::UDXFactory
# libOid
# sqlName
+ ~UDXFactory()
+ getParameterType()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
+ getUDXFactoryType()
Vertica::MultiPhaseTransform
FunctionFactory
+ ~MultiPhaseTransformFunction
Factory()
+ getPhases()
+ getPrototype()
+ getReturnType()
# getUDXFactoryType()
Public Types
enum UDXType {
FUNCTION, TRANSFORM, ANALYTIC, MULTI_TRANSFORM,
AGGREGATE, LOAD_SOURCE, LOAD_FILTER, LOAD_PARSER,
FILESYSTEM, TYPE }
121
Protected Attributes
Oid libOid
std::string sqlName
virtual void Vertica::UDXFactory::getPerInstanceResources ( ServerInterface & srvInterface, VResources & res ) [inline],
[virtual], [inherited]
Set the resource required for each instance of the UDX Object subclass
Parameters
srvInterface
res
Reimplemented in Vertica::UDLFactory.
122
Class Documentation
Function to tell Vertica what the return types (and length/precision if necessary) of this UDX are.
For CHAR/VARCHAR types, specify the max length,
For NUMERIC types, specify the precision and scale.
For Time/Timestamp types (with or without time zone), specify the precision, -1 means unspecified/dont care
For IntervalYM/IntervalDS types, specify the precision and range
For all other types, no length/precision specification needed
Parameters
argTypes
returnType
Provides the data types of arguments that this UDT was called with. This may be used to modify the
return types accordingly.
User code must fill in the names and data types returned by the UDT.
Implements Vertica::UDXFactory.
Returns
the object type internally used by Vertica
Implements Vertica::UDXFactory.
Vertica::VerticaBlock
# cols
# colstrides
# count
# index
# indices
# ncols
# nrows
# svWrappers
# typeMetaData
# vnWrappers
+ VerticaBlock()
+ getColPtr()
+ getColPtrForWrite()
+ getColRef()
+ getColRefForWrite()
+ getDataArea()
+ getNumCols()
+ getNumRows()
+ getTypeMetaData()
+ getTypeMetaData()
+ getVoidPtr()
+ setDataArea()
# addCol()
# addCol()
# validateStringColumn()
# void::copyDataToPlanPool()
Vertica::BlockReader
+ BlockReader()
+ getBoolPtr()
+ getBoolRef()
+ getDatePtr()
+ getDateRef()
+ getFloatPtr()
+ getFloatRef()
+ getIntervalPtr()
+ getIntervalRef()
+ getIntervalYMPtr()
and 17 more...
Vertica::MultipleIntermediateAggs
+ MultipleIntermediateAggs()
+ MultipleIntermediateAggs()
123
124
Class Documentation
Vertica::SizedColumnTypes
+ addBinary()
+ addBinaryOrderColumn()
+ addBinaryPartitionColumn()
+ addBool()
+ addBoolOrderColumn()
+ addBoolPartitionColumn()
+ addChar()
+ addCharOrderColumn()
+ addCharPartitionColumn()
+ addDate()
and 57 more...
#typeMetaData
Vertica::VerticaBlock
# cols
# colstrides
# count
# index
# indices
# ncols
# nrows
# svWrappers
# vnWrappers
+ VerticaBlock()
+ getColPtr()
+ getColPtrForWrite()
+ getColRef()
+ getColRefForWrite()
+ getDataArea()
+ getNumCols()
+ getNumRows()
+ getTypeMetaData()
+ getTypeMetaData()
+ getVoidPtr()
+ setDataArea()
# addCol()
# addCol()
# validateStringColumn()
# void::copyDataToPlanPool()
Vertica::BlockReader
+ BlockReader()
+ getBoolPtr()
+ getBoolRef()
+ getDatePtr()
+ getDateRef()
+ getFloatPtr()
+ getFloatRef()
+ getIntervalPtr()
+ getIntervalRef()
+ getIntervalYMPtr()
and 17 more...
Vertica::MultipleIntermediateAggs
+ MultipleIntermediateAggs()
+ MultipleIntermediateAggs()
template<class T >
const T getColPtr (size_t idx)
template<class T >
T getColPtrForWrite (size_t idx)
template<class T >
const T & getColRef (size_t idx)
template<class T >
T & getColRefForWrite (size_t idx)
const EE::DataArea getDataArea (size_t idx)
const DateADT getDatePtr (size_t idx)
Get a pointer to a DATE value from the input row.
125
126
Class Documentation
Get a reference to a TIMESTAMP WITH TIMEZONE value from the input row.
bool next ()
void setDataArea (size_t idx, void dataarea)
void addCol (char arg, int colstride, const VerticaType &dt, const std::string fieldName="")
void addCol (const char arg, int colstride, const VerticaType &dt, const std::string fieldName="")
void validateStringColumn (size_t idx, const VString &s, const VerticaType &t)
friend void::copyDataToPlanPool (VerticaBlock block)
Protected Attributes
Detailed Description
: A wrapper around multiple intermediate aggregates
Referenced by Vertica::ParamReader::addParameter().
Returns
A pointer to the retrieved value cast as a BOOLEAN.
Referenced by Vertica::BlockReader::getBoolRef().
Returns
a reference to the idxth argument, cast as an BOOLEAN.
Referenced by Vertica::BlockReader::isNull().
Referenced by Vertica::PartitionWriter::copyFromInput().
127
128
Class Documentation
Parameters
idx
Returns
A pointer to the retrieved value cast as a DATE.
Referenced by Vertica::BlockReader::getDateRef().
Returns
a reference to the idxth argument, cast as an DATE.
Referenced by Vertica::BlockReader::isNull().
Returns
A pointer to the retrieved value cast as a FLOAT.
Referenced by Vertica::BlockReader::getFloatRef().
Returns
A reference to the idxth argument, cast as an FLOAT.
Referenced by Vertica::BlockReader::isNull().
Returns
A pointer to the retrieved value cast as an INTERVAL.
Referenced by Vertica::BlockReader::getIntervalRef().
Returns
a reference to the idxth argument, cast as an INTERVAL.
Referenced by Vertica::BlockReader::isNull().
Returns
A point to the retrieved value cast as a INTERVAL YEAR TO MONTH.
Referenced by Vertica::BlockReader::getIntervalYMRef().
Returns
a reference to the idxth argument, cast as an INTERVAL YEAR TO MONTH.
Referenced by Vertica::BlockReader::isNull().
129
130
Class Documentation
Parameters
idx
Example:
* const vint *a = arg_reader->getIntPtr(0);
*
Referenced by Vertica::BlockReader::getIntRef().
Returns
a reference to the idxth argument, cast as an INTEGER.
Example:
* const vint a = arg_reader->getIntRef(0);
*
Referenced by Vertica::BlockReader::isNull().
Returns
A pointer to the retrieved value cast as a Numeric.
Referenced by Vertica::BlockReader::getNumericRef().
Returns
a reference to the idxth argument, cast as an VNumeric.
Referenced by Vertica::BlockReader::isNull().
Returns
A pointer to the retrieved value cast as a VString.
Referenced by Vertica::PartitionWriter::copyFromInput(), and Vertica::BlockReader::getStringRef().
Returns
a reference to the idxth argument, cast as an VString.
Referenced by Vertica::BlockReader::isNull().
Returns
A pointer to the retrieved value cast as a TIME.
Referenced by Vertica::BlockReader::getTimeRef().
HP Vertica C++ SDK Documentation Version 7.1
131
132
Class Documentation
Returns
a reference to the idxth argument, cast as a TIME.
Referenced by Vertica::BlockReader::isNull().
Returns
A pointer to the retrieved value cast as a TIMESTAMP.
Referenced by Vertica::BlockReader::getTimestampRef().
Returns
a reference to the idxth argument, cast as a TIMESTAMP.
Referenced by Vertica::BlockReader::isNull().
Returns
A pointer to the retrieved value cast as a TIMESTAMP WITH TIMEZONE .
Referenced by Vertica::BlockReader::getTimestampTzRef().
133
134
Class Documentation
Parameters
idx
Returns
a reference to the idxth argument, cast as a TIMESTAMP WITH TIMEZONE.
Referenced by Vertica::BlockReader::isNull().
Returns
A pointer to the retrieved value cast as a TIME WITH TIMEZONE.
Referenced by Vertica::BlockReader::getTimeTzRef().
Returns
a reference to the idxth argument, cast as a TIME WITH TIMEZONE.
Referenced by Vertica::BlockReader::isNull().
Returns
true is the col value is null false otherwise
Vertica::PlanContext
+ PlanContext()
+ PlanContext()
+ PlanContext()
+ getClusterNodes()
+ getReader()
+ getUDLParamReader()
+ getUDLParamWriter()
+ getWriter()
Vertica::NodeSpecifyingPlan
Context
+ NodeSpecifyingPlanContext()
+ NodeSpecifyingPlanContext()
+ NodeSpecifyingPlanContext()
+ NodeSpecifyingPlanContext()
+ getTargetNodes()
+ setTargetNodes()
135
136
Class Documentation
Vertica::PlanContext
+ PlanContext()
+ PlanContext()
+ PlanContext()
+ getClusterNodes()
+ getReader()
+ getUDLParamReader()
+ getUDLParamWriter()
+ getWriter()
Vertica::NodeSpecifyingPlan
Context
+ NodeSpecifyingPlanContext()
+ NodeSpecifyingPlanContext()
+ NodeSpecifyingPlanContext()
+ NodeSpecifyingPlanContext()
+ getTargetNodes()
+ setTargetNodes()
137
Detailed Description
Interface that allows storage of query-plan state, when different parts of query planning take place on different computers. For
example, if some work is done on the query initiator node and some is done on each node executing the query.
In addition to the functionality provided by PlanContext, NodeSpecifyingPlanContext allows you to specify which nodes the query
should run on.
138
Class Documentation
Vertica::VerticaBlock
# cols
# colstrides
# count
# index
# indices
# ncols
# nrows
# svWrappers
# typeMetaData
# vnWrappers
+ VerticaBlock()
+ getColPtr()
+ getColPtrForWrite()
+ getColRef()
+ getColRefForWrite()
+ getDataArea()
+ getNumCols()
+ getNumRows()
+ getTypeMetaData()
+ getTypeMetaData()
+ getVoidPtr()
+ setDataArea()
# addCol()
# addCol()
# validateStringColumn()
# void::copyDataToPlanPool()
Vertica::ParamReader
+ paramNameToIndex
+ ParamReader()
+ ParamReader()
+ addParameter()
+ containsParameter()
+ getBoolPtr()
+ getBoolRef()
+ getDatePtr()
+ getDateRef()
+ getFloatPtr()
+ getFloatRef()
and 22 more...
Vertica::ParamWriter
+ ParamWriter()
+ getLongStringRef()
+ getNumericRef()
+ getStringRef()
+ setAllocator()
+ setBool()
+ setDate()
+ setFloat()
+ setInt()
+ setInterval()
+ setIntervalYM()
+ setTime()
+ setTimestamp()
+ setTimestampTz()
+ setTimeTz()
139
Vertica::SizedColumnTypes
+ addBinary()
+ addBinaryOrderColumn()
+ addBinaryPartitionColumn()
+ addBool()
+ addBoolOrderColumn()
+ addBoolPartitionColumn()
+ addChar()
+ addCharOrderColumn()
+ addCharPartitionColumn()
+ addDate()
and 57 more...
#typeMetaData
Vertica::VerticaBlock
# cols
# colstrides
# count
# index
# indices
# ncols
# nrows
# svWrappers
# vnWrappers
+ VerticaBlock()
+ getColPtr()
+ getColPtrForWrite()
+ getColRef()
+ getColRefForWrite()
+ getDataArea()
+ getNumCols()
+ getNumRows()
+ getTypeMetaData()
+ getTypeMetaData()
+ getVoidPtr()
+ setDataArea()
# addCol()
# addCol()
# validateStringColumn()
# void::copyDataToPlanPool()
Vertica::ParamReader
+ paramNameToIndex
+ ParamReader()
+ ParamReader()
+ addParameter()
+ containsParameter()
+ getBoolPtr()
+ getBoolRef()
+ getDatePtr()
+ getDateRef()
+ getFloatPtr()
+ getFloatRef()
and 22 more...
140
Class Documentation
const vbool getBoolPtr (std::string paramName)
Get a pointer to a BOOLEAN value from the input row.
template<class T >
const T getColPtr (size_t idx)
template<class T >
T getColPtrForWrite (size_t idx)
template<class T >
const T & getColRef (size_t idx)
template<class T >
T & getColRefForWrite (size_t idx)
const EE::DataArea getDataArea (size_t idx)
const DateADT getDatePtr (std::string paramName)
Get a pointer to a DATE value from the input row.
Public Attributes
std::map< std::string, size_t > paramNameToIndex
Protected Attributes
std::vector< char > cols
std::vector< int > colstrides
int count
int index
const int indices
size_t ncols
int nrows
std::vector< VString > svWrappers
SizedColumnTypes typeMetaData
std::vector< VNumeric > vnWrappers
Friends
class VerticaBlockSerializer
HP Vertica C++ SDK Documentation Version 7.1
141
142
Class Documentation
Detailed Description
: A wrapper around Parameters that have a name->value correspondence
[protected], [inherited]
Add the location for reading a particular argument.
Parameters
arg
colstride
dt
fieldname
Referenced by addParameter().
void Vertica::ParamReader::addParameter ( std::string paramName, const char arg, const VerticaType & dt ) [inline]
Add a parameter to the block and stores it name and corresponding index in the paramNameToIndex map
Returns
A pointer to the retrieved value cast as a BOOLEAN.
Referenced by getBoolRef().
Returns
a reference to the parameter value, cast as an BOOLEAN.
Referenced by Vertica::PartitionWriter::copyFromInput().
Returns
A pointer to the retrieved value cast as a DATE.
Referenced by getDateRef().
Returns
a reference to the parameter value, cast as an DATE.
Returns
A pointer to the retrieved value cast as a FLOAT.
Referenced by getFloatRef().
HP Vertica C++ SDK Documentation Version 7.1
143
144
Class Documentation
Returns
A reference to the parameter value, cast as an FLOAT.
Returns
A pointer to the retrieved value cast as an INTERVAL.
Referenced by getIntervalRef().
Returns
a reference to the parameter value, cast as an INTERVAL.
Returns
A point to the retrieved value cast as a INTERVAL YEAR TO MONTH.
Referenced by getIntervalYMRef().
145
146
Class Documentation
Parameters
paramName
Returns
a reference to the parameter value, cast as an INTERVAL YEAR TO MONTH.
Example:
*
*
vint *a = arg_reader->getIntPtr("max");
Referenced by getIntRef().
Returns
a reference to the parameter value, cast as an INTEGER.
Example:
*
*
vint a = arg_reader->getIntRef("max");
Returns
A pointer to the retrieved value cast as a Numeric.
Referenced by getNumericRef().
Returns
a reference to the parameter value, cast as an VNumeric.
Returns
A pointer to the retrieved value cast as a VString.
Referenced by getStringRef().
Returns
a reference to the parameter value, cast as an VString.
147
148
Class Documentation
Parameters
paramName
Returns
A pointer to the retrieved value cast as a TIME.
Referenced by getTimeRef().
Returns
a reference to the parameter value, cast as a TIME.
Returns
A pointer to the retrieved value cast as a TIMESTAMP.
Referenced by getTimestampRef().
Returns
a reference to the parameter value, cast as a TIMESTAMP.
149
Parameters
paramName
Returns
A pointer to the retrieved value cast as a TIMESTAMP WITH TIMEZONE .
Referenced by getTimestampTzRef().
Returns
a reference to the parameter value, cast as a TIMESTAMP WITH TIMEZONE.
Returns
A pointer to the retrieved value cast as a TIME WITH TIMEZONE.
Referenced by getTimeTzRef().
Returns
a reference to the parameter value, cast as a TIME WITH TIMEZONE.
150
Class Documentation
Returns
information about the types and numbers of arguments
151
Vertica::VerticaBlock
# cols
# colstrides
# count
# index
# indices
# ncols
# nrows
# svWrappers
# typeMetaData
# vnWrappers
+ VerticaBlock()
+ getColPtr()
+ getColPtrForWrite()
+ getColRef()
+ getColRefForWrite()
+ getDataArea()
+ getNumCols()
+ getNumRows()
+ getTypeMetaData()
+ getTypeMetaData()
+ getVoidPtr()
+ setDataArea()
# addCol()
# addCol()
# validateStringColumn()
# void::copyDataToPlanPool()
Vertica::ParamReader
+ paramNameToIndex
+ ParamReader()
+ ParamReader()
+ addParameter()
+ containsParameter()
+ getBoolPtr()
+ getBoolRef()
+ getDatePtr()
+ getDateRef()
+ getFloatPtr()
+ getFloatRef()
and 22 more...
Vertica::ParamWriter
+ ParamWriter()
+ getLongStringRef()
+ getNumericRef()
+ getStringRef()
+ setAllocator()
+ setBool()
+ setDate()
+ setFloat()
+ setInt()
+ setInterval()
+ setIntervalYM()
+ setTime()
+ setTimestamp()
+ setTimestampTz()
+ setTimeTz()
152
Class Documentation
Vertica::SizedColumnTypes
+ addBinary()
+ addBinaryOrderColumn()
+ addBinaryPartitionColumn()
+ addBool()
+ addBoolOrderColumn()
+ addBoolPartitionColumn()
+ addChar()
+ addCharOrderColumn()
+ addCharPartitionColumn()
+ addDate()
and 57 more...
#typeMetaData
Vertica::VerticaBlock
# cols
# colstrides
# count
# index
# indices
# ncols
# nrows
# svWrappers
# vnWrappers
+ VerticaBlock()
+ getColPtr()
+ getColPtrForWrite()
+ getColRef()
+ getColRefForWrite()
+ getDataArea()
+ getNumCols()
+ getNumRows()
+ getTypeMetaData()
+ getTypeMetaData()
+ getVoidPtr()
+ setDataArea()
# addCol()
# addCol()
# validateStringColumn()
# void::copyDataToPlanPool()
Vertica::ParamReader
+ paramNameToIndex
+ ParamReader()
+ ParamReader()
+ addParameter()
+ containsParameter()
+ getBoolPtr()
+ getBoolRef()
+ getDatePtr()
+ getDateRef()
+ getFloatPtr()
+ getFloatRef()
and 22 more...
Vertica::ParamWriter
+ ParamWriter()
+ getLongStringRef()
+ getNumericRef()
+ getStringRef()
+ setAllocator()
+ setBool()
+ setDate()
+ setFloat()
+ setInt()
+ setInterval()
+ setIntervalYM()
+ setTime()
+ setTimestamp()
+ setTimestampTz()
+ setTimeTz()
template<class T >
const T getColPtr (size_t idx)
template<class T >
T getColPtrForWrite (size_t idx)
template<class T >
const T & getColRef (size_t idx)
template<class T >
T & getColRefForWrite (size_t idx)
const EE::DataArea getDataArea (size_t idx)
const DateADT getDatePtr (std::string paramName)
Get a pointer to a DATE value from the input row.
153
154
Class Documentation
Public Attributes
std::map< std::string, size_t > paramNameToIndex
HP Vertica C++ SDK Documentation Version 7.1
155
void addCol (char arg, int colstride, const VerticaType &dt, const std::string fieldName="")
void addCol (const char arg, int colstride, const VerticaType &dt, const std::string fieldName="")
void validateStringColumn (size_t idx, const VString &s, const VerticaType &t)
friend void::copyDataToPlanPool (VerticaBlock block)
Protected Attributes
Friends
class VerticaBlockSerializer
Detailed Description
Iterator interface for writing rows to a Vertica block.
This class provides the output rows that ScalarFunction.processBlock() writes to.
Referenced by Vertica::ParamReader::addParameter().
void Vertica::ParamReader::addParameter ( std::string paramName, const char arg, const VerticaType & dt ) [inline],
[inherited]
Add a parameter to the block and stores it name and corresponding index in the paramNameToIndex map
156
Class Documentation
Parameters
paramName
Returns
A pointer to the retrieved value cast as a BOOLEAN.
Referenced by Vertica::ParamReader::getBoolRef().
Returns
a reference to the parameter value, cast as an BOOLEAN.
Referenced by Vertica::PartitionWriter::copyFromInput().
Returns
A pointer to the retrieved value cast as a DATE.
Referenced by Vertica::ParamReader::getDateRef().
HP Vertica C++ SDK Documentation Version 7.1
157
158
Class Documentation
Parameters
paramName
Returns
a reference to the parameter value, cast as an DATE.
Returns
A pointer to the retrieved value cast as a FLOAT.
Referenced by Vertica::ParamReader::getFloatRef().
Returns
A reference to the parameter value, cast as an FLOAT.
Returns
A pointer to the retrieved value cast as an INTERVAL.
Referenced by Vertica::ParamReader::getIntervalRef().
Returns
a reference to the parameter value, cast as an INTERVAL.
Returns
A point to the retrieved value cast as a INTERVAL YEAR TO MONTH.
Referenced by Vertica::ParamReader::getIntervalYMRef().
Returns
a reference to the parameter value, cast as an INTERVAL YEAR TO MONTH.
Example:
*
*
vint *a = arg_reader->getIntPtr("max");
Referenced by Vertica::ParamReader::getIntRef().
159
160
Class Documentation
Parameters
paramName
Returns
a reference to the parameter value, cast as an INTEGER.
Example:
*
*
vint a = arg_reader->getIntRef("max");
Returns
A pointer to the retrieved value cast as a Numeric.
Referenced by Vertica::ParamReader::getNumericRef().
161
162
Class Documentation
Parameters
paramName
Returns
A pointer to the retrieved value cast as a VString.
Referenced by Vertica::ParamReader::getStringRef().
Returns
A pointer to the retrieved value cast as a TIME.
Referenced by Vertica::ParamReader::getTimeRef().
Returns
a reference to the parameter value, cast as a TIME.
Returns
A pointer to the retrieved value cast as a TIMESTAMP.
Referenced by Vertica::ParamReader::getTimestampRef().
HP Vertica C++ SDK Documentation Version 7.1
163
164
Class Documentation
Parameters
paramName
Returns
a reference to the parameter value, cast as a TIMESTAMP.
Returns
A pointer to the retrieved value cast as a TIMESTAMP WITH TIMEZONE .
Referenced by Vertica::ParamReader::getTimestampTzRef().
Returns
a reference to the parameter value, cast as a TIMESTAMP WITH TIMEZONE.
Returns
A pointer to the retrieved value cast as a TIME WITH TIMEZONE.
Referenced by Vertica::ParamReader::getTimeTzRef().
165
Parameters
paramName
Returns
a reference to the parameter value, cast as a TIME WITH TIMEZONE.
166
Class Documentation
Parameters
r
void Vertica::ParamWriter::setInterval ( std::string fieldName, Interval r, int32 precision, int32 range ) [inline]
Adds an INTERVAL value to the output row.
Parameters
r
The INTERVAL YEAR TO MONTH value to insert into the output row.
167
Parameters
r
The TIMESTAMP WITH TIMEZONE value to insert into the output row.
The TIME WITH TIMEZONE value to insert into the output row.
168
Class Documentation
Vertica::UDXFactory
# libOid
# sqlName
+ ~UDXFactory()
+ getParameterType()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
+ getUDXFactoryType()
Vertica::UDLFactory
+ ~UDLFactory()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
Vertica::ParserFactory
+ getParameterType()
+ getParserReturnType()
+ getUDXFactoryType()
+ isParserApportionable()
+ plan()
+ prepare()
+ prepareChunker()
169
Vertica::UDXFactory
# libOid
# sqlName
+ ~UDXFactory()
+ getParameterType()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
+ getUDXFactoryType()
Vertica::UDLFactory
+ ~UDLFactory()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
Vertica::ParserFactory
+ getParameterType()
+ getParserReturnType()
+ getUDXFactoryType()
+ isParserApportionable()
+ plan()
+ prepare()
+ prepareChunker()
Public Types
enum UDXType {
FUNCTION, TRANSFORM, ANALYTIC, MULTI_TRANSFORM,
AGGREGATE, LOAD_SOURCE, LOAD_FILTER, LOAD_PARSER,
FILESYSTEM, TYPE }
170
Class Documentation
Protected Attributes
Oid libOid
std::string sqlName
Detailed Description
Construct a single Parser.
Note that ParserFactories are singletons. Subclasses should be stateless, with no fields containing data, just methods. plan()
and prepare() methods must never modify any global variables or state; they may only modify the variables that they are given
as arguments. (If global state must be modified, use SourceIterator.)
Factories should be registered using the RegisterFactory() macro, defined in Vertica.h.
[inline], [virtual]
Inherited from the parent "UDXFactory" class in VerticaUDx.h
Reimplemented from Vertica::UDXFactory.
171
The default provided implementation configures Vertica to use the same output column types as the destination table. This
requires that the UDParser validate the expected output column types and emit appropriate tuples. Note that the default provided
implementation of this function should be sufficient for most Parsers, so this method should not be overridden by most Parser
implementations. If a COPY statement has a return type that doesnt match the destination table, Vertica will emit an appropriate
error. Users can use COPY expressions to perform typecasting and conversion if necessary.
For CHAR/VARCHAR types, specify the max length,
For NUMERIC types, specify the precision and scale.
For Time/Timestamp types (with or without time zone), specify the precision, -1 means unspecified/dont care
For IntervalYM/IntervalDS types, specify the precision and range
For all other types, no length/precision specification needed
Parameters
srvInterface
perColumnParamReader
planCtxt
argTypes
returnType
virtual void Vertica::UDLFactory::getPerInstanceResources ( ServerInterface & srvInterface, VResources & res ) [inline],
[virtual], [inherited]
Set the resource required for each instance of the UDX Object subclass
Parameters
srvInterface
res
void Vertica::UDLFactory::getPrototype ( ServerInterface & srvInterface, ColumnTypes & argTypes, ColumnTypes & returnType )
virtual void Vertica::UDLFactory::getReturnType ( ServerInterface & srvInterface, const SizedColumnTypes & argTypes,
SizedColumnTypes & returnType ) [inline], [virtual], [inherited]
Not used in this form
Implements Vertica::UDXFactory.
172
Class Documentation
Note
User subclasses should use the appropriate subclass of UDXFactory and not override this method on their own.
Implements Vertica::UDXFactory.
Returns
The UDParser instance to be used by this query
Vertica::PartitionOrderColumnInfo
+ last_order_col
+ last_partition_col
+ PartitionOrderColumnInfo()
Public Attributes
int last_order_col
int last_partition_col
Detailed Description
Represents the partition by and order by column information for each phase in a multi-phase transform function.
173
174
Class Documentation
Vertica::VerticaBlock
# cols
# colstrides
# count
# index
# indices
# ncols
# nrows
# svWrappers
# typeMetaData
# vnWrappers
+ VerticaBlock()
+ getColPtr()
+ getColPtrForWrite()
+ getColRef()
+ getColRefForWrite()
+ getDataArea()
+ getNumCols()
+ getNumRows()
+ getTypeMetaData()
+ getTypeMetaData()
+ getVoidPtr()
+ setDataArea()
# addCol()
# addCol()
# validateStringColumn()
# void::copyDataToPlanPool()
Vertica::BlockReader
+ BlockReader()
+ getBoolPtr()
+ getBoolRef()
+ getDatePtr()
+ getDateRef()
+ getFloatPtr()
+ getFloatRef()
+ getIntervalPtr()
+ getIntervalRef()
+ getIntervalYMPtr()
and 17 more...
Vertica::PartitionReader
+ udan
+ udt
+ udx_object
# @3
# dh
# pstart
+ PartitionReader()
+ ~PartitionReader()
+ next()
+ readNextBlock()
# setupColsAndStrides()
Vertica::AnalyticPartition
Reader
# newOrderMarkers
+ AnalyticPartitionReader()
+ isNewOrderByKey()
+ readNextBlock()
# setupColsAndStrides()
175
Vertica::SizedColumnTypes
+ addBinary()
+ addBinaryOrderColumn()
+ addBinaryPartitionColumn()
+ addBool()
+ addBoolOrderColumn()
+ addBoolPartitionColumn()
+ addChar()
+ addCharOrderColumn()
+ addCharPartitionColumn()
+ addDate()
and 57 more...
#typeMetaData
Vertica::VerticaBlock
# cols
# colstrides
# count
# index
# indices
# ncols
# nrows
# svWrappers
# vnWrappers
+ VerticaBlock()
+ getColPtr()
+ getColPtrForWrite()
+ getColRef()
+ getColRefForWrite()
+ getDataArea()
+ getNumCols()
+ getNumRows()
+ getTypeMetaData()
+ getTypeMetaData()
+ getVoidPtr()
+ setDataArea()
# addCol()
# addCol()
# validateStringColumn()
# void::copyDataToPlanPool()
Vertica::BlockReader
+ BlockReader()
+ getBoolPtr()
+ getBoolRef()
+ getDatePtr()
+ getDateRef()
+ getFloatPtr()
+ getFloatRef()
+ getIntervalPtr()
+ getIntervalRef()
+ getIntervalYMPtr()
and 17 more...
Vertica::PartitionReader
+ udan
+ udt
+ udx_object
# @3
# dh
# pstart
+ PartitionReader()
+ ~PartitionReader()
+ next()
+ readNextBlock()
# setupColsAndStrides()
176
Class Documentation
template<class T >
const T getColPtr (size_t idx)
template<class T >
T getColPtrForWrite (size_t idx)
template<class T >
const T & getColRef (size_t idx)
template<class T >
T & getColRefForWrite (size_t idx)
const EE::DataArea getDataArea (size_t idx)
const DateADT getDatePtr (size_t idx)
Get a pointer to a DATE value from the input row.
Get a reference to a TIMESTAMP WITH TIMEZONE value from the input row.
bool next ()
virtual bool readNextBlock ()
void setDataArea (size_t idx, void dataarea)
void addCol (char arg, int colstride, const VerticaType &dt, const std::string fieldName="")
void addCol (const char arg, int colstride, const VerticaType &dt, const std::string fieldName="")
virtual void setupColsAndStrides ()
void validateStringColumn (size_t idx, const VString &s, const VerticaType &t)
friend void::copyDataToPlanPool (VerticaBlock block)
Protected Attributes
union {
EE::UserDefinedAnalytic udan
EE::UserDefinedTransform udt
EE::UserDefinedProcess udx_object
};
Friends
class EE::UserDefinedAnalytic
class EE::UserDefinedProcess
class EE::UserDefinedTransform
struct FullPartition
class VerticaBlockSerializer
177
178
Class Documentation
Detailed Description
PartitionReader provides an iterator-based read interface over all input data in a single partition. Automatically fetches data a
block-at-a-time, as needed.
Referenced by Vertica::ParamReader::addParameter().
Returns
A pointer to the retrieved value cast as a BOOLEAN.
Referenced by Vertica::BlockReader::getBoolRef().
Returns
a reference to the idxth argument, cast as an BOOLEAN.
Referenced by Vertica::BlockReader::isNull().
Referenced by Vertica::PartitionWriter::copyFromInput().
Returns
A pointer to the retrieved value cast as a DATE.
Referenced by Vertica::BlockReader::getDateRef().
Returns
a reference to the idxth argument, cast as an DATE.
Referenced by Vertica::BlockReader::isNull().
179
180
Class Documentation
idx
Returns
A pointer to the retrieved value cast as a FLOAT.
Referenced by Vertica::BlockReader::getFloatRef().
Returns
A reference to the idxth argument, cast as an FLOAT.
Referenced by Vertica::BlockReader::isNull().
Returns
A pointer to the retrieved value cast as an INTERVAL.
Referenced by Vertica::BlockReader::getIntervalRef().
Returns
a reference to the idxth argument, cast as an INTERVAL.
Referenced by Vertica::BlockReader::isNull().
Returns
A point to the retrieved value cast as a INTERVAL YEAR TO MONTH.
Referenced by Vertica::BlockReader::getIntervalYMRef().
Returns
a reference to the idxth argument, cast as an INTERVAL YEAR TO MONTH.
Referenced by Vertica::BlockReader::isNull().
Example:
* const vint *a = arg_reader->getIntPtr(0);
*
Referenced by Vertica::BlockReader::getIntRef().
Returns
a reference to the idxth argument, cast as an INTEGER.
Example:
* const vint a = arg_reader->getIntRef(0);
*
Referenced by Vertica::BlockReader::isNull().
HP Vertica C++ SDK Documentation Version 7.1
181
182
Class Documentation
Returns
A pointer to the retrieved value cast as a Numeric.
Referenced by Vertica::BlockReader::getNumericRef().
Returns
a reference to the idxth argument, cast as an VNumeric.
Referenced by Vertica::BlockReader::isNull().
Returns
A pointer to the retrieved value cast as a VString.
Referenced by Vertica::PartitionWriter::copyFromInput(), and Vertica::BlockReader::getStringRef().
HP Vertica C++ SDK Documentation Version 7.1
183
184
Class Documentation
Parameters
idx
Returns
a reference to the idxth argument, cast as an VString.
Referenced by Vertica::BlockReader::isNull().
Returns
A pointer to the retrieved value cast as a TIME.
Referenced by Vertica::BlockReader::getTimeRef().
Returns
a reference to the idxth argument, cast as a TIME.
Referenced by Vertica::BlockReader::isNull().
Returns
A pointer to the retrieved value cast as a TIMESTAMP.
Referenced by Vertica::BlockReader::getTimestampRef().
Returns
a reference to the idxth argument, cast as a TIMESTAMP.
Referenced by Vertica::BlockReader::isNull().
Returns
A pointer to the retrieved value cast as a TIMESTAMP WITH TIMEZONE .
Referenced by Vertica::BlockReader::getTimestampTzRef().
Returns
a reference to the idxth argument, cast as a TIMESTAMP WITH TIMEZONE.
Referenced by Vertica::BlockReader::isNull().
Returns
A pointer to the retrieved value cast as a TIME WITH TIMEZONE.
Referenced by Vertica::BlockReader::getTimeTzRef().
185
186
Class Documentation
Parameters
idx
Returns
a reference to the idxth argument, cast as a TIME WITH TIMEZONE.
Referenced by Vertica::BlockReader::isNull().
Returns
true is the col value is null false otherwise
Reimplemented in Vertica::AnalyticPartitionReader.
187
Vertica::VerticaBlock
# cols
# colstrides
# count
# index
# indices
# ncols
# nrows
# svWrappers
# typeMetaData
# vnWrappers
+ VerticaBlock()
+ getColPtr()
+ getColPtrForWrite()
+ getColRef()
+ getColRefForWrite()
+ getDataArea()
+ getNumCols()
+ getNumRows()
+ getTypeMetaData()
+ getTypeMetaData()
+ getVoidPtr()
+ setDataArea()
# addCol()
# addCol()
# validateStringColumn()
# void::copyDataToPlanPool()
Vertica::PartitionWriter
+ udan
+ udt
+ udx_object
# @5
# pstart
+ PartitionWriter()
+ ~PartitionWriter()
+ copyFromInput()
+ getColumns()
+ getNumericRef()
+ getStringRef()
+ getStringRefNoClear()
+ getVoidPtr()
+ getWriteableBlock()
+ next()
and 11 more...
# commitPrelledRows()
Vertica::AnalyticPartition
Writer
+ AnalyticPartitionWriter()
+ ~AnalyticPartitionWriter()
+ getWriteableBlock()
Vertica::StreamWriter
# cumulative_rows
# parent
+ StreamWriter()
+ getTotalRowCount()
+ getWriteableBlock()
188
Class Documentation
Vertica::SizedColumnTypes
+ addBinary()
+ addBinaryOrderColumn()
+ addBinaryPartitionColumn()
+ addBool()
+ addBoolOrderColumn()
+ addBoolPartitionColumn()
+ addChar()
+ addCharOrderColumn()
+ addCharPartitionColumn()
+ addDate()
and 57 more...
#typeMetaData
Vertica::VerticaBlock
# cols
# colstrides
# count
# index
# indices
# ncols
# nrows
# svWrappers
# vnWrappers
+ VerticaBlock()
+ getColPtr()
+ getColPtrForWrite()
+ getColRef()
+ getColRefForWrite()
+ getDataArea()
+ getNumCols()
+ getNumRows()
+ getTypeMetaData()
+ getTypeMetaData()
+ getVoidPtr()
+ setDataArea()
# addCol()
# addCol()
# validateStringColumn()
# void::copyDataToPlanPool()
Vertica::PartitionWriter
+ udan
+ udt
+ udx_object
# @5
# pstart
+ PartitionWriter()
+ ~PartitionWriter()
+ copyFromInput()
+ getColumns()
+ getNumericRef()
+ getStringRef()
+ getStringRefNoClear()
+ getVoidPtr()
+ getWriteableBlock()
+ next()
and 11 more...
# commitPrelledRows()
template<class T >
T getColPtrForWrite (size_t idx)
template<class T >
const T & getColRef (size_t idx)
template<class T >
T & getColRefForWrite (size_t idx)
PartitionWriterColumns getColumns ()
const EE::DataArea getDataArea (size_t idx)
size_t getNumCols () const
VNumeric & getNumericRef (size_t idx)
int getNumRows () const
VString & getStringRef (size_t idx)
VString & getStringRefNoClear (size_t idx)
const SizedColumnTypes & getTypeMetaData () const
SizedColumnTypes & getTypeMetaData ()
void getVoidPtr ()
void getVoidPtr (size_t idx)
virtual bool getWriteableBlock ()
bool next ()
void setBool (size_t idx, vbool r)
void setDataArea (size_t idx, void dataarea)
void setDate (size_t idx, DateADT r)
void setFloat (size_t idx, vfloat r)
void setInt (size_t idx, vint r)
void setInterval (size_t idx, Interval r)
void setNull (size_t idx)
Set the idxth argument to null.
void addCol (char arg, int colstride, const VerticaType &dt, const std::string fieldName="")
void addCol (const char arg, int colstride, const VerticaType &dt, const std::string fieldName="")
bool commitPrefilledRows (int nRows)
void validateStringColumn (size_t idx, const VString &s, const VerticaType &t)
friend void::copyDataToPlanPool (VerticaBlock block)
Protected Attributes
union {
EE::UserDefinedAnalytic udan
EE::UserDefinedTransform udt
EE::UserDefinedProcess udx_object
};
189
190
Class Documentation
const int indices
size_t ncols
int nrows
int pstart
std::vector< VString > svWrappers
SizedColumnTypes typeMetaData
std::vector< VNumeric > vnWrappers
Friends
class EE::Loader::UserDefinedLoad
class EE::UserDefinedAnalytic
class EE::UserDefinedProcess
class EE::UserDefinedTransform
class PartitionWriterColumns
Detailed Description
PartitionWriter provides an iterator-based write interface over output data for a single partition. Automatically makes space a
block-at-a-time, as needed.
[protected], [inherited]
Add the location for reading a particular argument.
Parameters
arg
colstride
dt
fieldname
Referenced by Vertica::ParamReader::addParameter().
void Vertica::PartitionWriter::copyFromInput ( size_t dstIdx, PartitionReader & input_reader, size_t srcIdx ) [inline]
Copies a column from the input reader to the output writer. The data types and sizes of the source and destination columns must
match exactly.
Parameters
dstIdx
input_reader
srcIdx
Referenced by copyFromInput().
191
192
Class Documentation
Vertica::BasePartitionWriter
Column
# curr
# end
# start
# stridelength
+ getStrideLength()
# BasePartitionWriterColumn()
# ~BasePartitionWriterColumn()
# getAndAdvance()
# getPtr()
# getWrittenElementCount()
Vertica::PartitionWriter
Column< T >
# null_value
+ append()
+ appendNull()
+ directCopy()
+ getVal()
# PartitionWriterColumn()
Vertica::BasePartitionWriter
Column
# curr
# end
# start
# stridelength
+ getStrideLength()
# BasePartitionWriterColumn()
# ~BasePartitionWriterColumn()
# getAndAdvance()
# getPtr()
# getWrittenElementCount()
Vertica::PartitionWriter
Column< T >
# null_value
+ append()
+ appendNull()
+ directCopy()
+ getVal()
# PartitionWriterColumn()
193
194
Class Documentation
Protected Attributes
char curr
Friends
class PartitionWriterColumns
Detailed Description
template<class T>class Vertica::PartitionWriterColumn< T >
195
Vertica::SizedColumnTypes
+ addBinary()
+ addBinaryOrderColumn()
+ addBinaryPartitionColumn()
+ addBool()
+ addBoolOrderColumn()
+ addBoolPartitionColumn()
+ addChar()
+ addCharOrderColumn()
+ addCharPartitionColumn()
+ addDate()
and 57 more...
#typeMetaData
Vertica::VerticaBlock
# cols
# colstrides
# count
# index
# indices
# ncols
# nrows
# svWrappers
# vnWrappers
+ VerticaBlock()
+ getColPtr()
+ getColPtrForWrite()
+ getColRef()
+ getColRefForWrite()
+ getDataArea()
+ getNumCols()
+ getNumRows()
+ getTypeMetaData()
+ getTypeMetaData()
+ getVoidPtr()
+ setDataArea()
# addCol()
# addCol()
# validateStringColumn()
# void::copyDataToPlanPool()
Vertica::PartitionWriter
+ udan
+ udt
+ udx_object
# @5
# pstart
+ PartitionWriter()
+ ~PartitionWriter()
+ copyFromInput()
+ getColumns()
+ getNumericRef()
+ getStringRef()
+ getStringRefNoClear()
+ getVoidPtr()
+ getWriteableBlock()
+ next()
and 11 more...
# commitPrelledRows()
#writer
Vertica::PartitionWriter
Columns
# cols
# maxRows
+ ~PartitionWriterColumns()
+ commit()
+ getBoolColumn()
+ getDateColumn()
+ getFloatColumn()
+ getIntColumn()
+ getIntervalColumn()
+ getMaxRows()
+ getNumericColumn()
+ getStringColumn()
+ getTimeColumn()
+ getTimestampColumn()
+ getTimestampTzColumn()
+ getTimeTzColumn()
+ rollback()
# PartitionWriterColumns()
# clearCols()
# getCol()
# getCol_()
# populateCols()
# resetPointers()
196
Class Documentation
Protected Attributes
std::vector
< BasePartitionWriterColumn > cols
size_t maxRows
PartitionWriter & writer
Friends
class PartitionWriter
Detailed Description
PartitionWriterColumns allow column-by-column access to PartitionWriter data.
Vertica::BasePartitionWriter
Column
# curr
# end
# start
# stridelength
+ getStrideLength()
# BasePartitionWriterColumn()
# ~BasePartitionWriterColumn()
# getAndAdvance()
# getPtr()
# getWrittenElementCount()
Vertica::PartitionWriter
NumericColumn
# wrapper
+ append()
+ appendNull()
+ directCopy()
+ getRef()
+ getTypmod()
# PartitionWriterNumericColumn()
197
198
Class Documentation
Vertica::BasePartitionWriter
Column
# curr
# end
# start
# stridelength
+ getStrideLength()
# BasePartitionWriterColumn()
# ~BasePartitionWriterColumn()
# getAndAdvance()
# getPtr()
# getWrittenElementCount()
Vertica::VNumeric
+ VNumeric()
+ accumulate()
+ add()
+ compare()
+ compareUnsigned()
+ copy()
+ copy()
+ div()
+ equal()
+ incr()
and 12 more...
#wrapper
Vertica::PartitionWriter
NumericColumn
+ append()
+ appendNull()
+ directCopy()
+ getRef()
+ getTypmod()
# PartitionWriterNumericColumn()
199
Protected Attributes
char curr
const char end
const char start
const int stridelength
VNumeric wrapper
Friends
class PartitionWriterColumns
void Vertica::PartitionWriterNumericColumn::directCopy ( uint64 src, size_t elementsToCopy, int srcTypMod, size_t elementSize )
[inline]
Elements must be in 2s compliment and in a compatible encoding; check the value of getTypmod to ensure that encodings are
identical
200
Class Documentation
Vertica::BasePartitionWriter
Column
# curr
# end
# start
# stridelength
+ getStrideLength()
# BasePartitionWriterColumn()
# ~BasePartitionWriterColumn()
# getAndAdvance()
# getPtr()
# getWrittenElementCount()
Vertica::PartitionWriter
StringColumn
# wrapper
+ append()
+ appendNull()
+ getMaxSize()
+ getRef()
# PartitionWriterStringColumn()
201
Vertica::VString
Vertica::BasePartitionWriter
Column
# curr
# end
# start
# stridelength
+ getStrideLength()
# BasePartitionWriterColumn()
# ~BasePartitionWriterColumn()
# getAndAdvance()
# getPtr()
# getWrittenElementCount()
+ alloc()
+ compare()
+ copy()
+ copy()
+ copy()
+ copy()
+ copy()
+ data()
+ data()
+ equal()
+ isNull()
+ length()
+ setNull()
+ str()
#wrapper
Vertica::PartitionWriter
StringColumn
+ append()
+ appendNull()
+ getMaxSize()
+ getRef()
# PartitionWriterStringColumn()
202
Class Documentation
char getAndAdvance ()
const char getPtr (size_t offset_from_start)
size_t getWrittenElementCount ()
Protected Attributes
char curr
const char end
const char start
const int stridelength
VString wrapper
Friends
class PartitionWriterColumns
Vertica::PerColumnParamReader
+ containsColumn()
+ getColumnNames()
+ getColumnParamReader()
+ getColumnParamReader()
Detailed Description
: A wrapper around a map from column to ParamReader.
203
204
Class Documentation
the
Returns
the parameters of the given column
Vertica::PlanContext
+ PlanContext()
+ PlanContext()
+ PlanContext()
+ getClusterNodes()
+ getReader()
+ getUDLParamReader()
+ getUDLParamWriter()
+ getWriter()
Vertica::NodeSpecifyingPlan
Context
+ NodeSpecifyingPlanContext()
+ NodeSpecifyingPlanContext()
+ NodeSpecifyingPlanContext()
+ NodeSpecifyingPlanContext()
+ getTargetNodes()
+ setTargetNodes()
205
Vertica::PlanContext
+ PlanContext()
+ PlanContext()
+ PlanContext()
+ getClusterNodes()
+ getReader()
+ getUDLParamReader()
+ getUDLParamWriter()
+ getWriter()
Detailed Description
Interface that allows storage of query-plan state, when different parts of query planning take place on different computers. For
example, if some work is done on the query initiator node and some is done on each node executing the query.
206
Class Documentation
Vertica::Portion
+ is_rst_portion
+ oset
+ size
+ Portion()
+ isValid()
Public Attributes
bool is_first_portion
vint offset
vint size
207
Vertica::RejectedRecord
+ data
+ length
+ reason
+ terminator
+ RejectedRecord()
+ RejectedRecord()
RejectedRecord (const std::string &reason, const char data=NULL, size_t length=0, const std::string &terminator="\n")
Public Attributes
Detailed Description
Information about a rejected record.
208
Class Documentation
Vertica::UDXObject
+ ~UDXObject()
+ destroy()
+ setup()
Vertica::ScalarFunction
+ getOutputRange()
+ processBlock()
Vertica::UDXObject
+ ~UDXObject()
+ destroy()
+ setup()
Vertica::ScalarFunction
+ getOutputRange()
+ processBlock()
209
Friends
class ::UdfSupport
Detailed Description
Interface for User Defined Scalar Function, the actual code to process a block of data.
[virtual], [inherited]
Perform per instance destruction. This function may throw errors
Remarks
By default, the ValueRangeWriter object can have NULL values, values in the range are unsorted, and it is unbounded,
i.e., the following functions return as follows:
outRange.canHaveNulls() == true
outRange.getSortedness() == EE::SORT_UNORDERED
outRange.isBounded() == false
Note
This methods may be invoked by different threads at different times, and by a different thread than the constructor.
C++ exceptions may NOT be thrown out of this method. Use the vertica specific vt_throw_exception() function or
vt_report_error() macro instead
Invoking vt_throw_exception() or vt_report_error() from this method will not stop the function execution, which may
still complete successfully. Instead, the output range will be discarded, and a WARNING message will be written to
the Vertica log
210
Class Documentation
virtual void Vertica::ScalarFunction::processBlock ( ServerInterface & srvInterface, BlockReader & arg_reader, BlockWriter &
res_writer ) [pure virtual]
Invoke a user defined function on a set of rows. As the name suggests, a batch of rows are passed in for every invocation to
amortize performance.
211
Parameters
srvInterface
arg_reader
res_writer
Note
This methods may be invoked by different threads at different times, and by a different thread than the constructor.
C++ exceptions may NOT be thrown out of this method. Use the vertica specific vt_throw_exception() function or
vt_report_error() macro instead
virtual void Vertica::UDXObject::setup ( ServerInterface & srvInterface, const SizedColumnTypes & argTypes ) [inline],
[virtual], [inherited]
212
Class Documentation
Vertica::UDXFactory
# libOid
# sqlName
+ ~UDXFactory()
+ getParameterType()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
+ getUDXFactoryType()
Vertica::ScalarFunctionFactory
+ strict
+ vol
+ ScalarFunctionFactory()
+ ~ScalarFunctionFactory()
+ createScalarFunction()
+ getReturnType()
# getUDXFactoryType()
213
Vertica::UDXFactory
# libOid
# sqlName
+ ~UDXFactory()
+ getParameterType()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
+ getUDXFactoryType()
Vertica::ScalarFunctionFactory
+ strict
+ vol
+ ScalarFunctionFactory()
+ ~ScalarFunctionFactory()
+ createScalarFunction()
+ getReturnType()
# getUDXFactoryType()
Public Types
enum UDXType {
FUNCTION, TRANSFORM, ANALYTIC, MULTI_TRANSFORM,
AGGREGATE, LOAD_SOURCE, LOAD_FILTER, LOAD_PARSER,
FILESYSTEM, TYPE }
Public Attributes
strictness strict
HP Vertica C++ SDK Documentation Version 7.1
214
Class Documentation
volatility vol
Protected Attributes
Oid libOid
std::string sqlName
Detailed Description
MetaData interface for Vertica User Defined Scalar Functions.
A ScalarFunctionFactory is responsible for providing type and type modifier information.
virtual]
Returns
an ScalarFunction object which implements the UDx API described by this metadata.
Parameters
srvInterface
Note
More than one object may be instantiated per query.
virtual void Vertica::UDXFactory::getPerInstanceResources ( ServerInterface & srvInterface, VResources & res ) [inline],
[virtual], [inherited]
Set the resource required for each instance of the UDX Object subclass
HP Vertica C++ SDK Documentation Version 7.1
215
Parameters
srvInterface
res
Reimplemented in Vertica::UDLFactory.
virtual void Vertica::UDXFactory::getPrototype ( ServerInterface & srvInterface, ColumnTypes & argTypes, ColumnTypes &
returnType ) [pure virtual], [inherited]
Provides the argument and return types of the UDX
Implemented in Vertica::UDLFactory, Vertica::MultiPhaseTransformFunctionFactory, and Vertica::UDFileSystemFactory.
Referenced by getReturnType().
virtual void Vertica::ScalarFunctionFactory::getReturnType ( ServerInterface & srvInterface, const SizedColumnTypes & argTypes,
SizedColumnTypes & returnType ) [inline], [virtual]
For scalar functions, this function needs to be overridden only if the return type needs length/precision specification.
Parameters
srvInterface
argTypes
returnType
Implements Vertica::UDXFactory.
Implements Vertica::UDXFactory.
216
Class Documentation
Vertica::SizedColumnTypes
+ addBinary()
+ addBinaryOrderColumn()
+ addBinaryPartitionColumn()
+ addBool()
+ addBoolOrderColumn()
+ addBoolPartitionColumn()
+ addChar()
+ addCharOrderColumn()
+ addCharPartitionColumn()
+ addDate()
and 57 more...
#typeMetaData
Vertica::VerticaBlock
# cols
# colstrides
# count
# index
# indices
# ncols
# nrows
# svWrappers
# vnWrappers
+ VerticaBlock()
+ getColPtr()
+ getColPtrForWrite()
+ getColRef()
+ getColRefForWrite()
+ getDataArea()
+ getNumCols()
+ getNumRows()
+ getTypeMetaData()
+ getTypeMetaData()
+ getVoidPtr()
+ setDataArea()
# addCol()
# addCol()
# validateStringColumn()
# void::copyDataToPlanPool()
Vertica::ParamReader
+ paramNameToIndex
+ ParamReader()
+ ParamReader()
+ addParameter()
+ containsParameter()
+ getBoolPtr()
+ getBoolRef()
+ getDatePtr()
+ getDateRef()
+ getFloatPtr()
+ getFloatRef()
and 22 more...
Vertica::VTAllocator
+ ~VTAllocator()
+ alloc()
#sessionParamReader
+allocator
#paramReader
Vertica::ServerInterface
+ ap
+ leManager
+ format
+ udxDebugLogLevel
# dependencies
# locale
# nodeName
# sqlName
+ ServerInterface()
+ ServerInterface()
+ ServerInterface()
+ ~ServerInterface()
+ append()
+ append()
+ formatWithName()
+ getCurrentNodeName()
+ getDependencies()
+ getLocale()
and 10 more...
#vlogPtr
Public Types
typedef void( LoggingFunc )(ServerInterface , const char fmt, va_list ap)
HP Vertica C++ SDK Documentation Version 7.1
217
Public Attributes
VTAllocator allocator
va_list ap
FileManager fileManager
format = formatWithName.c_str()
vint udxDebugLogLevel
Protected Attributes
std::map< std::string,
std::string > dependencies
std::string locale
std::string nodeName
ParamReader paramReader
ParamReader sessionParamReader
std::string sqlName
LoggingFunc vlogPtr
Friends
class ::UdfSupport
class EE::UserDefinedAggregate
class EE::UserDefinedAnalytic
class EE::UserDefinedTransform
HP Vertica C++ SDK Documentation Version 7.1
218
Class Documentation
Detailed Description
Interface that UDX writers can use to interact with the Vertica Server
219
Parameters
format
void Vertica::ServerInterface::setDependencies ( const std::map< std::string, std::string > & dependencies ) [inline]
Returns
set the paths to the dependencies
FileManager Vertica::ServerInterface::fileManager
File manager of the session context
220
Class Documentation
vint Vertica::ServerInterface::udxDebugLogLevel
The level of UDx debug logging which is turned on as a UDXDebugLevel set of enumeration values. Used so UDxs may forgo
generating debug log messages if debug logging is off.
Vertica::SizedColumnTypes
+ addBinary()
+ addBinaryOrderColumn()
+ addBinaryPartitionColumn()
+ addBool()
+ addBoolOrderColumn()
+ addBoolPartitionColumn()
+ addChar()
+ addCharOrderColumn()
+ addCharPartitionColumn()
+ addDate()
and 57 more...
221
222
Class Documentation
223
void addUserDefinedType (const char typeName, int32 len, const std::string &fieldName="")
Adds a column of a user-defined type.
224
Class Documentation
Detailed Description
Represents types and information to determine the size of the columns as input/output of a User Defined Function/Transform.
This class is used to exchange size and precision information between Vertica and the user defined function/transform function.
Vertica provides the user code with size/precision information about the particular data types that it has been called with, and
expects the user code to provide size/precision information about what it will return.
void Vertica::SizedColumnTypes::addBinaryOrderColumn ( int32 len, const std::string & fieldName = "" ) [inline]
Adds an order column of type BINARY.
Parameters
len
fieldName
void Vertica::SizedColumnTypes::addBinaryPartitionColumn ( int32 len, const std::string & fieldName = "" ) [inline]
Adds a partition column of type BINARY.
Parameters
Referenced by Vertica::ParamWriter::setBool().
void Vertica::SizedColumnTypes::addChar ( int32 len, const std::string & fieldName = "" ) [inline]
Adds a column of type CHAR.
Parameters
len
fieldName
void Vertica::SizedColumnTypes::addCharOrderColumn ( int32 len, const std::string & fieldName = "" ) [inline]
Adds an order column of type CHAR.
Parameters
len
fieldName
void Vertica::SizedColumnTypes::addCharPartitionColumn ( int32 len, const std::string & fieldName = "" ) [inline]
Adds a partition column of type CHAR.
225
226
Class Documentation
Parameters
len
fieldName
Referenced by Vertica::ParamWriter::setDate().
Referenced by Vertica::ParamWriter::setFloat().
void Vertica::SizedColumnTypes::addInterval ( int32 precision, int32 range, const std::string & fieldName = "" ) [inline]
Adds a column of type INTERVAL/INTERVAL DAY TO SECOND.
Parameters
precision
range
fieldName
Referenced by Vertica::ParamWriter::setInterval().
void Vertica::SizedColumnTypes::addIntervalOrderColumn ( int32 precision, int32 range, const std::string & fieldName = "" )
[inline]
Adds an order column of type INTERVAL/INTERVAL DAY TO SECOND.
Parameters
precision
range
fieldName
void Vertica::SizedColumnTypes::addIntervalPartitionColumn ( int32 precision, int32 range, const std::string & fieldName = "" )
[inline]
Adds a partition column of type INTERVAL/INTERVAL DAY TO SECOND.
Parameters
precision
range
fieldName
void Vertica::SizedColumnTypes::addIntervalYM ( int32 range, const std::string & fieldName = "" ) [inline]
Adds a column of type INTERVAL YEAR TO MONTH.
Parameters
227
228
Class Documentation
range
fieldName
Referenced by Vertica::ParamWriter::setIntervalYM().
void Vertica::SizedColumnTypes::addIntervalYMOrderColumn ( int32 range, const std::string & fieldName = "" ) [inline]
Adds an order column of type INTERVAL YEAR TO MONTH.
Parameters
range
fieldName
void Vertica::SizedColumnTypes::addIntervalYMPartitionColumn ( int32 range, const std::string & fieldName = "" ) [inline]
Adds a partition column of type INTERVAL YEAR TO MONTH.
Parameters
range
fieldName
void Vertica::SizedColumnTypes::addLongVarbinary ( int32 len, const std::string & fieldName = "" ) [inline]
Adds a column of type LONG VARBINARY.
Parameters
len
fieldName
void Vertica::SizedColumnTypes::addLongVarbinaryOrderColumn ( int32 len, const std::string & fieldName = "" ) [inline]
Adds an order column of type VARBINARY.
void Vertica::SizedColumnTypes::addLongVarbinaryPartitionColumn ( int32 len, const std::string & fieldName = "" ) [inline]
Adds a partition column of type VARBINARY.
Parameters
len
fieldName
void Vertica::SizedColumnTypes::addLongVarchar ( int32 len, const std::string & fieldName = "" ) [inline]
Adds a column of type LONG VARCHAR.
Parameters
len
fieldName
Referenced by Vertica::ParamWriter::getLongStringRef().
void Vertica::SizedColumnTypes::addLongVarcharOrderColumn ( int32 len, const std::string & fieldName = "" ) [inline]
Adds an order column of type VARCHAR.
Parameters
len
fieldName
void Vertica::SizedColumnTypes::addLongVarcharPartitionColumn ( int32 len, const std::string & fieldName = "" ) [inline]
Adds a partition column of type VARCHAR.
Parameters
len
fieldName
void Vertica::SizedColumnTypes::addNumeric ( int32 precision, int32 scale, const std::string & fieldName = "" ) [inline]
Adds a column of type NUMERIC.
Parameters
precision
scale
229
230
Class Documentation
fieldName
Referenced by Vertica::ParamWriter::getNumericRef().
void Vertica::SizedColumnTypes::addNumericOrderColumn ( int32 precision, int32 scale, const std::string & fieldName = "" )
[inline]
Adds an order column of type NUMERIC.
Parameters
precision
scale
fieldName
void Vertica::SizedColumnTypes::addNumericPartitionColumn ( int32 precision, int32 scale, const std::string & fieldName = "" )
[inline]
Adds a partition column of type NUMERIC.
Parameters
precision
scale
fieldName
void Vertica::SizedColumnTypes::addTime ( int32 precision, const std::string & fieldName = "" ) [inline]
Adds a column of type TIME.
Parameters
precision
fieldName
Referenced by Vertica::ParamWriter::setTime().
void Vertica::SizedColumnTypes::addTimeOrderColumn ( int32 precision, const std::string & fieldName = "" ) [inline]
Adds an order column of type TIME.
Parameters
precision
fieldName
void Vertica::SizedColumnTypes::addTimePartitionColumn ( int32 precision, const std::string & fieldName = "" ) [inline]
Adds a partition column of type TIME.
Parameters
void Vertica::SizedColumnTypes::addTimestamp ( int32 precision, const std::string & fieldName = "" ) [inline]
Adds a column of type TIMESTAMP.
Parameters
precision
fieldName
Referenced by Vertica::ParamWriter::setTimestamp().
void Vertica::SizedColumnTypes::addTimestampOrderColumn ( int32 precision, const std::string & fieldName = "" ) [inline]
Adds an order column of type TIMESTAMP.
Parameters
precision
fieldName
void Vertica::SizedColumnTypes::addTimestampPartitionColumn ( int32 precision, const std::string & fieldName = "" ) [inline]
Adds a partition column of type TIMESTAMP.
Parameters
precision
fieldName
void Vertica::SizedColumnTypes::addTimestampTz ( int32 precision, const std::string & fieldName = "" ) [inline]
Adds a column of type TIMESTAMP WITH TIMEZONE.
Parameters
precision
fieldName
Referenced by Vertica::ParamWriter::setTimestampTz().
void Vertica::SizedColumnTypes::addTimestampTzOrderColumn ( int32 precision, const std::string & fieldName = "" ) [inline]
Adds an order column of type TIMESTAMP WITH TIMEZONE.
Parameters
precision
fieldName
231
232
Class Documentation
void Vertica::SizedColumnTypes::addTimestampTzPartitionColumn ( int32 precision, const std::string & fieldName = "" ) [inline]
Adds a partition column of type TIMESTAMP WITH TIMEZONE.
void Vertica::SizedColumnTypes::addTimeTz ( int32 precision, const std::string & fieldName = "" ) [inline]
Adds a column of type TIME WITH TIMEZONE.
Parameters
precision
fieldName
Referenced by Vertica::ParamWriter::setTimeTz().
void Vertica::SizedColumnTypes::addTimeTzOrderColumn ( int32 precision, const std::string & fieldName = "" ) [inline]
Adds an order column of type TIME WITH TIMEZONE.
Parameters
precision
fieldName
void Vertica::SizedColumnTypes::addTimeTzPartitionColumn ( int32 precision, const std::string & fieldName = "" ) [inline]
Adds a partition column of type TIME WITH TIMEZONE.
Parameters
precision
fieldName
void Vertica::SizedColumnTypes::addUserDefinedType ( const char typeName, int32 len, const std::string & fieldName = "" )
[inline]
Adds a column of a user-defined type.
Parameters
typeName
len
fieldName
fieldName
void Vertica::SizedColumnTypes::addVarbinary ( int32 len, const std::string & fieldName = "" ) [inline]
Adds a column of type VARBINARY.
233
234
Class Documentation
Parameters
len
fieldName
void Vertica::SizedColumnTypes::addVarbinaryOrderColumn ( int32 len, const std::string & fieldName = "" ) [inline]
Adds an order column of type VARBINARY.
Parameters
len
fieldName
void Vertica::SizedColumnTypes::addVarbinaryPartitionColumn ( int32 len, const std::string & fieldName = "" ) [inline]
Adds a partition column of type VARBINARY.
Parameters
len
fieldName
void Vertica::SizedColumnTypes::addVarchar ( int32 len, const std::string & fieldName = "" ) [inline]
Adds a column of type VARCHAR.
Parameters
len
fieldName
Referenced by Vertica::ParamWriter::getStringRef().
void Vertica::SizedColumnTypes::addVarcharOrderColumn ( int32 len, const std::string & fieldName = "" ) [inline]
Adds an order column of type VARCHAR.
Parameters
len
fieldName
void Vertica::SizedColumnTypes::addVarcharPartitionColumn ( int32 len, const std::string & fieldName = "" ) [inline]
Adds a partition column of type VARCHAR.
Parameters
len
fieldName
235
236
Class Documentation
Parameters
cols
Referenced by Vertica::ParserFactory::getParserReturnType().
Returns
a VerticaType object describing the columns data type.
Referenced by Vertica::PartitionWriter::copyFromInput(), Vertica::ParserFactory::getParserReturnType(), Vertica::ParamReader::getType(), Vertica::BlockReader::isNull(), Vertica::BlockWriter::next(), and Vertica::PartitionWriter::setNull().
Sets the PARTITION BY and ORDER BY column indexes from another SizedColumnTypes object.
Parameters
other
237
238
Class Documentation
Vertica::UDXFactory
# libOid
# sqlName
+ ~UDXFactory()
+ getParameterType()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
+ getUDXFactoryType()
Vertica::UDLFactory
+ ~UDLFactory()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
Vertica::IterativeSource
Factory
+ getUDXFactoryType()
+ isSourceApportionable()
+ plan()
+ prepare()
Vertica::SourceFactory
+ plan()
+ prepareUDSources()
239
Vertica::UDXFactory
# libOid
# sqlName
+ ~UDXFactory()
+ getParameterType()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
+ getUDXFactoryType()
Vertica::UDLFactory
+ ~UDLFactory()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
Vertica::IterativeSource
Factory
+ getUDXFactoryType()
+ isSourceApportionable()
+ plan()
+ prepare()
Vertica::SourceFactory
+ plan()
+ prepareUDSources()
Public Types
enum UDXType {
FUNCTION, TRANSFORM, ANALYTIC, MULTI_TRANSFORM,
AGGREGATE, LOAD_SOURCE, LOAD_FILTER, LOAD_PARSER,
FILESYSTEM, TYPE }
HP Vertica C++ SDK Documentation Version 7.1
240
Class Documentation
Protected Attributes
Oid libOid
std::string sqlName
Detailed Description
A SourceFactory whose prepare() method constructs UDSources directly.
When implementing the factories for a UDSource, you have two options:
Implement both an IterativeSourceFactory and a SourceIterator
Implement just a SourceFactory (and no custom SourceIterator)
Factories should be registered using the RegisterFactory() macro, defined in Vertica.h.
virtual void Vertica::UDLFactory::getPerInstanceResources ( ServerInterface & srvInterface, VResources & res ) [inline],
[virtual], [inherited]
Set the resource required for each instance of the UDX Object subclass
241
Parameters
srvInterface
res
void Vertica::UDLFactory::getPrototype ( ServerInterface & srvInterface, ColumnTypes & argTypes, ColumnTypes & returnType )
virtual void Vertica::UDLFactory::getReturnType ( ServerInterface & srvInterface, const SizedColumnTypes & argTypes,
SizedColumnTypes & returnType ) [inline], [virtual], [inherited]
Not used in this form
Implements Vertica::UDXFactory.
Note
User subclasses should use the appropriate subclass of UDXFactory and not override this method on their own.
Implements Vertica::UDXFactory.
virtual void Vertica::SourceFactory::plan ( ServerInterface & srvInterface, NodeSpecifyingPlanContext & planCtxt ) [inline],
[virtual]
Execute any planning logic required at query plan time. This method is run once per query, during query initialization. Its job is
to perform parameter validation, and to modify the set of nodes that the COPY statement will run on.
plan() runs exactly once per query, on the initiator node. If it throws an exception, the query will not proceed; it will be aborted
prior to distributing the query to the other nodes and running prepare().
Parameters
srvInterface
planCtxt
242
Class Documentation
planData contains the same data that was placed there by the plan() static method.
If necessary, it is safe for this method to store any of the argument references as local fields on this instance. All will persist for
the duration of the query.
Create UDSources. This function will be called on each node, prior to the Load operator starting to execute and prior to any
other virtual functions on this class being called.
planData contains the same data that was placed there by the plan() static method.
If necessary, it is safe for this method to store any of the argument references as local fields on this instance. All will persist for
the duration of the query.
Unlike the standard SourceFactory, this method directly instantiates all of its UDSources, and returns a vector of them. This
requires that all UDSources be resident in memory for the duration of the query, which is fine in the common case but which may
not be acceptable for some resource-intensive UDSources.
Parameters
srvInterface
planCtxt
Returns
A vector of UDSources to use for this query. Sources will be loaded in a pooled manner, several at a time.
243
Vertica::SourceIterator
+ ~SourceIterator()
+ createNextSource()
+ destroy()
+ getNumberOfSources()
+ getSizeOfSource()
+ setup()
Vertica::DefaultSourceIterator
+ DefaultSourceIterator()
+ createNextSource()
+ getNumberOfSources()
+ getSizeOfSource()
Vertica::SourceIterator
+ ~SourceIterator()
+ createNextSource()
+ destroy()
+ getNumberOfSources()
+ getSizeOfSource()
+ setup()
244
Class Documentation
Detailed Description
Wrappers to help construct and manage UDLs Construct a set of Sources. createNextSource() will be called repeatedly until it
returns NULL. Each resulting Source will be read to completion, and the contained data passed to the Filter and Parser.
[inline], [virtual]
Tear down this SourceIterator.
Should perform clean-up that should not take place in the destructor due to the exception-handling semantics of destructors.
245
Returns
the raw-data size of the sourceNumth source that will be produced by createNextSource(). Should return vint_null if
the size is unknown.
This value is used as a hint, and is used by the "load_streams" table to display load progress. If incorrect or not set, "load_streams" may contain incorrect or unhelpful information.
Reimplemented in Vertica::DefaultSourceIterator.
virtual void Vertica::SourceIterator::setup ( ServerInterface & srvInterface, NodeSpecifyingPlanContext & planCtxt ) [inline],
[virtual]
246
Class Documentation
Vertica::VerticaBlock
# cols
# colstrides
# count
# index
# indices
# ncols
# nrows
# svWrappers
# typeMetaData
# vnWrappers
+ VerticaBlock()
+ getColPtr()
+ getColPtrForWrite()
+ getColRef()
+ getColRefForWrite()
+ getDataArea()
+ getNumCols()
+ getNumRows()
+ getTypeMetaData()
+ getTypeMetaData()
+ getVoidPtr()
+ setDataArea()
# addCol()
# addCol()
# validateStringColumn()
# void::copyDataToPlanPool()
Vertica::PartitionWriter
+ udan
+ udt
+ udx_object
# @5
# pstart
+ PartitionWriter()
+ ~PartitionWriter()
+ copyFromInput()
+ getColumns()
+ getNumericRef()
+ getStringRef()
+ getStringRefNoClear()
+ getVoidPtr()
+ getWriteableBlock()
+ next()
and 11 more...
# commitPrelledRows()
Vertica::StreamWriter
# cumulative_rows
# parent
+ StreamWriter()
+ getTotalRowCount()
+ getWriteableBlock()
247
Vertica::SizedColumnTypes
+ addBinary()
+ addBinaryOrderColumn()
+ addBinaryPartitionColumn()
+ addBool()
+ addBoolOrderColumn()
+ addBoolPartitionColumn()
+ addChar()
+ addCharOrderColumn()
+ addCharPartitionColumn()
+ addDate()
and 57 more...
#typeMetaData
Vertica::VerticaBlock
# cols
# colstrides
# count
# index
# indices
# ncols
# nrows
# svWrappers
# vnWrappers
+ VerticaBlock()
+ getColPtr()
+ getColPtrForWrite()
+ getColRef()
+ getColRefForWrite()
+ getDataArea()
+ getNumCols()
+ getNumRows()
+ getTypeMetaData()
+ getTypeMetaData()
+ getVoidPtr()
+ setDataArea()
# addCol()
# addCol()
# validateStringColumn()
# void::copyDataToPlanPool()
Vertica::PartitionWriter
+ udan
+ udt
+ udx_object
# @5
# pstart
+ PartitionWriter()
+ ~PartitionWriter()
+ copyFromInput()
+ getColumns()
+ getNumericRef()
+ getStringRef()
+ getStringRefNoClear()
+ getVoidPtr()
+ getWriteableBlock()
+ next()
and 11 more...
# commitPrelledRows()
Vertica::StreamWriter
# cumulative_rows
# parent
+ StreamWriter()
+ getTotalRowCount()
+ getWriteableBlock()
248
Class Documentation
template<class T >
T getColPtrForWrite (size_t idx)
template<class T >
const T & getColRef (size_t idx)
template<class T >
T & getColRefForWrite (size_t idx)
PartitionWriterColumns getColumns ()
const EE::DataArea getDataArea (size_t idx)
size_t getNumCols () const
VNumeric & getNumericRef (size_t idx)
int getNumRows () const
VString & getStringRef (size_t idx)
VString & getStringRefNoClear (size_t idx)
uint64 getTotalRowCount ()
const SizedColumnTypes & getTypeMetaData () const
SizedColumnTypes & getTypeMetaData ()
void getVoidPtr ()
void getVoidPtr (size_t idx)
virtual bool getWriteableBlock ()
bool next ()
void setBool (size_t idx, vbool r)
void setDataArea (size_t idx, void dataarea)
void setDate (size_t idx, DateADT r)
void setFloat (size_t idx, vfloat r)
void setInt (size_t idx, vint r)
void setInterval (size_t idx, Interval r)
void setNull (size_t idx)
Set the idxth argument to null.
void addCol (char arg, int colstride, const VerticaType &dt, const std::string fieldName="")
void addCol (const char arg, int colstride, const VerticaType &dt, const std::string fieldName="")
bool commitPrefilledRows (int nRows)
void validateStringColumn (size_t idx, const VString &s, const VerticaType &t)
friend void::copyDataToPlanPool (VerticaBlock block)
Protected Attributes
union {
EE::UserDefinedAnalytic udan
EE::UserDefinedTransform udt
EE::UserDefinedProcess udx_object
};
std::vector< char > cols
std::vector< int > colstrides
int count
HP Vertica C++ SDK Documentation Version 7.1
249
uint64 cumulative_rows
int index
const int indices
size_t ncols
int nrows
void parent
int pstart
std::vector< VString > svWrappers
SizedColumnTypes typeMetaData
std::vector< VNumeric > vnWrappers
Friends
class EE::Loader::UserDefinedLoad
Detailed Description
StreamWriter provides an iterator-based write interface over output data for a stream of blocks. Automatically makes space a
block-at-a-time, as needed.
[protected], [inherited]
Add the location for reading a particular argument.
Parameters
arg
colstride
dt
fieldname
Referenced by Vertica::ParamReader::addParameter().
void Vertica::PartitionWriter::copyFromInput ( size_t dstIdx, PartitionReader & input_reader, size_t srcIdx ) [inline],
[inherited]
Copies a column from the input reader to the output writer. The data types and sizes of the source and destination columns must
match exactly.
Parameters
dstIdx
input_reader
srcIdx
250
Class Documentation
Returns
a pointer to the idxth argument, cast appropriately.
Example:
* const vint *a = arg_reader->getColPtr<vint>(0);
*
Referenced by Vertica::PartitionWriter::copyFromInput().
251
Vertica::UDXObject
+ ~UDXObject()
+ destroy()
+ setup()
Vertica::UDXObjectCancelable
# canceled
+ UDXObjectCancelable()
+ cancel()
+ isCanceled()
Vertica::TransformFunction
+ processPartition()
252
Class Documentation
Vertica::UDXObject
+ ~UDXObject()
+ destroy()
+ setup()
Vertica::UDXObjectCancelable
# canceled
+ UDXObjectCancelable()
+ cancel()
+ isCanceled()
Vertica::TransformFunction
+ processPartition()
Protected Attributes
volatile bool canceled
Detailed Description
Interface for User Defined Transform, the actual code to process a partition of data coming in as a stream
HP Vertica C++ SDK Documentation Version 7.1
253
This function is invoked from a different thread when the execution is canceled This baseclass cancel should be called in any
override.
virtual void Vertica::UDXObject::destroy ( ServerInterface & srvInterface, const SizedColumnTypes & argTypes ) [inline],
[virtual], [inherited]
Perform per instance destruction. This function may throw errors
Invoke a user defined transform on a set of rows. As the name suggests, a batch of rows are passed in for every invocation to
amortize performance.
Parameters
srvInterface
input_reader
output_writer
virtual void Vertica::UDXObject::setup ( ServerInterface & srvInterface, const SizedColumnTypes & argTypes ) [inline],
[virtual], [inherited]
254
Class Documentation
Vertica::UDXFactory
# libOid
# sqlName
+ ~UDXFactory()
+ getParameterType()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
+ getUDXFactoryType()
Vertica::TransformFunction
Factory
+ ~TransformFunctionFactory()
+ createTransformFunction()
# getUDXFactoryType()
255
Vertica::UDXFactory
# libOid
# sqlName
+ ~UDXFactory()
+ getParameterType()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
+ getUDXFactoryType()
Vertica::TransformFunction
Factory
+ ~TransformFunctionFactory()
+ createTransformFunction()
# getUDXFactoryType()
Public Types
enum UDXType {
FUNCTION, TRANSFORM, ANALYTIC, MULTI_TRANSFORM,
AGGREGATE, LOAD_SOURCE, LOAD_FILTER, LOAD_PARSER,
FILESYSTEM, TYPE }
256
Class Documentation
Protected Attributes
Oid libOid
std::string sqlName
Detailed Description
Interface to provide User Defined Transform compile time information
virtual]
Called when Vertica needs a new TransformFunction object to process a UDTF function call.
Returns
an TransformFunction object which implements the UDx API described by this metadata.
Parameters
srvInterface
Note
More than one object may be instantiated per query.
virtual void Vertica::UDXFactory::getPerInstanceResources ( ServerInterface & srvInterface, VResources & res ) [inline],
[virtual], [inherited]
Set the resource required for each instance of the UDX Object subclass
Parameters
257
Reimplemented in Vertica::UDLFactory.
virtual void Vertica::UDXFactory::getPrototype ( ServerInterface & srvInterface, ColumnTypes & argTypes, ColumnTypes &
returnType ) [pure virtual], [inherited]
Provides the argument and return types of the UDX
Implemented in Vertica::UDLFactory, Vertica::MultiPhaseTransformFunctionFactory, and Vertica::UDFileSystemFactory.
Referenced by Vertica::ScalarFunctionFactory::getReturnType().
virtual void Vertica::UDXFactory::getReturnType ( ServerInterface & srvInterface, const SizedColumnTypes & argTypes,
SizedColumnTypes & returnType ) [pure virtual], [inherited]
Function to tell Vertica what the return types (and length/precision if necessary) of this UDX are.
For CHAR/VARCHAR types, specify the max length,
For NUMERIC types, specify the precision and scale.
For Time/Timestamp types (with or without time zone), specify the precision, -1 means unspecified/dont care
For IntervalYM/IntervalDS types, specify the precision and range
For all other types, no length/precision specification needed
Parameters
argTypes
returnType
Provides the data types of arguments that this UDT was called with. This may be used to modify the
return types accordingly.
User code must fill in the names and data types returned by the UDT.
258
Class Documentation
Returns
the object type internally used by Vertica
Implements Vertica::UDXFactory.
Vertica::TransformFunction
Phase
+ TransformFunctionPhase()
+ ~TransformFunctionPhase()
+ createTransformFunction()
+ getReturnType()
+ isPrepass()
+ setPrepass()
Detailed Description
Interface to provide compile time information for a single phase of a multi-phase user-defined transform function. Note that even
though this class shares some methods with TransformFunctionFactory, it is explicitly not a sub-class (since it is incorrect to
implement a getPrototype() method for this class)
virtual]
Called when Vertica needs a new TransformFunction object to process this phase of a multi-phase UDT.
259
Returns
a TransformFunction object which implements the UDx API described by this metadata.
Parameters
srvInterface
Note
More than one object may be instantiated per query.
virtual void Vertica::TransformFunctionPhase::getReturnType ( ServerInterface & srvInterface, const SizedColumnTypes & argTypes,
SizedColumnTypes & returnTypes ) [pure virtual]
Function to tell Vertica what the return types (and length/precision if necessary) and partition-by, order-by of this phase are.
For CHAR/VARCHAR types, specify the max length,
For NUMERIC types, specify the precision and scale.
For Time/Timestamp types (with or without time zone), specify the precision, -1 means unspecified/dont care
For IntervalYM/IntervalDS types, specify the precision and range
For all other types, no length/precision specification needed
Parameters
argTypes
returnTypes
Provides the data types of arguments that this phase was called with, along with partition and order
information. This may be used to modify the return types accordingly.
User code must fill in the names and data types returned by this phase, along with the partition-by and
order-by column information (if any).
Vertica::UDChunker
+ ~UDChunker()
+ destroy()
+ process()
+ setup()
260
Class Documentation
Detailed Description
UDChunker
Class that allows the separation of parsing record boundaries, which in some cases cannot be parallelized, from parsing "column"
values, which is typically the bottleneck and which, thankfully, can usually be parallelized.
[virtual]
UDChunker::destroy()
Will be invoked during query execution, after the last time that process() is called on this UDChunker instance for a particular
input.
May optionally be overridden to perform tear-down/destruction.
See UDChunker::setup() for a note about the restartability of UDChunkers.
virtual StreamState Vertica::UDChunker::process ( ServerInterface & srvInterface, DataBuffer & input, InputState input_state )
[pure virtual]
UDChunker::process()
Will be invoked repeatedly during query execution, until it returns DONE or until the query is canceled by the user.
On each invocation, process() will be given an input buffer. It should read data from that buffer, find record boundaries and align
input.offset with the end of the last record in the buffer. Once it has processed as much as it reasonably can (for example, once it
has processed the last complete row in the input buffer), it should return INPUT_NEEDED to indicate that more data is needed,
or DONE to indicate that it has completed "parsing" this input stream and will not be reading more bytes from it.
if a few rows were found in current block, move offset forward to point at the start of next (potential) row, and mark state as
CHUNK_ALIGNED, indicating the chunker is ready to hand this chunk to parser.
If input_state == END_OF_FILE, then the last byte in input is the last byte in the input stream. Returning INPUT_NEEDED will not result in any new input appearing. process() should return DONE in this case.
Note that input may contain null bytes, if the source file contains null bytes. Note also that input is NOT automatically
null-terminated.
process() must not block indefinitely. If it cannot proceed for an extended period of time, it should return KEEP_GOING. It will be
called again shortly. Failure to do this will, among other things, prevent the query from being canceled by the user.
261
Returns
INPUT_NEEDED if this UDChunker has more data to process; DONE if has no more data to produce; CHUNK_ALIGNED
if this UDChunker successfully aligned some rows and is ready to give them to parser.
Note that it is UNSAFE to maintain pointers or references to any of these arguments (or any other argument passed by reference
into any other function in this API) beyond the scope of the function call in question. For example, do not store a reference to the
server interface or the input block on an instance variable. Vertica may free and replace these objects.
virtual void Vertica::UDChunker::setup ( ServerInterface & srvInterface, SizedColumnTypes & returnType ) [inline],
[virtual]
UDChunker::setup()
Will be invoked during query execution, prior to the first time that process() is called on this UDChunker instance for a particular
input source.
May optionally be overridden to perform setup/initialzation.
Note that UDChunkers MUST BE RESTARTABLE! If loading large numbers of files, a given UDChunker may be re-used for
multiple files. Vertica follows the worker-pool design pattern: At the start of COPY execution, several Chunkers and several
Filters are instantiated per node, by calling the corresponding prepare() method multiple times. Each Filter/Chunker pair is then
internally assigned to an initial Source (UDSource or internal). At that point, setup() is called; then process() is called until it is
finished; then destroy() is called. If there are still sources in the pool waiting to be processed, then the UDFilter/UDChunker pair
will be given a second Source; setup() will be called a second time, then process() until it is finished, then destroy(). This repeats
until all sources have been read.
Vertica::UDFileOperator
+ UDFileOperator()
+ ~UDFileOperator()
+ append()
+ appendWithRetry()
+ doHurryUp()
+ fsync()
+ getOset()
+ mmap()
+ munmap()
+ read()
+ seek()
262
Class Documentation
Vertica::UDFileSystem
+ UDFileSystem()
+ ~UDFileSystem()
+ close()
+ deleteSnapshot()
+ getDescription()
+ getDisplayName()
+ link()
+ listFiles()
+ mkdirs()
+ open()
and 10 more...
Vertica::UDXFactory
# libOid
# sqlName
+ ~UDXFactory()
+ getParameterType()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
+ getUDXFactoryType()
Vertica::UDFileSystemFactory
+ ~UDFileSystemFactory()
+ createUDFileSystem()
+ getPrototype()
+ getReturnType()
# getUDXFactoryType()
263
264
Class Documentation
Vertica::UDXFactory
# libOid
# sqlName
+ ~UDXFactory()
+ getParameterType()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
+ getUDXFactoryType()
Vertica::UDFileSystemFactory
+ ~UDFileSystemFactory()
+ createUDFileSystem()
+ getPrototype()
+ getReturnType()
# getUDXFactoryType()
Public Types
enum UDXType {
FUNCTION, TRANSFORM, ANALYTIC, MULTI_TRANSFORM,
AGGREGATE, LOAD_SOURCE, LOAD_FILTER, LOAD_PARSER,
FILESYSTEM, TYPE }
265
Protected Attributes
Oid libOid
std::string sqlName
virtual void Vertica::UDXFactory::getPerInstanceResources ( ServerInterface & srvInterface, VResources & res ) [inline],
[virtual], [inherited]
Set the resource required for each instance of the UDX Object subclass
Parameters
srvInterface
res
Reimplemented in Vertica::UDLFactory.
void Vertica::UDFileSystemFactory::getPrototype ( ServerInterface & srvInterface, ColumnTypes & argTypes, ColumnTypes &
returnType ) [inline], [virtual]
UDFileSystems take no input tuples; as such, their prototype must be empty.
Implements Vertica::UDXFactory.
virtual void Vertica::UDFileSystemFactory::getReturnType ( ServerInterface & srvInterface, const SizedColumnTypes & argTypes,
SizedColumnTypes & returnType ) [inline], [virtual]
UDFileSystems return no output; as such, their prototype must be empty.
Implements Vertica::UDXFactory.
266
Class Documentation
Vertica::UDFilter
+ ~UDFilter()
+ destroy()
+ process()
+ setup()
Detailed Description
UDFilter
Responsible for reading raw input data from a file and preparing it to be processed by a parser. This preparation may involve
decompression, re-encoding, or any other sort of binary manipulation.
virtual StreamState Vertica::UDFilter::process ( ServerInterface & srvInterface, DataBuffer & input, InputState input_state,
DataBuffer & output ) [pure virtual]
UDFilter::process()
Will be invoked repeatedly during query execution, until it returns DONE or until the query is canceled by the user.
HP Vertica C++ SDK Documentation Version 7.1
267
On each invocation, process() is handed some input data and a buffer to write output data into. It is expected to read and process
some amount of the input data, write some amount of output data, and return a value that informs Vertica what needs to happen
next.
process() must set input.offset to the number of bytes that were successfully read from the input buffer, and that will not
need to be re-consumed by a subsequent invocation of process(). This may not be larger than input.size. (input.size
is the size of the buffer.) If it is set to 0, this indicates that process() cannot process any part of an input buffer of this size, and
requires more data per invocation. (For example, a block-based decompression algorithm might return 0 if the input buffer does
not contain a complete block.)
Note that input may contain null bytes, if the source file contains null bytes. Note also that input is NOT automatically
null-terminated.
If input_state == END_OF_FILE, then the last byte in input is the last byte in the input stream. Returning INPUT_NEEDED will not result in any new input appearing. process() should return DONE in this case as soon as this operator has finished
producing all output that it is going to produce.
process() must set output.offset to the number of bytes that were written to the output buffer. This may not be larger
than output.size. If it is set to 0, this indicates that process() requires a larger output buffer.
Note that, unless OUTPUT_NEEDED is returned, output will be UNMODIFIED the next time process() is called. This means
that pointers into the buffer will continue to be valid. It also means that output.offset may be set. So, in general, process()
code should assume that buffers start at output.buf[output.offset]. The same goes for input and INPUT_NEEDED. Note also that, as a performance optimization, upstream operators may start processing emitted data (data between
output.buf[0] and output.buf[output.offset]) before OUTPUT_NEEDED is returned. For this reason, output.offset must be
strictly increasing.
process() must not block indefinitely. If it cannot proceed for an extended period of time, it should return KEEP_GOING. It will be
called again shortly. Failure to do this will, among other things, prevent the query from being canceled by the user.
Returns
OUTPUT_NEEDED if this UDFilter has more data to produce; INPUT_NEEDED if it needs more data to continue working;
DONE if has no more data to produce.
Note that it is UNSAFE to maintain pointers or references to any of these arguments (or any other argument passed by reference
into any other function in this API) beyond the scope of the function call in question. For example, do not store a reference to the
server interface or the input block on an instance variable. Vertica may free and replace these objects.
268
Class Documentation
Vertica::UDXFactory
# libOid
# sqlName
+ ~UDXFactory()
+ getParameterType()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
+ getUDXFactoryType()
Vertica::UDLFactory
+ ~UDLFactory()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
Vertica::ParserFactory
Vertica::FilterFactory
+ getUDXFactoryType()
+ plan()
+ prepare()
Vertica::IterativeSource
Factory
+ getUDXFactoryType()
+ isSourceApportionable()
+ plan()
+ prepare()
+ getParameterType()
+ getParserReturnType()
+ getUDXFactoryType()
+ isParserApportionable()
+ plan()
+ prepare()
+ prepareChunker()
Vertica::SourceFactory
+ plan()
+ prepareUDSources()
269
Vertica::UDXFactory
# libOid
# sqlName
+ ~UDXFactory()
+ getParameterType()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
+ getUDXFactoryType()
Vertica::UDLFactory
+ ~UDLFactory()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
Public Types
enum UDXType {
FUNCTION, TRANSFORM, ANALYTIC, MULTI_TRANSFORM,
AGGREGATE, LOAD_SOURCE, LOAD_FILTER, LOAD_PARSER,
FILESYSTEM, TYPE }
Protected Attributes
Oid libOid
std::string sqlName
HP Vertica C++ SDK Documentation Version 7.1
270
Class Documentation
virtual void Vertica::UDLFactory::getPerInstanceResources ( ServerInterface & srvInterface, VResources & res ) [inline],
[virtual]
Set the resource required for each instance of the UDX Object subclass
Parameters
srvInterface
res
void Vertica::UDLFactory::getPrototype ( ServerInterface & srvInterface, ColumnTypes & argTypes, ColumnTypes & returnType )
[inline], [virtual]
Provides the argument and return types of the UDL. UDLs take no input tuples; as such, their prototype is empty.
Implements Vertica::UDXFactory.
virtual void Vertica::UDLFactory::getReturnType ( ServerInterface & srvInterface, const SizedColumnTypes & argTypes,
SizedColumnTypes & returnType ) [inline], [virtual]
Not used in this form
Implements Vertica::UDXFactory.
Note
User subclasses should use the appropriate subclass of UDXFactory and not override this method on their own.
Implemented in Vertica::MultiPhaseTransformFunctionFactory, Vertica::AggregateFunctionFactory, Vertica::AnalyticFunctionFactory, Vertica::TransformFunctionFactory, Vertica::ScalarFunctionFactory, Vertica::ParserFactory, Vertica::FilterFactory,
Vertica::IterativeSourceFactory, and Vertica::UDFileSystemFactory.
HP Vertica C++ SDK Documentation Version 7.1
271
Vertica::SizedColumnTypes
+ addBinary()
+ addBinaryOrderColumn()
+ addBinaryPartitionColumn()
+ addBool()
+ addBoolOrderColumn()
+ addBoolPartitionColumn()
+ addChar()
+ addCharOrderColumn()
+ addCharPartitionColumn()
+ addDate()
and 57 more...
#typeMetaData
Vertica::VerticaBlock
# cols
# colstrides
# count
# index
# indices
# ncols
# nrows
# svWrappers
# vnWrappers
+ VerticaBlock()
+ getColPtr()
+ getColPtrForWrite()
+ getColRef()
+ getColRefForWrite()
+ getDataArea()
+ getNumCols()
+ getNumRows()
+ getTypeMetaData()
+ getTypeMetaData()
+ getVoidPtr()
+ setDataArea()
# addCol()
# addCol()
# validateStringColumn()
# void::copyDataToPlanPool()
Vertica::PartitionWriter
+ udan
+ udt
+ udx_object
# @5
# pstart
+ PartitionWriter()
+ ~PartitionWriter()
+ copyFromInput()
+ getColumns()
+ getNumericRef()
+ getStringRef()
+ getStringRefNoClear()
+ getVoidPtr()
+ getWriteableBlock()
+ next()
and 11 more...
# commitPrelledRows()
Vertica::Portion
+ is_rst_portion
+ oset
+ size
+ Portion()
+ isValid()
Vertica::StreamWriter
# cumulative_rows
# parent
+ StreamWriter()
+ getTotalRowCount()
+ getWriteableBlock()
#portion
#writer
Vertica::UDParser
# isParserApportionable
# recordsAcceptedInBatch
# seen_eob
# srcname
+ UDParser()
+ ~UDParser()
+ destroy()
+ getIsParserApportionable()
+ getPortion()
+ getRecordsAcceptedInBatch()
+ getRejectedRecord()
+ getSeenEOB()
+ getSourceInfo()
+ getStreamWriter()
and 11 more...
272
Class Documentation
Portion getPortion ()
vint getRecordsAcceptedInBatch ()
virtual RejectedRecord getRejectedRecord ()
bool getSeenEOB ()
std::string getSourceInfo ()
StreamWriter getStreamWriter ()
void increRecordsAcceptedInBatch ()
virtual bool isReadyToCooperate (ServerInterface &srvInterface)
virtual void prepareToCooperate (ServerInterface &srvInterface, bool isLeader)
virtual StreamState process (ServerInterface &srvInterface, DataBuffer &input, InputState input_state)=0
void setIsParserApportionable (bool v)
void setPortion (Portion p)
void setRecordsAcceptedInBatch (vint i)
void setSeenEOB (bool b)
void setSourceInfo (std::string v)
void setStreamWriter (StreamWriter writer)
virtual void setup (ServerInterface &srvInterface, SizedColumnTypes &returnType)
Protected Attributes
bool isParserApportionable
Portion portion
vint recordsAcceptedInBatch
bool seen_eob
std::string srcname
StreamWriter writer
Detailed Description
UDParser
Responsible for parsing an input stream into Vertica tuples, rows to be inserted into a table.
[virtual]
UDParser::destroy()
Will be invoked during query execution, after the last time that process() is called on this UDParser instance for a particular input
file.
May optionally be overridden to perform tear-down/destruction.
See UDParser::setup() for a note about the restartability of UDParsers.
273
virtual void Vertica::UDParser::prepareToCooperate ( ServerInterface & srvInterface, bool isLeader ) [inline], [virtual]
UDParser::prepareToCooperate()
Notification to this parser that it should prepare to share parsing input with another. This can only happen when a parser has an
associated chunker. Default implementation does nothing.
virtual StreamState Vertica::UDParser::process ( ServerInterface & srvInterface, DataBuffer & input, InputState input_state )
[pure virtual]
UDParser::process()
Will be invoked repeatedly during query execution, until it returns DONE or until the query is canceled by the user.
On each invocation, process() will be given an input buffer. It should read data from that buffer, converting it to fields and tuples
and writing those tuples via writer. Once it has consumed as much as it reasonably can (for example, once it has consumed
the last complete row in the input buffer), it should return INPUT_NEEDED to indicate that more data is needed, or DONE to
indicate that it has completed parsing this input stream and will not be reading more bytes from it.
If input_state == END_OF_FILE, then the last byte in input is the last byte in the input stream. Returning INPUT_NEEDED will not result in any new input appearing. process() should return DONE in this case as soon as this operator has finished
producing all output that it is going to produce.
Note that input may contain null bytes, if the source file contains null bytes. Note also that input is NOT automatically
null-terminated.
process() must not block indefinitely. If it cannot proceed for an extended period of time, it should return KEEP_GOING. It will be
called again shortly. Failure to do this will, among other things, prevent the query from being canceled by the user.
Note that, unless INPUT_NEEDED is returned, input will be UNMODIFIED the next time process() is called. This means that
pointers into the buffer will continue to be valid. It also means that input.offset may be set. So, in general, process() code
should assume that buffers start at input.buf[input.offset].
Row Rejection
process() can "reject" a row, causing it to be logged by Verticas rejected-rows mechanism. Rejected rows should not be emitted
as tuples. All previous input must have been consumed by a call to process(). To reject a row, set input.offset to the size
of the row, and return REJECT.
Returns
INPUT_NEEDED if this UDParser has more data to produce; DONE if has no more data to produce; REJECT to reject a
row
Note that it is UNSAFE to maintain pointers or references to any of these arguments (or any other argument passed by reference
into any other function in this API) beyond the scope of the function call in question. For example, do not store a reference to the
server interface or the input block on an instance variable. Vertica may free and replace these objects.
virtual void Vertica::UDParser::setup ( ServerInterface & srvInterface, SizedColumnTypes & returnType ) [inline],
[virtual]
UDParser::setup()
HP Vertica C++ SDK Documentation Version 7.1
274
Class Documentation
Will be invoked during query execution, prior to the first time that process() is called on this UDParser instance for a particular
input source.
May optionally be overridden to perform setup/initialzation.
Note that UDParsers MUST BE RESTARTABLE! If loading large numbers of files, a given UDParsers may be re-used for
multiple files. Vertica follows the worker-pool design pattern: At the start of COPY execution, several Parsers and several Filters
are instantiated per node, by calling the corresponding prepare() method multiple times. Each Filter/Parser pair is then internally
assigned to an initial Source (UDSource or internal). At that point, setup() is called; then process() is called until it is finished;
then destroy() is called. If there are still sources in the pool waiting to be processed, then the UDFilter/UDSource pair will be
given a second Source; setup() will be called a second time, then process() until it is finished, then destroy(). This repeats until
all sources have been read.
Vertica::UnsizedUDSource
+ ~UnsizedUDSource()
+ destroy()
+ getPortion()
+ getUri()
+ process()
+ setup()
Vertica::UDSource
+ destroy()
+ getPortion()
+ getSize()
+ process()
+ setup()
275
Vertica::UnsizedUDSource
+ ~UnsizedUDSource()
+ destroy()
+ getPortion()
+ getUri()
+ process()
+ setup()
Vertica::UDSource
+ destroy()
+ getPortion()
+ getSize()
+ process()
+ setup()
Detailed Description
UDSource
Responsible for acquiring data from an external source (such as a file, a URL, etc) and producing that data in a streaming
manner.
276
Class Documentation
Will be invoked during query execution, after the last time that process() is called on this UDSource instance.
May optionally be overridden to perform tear-down/destruction.
Reimplemented from Vertica::UnsizedUDSource.
virtual StreamState Vertica::UDSource::process ( ServerInterface & srvInterface, DataBuffer & output ) [pure virtual]
UDSource::process()
Will be invoked repeatedly during query execution, until it returns DONE or until the query is canceled by the user.
On each invocation, process() should acquire more data and write that data to the buffer specified by output.
process() must set output.offset to the number of bytes that were written to the output buffer. It is common, though not
necessary, for this to be the same as output.size. output.offset is initially uninitialized. If it is set to 0, this indicates
that the output buffer is too small for process() to be able to write a unit of input to it.
Note that, unless OUTPUT_NEEDED is returned, output will be UNMODIFIED the next time process() is called. This means
that pointers into the buffer will continue to be valid. It also means that output.offset may be set. So, in general, process()
code should assume that buffers start at output.buf[output.offset]. Note also that, as a performance optimization,
upstream operators may start processing emitted data (data between output.buf[0] and output.buf[output.offset]) before OUTPUT_NEEDED is returned. For this reason, output.offset must be strictly increasing.
process() must not block indefinitely. If it cannot proceed for an extended period of time, it should return KEEP_GOING. It will be
called again shortly. Failure to do this will, among other things, prevent the query from being canceled by the user.
Returns
OUTPUT_NEEDED if this UDSource has more data to produce; DONE if has no more data to produce.
Note that it is UNSAFE to maintain pointers or references to any of these arguments (or any other argument passed by reference
into any other function in this API) beyond the scope of the function call in question. For example, do not store a reference to the
server interface or the input block on an instance variable. Vertica may free and replace these objects.
Implements Vertica::UnsizedUDSource.
HP Vertica C++ SDK Documentation Version 7.1
277
Vertica::UDXFactory
# libOid
# sqlName
+ ~UDXFactory()
+ getParameterType()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
+ getUDXFactoryType()
Vertica::AggregateFunction
Factory
+ ~AggregateFunctionFactory()
+ createAggregateFunction()
+ getIntermediateTypes()
# getUDXFactoryType()
Vertica::AnalyticFunction
Factory
+ ~AnalyticFunctionFactory()
+ createAnalyticFunction()
# getUDXFactoryType()
Vertica::MultiPhaseTransform
FunctionFactory
Vertica::ScalarFunctionFactory
+ strict
+ vol
+ ~MultiPhaseTransformFunction
Factory()
+ getPhases()
+ getPrototype()
+ getReturnType()
# getUDXFactoryType()
+ ScalarFunctionFactory()
+ ~ScalarFunctionFactory()
+ createScalarFunction()
+ getReturnType()
# getUDXFactoryType()
Vertica::TransformFunction
Factory
+ ~TransformFunctionFactory()
+ createTransformFunction()
# getUDXFactoryType()
Vertica::UDFileSystemFactory
+ ~UDFileSystemFactory()
+ createUDFileSystem()
+ getPrototype()
+ getReturnType()
# getUDXFactoryType()
Vertica::UDLFactory
+ ~UDLFactory()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
Vertica::ParserFactory
Vertica::FilterFactory
+ getUDXFactoryType()
+ plan()
+ prepare()
Vertica::IterativeSource
Factory
+ getUDXFactoryType()
+ isSourceApportionable()
+ plan()
+ prepare()
Vertica::SourceFactory
+ plan()
+ prepareUDSources()
Vertica::UDXFactory
# libOid
# sqlName
+ ~UDXFactory()
+ getParameterType()
+ getPerInstanceResources()
+ getPrototype()
+ getReturnType()
+ getUDXFactoryType()
+ getParameterType()
+ getParserReturnType()
+ getUDXFactoryType()
+ isParserApportionable()
+ plan()
+ prepare()
+ prepareChunker()
278
Class Documentation
Public Types
enum UDXType {
FUNCTION, TRANSFORM, ANALYTIC, MULTI_TRANSFORM,
AGGREGATE, LOAD_SOURCE, LOAD_FILTER, LOAD_PARSER,
FILESYSTEM, TYPE }
Protected Attributes
Oid libOid
std::string sqlName
Friends
class ::UdfSupport
Detailed Description
MetaData interface for Vertica User Defined extensions
[inline], [virtual]
Function to tell Vertica the name and types of parameters that this function uses. Vertica will use this to warn function callers
that certain parameters they provide are not affecting anything, or that certain parameters that are not being set are reverting to
default values.
Reimplemented in Vertica::ParserFactory.
virtual void Vertica::UDXFactory::getPerInstanceResources ( ServerInterface & srvInterface, VResources & res ) [inline],
[virtual]
Set the resource required for each instance of the UDX Object subclass
279
Parameters
srvInterface
res
Reimplemented in Vertica::UDLFactory.
virtual void Vertica::UDXFactory::getPrototype ( ServerInterface & srvInterface, ColumnTypes & argTypes, ColumnTypes &
returnType ) [pure virtual]
Provides the argument and return types of the UDX
Implemented in Vertica::UDLFactory, Vertica::MultiPhaseTransformFunctionFactory, and Vertica::UDFileSystemFactory.
Referenced by Vertica::ScalarFunctionFactory::getReturnType().
virtual void Vertica::UDXFactory::getReturnType ( ServerInterface & srvInterface, const SizedColumnTypes & argTypes,
SizedColumnTypes & returnType ) [pure virtual]
Function to tell Vertica what the return types (and length/precision if necessary) of this UDX are.
For CHAR/VARCHAR types, specify the max length,
For NUMERIC types, specify the precision and scale.
For Time/Timestamp types (with or without time zone), specify the precision, -1 means unspecified/dont care
For IntervalYM/IntervalDS types, specify the precision and range
For all other types, no length/precision specification needed
Parameters
argTypes
returnType
Provides the data types of arguments that this UDT was called with. This may be used to modify the
return types accordingly.
User code must fill in the names and data types returned by the UDT.
Note
User subclasses should use the appropriate subclass of UDXFactory and not override this method on their own.
280
Class Documentation
Vertica::UDXObject
+ ~UDXObject()
+ destroy()
+ setup()
Vertica::AggregateFunction
Vertica::ScalarFunction
+ aggregateArrs()
+ combine()
+ initAggregate()
+ terminate()
+ updateCols()
Vertica::UDXObjectCancelable
# canceled
+ getOutputRange()
+ processBlock()
+ UDXObjectCancelable()
+ cancel()
+ isCanceled()
Vertica::AnalyticFunction
Vertica::TransformFunction
+ processPartition()
+ processPartition()
Vertica::UDXObject
+ ~UDXObject()
+ destroy()
+ setup()
Detailed Description
Base class for Vertica User Defined extensions, the object themselves
HP Vertica C++ SDK Documentation Version 7.1
Destructors MAY NOT throw errors / exceptions. Exceptions thrown during the destructor will be ignored.
virtual void Vertica::UDXObject::destroy ( ServerInterface & srvInterface, const SizedColumnTypes & argTypes ) [inline],
[virtual]
virtual void Vertica::UDXObject::setup ( ServerInterface & srvInterface, const SizedColumnTypes & argTypes ) [inline],
[virtual]
281
282
Class Documentation
Vertica::UDXObject
+ ~UDXObject()
+ destroy()
+ setup()
Vertica::UDXObjectCancelable
# canceled
+ UDXObjectCancelable()
+ cancel()
+ isCanceled()
Vertica::AnalyticFunction
Vertica::TransformFunction
+ processPartition()
+ processPartition()
283
Vertica::UDXObject
+ ~UDXObject()
+ destroy()
+ setup()
Vertica::UDXObjectCancelable
# canceled
+ UDXObjectCancelable()
+ cancel()
+ isCanceled()
Protected Attributes
volatile bool canceled
virtual void Vertica::UDXObject::destroy ( ServerInterface & srvInterface, const SizedColumnTypes & argTypes ) [inline],
[virtual], [inherited]
Perform per instance destruction. This function may throw errors
HP Vertica C++ SDK Documentation Version 7.1
284
Class Documentation
virtual void Vertica::UDXObject::setup ( ServerInterface & srvInterface, const SizedColumnTypes & argTypes ) [inline],
[virtual], [inherited]
Vertica::UDxRegistrar
+ UDxRegistrar()
285
Vertica::UnsizedUDSource
+ ~UnsizedUDSource()
+ destroy()
+ getPortion()
+ getUri()
+ process()
+ setup()
Vertica::UDSource
+ destroy()
+ getPortion()
+ getSize()
+ process()
+ setup()
Vertica::UnsizedUDSource
+ ~UnsizedUDSource()
+ destroy()
+ getPortion()
+ getUri()
+ process()
+ setup()
286
Class Documentation
Detailed Description
UnsizedUDSource
Base class for UDSource. Used with IterativeSourceFactory if computing the size of a source up front would be prohibitively
expensive, or if the number of distinct sources would be prohibitively large to use the standard API.
Not intended or optimized for typical applications.
UnsizedUDSource::getUri()
Return the URI of the current source of data.
This function will be invoked during execution to fill in monitoring information.
Vertica::VerticaValueRange
# narg
# ranges
# svWrappersLo
# svWrappersUp
# vnWrappersLo
# vnWrappersUp
+ VerticaValueRange()
+ ~VerticaValueRange()
+ canHaveNulls()
+ getColPtr()
+ getColPtrForWrite()
+ getNumRanges()
+ getRangeType()
+ getSortedness()
# addArg()
# setCanHaveNulls()
# setSortedness()
Vertica::ValueRangeReader
+ ValueRangeReader()
+ ~ValueRangeReader()
+ getBoolPtrLo()
+ getBoolPtrUp()
+ getBoolRefLo()
+ getBoolRefUp()
+ getDatePtrLo()
+ getDatePtrUp()
+ getDateRefLo()
+ getDateRefUp()
and 42 more...
287
288
Class Documentation
Vertica::VerticaValueRange
# narg
# ranges
# svWrappersLo
# svWrappersUp
# vnWrappersLo
# vnWrappersUp
+ VerticaValueRange()
+ ~VerticaValueRange()
+ canHaveNulls()
+ getColPtr()
+ getColPtrForWrite()
+ getNumRanges()
+ getRangeType()
+ getSortedness()
# addArg()
# setCanHaveNulls()
# setSortedness()
Vertica::ValueRangeReader
+ ValueRangeReader()
+ ~ValueRangeReader()
+ getBoolPtrLo()
+ getBoolPtrUp()
+ getBoolRefLo()
+ getBoolRefUp()
+ getDatePtrLo()
+ getDatePtrUp()
+ getDateRefLo()
+ getDateRefUp()
and 42 more...
289
290
Class Documentation
const VString getStringPtrLo (size_t idx)
Get a pointer to a VString value from a range bound.
Protected Types
enum BoundType { LO_BOUND, UP_BOUND }
291
Protected Attributes
size_t narg
std::vector< ValueRange > ranges
std::vector< VString > svWrappersLo
std::vector< VString > svWrappersUp
std::vector< VNumeric > vnWrappersLo
std::vector< VNumeric > vnWrappersUp
Friends
class EE::VEval
Detailed Description
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.
Returns
TRUE if some range values can be NULL, else FALSE.
292
Class Documentation
Parameters
idx
Returns
A pointer to the retrieved value cast as a BOOLEAN.
Referenced by getBoolRefLo().
Returns
a reference to the idxth argument, cast as BOOLEAN.
Referenced by isNull().
Returns
A pointer to the retrieved value cast as a DATE.
Referenced by getDateRefLo().
Returns
a reference to the idxth argument, cast as DATE.
Referenced by isNull().
Returns
A pointer to the retrieved value cast as a FLOAT.
Referenced by getFloatRefLo().
Returns
A reference to the idxth argument, cast as FLOAT.
Referenced by isNull().
Returns
A pointer to the retrieved value cast as an INTERVAL.
Referenced by getIntervalRefLo().
Returns
a reference to the idxth argument, cast as an INTERVAL.
Referenced by isNull().
293
294
Class Documentation
Parameters
idx
Returns
A point to the retrieved value cast as a INTERVAL YEAR TO MONTH.
Referenced by getIntervalYMRefLo().
Returns
a reference to the idxth argument, cast as INTERVAL YEAR TO MONTH.
Referenced by isNull().
Returns
a pointer to a chosen bound value, cast appropriately.
Example:
* const vint *a = range->getIntPtrLo(0); // gets a pointer to the lower bound of 1st arg
*
Referenced by getIntRefLo().
Returns
a reference to the chosen bound value, cast as INTEGER.
Example:
* const vint& a = range->getIntRefUp(0); // get upper bound of the 1st range argument
*
Referenced by isNull().
HP Vertica C++ SDK Documentation Version 7.1
Returns
A pointer to the retrieved value cast as a Numeric.
Referenced by getNumericRefLo().
Returns
a reference to the idxth argument, cast as VNumeric.
Referenced by isNull().
Returns
a VerticaType object describing the data type of the range values.
295
296
Class Documentation
Parameters
idx
Returns
the range sortedness. Possible values are: EE::SORT_UNORDERED - Unsorted EE::SORT_MONOTONIC_INCREASING - Ascending EE::SORT_MONOTONIC_DECREASING - Descending EE::SORT_CONSTANT - Single value
Returns
A pointer to the retrieved value cast as a VString.
Referenced by getStringRefLo().
Returns
a reference to the idxth argument, cast as VString.
Note
the returned object is a variable-length prefix of the actual string values in the range. For example, if the range values are
{abc, abb, bc, cab} the range bounds may be like: Lo=a and Up=cb. In the example, the upper bound is not even a
prefix of any value in the range, but all values in the range are greater than or equal than Lo and less than or equal to Up.
Referenced by isNull().
Returns
A pointer to the retrieved value cast as a TIME.
Referenced by getTimeRefLo().
HP Vertica C++ SDK Documentation Version 7.1
297
298
Class Documentation
Parameters
idx
Returns
a reference to the idxth argument, cast as TIME.
Referenced by isNull().
Returns
A pointer to the retrieved value cast as a TIMESTAMP.
Referenced by getTimestampRefLo().
Returns
a reference to the idxth argument, cast as TIMESTAMP.
Referenced by isNull().
Returns
A pointer to the retrieved value cast as a TIMESTAMP WITH TIMEZONE.
Referenced by getTimestampTzRefLo().
299
Parameters
idx
Returns
a reference to the idxth argument, cast as TIMESTAMP WITH TIMEZONE.
Referenced by isNull().
Returns
A pointer to the retrieved value cast as a TIME WITH TIMEZONE.
Referenced by getTimeTzRefLo().
Returns
a reference to the idxth argument, cast as TIME WITH TIMEZONE.
Referenced by isNull().
Returns
TRUE if the range bounds are safe to access, else FALSE.
300
Class Documentation
301
Parameters
idx
Returns
true if all values in the range are NULL, false otherwise.
Set a flag to indicate that some values in this range can be NULL.
Parameters
idx
u
Example:
302
Class Documentation
Vertica::VerticaValueRange
# narg
# ranges
# svWrappersLo
# svWrappersUp
# vnWrappersLo
# vnWrappersUp
+ VerticaValueRange()
+ ~VerticaValueRange()
+ canHaveNulls()
+ getColPtr()
+ getColPtrForWrite()
+ getNumRanges()
+ getRangeType()
+ getSortedness()
# addArg()
# setCanHaveNulls()
# setSortedness()
Vertica::ValueRangeWriter
+ ValueRangeWriter()
+ ~ValueRangeWriter()
+ canHaveNulls()
+ getNumericRefLo()
+ getNumericRefUp()
+ getSortedness()
+ getStringRefLo()
+ getStringRefUp()
+ hasBounds()
+ setBoolLo()
and 23 more...
303
Vertica::VerticaValueRange
# narg
# ranges
# svWrappersLo
# svWrappersUp
# vnWrappersLo
# vnWrappersUp
+ VerticaValueRange()
+ ~VerticaValueRange()
+ canHaveNulls()
+ getColPtr()
+ getColPtrForWrite()
+ getNumRanges()
+ getRangeType()
+ getSortedness()
# addArg()
# setCanHaveNulls()
# setSortedness()
Vertica::ValueRangeWriter
+ ValueRangeWriter()
+ ~ValueRangeWriter()
+ canHaveNulls()
+ getNumericRefLo()
+ getNumericRefUp()
+ getSortedness()
+ getStringRefLo()
+ getStringRefUp()
+ hasBounds()
+ setBoolLo()
and 23 more...
304
Class Documentation
bool canHaveNulls ()
template<class T , BoundType b>
const T getColPtr (size_t idx)
template<class T , BoundType b>
T getColPtrForWrite (size_t idx)
VNumeric & getNumericRefLo ()
Gets a VNumeric object reference to set the range lower bound.
EE::ValueSort getSortedness ()
VString & getStringRefLo ()
Gets a VString object reference to set the range lower bound.
bool hasBounds ()
void setBoolLo (vbool r)
Sets a range bound as a BOOLEAN value.
305
Protected Types
enum BoundType { LO_BOUND, UP_BOUND }
Protected Attributes
size_t narg
std::vector< ValueRange > ranges
std::vector< VString > svWrappersLo
std::vector< VString > svWrappersUp
std::vector< VNumeric > vnWrappersLo
std::vector< VNumeric > vnWrappersUp
Friends
class EE::VEval
Detailed Description
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.
306
Class Documentation
loBound
upBound
sortedness
dt
Returns
TRUE if some range values can be NULL, else FALSE.
307
Parameters
idx
Returns
a VerticaType object describing the data type of the range values.
Returns
the range sortedness. Possible values are: EE::SORT_UNORDERED - Unsorted EE::SORT_MONOTONIC_INCREASING - Ascending EE::SORT_MONOTONIC_DECREASING - Descending EE::SORT_CONSTANT - Single value
Referenced by setNull().
308
Class Documentation
Parameters
idx
u
Referenced by setNull().
Referenced by setNull().
Referenced by setNull().
Referenced by setNull().
309
Note
As side effect of this method, this range will be marked as having NULL values and its sortedness set to EE::SORT_CONSTANT.
Example:
* range.setSortedness(0, EE:SORT_CONSTANT); // defines a single-valued range
*
Referenced by setNull().
Referenced by setNull().
Referenced by setNull().
310
Class Documentation
Parameters
r
Referenced by setNull().
Vertica::VerticaBlock
# cols
# colstrides
# count
# index
# indices
# ncols
# nrows
# svWrappers
# typeMetaData
# vnWrappers
+ VerticaBlock()
+ getColPtr()
+ getColPtrForWrite()
+ getColRef()
+ getColRefForWrite()
+ getDataArea()
+ getNumCols()
+ getNumRows()
+ getTypeMetaData()
+ getTypeMetaData()
+ getVoidPtr()
+ setDataArea()
# addCol()
# addCol()
# validateStringColumn()
# void::copyDataToPlanPool()
Vertica::PartitionWriter
Vertica::BlockWriter
Vertica::BlockReader
+ BlockReader()
+ getBoolPtr()
+ getBoolRef()
+ getDatePtr()
+ getDateRef()
+ getFloatPtr()
+ getFloatRef()
+ getIntervalPtr()
+ getIntervalRef()
+ getIntervalYMPtr()
and 17 more...
Vertica::IntermediateAggs
+ BlockWriter()
+ getNumericRef()
+ getStringRef()
+ next()
+ setBool()
+ setDate()
+ setFloat()
+ setInt()
+ setInterval()
+ setIntervalYM()
+ setTime()
+ setTimestamp()
+ setTimestampTz()
+ setTimeTz()
Vertica::ParamReader
+ paramNameToIndex
+ IntermediateAggs()
+ IntermediateAggs()
+ getBoolPtr()
+ getBoolRef()
+ getDatePtr()
+ getDateRef()
+ getFloatPtr()
+ getFloatRef()
+ getIntervalPtr()
+ getIntervalRef()
and 16 more...
+ ParamReader()
+ ParamReader()
+ addParameter()
+ containsParameter()
+ getBoolPtr()
+ getBoolRef()
+ getDatePtr()
+ getDateRef()
+ getFloatPtr()
+ getFloatRef()
and 22 more...
+ udan
+ udt
+ udx_object
# @5
# pstart
+ PartitionWriter()
+ ~PartitionWriter()
+ copyFromInput()
+ getColumns()
+ getNumericRef()
+ getStringRef()
+ getStringRefNoClear()
+ getVoidPtr()
+ getWriteableBlock()
+ next()
and 11 more...
# commitPrelledRows()
Vertica::ParamWriter
Vertica::PartitionReader
Vertica::MultipleIntermediateAggs
+ MultipleIntermediateAggs()
+ MultipleIntermediateAggs()
+ udan
+ udt
+ udx_object
# @3
# dh
# pstart
+ PartitionReader()
+ ~PartitionReader()
+ next()
+ readNextBlock()
# setupColsAndStrides()
+ ParamWriter()
+ getLongStringRef()
+ getNumericRef()
+ getStringRef()
+ setAllocator()
+ setBool()
+ setDate()
+ setFloat()
+ setInt()
+ setInterval()
+ setIntervalYM()
+ setTime()
+ setTimestamp()
+ setTimestampTz()
+ setTimeTz()
Vertica::AnalyticPartition
Writer
Vertica::StreamWriter
# cumulative_rows
# parent
+ AnalyticPartitionWriter()
+ ~AnalyticPartitionWriter()
+ getWriteableBlock()
+ StreamWriter()
+ getTotalRowCount()
+ getWriteableBlock()
Vertica::AnalyticPartition
Reader
# newOrderMarkers
+ AnalyticPartitionReader()
+ isNewOrderByKey()
+ readNextBlock()
# setupColsAndStrides()
311
Vertica::SizedColumnTypes
+ addBinary()
+ addBinaryOrderColumn()
+ addBinaryPartitionColumn()
+ addBool()
+ addBoolOrderColumn()
+ addBoolPartitionColumn()
+ addChar()
+ addCharOrderColumn()
+ addCharPartitionColumn()
+ addDate()
and 57 more...
#typeMetaData
Vertica::VerticaBlock
# cols
# colstrides
# count
# index
# indices
# ncols
# nrows
# svWrappers
# vnWrappers
+ VerticaBlock()
+ getColPtr()
+ getColPtrForWrite()
+ getColRef()
+ getColRefForWrite()
+ getDataArea()
+ getNumCols()
+ getNumRows()
+ getTypeMetaData()
+ getTypeMetaData()
+ getVoidPtr()
+ setDataArea()
# addCol()
# addCol()
# validateStringColumn()
# void::copyDataToPlanPool()
312
Class Documentation
T getColPtrForWrite (size_t idx)
template<class T >
const T & getColRef (size_t idx)
template<class T >
T & getColRefForWrite (size_t idx)
const EE::DataArea getDataArea (size_t idx)
size_t getNumCols () const
int getNumRows () const
const SizedColumnTypes & getTypeMetaData () const
SizedColumnTypes & getTypeMetaData ()
void getVoidPtr ()
void setDataArea (size_t idx, void dataarea)
void addCol (char arg, int colstride, const VerticaType &dt, const std::string fieldName="")
void addCol (const char arg, int colstride, const VerticaType &dt, const std::string fieldName="")
void validateStringColumn (size_t idx, const VString &s, const VerticaType &t)
friend void::copyDataToPlanPool (VerticaBlock block)
Protected Attributes
Friends
class ::EE::UserDefinedAggregate
class ::EE::UserDefinedAnalytic
class ::EE::UserDefinedProcess
class ::EE::UserDefinedTransform
class AggregateFunction
struct CPPExecContext
class VerticaBlockSerializer
Detailed Description
: Represents an in-memory block of tuples
[protected]
Add the location for reading a particular argument.
HP Vertica C++ SDK Documentation Version 7.1
313
Parameters
arg
colstride
dt
fieldname
Referenced by Vertica::ParamReader::addParameter().
Referenced by Vertica::PartitionWriter::copyFromInput().
314
Class Documentation
Vertica::VerticaBuildInfo
+ branch
+ brand_name
+ brand_version
+ build_date
+ build_machine
+ checksum
+ codename
+ revision
+ VerticaBuildInfo()
Public Attributes
const char branch
const char brand_name
const char brand_version
const char build_date
const char build_machine
const char checksum
const char codename
const char revision
315
Vertica::VerticaType
+ getIntervalPrecision()
+ getIntervalRange()
+ getMaxSize()
+ getNumericFractional()
+ getNumericIntegral()
+ getNumericLength()
+ getNumericPrecision()
+ getNumericScale()
+ getNumericWordCount()
+ getPrettyPrintStr()
and 32 more...
316
Class Documentation
317
Detailed Description
Represents types of data that are passed into and returned back from users code.
Returns
If this is a built in type, returns the typeOid. Otherwise, if a user defined type returns the base type oid on which the user
type is based.
Note: This function is designed so that the common case (aka a built in, non user defined type) is fast calling isUDType() is a
heavyweight operation. See VER-24673 for an example of when it matters.
Referenced by getMaxSize(), Vertica::ValueRangeReader::isNull(), isStringType(), and Vertica::ValueRangeWriter::setNull().
318
Class Documentation
Vertica::VerticaValueRange
# narg
# ranges
# svWrappersLo
# svWrappersUp
# vnWrappersLo
# vnWrappersUp
+ VerticaValueRange()
+ ~VerticaValueRange()
+ canHaveNulls()
+ getColPtr()
+ getColPtrForWrite()
+ getNumRanges()
+ getRangeType()
+ getSortedness()
# addArg()
# setCanHaveNulls()
# setSortedness()
Vertica::ValueRangeReader
Vertica::ValueRangeWriter
+ ValueRangeReader()
+ ~ValueRangeReader()
+ getBoolPtrLo()
+ getBoolPtrUp()
+ getBoolRefLo()
+ getBoolRefUp()
+ getDatePtrLo()
+ getDatePtrUp()
+ getDateRefLo()
+ getDateRefUp()
and 42 more...
+ ValueRangeWriter()
+ ~ValueRangeWriter()
+ canHaveNulls()
+ getNumericRefLo()
+ getNumericRefUp()
+ getSortedness()
+ getStringRefLo()
+ getStringRefUp()
+ hasBounds()
+ setBoolLo()
and 23 more...
Vertica::VerticaValueRange
# narg
# ranges
# svWrappersLo
# svWrappersUp
# vnWrappersLo
# vnWrappersUp
+ VerticaValueRange()
+ ~VerticaValueRange()
+ canHaveNulls()
+ getColPtr()
+ getColPtrForWrite()
+ getNumRanges()
+ getRangeType()
+ getSortedness()
# addArg()
# setCanHaveNulls()
# setSortedness()
Classes
struct ValueRange
319
320
Class Documentation
Protected Types
enum BoundType { LO_BOUND, UP_BOUND }
Protected Attributes
size_t narg
std::vector< ValueRange > ranges
std::vector< VString > svWrappersLo
std::vector< VString > svWrappersUp
std::vector< VNumeric > vnWrappersLo
std::vector< VNumeric > vnWrappersUp
Detailed Description
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 functions output range using the knowledge
of the input argument ranges passed as references to ScalarFunction::getOutputRange().
321
Parameters
idx
Returns
TRUE if some range values can be NULL, else FALSE.
Returns
a VerticaType object describing the data type of the range values.
Returns
the range sortedness. Possible values are: EE::SORT_UNORDERED - Unsorted EE::SORT_MONOTONIC_INCREASING - Ascending EE::SORT_MONOTONIC_DECREASING - Descending EE::SORT_CONSTANT - Single value
322
Class Documentation
Parameters
idx
s
Example:
Vertica::VerticaType
+ getIntervalPrecision()
+ getIntervalRange()
+ getMaxSize()
+ getNumericFractional()
+ getNumericIntegral()
+ getNumericLength()
+ getNumericPrecision()
+ getNumericScale()
+ getNumericWordCount()
+ getPrettyPrintStr()
and 32 more...
+dt
Vertica::VerticaValueRange
::ValueRange
+ canHaveNulls
+ loBound
+ sortedness
+ upBound
+ ValueRange()
323
Public Attributes
bool canHaveNulls
VerticaType dt
char loBound
EE::ValueSort sortedness
char upBound
Vertica::VInterval
+ breakUp()
+ combine()
static Interval combine (int64 days, int64 hour, int64 min, double sec)
Compute an Interval from its components.
Detailed Description
Representation of an Interval in Vertica.
324
Class Documentation
Returns
None
Parameters
i]
days]
hour]
min]
sec]
Vertica Interval.
Number of days in the interval.
Number of hours in the interval.
Number of minutes in the interval.
Number of seconds including fractions of a second.
static Interval Vertica::VInterval::combine ( int64 days, int64 hour, int64 min, double sec ) [inline], [static]
Compute an Interval from its components.
Returns
the value of the specified Interval
Parameters
days]
hour]
min]
sec]
Vertica::VIntervalYM
+ breakUp()
325
Detailed Description
Representation of an IntervalYM in Vertica. An Interval can be broken up into years and months.
Vertica IntervalYM.
Number of years in the interval.
Number of months in the interval.
Vertica::VNumeric
+ VNumeric()
+ accumulate()
+ add()
+ compare()
+ compareUnsigned()
+ copy()
+ copy()
+ div()
+ equal()
+ incr()
and 12 more...
326
Class Documentation
Create a VNumeric with the provided storage location, precision and scale.
void incr ()
void invertSign ()
Inverts the sign of this VNumeric (equivalent to multiplying this VNumeric by -1)
void setZero ()
Sets this VNumeric to zero.
Detailed Description
Representation of NUMERIC, fixed point data types in Vertica.
Note
SQL NULL compares less than anything else; two SQL NULLs are considered equal
Note
SQL NULL compares less than anything else; two SQL NULLs are considered equal
Returns
false if conversion failed (precision lost or overflow, etc); true otherwise
327
328
Class Documentation
Vertica::VResources
+ nFileHandles
+ scratchMemory
+ VResources()
Public Attributes
int nFileHandles
vint scratchMemory
Detailed Description
Representation of the resources user code can ask Vertica for
vint Vertica::VResources::scratchMemory
Amount of RAM in bytes used by User defined function
Referenced by Vertica::UDLFactory::getPerInstanceResources().
329
Vertica::VString
+ alloc()
+ compare()
+ copy()
+ copy()
+ copy()
+ copy()
+ copy()
+ data()
+ data()
+ equal()
+ isNull()
+ length()
+ setNull()
+ str()
char data ()
Provides a writeable pointer to this VStrings internal data.
330
Class Documentation
void setNull ()
Sets this VString to the SQL NULL value.
Detailed Description
Representation of a String in Vertica. All character data is internally encoded as UTF-8 characters and is not NULL terminated.
length in bytes
Note
SQL NULL compares greater than anything else; two SQL NULLs are considered equal
Referenced by Vertica::PartitionWriter::copyFromInput().
Referenced by copy().
Referenced by copy().
Referenced by copy().
Note
The returned string is not null terminated
Referenced by alloc(), and str().
331
332
Class Documentation
Note
The returned string is not null terminated
Returns
-1 if both are SQL NULL, 0 if not equal, 1 if equal so you can easily consider two NULL values to be equal to each other,
or not
Returns
true if this string contains the SQL NULL value, false otherwise
Returns
the length of the string, in bytes. Does not include any extra space for null characters.
Referenced by str().
333
Returns
a std::string copy of the data in this VString
Vertica::VTAllocator
+ ~VTAllocator()
+ alloc()
Detailed Description
VTAllocator is a pool based allocator that is provided to simplify memory management for UDF implementors.
334
Class Documentation
File Documentation
Vertica.h File Reference
Contains the classes needed to write User-Defined things in Vertica.
Include dependency graph for Vertica.h:
Vertica.h
vector
list
string
map
algorithm
cassert
sstream
math.h
stdarg.h
stdio.h
locale.h
libintl.h
string.h
stdlib.h
stdint.h
Classes
struct Vertica::LibraryRegistrar
struct Vertica::UDxRegistrar
Namespaces
Vertica
Macros
#define __Linux64__
#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)
Detailed Description
Contains the classes needed to write User-Defined things in Vertica.
336
File Documentation
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.
Parameters
class
The name of the class to register as a UDx factory. Helper macro for registering UDxs with Vertica
To use: Extend a subclass of UDXFactory (e.g. ScalarFunctionFactory) and then call RegisterFactory with that class name.
For example:
... class MyFactory : public ScalarFunctionFactory ...
RegisterFactory(MyFactory);
Index
UDChunker
Vertica::UDChunker, 260
UDXObject
Vertica::UDXObject, 281
addArg
Vertica::ValueRangeReader, 291
Vertica::ValueRangeWriter, 305
Vertica::VerticaValueRange, 320
addBinary
Vertica::SizedColumnTypes, 224
addBinaryOrderColumn
Vertica::SizedColumnTypes, 224
addBinaryPartitionColumn
Vertica::SizedColumnTypes, 224
addBool
Vertica::SizedColumnTypes, 225
addBoolOrderColumn
Vertica::SizedColumnTypes, 225
addBoolPartitionColumn
Vertica::SizedColumnTypes, 225
addChar
Vertica::SizedColumnTypes, 225
addCharOrderColumn
Vertica::SizedColumnTypes, 225
addCharPartitionColumn
Vertica::SizedColumnTypes, 225
addCol
Vertica::AnalyticPartitionReader, 51
Vertica::AnalyticPartitionWriter, 63
Vertica::BlockReader, 74
Vertica::BlockWriter, 88
Vertica::IntermediateAggs, 105
Vertica::MultipleIntermediateAggs, 126
Vertica::ParamReader, 142
Vertica::ParamWriter, 155
Vertica::PartitionReader, 178
Vertica::PartitionWriter, 190
Vertica::StreamWriter, 249
Vertica::VerticaBlock, 312
addDate
Vertica::SizedColumnTypes, 226
addDateOrderColumn
Vertica::SizedColumnTypes, 226
addDatePartitionColumn
Vertica::SizedColumnTypes, 226
addFloat
Vertica::SizedColumnTypes, 226
addFloatOrderColumn
Vertica::SizedColumnTypes, 226
addFloatPartitionColumn
Vertica::SizedColumnTypes, 226
addInt
Vertica::SizedColumnTypes, 227
addIntOrderColumn
Vertica::SizedColumnTypes, 228
addIntPartitionColumn
Vertica::SizedColumnTypes, 228
addInterval
Vertica::SizedColumnTypes, 227
addIntervalOrderColumn
Vertica::SizedColumnTypes, 227
addIntervalPartitionColumn
Vertica::SizedColumnTypes, 227
addIntervalYM
Vertica::SizedColumnTypes, 227
addIntervalYMOrderColumn
Vertica::SizedColumnTypes, 228
addIntervalYMPartitionColumn
Vertica::SizedColumnTypes, 228
addLongVarbinary
Vertica::SizedColumnTypes, 228
addLongVarbinaryOrderColumn
Vertica::SizedColumnTypes, 228
addLongVarbinaryPartitionColumn
Vertica::SizedColumnTypes, 229
addLongVarchar
Vertica::SizedColumnTypes, 229
addLongVarcharOrderColumn
Vertica::SizedColumnTypes, 229
addLongVarcharPartitionColumn
Vertica::SizedColumnTypes, 229
addNumeric
Vertica::SizedColumnTypes, 229
addNumericOrderColumn
Vertica::SizedColumnTypes, 230
addNumericPartitionColumn
Vertica::SizedColumnTypes, 230
addParameter
Vertica::ParamReader, 142
Vertica::ParamWriter, 155
addTime
Vertica::SizedColumnTypes, 230
addTimeOrderColumn
Vertica::SizedColumnTypes, 230
addTimePartitionColumn
338
Vertica::SizedColumnTypes, 230
addTimeTz
Vertica::SizedColumnTypes, 233
addTimeTzOrderColumn
Vertica::SizedColumnTypes, 233
addTimeTzPartitionColumn
Vertica::SizedColumnTypes, 233
addTimestamp
Vertica::SizedColumnTypes, 231
addTimestampOrderColumn
Vertica::SizedColumnTypes, 231
addTimestampPartitionColumn
Vertica::SizedColumnTypes, 231
addTimestampTz
Vertica::SizedColumnTypes, 231
addTimestampTzOrderColumn
Vertica::SizedColumnTypes, 231
addTimestampTzPartitionColumn
Vertica::SizedColumnTypes, 231
addUserDefinedType
Vertica::SizedColumnTypes, 233
addVarbinary
Vertica::SizedColumnTypes, 233
addVarbinaryOrderColumn
Vertica::SizedColumnTypes, 234
addVarbinaryPartitionColumn
Vertica::SizedColumnTypes, 234
addVarchar
Vertica::SizedColumnTypes, 234
addVarcharOrderColumn
Vertica::SizedColumnTypes, 234
addVarcharPartitionColumn
Vertica::SizedColumnTypes, 234
aggregateArrs
Vertica::AggregateFunction, 32
alloc
Vertica::VString, 330
Vertica::VTAllocator, 333
allocator
Vertica::ServerInterface, 219
append
Vertica::PartitionWriterNumericColumn, 199
Vertica::PartitionWriterStringColumn, 202
appendWithRetry
Vertica::UDFileOperator, 262
Basics, 13
Basics::BigInt, 25
isEqualNN, 27
isZero, 27
numericToFloat, 27
setFromFloat, 27
ucompareNN, 27
Basics::BigInt::long_double_parts, 28
Basics::FiveToScale, 29
breakUp
Vertica::VInterval, 323
INDEX
Vertica::VIntervalYM, 325
canHaveNulls
Vertica::ValueRangeReader, 291
Vertica::ValueRangeWriter, 306
Vertica::VerticaValueRange, 320
cancel
Vertica::AnalyticFunction, 41
Vertica::TransformFunction, 253
Vertica::UDXObjectCancelable, 283
combine
Vertica::AggregateFunction, 33
Vertica::VInterval, 324
compare
Vertica::VNumeric, 327
Vertica::VString, 330
compareUnsigned
Vertica::VNumeric, 327
copy
Vertica::VNumeric, 327
Vertica::VString, 330, 331
copyFromInput
Vertica::AnalyticPartitionWriter, 63
Vertica::PartitionWriter, 190
Vertica::StreamWriter, 249
createAggregateFunction
Vertica::AggregateFunctionFactory, 36
createAnalyticFunction
Vertica::AnalyticFunctionFactory, 44
createNextSource
Vertica::DefaultSourceIterator, 95
Vertica::SourceIterator, 244
createScalarFunction
Vertica::ScalarFunctionFactory, 214
createTransformFunction
Vertica::TransformFunctionFactory, 256
Vertica::TransformFunctionPhase, 258
data
Vertica::VString, 331
DateADT
Vertica, 18
dependencies
Vertica::ServerInterface, 219
describeIntervalTypeMod
Vertica, 20
destroy
Vertica::AggregateFunction, 33
Vertica::AnalyticFunction, 41
Vertica::DefaultSourceIterator, 96
Vertica::ScalarFunction, 209
Vertica::SourceIterator, 244
Vertica::TransformFunction, 253
Vertica::UDChunker, 260
Vertica::UDFilter, 266
Vertica::UDParser, 272
Vertica::UDSource, 275
HP Vertica C++ SDK Documentation Version 7.1
INDEX
Vertica::UDXObject, 281
Vertica::UDXObjectCancelable, 283
directCopy
Vertica::PartitionWriterNumericColumn, 199
EE::DataArea, 29
EE::StringValue, 30
equal
Vertica::VString, 332
fileManager
Vertica::ServerInterface, 219
getArgumentColumns
Vertica::SizedColumnTypes, 234
getBoolPtr
Vertica::AnalyticPartitionReader, 51
Vertica::BlockReader, 75
Vertica::IntermediateAggs, 105
Vertica::MultipleIntermediateAggs, 127
Vertica::ParamReader, 142
Vertica::ParamWriter, 155
Vertica::PartitionReader, 178
getBoolPtrLo
Vertica::ValueRangeReader, 291
getBoolRef
Vertica::AnalyticPartitionReader, 51
Vertica::BlockReader, 75
Vertica::IntermediateAggs, 106
Vertica::MultipleIntermediateAggs, 127
Vertica::ParamReader, 142
Vertica::ParamWriter, 156
Vertica::PartitionReader, 178
getBoolRefLo
Vertica::ValueRangeReader, 292
getClusterNodes
Vertica::NodeSpecifyingPlanContext, 137
Vertica::PlanContext, 205
getColPtr
Vertica::AnalyticPartitionReader, 51
Vertica::AnalyticPartitionWriter, 63
Vertica::BlockReader, 75
Vertica::BlockWriter, 88
Vertica::IntermediateAggs, 106
Vertica::MultipleIntermediateAggs, 127
Vertica::ParamReader, 142
Vertica::ParamWriter, 156
Vertica::PartitionReader, 178
Vertica::PartitionWriter, 190
Vertica::StreamWriter, 249
Vertica::VerticaBlock, 313
getColRef
Vertica::AnalyticPartitionReader, 52
Vertica::AnalyticPartitionWriter, 63
Vertica::BlockReader, 75
Vertica::BlockWriter, 88
Vertica::IntermediateAggs, 106
Vertica::MultipleIntermediateAggs, 127
HP Vertica C++ SDK Documentation Version 7.1
339
Vertica::ParamReader, 143
Vertica::ParamWriter, 156
Vertica::PartitionReader, 179
Vertica::PartitionWriter, 191
Vertica::StreamWriter, 250
Vertica::VerticaBlock, 313
getColumnName
Vertica::SizedColumnTypes, 236
getColumnNames
Vertica::PerColumnParamReader, 203
getColumnParamReader
Vertica::PerColumnParamReader, 203
getColumnType
Vertica::SizedColumnTypes, 236
getCurrentNodeName
Vertica::ServerInterface, 218
getDateFromUnixTime
Vertica, 20
getDatePtr
Vertica::AnalyticPartitionReader, 52
Vertica::BlockReader, 75
Vertica::IntermediateAggs, 106
Vertica::MultipleIntermediateAggs, 127
Vertica::ParamReader, 143
Vertica::ParamWriter, 156
Vertica::PartitionReader, 179
getDatePtrLo
Vertica::ValueRangeReader, 292
getDateRef
Vertica::AnalyticPartitionReader, 52
Vertica::BlockReader, 77
Vertica::IntermediateAggs, 106
Vertica::MultipleIntermediateAggs, 128
Vertica::ParamReader, 143
Vertica::ParamWriter, 156
Vertica::PartitionReader, 179
getDateRefLo
Vertica::ValueRangeReader, 292
getDependencies
Vertica::ServerInterface, 218
getFloatPtr
Vertica::AnalyticPartitionReader, 52
Vertica::BlockReader, 77
Vertica::IntermediateAggs, 108
Vertica::MultipleIntermediateAggs, 128
Vertica::ParamReader, 143
Vertica::ParamWriter, 158
Vertica::PartitionReader, 179
getFloatPtrLo
Vertica::ValueRangeReader, 292
getFloatRef
Vertica::AnalyticPartitionReader, 53
Vertica::BlockReader, 77
Vertica::IntermediateAggs, 108
Vertica::MultipleIntermediateAggs, 128
Vertica::ParamReader, 143
Vertica::ParamWriter, 158
340
Vertica::PartitionReader, 180
getFloatRefLo
Vertica::ValueRangeReader, 293
getGMTTz
Vertica, 21
getIntPtr
Vertica::AnalyticPartitionReader, 54
Vertica::BlockReader, 78
Vertica::IntermediateAggs, 109
Vertica::MultipleIntermediateAggs, 129
Vertica::ParamReader, 146
Vertica::ParamWriter, 159
Vertica::PartitionReader, 181
getIntPtrLo
Vertica::ValueRangeReader, 294
getIntRef
Vertica::AnalyticPartitionReader, 54
Vertica::BlockReader, 79
Vertica::IntermediateAggs, 109
Vertica::MultipleIntermediateAggs, 130
Vertica::ParamReader, 146
Vertica::ParamWriter, 159
Vertica::PartitionReader, 181
getIntRefLo
Vertica::ValueRangeReader, 294
getIntermediateTypes
Vertica::AggregateFunctionFactory, 36
getIntervalPtr
Vertica::AnalyticPartitionReader, 53
Vertica::BlockReader, 77
Vertica::IntermediateAggs, 108
Vertica::MultipleIntermediateAggs, 128
Vertica::ParamReader, 145
Vertica::ParamWriter, 158
Vertica::PartitionReader, 180
getIntervalPtrLo
Vertica::ValueRangeReader, 293
getIntervalRef
Vertica::AnalyticPartitionReader, 53
Vertica::BlockReader, 78
Vertica::IntermediateAggs, 108
Vertica::MultipleIntermediateAggs, 129
Vertica::ParamReader, 145
Vertica::ParamWriter, 158
Vertica::PartitionReader, 180
getIntervalRefLo
Vertica::ValueRangeReader, 293
getIntervalYMPtr
Vertica::AnalyticPartitionReader, 53
Vertica::BlockReader, 78
Vertica::IntermediateAggs, 109
Vertica::MultipleIntermediateAggs, 129
Vertica::ParamReader, 145
Vertica::ParamWriter, 159
Vertica::PartitionReader, 180
getIntervalYMPtrLo
Vertica::ValueRangeReader, 293
INDEX
getIntervalYMRef
Vertica::AnalyticPartitionReader, 54
Vertica::BlockReader, 78
Vertica::IntermediateAggs, 109
Vertica::MultipleIntermediateAggs, 129
Vertica::ParamReader, 145
Vertica::ParamWriter, 159
Vertica::PartitionReader, 181
getIntervalYMRefLo
Vertica::ValueRangeReader, 294
getLocale
Vertica::ServerInterface, 218
getLongStringRef
Vertica::ParamWriter, 160
getMaxSize
Vertica::PartitionWriterStringColumn, 202
getNumCols
Vertica::AnalyticPartitionReader, 54
Vertica::AnalyticPartitionWriter, 64
Vertica::BlockReader, 79
Vertica::BlockWriter, 89
Vertica::IntermediateAggs, 110
Vertica::MultipleIntermediateAggs, 130
Vertica::ParamReader, 146
Vertica::ParamWriter, 160
Vertica::PartitionReader, 181
Vertica::PartitionWriter, 191
Vertica::StreamWriter, 250
Vertica::VerticaBlock, 313
getNumRanges
Vertica::ValueRangeReader, 295
Vertica::ValueRangeWriter, 306
Vertica::VerticaValueRange, 321
getNumRows
Vertica::AnalyticPartitionReader, 55
Vertica::AnalyticPartitionWriter, 64
Vertica::BlockReader, 80
Vertica::BlockWriter, 89
Vertica::IntermediateAggs, 110
Vertica::MultipleIntermediateAggs, 131
Vertica::ParamReader, 147
Vertica::ParamWriter, 160
Vertica::PartitionReader, 182
Vertica::PartitionWriter, 191
Vertica::StreamWriter, 250
Vertica::VerticaBlock, 313
getNumberOfSources
Vertica::DefaultSourceIterator, 96
Vertica::SourceIterator, 244
getNumericPtr
Vertica::AnalyticPartitionReader, 55
Vertica::BlockReader, 79
Vertica::IntermediateAggs, 110
Vertica::MultipleIntermediateAggs, 130
Vertica::ParamReader, 146
Vertica::ParamWriter, 160
Vertica::PartitionReader, 182
HP Vertica C++ SDK Documentation Version 7.1
INDEX
getNumericPtrLo
Vertica::ValueRangeReader, 294
getNumericRef
Vertica::AnalyticPartitionReader, 55
Vertica::BlockReader, 79
Vertica::BlockWriter, 89
Vertica::IntermediateAggs, 110
Vertica::MultipleIntermediateAggs, 130
Vertica::ParamReader, 147
Vertica::ParamWriter, 160
Vertica::PartitionReader, 182
getNumericRefLo
Vertica::ValueRangeReader, 295
Vertica::ValueRangeWriter, 306
getNumericRefUp
Vertica::ValueRangeWriter, 306
getOrderByColumns
Vertica::SizedColumnTypes, 236
getOutputRange
Vertica::ScalarFunction, 209
getParamReader
Vertica::ServerInterface, 218
getParameterType
Vertica::AggregateFunctionFactory, 36
Vertica::AnalyticFunctionFactory, 44
Vertica::FilterFactory, 99
Vertica::IterativeSourceFactory, 116
Vertica::MultiPhaseTransformFunctionFactory, 121
Vertica::ParserFactory, 170
Vertica::ScalarFunctionFactory, 214
Vertica::SourceFactory, 240
Vertica::TransformFunctionFactory, 256
Vertica::UDFileSystemFactory, 265
Vertica::UDLFactory, 270
Vertica::UDXFactory, 278
getParserReturnType
Vertica::ParserFactory, 170
getPartitionByColumns
Vertica::SizedColumnTypes, 236
getPerInstanceResources
Vertica::AggregateFunctionFactory, 36
Vertica::AnalyticFunctionFactory, 44
Vertica::FilterFactory, 99
Vertica::IterativeSourceFactory, 116
Vertica::MultiPhaseTransformFunctionFactory, 121
Vertica::ParserFactory, 171
Vertica::ScalarFunctionFactory, 214
Vertica::SourceFactory, 240
Vertica::TransformFunctionFactory, 256
Vertica::UDFileSystemFactory, 265
Vertica::UDLFactory, 270
Vertica::UDXFactory, 278
getPhases
Vertica::MultiPhaseTransformFunctionFactory, 121
getPrototype
Vertica::AggregateFunctionFactory, 38
Vertica::AnalyticFunctionFactory, 45
HP Vertica C++ SDK Documentation Version 7.1
341
Vertica::FilterFactory, 99
Vertica::IterativeSourceFactory, 117
Vertica::MultiPhaseTransformFunctionFactory, 121
Vertica::ParserFactory, 171
Vertica::ScalarFunctionFactory, 215
Vertica::SourceFactory, 241
Vertica::TransformFunctionFactory, 257
Vertica::UDFileSystemFactory, 265
Vertica::UDLFactory, 270
Vertica::UDXFactory, 279
getRangeType
Vertica::ValueRangeReader, 295
Vertica::ValueRangeWriter, 306
Vertica::VerticaValueRange, 321
getReader
Vertica::NodeSpecifyingPlanContext, 137
Vertica::PlanContext, 205
getRef
Vertica::PartitionWriterNumericColumn, 199
Vertica::PartitionWriterStringColumn, 202
getRejectedRecord
Vertica::UDParser, 272
getReturnType
Vertica::AggregateFunctionFactory, 38
Vertica::AnalyticFunctionFactory, 45
Vertica::FilterFactory, 100
Vertica::IterativeSourceFactory, 117
Vertica::MultiPhaseTransformFunctionFactory, 121
Vertica::ParserFactory, 171
Vertica::ScalarFunctionFactory, 215
Vertica::SourceFactory, 241
Vertica::TransformFunctionFactory, 257
Vertica::TransformFunctionPhase, 259
Vertica::UDFileSystemFactory, 265
Vertica::UDLFactory, 270
Vertica::UDXFactory, 279
getSessionParamReader
Vertica::ServerInterface, 218
getSize
Vertica::UDSource, 276
getSizeOfSource
Vertica::DefaultSourceIterator, 96
Vertica::SourceIterator, 244
getSortedness
Vertica::ValueRangeReader, 295
Vertica::ValueRangeWriter, 307
Vertica::VerticaValueRange, 321
getStrideLength
Vertica::BasePartitionWriterColumn, 67
Vertica::PartitionWriterColumn, 194
Vertica::PartitionWriterNumericColumn, 199
Vertica::PartitionWriterStringColumn, 202
getStringPtr
Vertica::AnalyticPartitionReader, 55
Vertica::BlockReader, 80
Vertica::IntermediateAggs, 110
Vertica::MultipleIntermediateAggs, 131
342
Vertica::ParamReader, 147
Vertica::ParamWriter, 160
Vertica::PartitionReader, 182
getStringPtrLo
Vertica::ValueRangeReader, 296
getStringRef
Vertica::AnalyticPartitionReader, 55
Vertica::BlockReader, 80
Vertica::BlockWriter, 89
Vertica::IntermediateAggs, 111
Vertica::MultipleIntermediateAggs, 131
Vertica::ParamReader, 147
Vertica::ParamWriter, 162
Vertica::PartitionReader, 182
getStringRefLo
Vertica::ValueRangeReader, 296
Vertica::ValueRangeWriter, 307
getStringRefUp
Vertica::ValueRangeWriter, 307
getTargetNodes
Vertica::NodeSpecifyingPlanContext, 137
getTime
Vertica, 21
getTimeFromUnixTime
Vertica, 21
getTimePtr
Vertica::AnalyticPartitionReader, 57
Vertica::BlockReader, 80
Vertica::IntermediateAggs, 111
Vertica::MultipleIntermediateAggs, 131
Vertica::ParamReader, 147
Vertica::ParamWriter, 162
Vertica::PartitionReader, 184
getTimePtrLo
Vertica::ValueRangeReader, 296
getTimeRef
Vertica::AnalyticPartitionReader, 57
Vertica::BlockReader, 80
Vertica::IntermediateAggs, 111
Vertica::MultipleIntermediateAggs, 131
Vertica::ParamReader, 148
Vertica::ParamWriter, 162
Vertica::PartitionReader, 184
getTimeRefLo
Vertica::ValueRangeReader, 296
getTimeTz
Vertica, 21
getTimeTzPtr
Vertica::AnalyticPartitionReader, 58
Vertica::BlockReader, 83
Vertica::IntermediateAggs, 112
Vertica::MultipleIntermediateAggs, 134
Vertica::ParamReader, 149
Vertica::ParamWriter, 164
Vertica::PartitionReader, 185
getTimeTzPtrLo
Vertica::ValueRangeReader, 299
INDEX
getTimeTzRef
Vertica::AnalyticPartitionReader, 58
Vertica::BlockReader, 83
Vertica::IntermediateAggs, 113
Vertica::MultipleIntermediateAggs, 134
Vertica::ParamReader, 149
Vertica::ParamWriter, 164
Vertica::PartitionReader, 185
getTimeTzRefLo
Vertica::ValueRangeReader, 299
getTimestampFromUnixTime
Vertica, 21
getTimestampPtr
Vertica::AnalyticPartitionReader, 57
Vertica::BlockReader, 82
Vertica::IntermediateAggs, 111
Vertica::MultipleIntermediateAggs, 133
Vertica::ParamReader, 148
Vertica::ParamWriter, 162
Vertica::PartitionReader, 184
getTimestampPtrLo
Vertica::ValueRangeReader, 298
getTimestampRef
Vertica::AnalyticPartitionReader, 57
Vertica::BlockReader, 82
Vertica::IntermediateAggs, 112
Vertica::MultipleIntermediateAggs, 133
Vertica::ParamReader, 148
Vertica::ParamWriter, 162
Vertica::PartitionReader, 184
getTimestampRefLo
Vertica::ValueRangeReader, 298
getTimestampTzFromUnixTime
Vertica, 21
getTimestampTzPtr
Vertica::AnalyticPartitionReader, 58
Vertica::BlockReader, 82
Vertica::IntermediateAggs, 112
Vertica::MultipleIntermediateAggs, 133
Vertica::ParamReader, 148
Vertica::ParamWriter, 164
Vertica::PartitionReader, 185
getTimestampTzPtrLo
Vertica::ValueRangeReader, 298
getTimestampTzRef
Vertica::AnalyticPartitionReader, 58
Vertica::BlockReader, 82
Vertica::IntermediateAggs, 112
Vertica::MultipleIntermediateAggs, 133
Vertica::ParamReader, 149
Vertica::ParamWriter, 164
Vertica::PartitionReader, 185
getTimestampTzRefLo
Vertica::ValueRangeReader, 298
getTypeMetaData
Vertica::AnalyticPartitionReader, 59
Vertica::AnalyticPartitionWriter, 64
HP Vertica C++ SDK Documentation Version 7.1
INDEX
Vertica::BlockReader, 83
Vertica::BlockWriter, 89
Vertica::IntermediateAggs, 113
Vertica::MultipleIntermediateAggs, 134
Vertica::ParamReader, 149
Vertica::ParamWriter, 165
Vertica::PartitionReader, 186
Vertica::PartitionWriter, 191
Vertica::StreamWriter, 250
Vertica::VerticaBlock, 313
getUDLParamReader
Vertica::NodeSpecifyingPlanContext, 137
Vertica::PlanContext, 205
getUDLParamWriter
Vertica::NodeSpecifyingPlanContext, 137
Vertica::PlanContext, 206
getUDXFactoryType
Vertica::AggregateFunctionFactory, 38
Vertica::AnalyticFunctionFactory, 45
Vertica::FilterFactory, 100
Vertica::IterativeSourceFactory, 117
Vertica::MultiPhaseTransformFunctionFactory, 122
Vertica::ParserFactory, 171
Vertica::ScalarFunctionFactory, 215
Vertica::SourceFactory, 241
Vertica::TransformFunctionFactory, 257
Vertica::UDFileSystemFactory, 265
Vertica::UDLFactory, 270
Vertica::UDXFactory, 279
getUnderlyingType
Vertica::VerticaType, 317
getUnixTimeFromDate
Vertica, 21
getUnixTimeFromTime
Vertica, 21
getUnixTimeFromTimestamp
Vertica, 21
getUri
Vertica::UDSource, 276
Vertica::UnsizedUDSource, 286
getWriteableBlock
Vertica::AnalyticPartitionWriter, 64
Vertica::PartitionWriter, 191
Vertica::StreamWriter, 250
getWriter
Vertica::NodeSpecifyingPlanContext, 137
Vertica::PlanContext, 206
getZoneTz
Vertica, 21
hasBounds
Vertica::ValueRangeReader, 299
initAggregate
Vertica::AggregateFunction, 33
InlineAggregate
Vertica.h, 335
HP Vertica C++ SDK Documentation Version 7.1
343
InputState
Vertica, 19
Interval
Vertica, 18
IntervalYM
Vertica, 19
isCanceled
Vertica::AnalyticFunction, 41
Vertica::TransformFunction, 253
Vertica::UDXObjectCancelable, 283
isEqualNN
Basics::BigInt, 27
isNull
Vertica::AnalyticPartitionReader, 59
Vertica::BlockReader, 83
Vertica::MultipleIntermediateAggs, 134
Vertica::PartitionReader, 186
Vertica::ValueRangeReader, 299
Vertica::VString, 332
isOrderByColumn
Vertica::SizedColumnTypes, 237
isParserApportionable
Vertica::ParserFactory, 172
isPartitionByColumn
Vertica::SizedColumnTypes, 237
isReadyToCooperate
Vertica::UDParser, 272
isZero
Basics::BigInt, 27
length
Vertica::VString, 332
locale
Vertica::ServerInterface, 219
log
Vertica, 21
Vertica::ServerInterface, 218
nFileHandles
Vertica::VResources, 328
next
Vertica::BlockReader, 84
Vertica::BlockWriter, 89
Vertica::MultipleIntermediateAggs, 135
nodeName
Vertica::ServerInterface, 219
numericToFloat
Basics::BigInt, 27
paramNameToIndex
Vertica::ParamReader, 150
Vertica::ParamWriter, 167
paramReader
Vertica::ServerInterface, 220
plan
Vertica::FilterFactory, 100
Vertica::IterativeSourceFactory, 117
Vertica::ParserFactory, 172
344
Vertica::SourceFactory, 241
prepare
Vertica::FilterFactory, 100
Vertica::IterativeSourceFactory, 117
Vertica::ParserFactory, 172
Vertica::SourceFactory, 241
prepareToCooperate
Vertica::UDParser, 273
prepareUDSources
Vertica::SourceFactory, 242
process
Vertica::UDChunker, 260
Vertica::UDFilter, 266
Vertica::UDParser, 273
Vertica::UDSource, 276
processBlock
Vertica::ScalarFunction, 209
processPartition
Vertica::AnalyticFunction, 41
Vertica::TransformFunction, 253
readNextBlock
Vertica::AnalyticPartitionReader, 59
Vertica::PartitionReader, 186
RegisterFactory
Vertica.h, 336
scratchMemory
Vertica::VResources, 328
ServerInterface
Vertica::ServerInterface, 218
sessionParamReader
Vertica::ServerInterface, 220
setAllocator
Vertica::ParamWriter, 165
setBool
Vertica::BlockWriter, 90
Vertica::ParamWriter, 165
setBoolLo
Vertica::ValueRangeWriter, 307
setCanHaveNulls
Vertica::ValueRangeReader, 301
Vertica::ValueRangeWriter, 307
Vertica::VerticaValueRange, 321
setDate
Vertica::BlockWriter, 90
Vertica::ParamWriter, 165
setDateLo
Vertica::ValueRangeWriter, 308
setDependencies
Vertica::ServerInterface, 219
setFloat
Vertica::BlockWriter, 90
Vertica::ParamWriter, 165
setFloatLo
Vertica::ValueRangeWriter, 308
setFromFloat
INDEX
Basics::BigInt, 27
setInt
Vertica::AnalyticPartitionWriter, 64
Vertica::BlockWriter, 90
Vertica::ParamWriter, 166
Vertica::PartitionWriter, 191
Vertica::StreamWriter, 250
setIntLo
Vertica::ValueRangeWriter, 308
setInterval
Vertica::BlockWriter, 90
Vertica::ParamWriter, 166
setIntervalLo
Vertica::ValueRangeWriter, 308
setIntervalYM
Vertica::BlockWriter, 90
Vertica::ParamWriter, 166
setIntervalYMLo
Vertica::ValueRangeWriter, 308
setNull
Vertica::AnalyticPartitionWriter, 64
Vertica::PartitionWriter, 192
Vertica::StreamWriter, 251
Vertica::ValueRangeWriter, 308
setParamReader
Vertica::ServerInterface, 219
setPartitionOrderColumnIdx
Vertica::SizedColumnTypes, 237
setSessionParamReader
Vertica::ServerInterface, 219
setSortedness
Vertica::ValueRangeReader, 301
Vertica::ValueRangeWriter, 309
Vertica::VerticaValueRange, 321
setTargetNodes
Vertica::NodeSpecifyingPlanContext, 137
setTime
Vertica, 23
Vertica::BlockWriter, 91
Vertica::ParamWriter, 166
setTimeLo
Vertica::ValueRangeWriter, 309
setTimeTz
Vertica, 23
Vertica::BlockWriter, 91
Vertica::ParamWriter, 167
setTimeTzLo
Vertica::ValueRangeWriter, 309
setTimestamp
Vertica::BlockWriter, 91
Vertica::ParamWriter, 166
setTimestampLo
Vertica::ValueRangeWriter, 309
setTimestampTz
Vertica::BlockWriter, 91
Vertica::ParamWriter, 166
setTimestampTzLo
HP Vertica C++ SDK Documentation Version 7.1
INDEX
Vertica::ValueRangeWriter, 309
setup
Vertica::AggregateFunction, 33
Vertica::AnalyticFunction, 41
Vertica::DefaultSourceIterator, 96
Vertica::ScalarFunction, 211
Vertica::SourceIterator, 245
Vertica::TransformFunction, 253
Vertica::UDChunker, 261
Vertica::UDFilter, 267
Vertica::UDParser, 273
Vertica::UDSource, 276
Vertica::UDXObject, 281
Vertica::UDXObjectCancelable, 284
sqlName
Vertica::ServerInterface, 220
str
Vertica::VString, 332
StreamState
Vertica, 20
terminate
Vertica::AggregateFunction, 33
TimeADT
Vertica, 19
TimeTzADT
Vertica, 19
Timestamp
Vertica, 19
TimestampTz
Vertica, 19
toFloat
Vertica::VNumeric, 327
UDXDebugLevels
Vertica, 20
UDXType
Vertica::AggregateFunctionFactory, 36
Vertica::AnalyticFunctionFactory, 44
Vertica::FilterFactory, 99
Vertica::IterativeSourceFactory, 116
Vertica::MultiPhaseTransformFunctionFactory, 121
Vertica::ParserFactory, 170
Vertica::ScalarFunctionFactory, 214
Vertica::SourceFactory, 240
Vertica::TransformFunctionFactory, 256
Vertica::UDFileSystemFactory, 265
Vertica::UDLFactory, 270
Vertica::UDXFactory, 278
ucompareNN
Basics::BigInt, 27
udxDebugLogLevel
Vertica::ServerInterface, 220
updateCols
Vertica::AggregateFunction, 33
VNumeric
Vertica::VNumeric, 326
HP Vertica C++ SDK Documentation Version 7.1
345
Vertica, 13
DateADT, 18
describeIntervalTypeMod, 20
getDateFromUnixTime, 20
getGMTTz, 21
getTime, 21
getTimeFromUnixTime, 21
getTimeTz, 21
getTimestampFromUnixTime, 21
getTimestampTzFromUnixTime, 21
getUnixTimeFromDate, 21
getUnixTimeFromTime, 21
getUnixTimeFromTimestamp, 21
getZoneTz, 21
InputState, 19
Interval, 18
IntervalYM, 19
log, 21
setTime, 23
setTimeTz, 23
StreamState, 20
TimeADT, 19
TimeTzADT, 19
Timestamp, 19
TimestampTz, 19
UDXDebugLevels, 20
volatility, 20
vsmemcpy, 23
Vertica.h, 335
InlineAggregate, 335
RegisterFactory, 336
Vertica::AggregateFunction, 31
aggregateArrs, 32
combine, 33
destroy, 33
initAggregate, 33
setup, 33
terminate, 33
updateCols, 33
Vertica::AggregateFunctionFactory, 34
createAggregateFunction, 36
getIntermediateTypes, 36
getParameterType, 36
getPerInstanceResources, 36
getPrototype, 38
getReturnType, 38
getUDXFactoryType, 38
UDXType, 36
Vertica::AnalyticFunction, 39
cancel, 41
destroy, 41
isCanceled, 41
processPartition, 41
setup, 41
Vertica::AnalyticFunctionFactory, 42
createAnalyticFunction, 44
getParameterType, 44
346
getPerInstanceResources, 44
getPrototype, 45
getReturnType, 45
getUDXFactoryType, 45
UDXType, 44
Vertica::AnalyticPartitionReader, 47
addCol, 51
getBoolPtr, 51
getBoolRef, 51
getColPtr, 51
getColRef, 52
getDatePtr, 52
getDateRef, 52
getFloatPtr, 52
getFloatRef, 53
getIntPtr, 54
getIntRef, 54
getIntervalPtr, 53
getIntervalRef, 53
getIntervalYMPtr, 53
getIntervalYMRef, 54
getNumCols, 54
getNumRows, 55
getNumericPtr, 55
getNumericRef, 55
getStringPtr, 55
getStringRef, 55
getTimePtr, 57
getTimeRef, 57
getTimeTzPtr, 58
getTimeTzRef, 58
getTimestampPtr, 57
getTimestampRef, 57
getTimestampTzPtr, 58
getTimestampTzRef, 58
getTypeMetaData, 59
isNull, 59
readNextBlock, 59
Vertica::AnalyticPartitionWriter, 60
addCol, 63
copyFromInput, 63
getColPtr, 63
getColRef, 63
getNumCols, 64
getNumRows, 64
getTypeMetaData, 64
getWriteableBlock, 64
setInt, 64
setNull, 64
Vertica::BasePartitionWriterColumn, 65
getStrideLength, 67
Vertica::BlockFormatter, 67
Vertica::BlockFormatterCout, 69
Vertica::BlockReader, 70
addCol, 74
getBoolPtr, 75
getBoolRef, 75
INDEX
getColPtr, 75
getColRef, 75
getDatePtr, 75
getDateRef, 77
getFloatPtr, 77
getFloatRef, 77
getIntPtr, 78
getIntRef, 79
getIntervalPtr, 77
getIntervalRef, 78
getIntervalYMPtr, 78
getIntervalYMRef, 78
getNumCols, 79
getNumRows, 80
getNumericPtr, 79
getNumericRef, 79
getStringPtr, 80
getStringRef, 80
getTimePtr, 80
getTimeRef, 80
getTimeTzPtr, 83
getTimeTzRef, 83
getTimestampPtr, 82
getTimestampRef, 82
getTimestampTzPtr, 82
getTimestampTzRef, 82
getTypeMetaData, 83
isNull, 83
next, 84
Vertica::BlockWriter, 84
addCol, 88
getColPtr, 88
getColRef, 88
getNumCols, 89
getNumRows, 89
getNumericRef, 89
getStringRef, 89
getTypeMetaData, 89
next, 89
setBool, 90
setDate, 90
setFloat, 90
setInt, 90
setInterval, 90
setIntervalYM, 90
setTime, 91
setTimeTz, 91
setTimestamp, 91
setTimestampTz, 91
Vertica::ColumnTypes, 91
Vertica::DataBuffer, 93
Vertica::DefaultSourceIterator, 94
createNextSource, 95
destroy, 96
getNumberOfSources, 96
getSizeOfSource, 96
setup, 96
HP Vertica C++ SDK Documentation Version 7.1
INDEX
Vertica::FIunion, 101
Vertica::FilterFactory, 97
getParameterType, 99
getPerInstanceResources, 99
getPrototype, 99
getReturnType, 100
getUDXFactoryType, 100
plan, 100
prepare, 100
UDXType, 99
Vertica::IntermediateAggs, 101
addCol, 105
getBoolPtr, 105
getBoolRef, 106
getColPtr, 106
getColRef, 106
getDatePtr, 106
getDateRef, 106
getFloatPtr, 108
getFloatRef, 108
getIntPtr, 109
getIntRef, 109
getIntervalPtr, 108
getIntervalRef, 108
getIntervalYMPtr, 109
getIntervalYMRef, 109
getNumCols, 110
getNumRows, 110
getNumericPtr, 110
getNumericRef, 110
getStringPtr, 110
getStringRef, 111
getTimePtr, 111
getTimeRef, 111
getTimeTzPtr, 112
getTimeTzRef, 113
getTimestampPtr, 111
getTimestampRef, 112
getTimestampTzPtr, 112
getTimestampTzRef, 112
getTypeMetaData, 113
Vertica::IterativeSourceFactory, 114
getParameterType, 116
getPerInstanceResources, 116
getPrototype, 117
getReturnType, 117
getUDXFactoryType, 117
plan, 117
prepare, 117
UDXType, 116
Vertica::LibraryRegistrar, 118
Vertica::MultiPhaseTransformFunctionFactory, 119
getParameterType, 121
getPerInstanceResources, 121
getPhases, 121
getPrototype, 121
getReturnType, 121
HP Vertica C++ SDK Documentation Version 7.1
347
getUDXFactoryType, 122
UDXType, 121
Vertica::MultipleIntermediateAggs, 122
addCol, 126
getBoolPtr, 127
getBoolRef, 127
getColPtr, 127
getColRef, 127
getDatePtr, 127
getDateRef, 128
getFloatPtr, 128
getFloatRef, 128
getIntPtr, 129
getIntRef, 130
getIntervalPtr, 128
getIntervalRef, 129
getIntervalYMPtr, 129
getIntervalYMRef, 129
getNumCols, 130
getNumRows, 131
getNumericPtr, 130
getNumericRef, 130
getStringPtr, 131
getStringRef, 131
getTimePtr, 131
getTimeRef, 131
getTimeTzPtr, 134
getTimeTzRef, 134
getTimestampPtr, 133
getTimestampRef, 133
getTimestampTzPtr, 133
getTimestampTzRef, 133
getTypeMetaData, 134
isNull, 134
next, 135
Vertica::NodeSpecifyingPlanContext, 135
getClusterNodes, 137
getReader, 137
getTargetNodes, 137
getUDLParamReader, 137
getUDLParamWriter, 137
getWriter, 137
setTargetNodes, 137
Vertica::ParamReader, 137
addCol, 142
addParameter, 142
getBoolPtr, 142
getBoolRef, 142
getColPtr, 142
getColRef, 143
getDatePtr, 143
getDateRef, 143
getFloatPtr, 143
getFloatRef, 143
getIntPtr, 146
getIntRef, 146
getIntervalPtr, 145
348
getIntervalRef, 145
getIntervalYMPtr, 145
getIntervalYMRef, 145
getNumCols, 146
getNumRows, 147
getNumericPtr, 146
getNumericRef, 147
getStringPtr, 147
getStringRef, 147
getTimePtr, 147
getTimeRef, 148
getTimeTzPtr, 149
getTimeTzRef, 149
getTimestampPtr, 148
getTimestampRef, 148
getTimestampTzPtr, 148
getTimestampTzRef, 149
getTypeMetaData, 149
paramNameToIndex, 150
Vertica::ParamWriter, 150
addCol, 155
addParameter, 155
getBoolPtr, 155
getBoolRef, 156
getColPtr, 156
getColRef, 156
getDatePtr, 156
getDateRef, 156
getFloatPtr, 158
getFloatRef, 158
getIntPtr, 159
getIntRef, 159
getIntervalPtr, 158
getIntervalRef, 158
getIntervalYMPtr, 159
getIntervalYMRef, 159
getLongStringRef, 160
getNumCols, 160
getNumRows, 160
getNumericPtr, 160
getNumericRef, 160
getStringPtr, 160
getStringRef, 162
getTimePtr, 162
getTimeRef, 162
getTimeTzPtr, 164
getTimeTzRef, 164
getTimestampPtr, 162
getTimestampRef, 162
getTimestampTzPtr, 164
getTimestampTzRef, 164
getTypeMetaData, 165
paramNameToIndex, 167
setAllocator, 165
setBool, 165
setDate, 165
setFloat, 165
INDEX
setInt, 166
setInterval, 166
setIntervalYM, 166
setTime, 166
setTimeTz, 167
setTimestamp, 166
setTimestampTz, 166
Vertica::ParserFactory, 168
getParameterType, 170
getParserReturnType, 170
getPerInstanceResources, 171
getPrototype, 171
getReturnType, 171
getUDXFactoryType, 171
isParserApportionable, 172
plan, 172
prepare, 172
UDXType, 170
Vertica::PartitionOrderColumnInfo, 172
Vertica::PartitionReader, 174
addCol, 178
getBoolPtr, 178
getBoolRef, 178
getColPtr, 178
getColRef, 179
getDatePtr, 179
getDateRef, 179
getFloatPtr, 179
getFloatRef, 180
getIntPtr, 181
getIntRef, 181
getIntervalPtr, 180
getIntervalRef, 180
getIntervalYMPtr, 180
getIntervalYMRef, 181
getNumCols, 181
getNumRows, 182
getNumericPtr, 182
getNumericRef, 182
getStringPtr, 182
getStringRef, 182
getTimePtr, 184
getTimeRef, 184
getTimeTzPtr, 185
getTimeTzRef, 185
getTimestampPtr, 184
getTimestampRef, 184
getTimestampTzPtr, 185
getTimestampTzRef, 185
getTypeMetaData, 186
isNull, 186
readNextBlock, 186
Vertica::PartitionWriter, 187
addCol, 190
copyFromInput, 190
getColPtr, 190
getColRef, 191
HP Vertica C++ SDK Documentation Version 7.1
INDEX
getNumCols, 191
getNumRows, 191
getTypeMetaData, 191
getWriteableBlock, 191
setInt, 191
setNull, 192
Vertica::PartitionWriterColumn
getStrideLength, 194
Vertica::PartitionWriterColumn< T >, 192
Vertica::PartitionWriterColumns, 195
Vertica::PartitionWriterNumericColumn, 197
append, 199
directCopy, 199
getRef, 199
getStrideLength, 199
Vertica::PartitionWriterStringColumn, 200
append, 202
getMaxSize, 202
getRef, 202
getStrideLength, 202
Vertica::PerColumnParamReader, 202
getColumnNames, 203
getColumnParamReader, 203
Vertica::PlanContext, 204
getClusterNodes, 205
getReader, 205
getUDLParamReader, 205
getUDLParamWriter, 206
getWriter, 206
Vertica::Portion, 206
Vertica::RejectedRecord, 207
Vertica::ScalarFunction, 208
destroy, 209
getOutputRange, 209
processBlock, 209
setup, 211
Vertica::ScalarFunctionFactory, 212
createScalarFunction, 214
getParameterType, 214
getPerInstanceResources, 214
getPrototype, 215
getReturnType, 215
getUDXFactoryType, 215
UDXType, 214
vol, 215
Vertica::ServerInterface, 216
allocator, 219
dependencies, 219
fileManager, 219
getCurrentNodeName, 218
getDependencies, 218
getLocale, 218
getParamReader, 218
getSessionParamReader, 218
locale, 219
log, 218
nodeName, 219
HP Vertica C++ SDK Documentation Version 7.1
349
paramReader, 220
ServerInterface, 218
sessionParamReader, 220
setDependencies, 219
setParamReader, 219
setSessionParamReader, 219
sqlName, 220
udxDebugLogLevel, 220
vlog, 219
vlogPtr, 220
Vertica::SizedColumnTypes, 220
addBinary, 224
addBinaryOrderColumn, 224
addBinaryPartitionColumn, 224
addBool, 225
addBoolOrderColumn, 225
addBoolPartitionColumn, 225
addChar, 225
addCharOrderColumn, 225
addCharPartitionColumn, 225
addDate, 226
addDateOrderColumn, 226
addDatePartitionColumn, 226
addFloat, 226
addFloatOrderColumn, 226
addFloatPartitionColumn, 226
addInt, 227
addIntOrderColumn, 228
addIntPartitionColumn, 228
addInterval, 227
addIntervalOrderColumn, 227
addIntervalPartitionColumn, 227
addIntervalYM, 227
addIntervalYMOrderColumn, 228
addIntervalYMPartitionColumn, 228
addLongVarbinary, 228
addLongVarbinaryOrderColumn, 228
addLongVarbinaryPartitionColumn, 229
addLongVarchar, 229
addLongVarcharOrderColumn, 229
addLongVarcharPartitionColumn, 229
addNumeric, 229
addNumericOrderColumn, 230
addNumericPartitionColumn, 230
addTime, 230
addTimeOrderColumn, 230
addTimePartitionColumn, 230
addTimeTz, 233
addTimeTzOrderColumn, 233
addTimeTzPartitionColumn, 233
addTimestamp, 231
addTimestampOrderColumn, 231
addTimestampPartitionColumn, 231
addTimestampTz, 231
addTimestampTzOrderColumn, 231
addTimestampTzPartitionColumn, 231
addUserDefinedType, 233
350
addVarbinary, 233
addVarbinaryOrderColumn, 234
addVarbinaryPartitionColumn, 234
addVarchar, 234
addVarcharOrderColumn, 234
addVarcharPartitionColumn, 234
getArgumentColumns, 234
getColumnName, 236
getColumnType, 236
getOrderByColumns, 236
getPartitionByColumns, 236
isOrderByColumn, 237
isPartitionByColumn, 237
setPartitionOrderColumnIdx, 237
Vertica::SourceFactory, 238
getParameterType, 240
getPerInstanceResources, 240
getPrototype, 241
getReturnType, 241
getUDXFactoryType, 241
plan, 241
prepare, 241
prepareUDSources, 242
UDXType, 240
Vertica::SourceIterator, 243
createNextSource, 244
destroy, 244
getNumberOfSources, 244
getSizeOfSource, 244
setup, 245
Vertica::StreamWriter, 246
addCol, 249
copyFromInput, 249
getColPtr, 249
getColRef, 250
getNumCols, 250
getNumRows, 250
getTypeMetaData, 250
getWriteableBlock, 250
setInt, 250
setNull, 251
Vertica::TransformFunction, 251
cancel, 253
destroy, 253
isCanceled, 253
processPartition, 253
setup, 253
Vertica::TransformFunctionFactory, 254
createTransformFunction, 256
getParameterType, 256
getPerInstanceResources, 256
getPrototype, 257
getReturnType, 257
getUDXFactoryType, 257
UDXType, 256
Vertica::TransformFunctionPhase, 258
createTransformFunction, 258
INDEX
getReturnType, 259
Vertica::UDChunker, 259
UDChunker, 260
destroy, 260
process, 260
setup, 261
Vertica::UDFileOperator, 261
appendWithRetry, 262
Vertica::UDFileSystem, 262
Vertica::UDFileSystemFactory, 263
getParameterType, 265
getPerInstanceResources, 265
getPrototype, 265
getReturnType, 265
getUDXFactoryType, 265
UDXType, 265
Vertica::UDFilter, 266
destroy, 266
process, 266
setup, 267
Vertica::UDLFactory, 268
getParameterType, 270
getPerInstanceResources, 270
getPrototype, 270
getReturnType, 270
getUDXFactoryType, 270
UDXType, 270
Vertica::UDParser, 271
destroy, 272
getRejectedRecord, 272
isReadyToCooperate, 272
prepareToCooperate, 273
process, 273
setup, 273
writer, 274
Vertica::UDSource, 274
destroy, 275
getSize, 276
getUri, 276
process, 276
setup, 276
Vertica::UDXFactory, 277
getParameterType, 278
getPerInstanceResources, 278
getPrototype, 279
getReturnType, 279
getUDXFactoryType, 279
UDXType, 278
Vertica::UDXObject, 280
UDXObject, 281
destroy, 281
setup, 281
Vertica::UDXObjectCancelable, 282
cancel, 283
destroy, 283
isCanceled, 283
setup, 284
HP Vertica C++ SDK Documentation Version 7.1
INDEX
Vertica::UDxRegistrar, 284
Vertica::UnsizedUDSource, 285
getUri, 286
Vertica::VInterval, 323
breakUp, 323
combine, 324
Vertica::VIntervalYM, 324
breakUp, 325
Vertica::VNumeric, 325
compare, 327
compareUnsigned, 327
copy, 327
toFloat, 327
VNumeric, 326
Vertica::VResources, 328
nFileHandles, 328
scratchMemory, 328
Vertica::VString, 328
alloc, 330
compare, 330
copy, 330, 331
data, 331
equal, 332
isNull, 332
length, 332
str, 332
Vertica::VTAllocator, 333
alloc, 333
Vertica::ValueRangeReader, 286
addArg, 291
canHaveNulls, 291
getBoolPtrLo, 291
getBoolRefLo, 292
getDatePtrLo, 292
getDateRefLo, 292
getFloatPtrLo, 292
getFloatRefLo, 293
getIntPtrLo, 294
getIntRefLo, 294
getIntervalPtrLo, 293
getIntervalRefLo, 293
getIntervalYMPtrLo, 293
getIntervalYMRefLo, 294
getNumRanges, 295
getNumericPtrLo, 294
getNumericRefLo, 295
getRangeType, 295
getSortedness, 295
getStringPtrLo, 296
getStringRefLo, 296
getTimePtrLo, 296
getTimeRefLo, 296
getTimeTzPtrLo, 299
getTimeTzRefLo, 299
getTimestampPtrLo, 298
getTimestampRefLo, 298
getTimestampTzPtrLo, 298
HP Vertica C++ SDK Documentation Version 7.1
351
getTimestampTzRefLo, 298
hasBounds, 299
isNull, 299
setCanHaveNulls, 301
setSortedness, 301
Vertica::ValueRangeWriter, 301
addArg, 305
canHaveNulls, 306
getNumRanges, 306
getNumericRefLo, 306
getNumericRefUp, 306
getRangeType, 306
getSortedness, 307
getStringRefLo, 307
getStringRefUp, 307
setBoolLo, 307
setCanHaveNulls, 307
setDateLo, 308
setFloatLo, 308
setIntLo, 308
setIntervalLo, 308
setIntervalYMLo, 308
setNull, 308
setSortedness, 309
setTimeLo, 309
setTimeTzLo, 309
setTimestampLo, 309
setTimestampTzLo, 309
Vertica::VerticaBlock, 310
addCol, 312
getColPtr, 313
getColRef, 313
getNumCols, 313
getNumRows, 313
getTypeMetaData, 313
Vertica::VerticaBuildInfo, 314
Vertica::VerticaType, 314
getUnderlyingType, 317
Vertica::VerticaValueRange, 317
addArg, 320
canHaveNulls, 320
getNumRanges, 321
getRangeType, 321
getSortedness, 321
setCanHaveNulls, 321
setSortedness, 321
Vertica::VerticaValueRange::ValueRange, 322
vlog
Vertica::ServerInterface, 219
vlogPtr
Vertica::ServerInterface, 220
vol
Vertica::ScalarFunctionFactory, 215
volatility
Vertica, 20
vsmemcpy
Vertica, 23
352
INDEX
writer
Vertica::UDParser, 274