Java SDK Documentation  12.0.0
com.vertica.sdk.BlockReader Class Reference
Inheritance diagram for com.vertica.sdk.BlockReader:
Inheritance graph
Collaboration diagram for com.vertica.sdk.BlockReader:
Collaboration graph

Public Member Functions

void addCol (ByteBuffer arg, int colstride, VerticaType dt, String colName)
 
void addCol (ByteBuffer arg, int colstride, VerticaType dt)
 
void addCol (ByteBuffer arg, ByteBuffer da, int colstride, VerticaType dt)
 
void addCol (ByteBuffer arg, ByteBuffer da, int colstride, VerticaType dt, String colName)
 
boolean checkStringUserBlockInfo (int idx)
 
boolean checkTimeUserBlockInfo (int idx)
 
boolean getBoolean (int idx)
 
ByteBuffer getColDataAreaRef (int idx)
 
ByteBuffer getColRef (int idx)
 
java.sql.Date getDate (int idx)
 
double getDouble (int idx)
 
long getLong (int idx)
 
int getNumCols ()
 
int getNumRows ()
 
BaseDataOID getProcessBlockUserInfoVectorAt (int i)
 
String getString (int idx)
 
int getStringLength (int idx)
 
int getStringLoc (int idx)
 
java.sql.Timestamp getTimestamp (int idx)
 
SizedColumnTypes getTypeMetaData ()
 
VNumeric getVNumeric (int idx)
 
VString getVString (int idx)
 
boolean isBooleanNull (int idx)
 
boolean isDateNull (int idx)
 
boolean isDoubleNull (int idx)
 
boolean isLongNull (int idx)
 
boolean isStringNull (int idx)
 
boolean isTimestampInfinite (int idx)
 
boolean isTimestampInfiniteNeg (int idx)
 
boolean isTimestampInfinitePos (int idx)
 
boolean isTimestampNull (int idx)
 
boolean next () throws UdfException, DestroyInvocation
 
void resetBuffers ()
 

Public Attributes

int count
 
int index
 
int ncols
 
int nrows
 
SizedColumnTypes typeMetaData
 

Protected Member Functions

 BlockReader (int _ncols, int _rowcount)
 
void clear ()
 
ByteBuffer getInlineColBuffer (int idx)
 

Protected Attributes

ArrayList< ByteBuffer > coldataareas
 
ArrayList< ByteBuffer > cols
 
ArrayList< Integer > colstrides
 
ArrayList< Integer > currentPos
 

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.

Member Function Documentation

void com.vertica.sdk.VerticaBlock.addCol ( ByteBuffer  arg,
int  colstride,
VerticaType  dt,
String  colName 
)
inherited

Add the location for reading a particular argument.

Parameters
argThe base location to find data.
colstrideThe stride between data instances.
dtThe type of input.
colNameName of the column

Referenced by com.vertica.sdk.VerticaBlock.addCol().

void com.vertica.sdk.VerticaBlock.addCol ( ByteBuffer  arg,
int  colstride,
VerticaType  dt 
)
inherited

Add the location for reading a particular argument.

Parameters
argThe base location to find data.
colstrideThe stride between data instances.
dtThe type of input.
void com.vertica.sdk.VerticaBlock.addCol ( ByteBuffer  arg,
ByteBuffer  da,
int  colstride,
VerticaType  dt 
)
inherited

Add the location for reading a particular argument.

Parameters
argThe base location to find data.
daThe location to find out of band string data.
colstrideThe stride between data instances.
dtThe type of input.
void com.vertica.sdk.VerticaBlock.addCol ( ByteBuffer  arg,
ByteBuffer  da,
int  colstride,
VerticaType  dt,
String  colName 
)
inherited

Add the location for reading a particular argument.

Parameters
argThe base location to find data.
daThe location to find out of band string data.
colstrideThe stride between data instances.
dtThe type of input.
colNameName of the column
boolean com.vertica.sdk.BlockReader.getBoolean ( int  idx)

Get a BOOLEAN value from the input row.

Parameters
idxThe column number to retrieve from the input row.
Returns
The value of the idx'th argument, cast as a BOOLEAN.
ByteBuffer com.vertica.sdk.VerticaBlock.getColDataAreaRef ( int  idx)
inherited

Get the ByteBuffer that stores out of line string data (Data Area) for the idx'th argument

Parameters
idxThe column number to retrieve from the input row.
Returns
the ByteBuffer

Referenced by com.vertica.sdk.BlockReader.getVString().

ByteBuffer com.vertica.sdk.VerticaBlock.getColRef ( int  idx)
inherited

Example: ByteBuffer a = arg_reader.getColPtr(0);

Parameters
idxThe column number to retrieve from the input row.
Returns
a ByteBuffer to the idx'th argument, containing data for the column

