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 Convertersconvertersprotected SFBaseStatementstatementstatement generate current result set-
Fields inherited from class net.snowflake.client.core.SFBaseResultSet
isClosed, metaDataOfBinds, numberOfBinds, parameters, resultSetMetaData, resultSetSerializable, resultVersion, row, session, sessionTimeZone
-
-
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 voidclose()static voidcloseRootAllocator(org.apache.arrow.memory.RootAllocator rootAllocator)DateconvertToDate(Object object, TimeZone tz)TimeconvertToTime(Object object, int scale)TimestampconvertToTimestamp(Object object, int columnType, int columnSubType, TimeZone tz, int scale)SQLInputcreateSqlInputForColumn(Object input, Class<?> parentObjectClass, int columnIndex, SFBaseSession session, List<FieldMetadata> fields)ArraygetArray(int columnIndex)BigDecimalgetBigDecimal(int columnIndex)BigDecimalgetBigDecimal(int columnIndex, int scale)net.snowflake.common.core.SFBinaryFormatgetBinaryFormatter()booleangetBoolean(int columnIndex)bytegetByte(int columnIndex)byte[]getBytes(int columnIndex)ConvertersgetConverters()DategetDate(int columnIndex, TimeZone tz)net.snowflake.common.core.SnowflakeDateTimeFormatgetDateFormatter()doublegetDouble(int columnIndex)floatgetFloat(int columnIndex)booleangetHonorClientTZForTimestampNTZ()intgetInt(int columnIndex)longgetLong(int columnIndex)ObjectgetObject(int columnIndex)ObjectgetObjectWithoutString(int columnIndex)StringgetQueryId()longgetResultVersion()intgetScale(int columnIndex)get scale from Snowflake metadatashortgetShort(int columnIndex)SFStatementTypegetStatementType()StringgetString(int columnIndex)TimegetTime(int columnIndex)net.snowflake.common.core.SnowflakeDateTimeFormatgetTimeFormatter()TimestampgetTimestamp(int columnIndex, TimeZone tz)net.snowflake.common.core.SnowflakeDateTimeFormatgetTimestampLTZFormatter()net.snowflake.common.core.SnowflakeDateTimeFormatgetTimestampNTZFormatter()net.snowflake.common.core.SnowflakeDateTimeFormatgetTimestampTZFormatter()TimeZonegetTimeZone()booleanisAfterLast()booleanisArrayBindSupported()booleanisLast()booleannext()Advance to next rowvoidsetStatementType(SFStatementType statementType)-
Methods inherited from class net.snowflake.client.core.SFBaseResultSet
absolute, convertStringToDate, convertStringToTime, convertStringToTimestamp, createJsonSqlInputForColumn, getJsonArray, getMetaData, getMetaDataOfBinds, getNumberOfBinds, getResultSetSerializables, getRow, getSession, getSessionTimezone, getSessionTimeZone, 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
-
converters
@SnowflakeJdbcInternalApi protected Converters converters
-
-
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- telemetryClientsortResult- set if results should be sorted- Throws:
SQLException- if exception encountered
-
-
Method Detail
-
getConverters
@SnowflakeJdbcInternalApi public Converters getConverters()
- Overrides:
getConvertersin classSFBaseResultSet
-
createSqlInputForColumn
@SnowflakeJdbcInternalApi public SQLInput createSqlInputForColumn(Object input, Class<?> parentObjectClass, int columnIndex, SFBaseSession session, List<FieldMetadata> fields)
- Overrides:
createSqlInputForColumnin classSFBaseResultSet
-
convertToDate
@SnowflakeJdbcInternalApi public Date convertToDate(Object object, TimeZone tz) throws SFException
- Overrides:
convertToDatein classSFBaseResultSet- Throws:
SFException
-
convertToTime
@SnowflakeJdbcInternalApi public Time convertToTime(Object object, int scale) throws SFException
- Overrides:
convertToTimein classSFBaseResultSet- Throws:
SFException
-
convertToTimestamp
@SnowflakeJdbcInternalApi public Timestamp convertToTimestamp(Object object, int columnType, int columnSubType, TimeZone tz, int scale) throws SFException
- Overrides:
convertToTimestampin classSFBaseResultSet- Throws:
SFException
-
next
public boolean next() throws SFException, SnowflakeSQLExceptionAdvance to next row- Overrides:
nextin classSFBaseResultSet- Returns:
- true if next row exists, false otherwise
- Throws:
SFExceptionSnowflakeSQLException
-
getByte
public byte getByte(int columnIndex) throws SFException- Specified by:
getBytein classSFBaseResultSet- Throws:
SFException
-
getString
public String getString(int columnIndex) throws SFException
- Specified by:
getStringin classSFBaseResultSet- Throws:
SFException
-
getBoolean
public boolean getBoolean(int columnIndex) throws SFException- Specified by:
getBooleanin classSFBaseResultSet- Throws:
SFException
-
getShort
public short getShort(int columnIndex) throws SFException- Specified by:
getShortin classSFBaseResultSet- Throws:
SFException
-
getInt
public int getInt(int columnIndex) throws SFException- Specified by:
getIntin classSFBaseResultSet- Throws:
SFException
-
getLong
public long getLong(int columnIndex) throws SFException- Specified by:
getLongin classSFBaseResultSet- Throws:
SFException
-
getFloat
public float getFloat(int columnIndex) throws SFException- Specified by:
getFloatin classSFBaseResultSet- Throws:
SFException
-
getDouble
public double getDouble(int columnIndex) throws SFException- Specified by:
getDoublein classSFBaseResultSet- Throws:
SFException
-
getBytes
public byte[] getBytes(int columnIndex) throws SFException- Specified by:
getBytesin classSFBaseResultSet- Throws:
SFException
-
getDate
public Date getDate(int columnIndex, TimeZone tz) throws SFException
- Specified by:
getDatein classSFBaseResultSet- Throws:
SFException
-
getTime
public Time getTime(int columnIndex) throws SFException
- Specified by:
getTimein classSFBaseResultSet- Throws:
SFException
-
getTimestamp
public Timestamp getTimestamp(int columnIndex, TimeZone tz) throws SFException
- Specified by:
getTimestampin classSFBaseResultSet- Throws:
SFException
-
getObject
public Object getObject(int columnIndex) throws SFException
- Specified by:
getObjectin classSFBaseResultSet- Throws:
SFException
-
getObjectWithoutString
@SnowflakeJdbcInternalApi public Object getObjectWithoutString(int columnIndex) throws SFException
- Specified by:
getObjectWithoutStringin classSFBaseResultSet- Throws:
SFException
-
getArray
public Array getArray(int columnIndex) throws SFException
- Overrides:
getArrayin classSFBaseResultSet- Throws:
SFException
-
getBigDecimal
public BigDecimal getBigDecimal(int columnIndex) throws SFException
- Specified by:
getBigDecimalin classSFBaseResultSet- Throws:
SFException
-
getBigDecimal
public BigDecimal getBigDecimal(int columnIndex, int scale) throws SFException
- Specified by:
getBigDecimalin classSFBaseResultSet- Throws:
SFException
-
isLast
public boolean isLast()
- Specified by:
isLastin classSFBaseResultSet
-
isAfterLast
public boolean isAfterLast()
- Specified by:
isAfterLastin classSFBaseResultSet
-
close
public void close() throws SnowflakeSQLException- Overrides:
closein classSFBaseResultSet- Throws:
SnowflakeSQLException
-
closeRootAllocator
public static void closeRootAllocator(org.apache.arrow.memory.RootAllocator rootAllocator)
-
getStatementType
public SFStatementType getStatementType()
- Specified by:
getStatementTypein classSFBaseResultSet
-
setStatementType
public void setStatementType(SFStatementType statementType)
- Specified by:
setStatementTypein classSFBaseResultSet
-
isArrayBindSupported
public boolean isArrayBindSupported()
- Overrides:
isArrayBindSupportedin classSFBaseResultSet
-
getQueryId
public String getQueryId()
- Specified by:
getQueryIdin classSFBaseResultSet
-
getTimestampLTZFormatter
public net.snowflake.common.core.SnowflakeDateTimeFormat getTimestampLTZFormatter()
- Specified by:
getTimestampLTZFormatterin interfaceDataConversionContext- Returns:
- timestamp_ltz formatter
-
getTimestampNTZFormatter
public net.snowflake.common.core.SnowflakeDateTimeFormat getTimestampNTZFormatter()
- Specified by:
getTimestampNTZFormatterin interfaceDataConversionContext- Returns:
- timestamp_ntz formatter
-
getTimestampTZFormatter
public net.snowflake.common.core.SnowflakeDateTimeFormat getTimestampTZFormatter()
- Specified by:
getTimestampTZFormatterin interfaceDataConversionContext- Returns:
- timestamp_ntz formatter
-
getDateFormatter
public net.snowflake.common.core.SnowflakeDateTimeFormat getDateFormatter()
- Specified by:
getDateFormatterin interfaceDataConversionContext- Returns:
- date formatter
-
getTimeFormatter
public net.snowflake.common.core.SnowflakeDateTimeFormat getTimeFormatter()
- Specified by:
getTimeFormatterin interfaceDataConversionContext- Returns:
- time formatter
-
getBinaryFormatter
public net.snowflake.common.core.SFBinaryFormat getBinaryFormatter()
- Specified by:
getBinaryFormatterin interfaceDataConversionContext- Returns:
- binary formatter
-
getScale
public int getScale(int columnIndex)
Description copied from interface:DataConversionContextget scale from Snowflake metadata- Specified by:
getScalein interfaceDataConversionContext- Parameters:
columnIndex- column index- Returns:
- scale value
-
getTimeZone
public TimeZone getTimeZone()
- Specified by:
getTimeZonein interfaceDataConversionContext- Returns:
- session time zone
-
getHonorClientTZForTimestampNTZ
public boolean getHonorClientTZForTimestampNTZ()
- Specified by:
getHonorClientTZForTimestampNTZin interfaceDataConversionContext- Returns:
- whether to honor client time zone for timestamp_ntz
-
getResultVersion
public long getResultVersion()
- Specified by:
getResultVersionin interfaceDataConversionContext- Returns:
- result version
-
-