Class Struct (6.72.0)

public abstract class Struct extends AbstractStructReader implements Serializable

Represents a non-NULL value of Type.Code#STRUCT. Such values are a tuple of named and typed columns, where individual columns may be null. Individual rows from a read or query operation can be considered as structs; ResultSet#getCurrentRowAsStruct() allows an immutable struct to be created from the row that the result set is currently positioned over.

Struct instances are immutable.

This class does not support representing typed NULL Struct values.

However, struct values inside SQL queries are always typed and can be externally supplied to a query only in the form of struct/array-of-struct query parameter values for which typed NULL struct values can be specified in the following ways:

1. As a standalone NULL struct value or as a nested struct field value, constructed using ValueBinder#to(Type, Struct) or Value#struct(Type, Struct).

2. As as a null Struct reference representing a NULL struct typed element value inside an array/list of 'Struct' references, that is used to construct an array-of-struct value using Value#structArray(Type, Iterable) or ValueBinder#toStructArray(Type, Iterable). In this case, the type of the NULL struct value is assumed to be the same as the explicitly specified struct element type of the array/list.

Inheritance

Object > AbstractStructReader > Struct

Implements

Serializable

Static Methods

newBuilder()

public static Struct.Builder newBuilder()

Returns a builder for creating a non-NULL Struct instance.

Returns
Type Description
Struct.Builder

Methods

equals(Object o)

public boolean equals(Object o)
Parameter
Name Description
o Object
Returns
Type Description
boolean
Overrides

getStruct(int columnIndex)

public Struct getStruct(int columnIndex)

TODO(user) : Consider moving these methods to the StructReader interface once STRUCT-typed columns are supported in ResultSet.

Parameter
Name Description
columnIndex int
Returns
Type Description
Struct

getStruct(String columnName)

public Struct getStruct(String columnName)
Parameter
Name Description
columnName String
Returns
Type Description
Struct

getStructInternal(int columnIndex)

protected abstract Struct getStructInternal(int columnIndex)
Parameter
Name Description
columnIndex int
Returns
Type Description
Struct

hashCode()

public int hashCode()
Returns
Type Description
int
Overrides