Referenced by com.vertica.sdk.PartitionWriter.copyFromInput(), com.vertica.sdk.BlockReader.getBoolean(), com.vertica.sdk.BlockReader.getDouble(), com.vertica.sdk.VerticaBlock.getInlineColBuffer(), com.vertica.sdk.BlockReader.getLong(), com.vertica.sdk.BlockReader.getStringLength(), com.vertica.sdk.BlockReader.getStringLoc(), com.vertica.sdk.BlockReader.getVNumeric(), com.vertica.sdk.BlockReader.getVString(), com.vertica.sdk.BlockWriter.getVStringWriter(), com.vertica.sdk.BlockReader.isBooleanNull(), com.vertica.sdk.ParamWriter.setBool(), com.vertica.sdk.BlockWriter.setBoolean(), com.vertica.sdk.BlockWriter.setBooleanNull(), com.vertica.sdk.PartitionWriter.setBooleanValue(), com.vertica.sdk.BlockWriter.setDate(), com.vertica.sdk.BlockWriter.setDateNull(), com.vertica.sdk.PartitionWriter.setDateValue(), com.vertica.sdk.BlockWriter.setDouble(), com.vertica.sdk.ParamWriter.setDouble(), com.vertica.sdk.BlockWriter.setDoubleNull(), com.vertica.sdk.PartitionWriter.setDoubleValue(), com.vertica.sdk.BlockWriter.setLong(), com.vertica.sdk.ParamWriter.setLong(), com.vertica.sdk.BlockWriter.setLongNull(), com.vertica.sdk.ParamWriter.setLongString(), com.vertica.sdk.PartitionWriter.setLongValue(), com.vertica.sdk.ParamWriter.setNumeric(), com.vertica.sdk.BlockWriter.setNumeric(), com.vertica.sdk.ParamWriter.setString(), com.vertica.sdk.BlockWriter.setString(), com.vertica.sdk.BlockWriter.setStringNull(), com.vertica.sdk.BlockWriter.setTimestamp(), com.vertica.sdk.BlockWriter.setTimestampInfiniteNeg(), com.vertica.sdk.BlockWriter.setTimestampInfinitePos(), com.vertica.sdk.BlockWriter.setTimestampNull(), and com.vertica.sdk.PartitionWriter.setTimestampValue().

java.sql.Date com.vertica.sdk.BlockReader.getDate ( int  idx)

Get a DATE value from the input row.

Parameters
idxThe column number to retrieve from the input row.
Returns
The value of the idx'th argument, cast as a DATE; null if the column is NULL.
double com.vertica.sdk.BlockReader.getDouble ( int  idx)

Get a DOUBLE value from the input row.

Parameters
idxThe column number to retrieve from the input row.
Returns
The value of the idx'th argument, cast as a DOUBLE.
ByteBuffer com.vertica.sdk.VerticaBlock.getInlineColBuffer ( int  idx)
protectedinherited

Give a ByteBuffer for the given column (inline storage only). Returns a buffer with position and limit bounding the data area for a single element of that column, given the current position in the column.

Parameters
idxThe column number to retrieve from the input row.
Returns
the ByteBuffer for the column

Referenced by com.vertica.sdk.PartitionWriter.setStringBytes(), and com.vertica.sdk.PartitionWriter.setStringValue().

long com.vertica.sdk.BlockReader.getLong ( int  idx)

Get a LONG INTEGER value from the input row.

Example: long a = arg_reader.getLong(0);

Parameters
idxThe column number to retrieve from the input row.
Returns
The value of the idx'th argument, cast as a LONG INTEGER.

Referenced by com.vertica.sdk.BlockReader.getDate(), com.vertica.sdk.BlockReader.getTimestamp(), com.vertica.sdk.BlockReader.isDoubleNull(), com.vertica.sdk.BlockReader.isLongNull(), com.vertica.sdk.BlockReader.isTimestampInfiniteNeg(), and com.vertica.sdk.BlockReader.isTimestampInfinitePos().

int com.vertica.sdk.VerticaBlock.getNumCols ( )
inherited
Returns
the number of arguments held by this reader.
int com.vertica.sdk.VerticaBlock.getNumRows ( )
inherited
Returns
the number of rows held by this block.
String com.vertica.sdk.BlockReader.getString ( int  idx)

Get a reference to an VARCHAR/CHAR/VARBINARY/BINARY value from the input row.

Parameters
idxThe column number to retrieve from the input row.
Returns
a reference to the idx'th argument, cast as an String.
int com.vertica.sdk.BlockReader.getStringLength ( int  idx)

Get length of the String from the input row

Parameters
idxThe column number to retrieve from the input row.
Returns
The length of the String in specified column.

Referenced by com.vertica.sdk.BlockReader.getVString(), and com.vertica.sdk.BlockReader.isStringNull().

int com.vertica.sdk.BlockReader.getStringLoc ( int  idx)

Get 'location' of the String from the input row.

