Package net.snowflake.client.core
Class SFArrowResultSet
- java.lang.Object
-
- net.snowflake.client.core.SFBaseResultSet
-
- net.snowflake.client.core.SFArrowResultSet
-
- All Implemented Interfaces:
DataConversionContext
public class SFArrowResultSet extends SFBaseResultSet implements DataConversionContext
Arrow result set implementation
-
-
Field Summary
Fields Modifier and Type Field Description protected SFBaseStatement
statement
statement generate current result set-
Fields inherited from class net.snowflake.client.core.SFBaseResultSet
isClosed, metaDataOfBinds, numberOfBinds, parameters, resultSetMetaData, resultSetSerializable, resultVersion, row, session
-
-
Constructor Summary
Constructors Constructor Description SFArrowResultSet(SnowflakeResultSetSerializableV1 resultSetSerializable, SFBaseSession session, SFBaseStatement statement, boolean sortResult)
Constructor takes a result from the API response that we get from executing a SQL statement.SFArrowResultSet(SnowflakeResultSetSerializableV1 resultSetSerializable, Telemetry telemetryClient, boolean sortResult)
This is a minimum initialization for SFArrowResult.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
static void
closeRootAllocator(org.apache.arrow.memory.RootAllocator rootAllocator)
BigDecimal
getBigDecimal(int columnIndex)
BigDecimal
getBigDecimal(int columnIndex, int scale)
net.snowflake.common.core.SFBinaryFormat
getBinaryFormatter()
binary formatterboolean
getBoolean(int columnIndex)
byte
getByte(int columnIndex)
byte[]
getBytes(int columnIndex)
Date
getDate(int columnIndex, TimeZone tz)
net.snowflake.common.core.SnowflakeDateTimeFormat
getDateFormatter()
date formatterdouble
getDouble(int columnIndex)
float
getFloat(int columnIndex)
boolean
getHonorClientTZForTimestampNTZ()
int
getInt(int columnIndex)
long
getLong(int columnIndex)
Object
getObject(int columnIndex)
String
getQueryId()
long
getResultVersion()
int
getScale(int columnIndex)
get scale from Snowflake metadatashort
getShort(int columnIndex)
SFStatementType
getStatementType()
String
getString(int columnIndex)
Time
getTime(int columnIndex)
net.snowflake.common.core.SnowflakeDateTimeFormat
getTimeFormatter()
time formatterTimestamp
getTimestamp(int columnIndex, TimeZone tz)
net.snowflake.common.core.SnowflakeDateTimeFormat
getTimestampLTZFormatter()
timestamp_ltz formatternet.snowflake.common.core.SnowflakeDateTimeFormat
getTimestampNTZFormatter()
timestamp_ntz formatternet.snowflake.common.core.SnowflakeDateTimeFormat
getTimestampTZFormatter()
timestamp_tz formatterTimeZone
getTimeZone()
boolean
isAfterLast()
boolean
isArrayBindSupported()
boolean
isLast()
boolean
next()
Advance to next rowvoid
setStatementType(SFStatementType statementType)
-
Methods inherited from class net.snowflake.client.core.SFBaseResultSet
absolute, getMetaData, getMetaDataOfBinds, getNumberOfBinds, getResultSetSerializables, getRow, getSession, isBeforeFirst, isClosed, isFirst, previous, relative, setSession, wasNull
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.snowflake.client.core.DataConversionContext
getSession
-
-
-
-
Field Detail
-
statement
protected SFBaseStatement statement
statement generate current result set
-
-
Constructor Detail
-
SFArrowResultSet
public SFArrowResultSet(SnowflakeResultSetSerializableV1 resultSetSerializable, SFBaseSession session, SFBaseStatement statement, boolean sortResult) throws SQLException
Constructor takes a result from the API response that we get from executing a SQL statement.The constructor will initialize the ResultSetMetaData.
- Parameters:
resultSetSerializable
- result data after parsing jsonsession
- SFBaseSession objectstatement
- statement objectsortResult
- true if sort results otherwise false- Throws:
SQLException
- exception raised from general SQL layers
-
SFArrowResultSet
public SFArrowResultSet(SnowflakeResultSetSerializableV1 resultSetSerializable, Telemetry telemetryClient, boolean sortResult) throws SQLException
This is a minimum initialization for SFArrowResult. Mainly used for testing purpose. However, real prod constructor will call this constructor as well- Parameters:
resultSetSerializable
- data returned in query responsetelemetryClient
- telemetryClient- Throws:
SQLException
-
-
Method Detail
-
next
public boolean next() throws SFException, SnowflakeSQLException
Advance to next row- Overrides:
next
in classSFBaseResultSet
- Returns:
- true if next row exists, false otherwise
- Throws:
SFException
SnowflakeSQLException
-
getByte
public byte getByte(int columnIndex) throws SFException
- Specified by:
getByte
in classSFBaseResultSet
- Throws:
SFException
-
getString
public String getString(int columnIndex) throws SFException
- Specified by:
getString
in classSFBaseResultSet
- Throws:
SFException
-
getBoolean
public boolean getBoolean(int columnIndex) throws SFException
- Specified by:
getBoolean
in classSFBaseResultSet
- Throws:
SFException
-
getShort
public short getShort(int columnIndex) throws SFException
- Specified by:
getShort
in classSFBaseResultSet
- Throws:
SFException
-
getInt
public int getInt(int columnIndex) throws SFException
- Specified by:
getInt
in classSFBaseResultSet
- Throws:
SFException
-
getLong
public long getLong(int columnIndex) throws SFException
- Specified by:
getLong
in classSFBaseResultSet
- Throws:
SFException
-
getFloat
public float getFloat(int columnIndex) throws SFException
- Specified by:
getFloat
in classSFBaseResultSet
- Throws:
SFException
-
getDouble
public double getDouble(int columnIndex) throws SFException
- Specified by:
getDouble
in classSFBaseResultSet
- Throws:
SFException
-
getBytes
public byte[] getBytes(int columnIndex) throws SFException
- Specified by:
getBytes
in classSFBaseResultSet
- Throws:
SFException
-
getDate
public Date getDate(int columnIndex, TimeZone tz) throws SFException
- Specified by:
getDate
in classSFBaseResultSet
- Throws:
SFException
-
getTime
public Time getTime(int columnIndex) throws SFException
- Specified by:
getTime
in classSFBaseResultSet
- Throws:
SFException
-
getTimestamp
public Timestamp getTimestamp(int columnIndex, TimeZone tz) throws SFException
- Specified by:
getTimestamp
in classSFBaseResultSet
- Throws:
SFException
-
getObject
public Object getObject(int columnIndex) throws SFException
- Specified by:
getObject
in classSFBaseResultSet
- Throws:
SFException
-
getBigDecimal
public BigDecimal getBigDecimal(int columnIndex) throws SFException
- Specified by:
getBigDecimal
in classSFBaseResultSet
- Throws:
SFException
-
getBigDecimal
public BigDecimal getBigDecimal(int columnIndex, int scale) throws SFException
- Specified by:
getBigDecimal
in classSFBaseResultSet
- Throws:
SFException
-
isLast
public boolean isLast()
- Specified by:
isLast
in classSFBaseResultSet
-
isAfterLast
public boolean isAfterLast()
- Specified by:
isAfterLast
in classSFBaseResultSet
-
close
public void close() throws SnowflakeSQLException
- Overrides:
close
in classSFBaseResultSet
- Throws:
SnowflakeSQLException
-
closeRootAllocator
public static void closeRootAllocator(org.apache.arrow.memory.RootAllocator rootAllocator)
-
getStatementType
public SFStatementType getStatementType()
- Specified by:
getStatementType
in classSFBaseResultSet
-
setStatementType
public void setStatementType(SFStatementType statementType)
- Specified by:
setStatementType
in classSFBaseResultSet
-
isArrayBindSupported
public boolean isArrayBindSupported()
- Overrides:
isArrayBindSupported
in classSFBaseResultSet
-
getQueryId
public String getQueryId()
- Specified by:
getQueryId
in classSFBaseResultSet
-
getTimestampLTZFormatter
public net.snowflake.common.core.SnowflakeDateTimeFormat getTimestampLTZFormatter()
Description copied from interface:DataConversionContext
timestamp_ltz formatter- Specified by:
getTimestampLTZFormatter
in interfaceDataConversionContext
-
getTimestampNTZFormatter
public net.snowflake.common.core.SnowflakeDateTimeFormat getTimestampNTZFormatter()
Description copied from interface:DataConversionContext
timestamp_ntz formatter- Specified by:
getTimestampNTZFormatter
in interfaceDataConversionContext
-
getTimestampTZFormatter
public net.snowflake.common.core.SnowflakeDateTimeFormat getTimestampTZFormatter()
Description copied from interface:DataConversionContext
timestamp_tz formatter- Specified by:
getTimestampTZFormatter
in interfaceDataConversionContext
-
getDateFormatter
public net.snowflake.common.core.SnowflakeDateTimeFormat getDateFormatter()
Description copied from interface:DataConversionContext
date formatter- Specified by:
getDateFormatter
in interfaceDataConversionContext
-
getTimeFormatter
public net.snowflake.common.core.SnowflakeDateTimeFormat getTimeFormatter()
Description copied from interface:DataConversionContext
time formatter- Specified by:
getTimeFormatter
in interfaceDataConversionContext
-
getBinaryFormatter
public net.snowflake.common.core.SFBinaryFormat getBinaryFormatter()
Description copied from interface:DataConversionContext
binary formatter- Specified by:
getBinaryFormatter
in interfaceDataConversionContext
-
getScale
public int getScale(int columnIndex)
Description copied from interface:DataConversionContext
get scale from Snowflake metadata- Specified by:
getScale
in interfaceDataConversionContext
-
getTimeZone
public TimeZone getTimeZone()
- Specified by:
getTimeZone
in interfaceDataConversionContext
- Returns:
- session time zone
-
getHonorClientTZForTimestampNTZ
public boolean getHonorClientTZForTimestampNTZ()
- Specified by:
getHonorClientTZForTimestampNTZ
in interfaceDataConversionContext
- Returns:
- whether to honor client time zone for timestamp_ntz
-
getResultVersion
public long getResultVersion()
- Specified by:
getResultVersion
in interfaceDataConversionContext
- Returns:
- result version
-
-