Parameters
idxThe column number to retrieve from the input row.
Returns
The location of the String in specified column. If zero, data is inlined immediately after the header, otherwise data is at offset loc within the data area.

Referenced by com.vertica.sdk.BlockReader.getVString().

java.sql.Timestamp com.vertica.sdk.BlockReader.getTimestamp ( int  idx)

Get a TIMESTAMP value from the input row.

Parameters
idxThe column number to retrieve from the input row.
Returns
The value of the idx'th argument, cast as a TIMESTAMP; null if the column is NULL or represents 'infinity'.
SizedColumnTypes com.vertica.sdk.VerticaBlock.getTypeMetaData ( )
inherited
Returns
information about the types and numbers of arguments

Referenced by com.vertica.sdk.ParamReader.getType(), com.vertica.sdk.PartitionWriter.setRowFromMap(), and com.vertica.sdk.PartitionWriter.setValue().

VNumeric com.vertica.sdk.BlockReader.getVNumeric ( int  idx)

Get a reference to a VNumeric value from the input row.

Parameters
idxThe column number to retrieve from the input row.
Returns
A reference to the retrieved value cast as a Numeric.
VString com.vertica.sdk.BlockReader.getVString ( int  idx)

Get a reference from the input row to an VString value, which represents a SQL VARCHAR/CHAR/VARBINARY/BINARY value.

Parameters
idxThe column number to retrieve from the input row.
Returns
a reference to the idx'th argument, cast as an VString.

Referenced by com.vertica.sdk.BlockReader.getString().

boolean com.vertica.sdk.BlockReader.isBooleanNull ( int  idx)

Check whether a value from the input row is NULL in BOOLEAN type.

Parameters
idxThe column number to retrieve from the input row.
Returns
true if the value is NULL, false otherwise.
boolean com.vertica.sdk.BlockReader.isDateNull ( int  idx)

Check whether a value from the input row is NULL in DATE type.

Parameters
idxThe column number to retrieve from the input row.
Returns
true if the value is NULL, false otherwise.

Referenced by com.vertica.sdk.BlockReader.getDate().

boolean com.vertica.sdk.BlockReader.isDoubleNull ( int  idx)

Check whether a value from the input row is NULL in DOUBLE type.

Parameters
idxThe column number to retrieve from the input row.
Returns
true if the value is NULL, false otherwise.
boolean com.vertica.sdk.BlockReader.isLongNull ( int  idx)

Check whether a value from the input row is NULL in LONG INTERGER type.

Parameters
idxThe column number to retrieve from the input row.
Returns
true if the value is NULL, false otherwise.

Referenced by com.vertica.sdk.BlockReader.isDateNull(), and com.vertica.sdk.BlockReader.isTimestampNull().

boolean com.vertica.sdk.BlockReader.isStringNull ( int  idx)

Check whether a value from the input row is NULL in SQL VARCHAR/CHAR/VARBINARY/BINARY type.

Parameters
idxThe column number to retrieve from the input row.
Returns
true if the value is NULL, false otherwise.

Referenced by com.vertica.sdk.BlockReader.getString().

boolean com.vertica.sdk.BlockReader.isTimestampInfinite ( int  idx)

Check whether a TIMESTAMP value from the input row represents 'infinity'.

Parameters
idxThe column number to retrieve from the input row.
Returns
true if the TIMESTAMP value is '+infinity' or '-infinity', false otherwise.

Referenced by com.vertica.sdk.BlockReader.getTimestamp().

boolean com.vertica.sdk.BlockReader.isTimestampInfiniteNeg ( int  idx)

Check whether a TIMESTAMP value from the input row represents '-infinity'.

Parameters
idxThe column number to retrieve from the input row.
Returns
true if the TIMESTAMP value is '-infinity', false otherwise.

Referenced by com.vertica.sdk.BlockReader.isTimestampInfinite().

boolean com.vertica.sdk.BlockReader.isTimestampInfinitePos ( int  idx)

Check whether a TIMESTAMP value from the input row represents '+infinity'.

Parameters
idxThe column number to retrieve from the input row.
Returns
true if the TIMESTAMP value is '+infinity', false otherwise.

Referenced by com.vertica.sdk.BlockReader.isTimestampInfinite().

boolean com.vertica.sdk.BlockReader.isTimestampNull ( int  idx)

Check whether a value from the input row is NULL in TIMESTAMP type.

Parameters
idxThe column number to retrieve from the input row.
Returns
true if the value is NULL, false otherwise.

Referenced by com.vertica.sdk.BlockReader.getTimestamp().

boolean com.vertica.sdk.BlockReader.next ( ) throws UdfException, DestroyInvocation

Advance to the next record.

Returns
true if there are more rows to read, false otherwise.
Exceptions
UdfExceptionUDF problem
DestroyInvocationInvocation needed to be destroyed