com.mysql.jdbc

## Class ByteArrayRow

- java.lang.Object
- - com.mysql.jdbc.ResultSetRow
  - - com.mysql.jdbc.ByteArrayRow

    public class ByteArrayRow
    extends ResultSetRow

A RowHolder implementation that is for cached results (a-la mysql_store_result()).

### Field Summary

Fields
`(package private) byte[][]` `internalRowData`

### Fields inherited from class com.mysql.jdbc.ResultSetRow

`exceptionInterceptor, metadata`

### Constructor Summary

Constructors
Constructor and Description
`ByteArrayRow(byte[][] internalRowData, ExceptionInterceptor exceptionInterceptor)`

### Method Summary

Methods
`void` `closeOpenStreams()` Called during navigation to next row to close all open streams.
`java.io.InputStream` `getBinaryInputStream(int columnIndex)` Returns data at the given index as an InputStream with no character conversion.
`int` `getBytesSize()`
`byte[]` `getColumnValue(int index)` Returns the value at the given column (index starts at 0) "raw" (i.e.
`java.sql.Date` `getDateFast(int columnIndex, MySQLConnection conn, ResultSetImpl rs, java.util.Calendar targetCalendar)`
`int` `getInt(int columnIndex)` Returns the value at the given column (index starts at 0) as an int
`long` `getLong(int columnIndex)` Returns the value at the given column (index starts at 0) as a long
`java.sql.Date` `getNativeDate(int columnIndex, MySQLConnection conn, ResultSetImpl rs, java.util.Calendar cal)`
`java.lang.Object` `getNativeDateTimeValue(int columnIndex, java.util.Calendar targetCalendar, int jdbcType, int mysqlType, java.util.TimeZone tz, boolean rollForward, MySQLConnection conn, ResultSetImpl rs)`
`double` `getNativeDouble(int columnIndex)`
`float` `getNativeFloat(int columnIndex)`
`int` `getNativeInt(int columnIndex)`
`long` `getNativeLong(int columnIndex)`
`short` `getNativeShort(int columnIndex)`
`java.sql.Time` `getNativeTime(int columnIndex, java.util.Calendar targetCalendar, java.util.TimeZone tz, boolean rollForward, MySQLConnection conn, ResultSetImpl rs)`
`java.sql.Timestamp` `getNativeTimestamp(int columnIndex, java.util.Calendar targetCalendar, java.util.TimeZone tz, boolean rollForward, MySQLConnection conn, ResultSetImpl rs)`
`java.io.Reader` `getReader(int columnIndex)`
`java.lang.String` `getString(int index, java.lang.String encoding, MySQLConnection conn)` Returns the value at the given column (index starts at 0) as a java.lang.String with the requested encoding, using the given MySQLConnection to find character converters.
`java.sql.Time` `getTimeFast(int columnIndex, java.util.Calendar targetCalendar, java.util.TimeZone tz, boolean rollForward, MySQLConnection conn, ResultSetImpl rs)`
`java.sql.Timestamp` `getTimestampFast(int columnIndex, java.util.Calendar targetCalendar, java.util.TimeZone tz, boolean rollForward, MySQLConnection conn, ResultSetImpl rs)`
`boolean` `isFloatingPointNumber(int index)` Could the column value at the given index (which starts at 0) be interpreted as a floating-point number (has +/-/E/e in it)?
`boolean` `isNull(int index)` Is the column value at the given index (which starts at 0) NULL?
`long` `length(int index)` Returns the length of the column at the given index (which starts at 0).
`void` `setColumnValue(int index, byte[] value)` Sets the given column value (only works currently with ByteArrayRowHolder).

### Methods inherited from class com.mysql.jdbc.ResultSetRow

`getDateFast, getNativeDate, getNativeDateTimeValue, getNativeDouble, getNativeFloat, getNativeInt, getNativeLong, getNativeShort, getNativeTime, getNativeTimestamp, getString, getTimeFast, getTimestampFast, setMetadata`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### internalRowData

    byte[][] internalRowData

### Constructor Detail

#### ByteArrayRow

    public ByteArrayRow(byte[][] internalRowData,
                ExceptionInterceptor exceptionInterceptor)

### Method Detail

#### getColumnValue

    public byte[] getColumnValue(int index)
                          throws java.sql.SQLException

Description copied from class: `ResultSetRow`
Returns the value at the given column (index starts at 0) "raw" (i.e. as-returned by the server).

Specified by:
  `getColumnValue` in class `ResultSetRow`
Parameters:
  `index` - of the column value (starting at 0) to return.
Returns:
  the value for the given column (including NULL if it is)
Throws:
  `java.sql.SQLException` - if an error occurs while retrieving the value.

#### setColumnValue

    public void setColumnValue(int index,
                      byte[] value)
                        throws java.sql.SQLException

Description copied from class: `ResultSetRow`
Sets the given column value (only works currently with ByteArrayRowHolder).

Specified by:
  `setColumnValue` in class `ResultSetRow`
Parameters:
  `index` - index of the column value (starting at 0) to set.
  `value` - the (raw) value to set
Throws:
  `java.sql.SQLException` - if an error occurs, or the concrete RowHolder doesn't support this operation.

#### getString

    public java.lang.String getString(int index,
                             java.lang.String encoding,
                             MySQLConnection conn)
                               throws java.sql.SQLException

Description copied from class: `ResultSetRow`
Returns the value at the given column (index starts at 0) as a java.lang.String with the requested encoding, using the given MySQLConnection to find character converters.

Specified by:
  `getString` in class `ResultSetRow`
Parameters:
  `index` - of the column value (starting at 0) to return.
  `encoding` - the Java name for the character encoding
  `conn` - the connection that created this result set row
Returns:
  the value for the given column (including NULL if it is) as a String
Throws:
  `java.sql.SQLException` - if an error occurs while retrieving the value.

#### isNull

    public boolean isNull(int index)
                   throws java.sql.SQLException

Description copied from class: `ResultSetRow`
Is the column value at the given index (which starts at 0) NULL?

Specified by:
  `isNull` in class `ResultSetRow`
Parameters:
  `index` - of the column value (starting at 0) to check.
Returns:
  true if the column value is NULL, false if not.
Throws:
  `java.sql.SQLException` - if an error occurs

#### isFloatingPointNumber

    public boolean isFloatingPointNumber(int index)
                                  throws java.sql.SQLException

Description copied from class: `ResultSetRow`
Could the column value at the given index (which starts at 0) be interpreted as a floating-point number (has +/-/E/e in it)?

Specified by:
  `isFloatingPointNumber` in class `ResultSetRow`
Parameters:
  `index` - of the column value (starting at 0) to check.
Returns:
  true if the column value at the given index looks like it might be a floating-point number, false if not.
Throws:
  `java.sql.SQLException` - if an error occurs

#### length

    public long length(int index)
                throws java.sql.SQLException

Description copied from class: `ResultSetRow`
Returns the length of the column at the given index (which starts at 0).

Specified by:
  `length` in class `ResultSetRow`
Parameters:
  `index` - of the column value (starting at 0) for which to return the length.
Returns:
  the length of the requested column, 0 if null (clients of this interface should use isNull() beforehand to determine status of NULL values in the column).
Throws:
  `java.sql.SQLException`

#### getInt

    public int getInt(int columnIndex)

Description copied from class: `ResultSetRow`
Returns the value at the given column (index starts at 0) as an int. *

Specified by:
  `getInt` in class `ResultSetRow`
Returns:
  the value for the given column (returns 0 if NULL, use isNull() to determine if the value was actually NULL)

#### getLong

    public long getLong(int columnIndex)

Description copied from class: `ResultSetRow`
Returns the value at the given column (index starts at 0) as a long. *

Specified by:
  `getLong` in class `ResultSetRow`
Returns:
  the value for the given column (returns 0 if NULL, use isNull() to determine if the value was actually NULL)

#### getTimestampFast

    public java.sql.Timestamp getTimestampFast(int columnIndex,
                                      java.util.Calendar targetCalendar,
                                      java.util.TimeZone tz,
                                      boolean rollForward,
                                      MySQLConnection conn,
                                      ResultSetImpl rs)
                                        throws java.sql.SQLException

Specified by:
  `getTimestampFast` in class `ResultSetRow`
Throws:
  `java.sql.SQLException`

#### getNativeDouble

    public double getNativeDouble(int columnIndex)
                           throws java.sql.SQLException

Specified by:
  `getNativeDouble` in class `ResultSetRow`
Throws:
  `java.sql.SQLException`

#### getNativeFloat

    public float getNativeFloat(int columnIndex)
                         throws java.sql.SQLException

Specified by:
  `getNativeFloat` in class `ResultSetRow`
Throws:
  `java.sql.SQLException`

#### getNativeInt

    public int getNativeInt(int columnIndex)
                     throws java.sql.SQLException

Specified by:
  `getNativeInt` in class `ResultSetRow`
Throws:
  `java.sql.SQLException`

#### getNativeLong

    public long getNativeLong(int columnIndex)
                       throws java.sql.SQLException

Specified by:
  `getNativeLong` in class `ResultSetRow`
Throws:
  `java.sql.SQLException`

#### getNativeShort

    public short getNativeShort(int columnIndex)
                         throws java.sql.SQLException

Specified by:
  `getNativeShort` in class `ResultSetRow`
Throws:
  `java.sql.SQLException`

#### getNativeTimestamp

    public java.sql.Timestamp getNativeTimestamp(int columnIndex,
                                        java.util.Calendar targetCalendar,
                                        java.util.TimeZone tz,
                                        boolean rollForward,
                                        MySQLConnection conn,
                                        ResultSetImpl rs)
                                          throws java.sql.SQLException

Specified by:
  `getNativeTimestamp` in class `ResultSetRow`
Throws:
  `java.sql.SQLException`

#### closeOpenStreams

    public void closeOpenStreams()

Description copied from class: `ResultSetRow`
Called during navigation to next row to close all open streams.

Specified by:
  `closeOpenStreams` in class `ResultSetRow`

#### getBinaryInputStream

    public java.io.InputStream getBinaryInputStream(int columnIndex)
                                             throws java.sql.SQLException

Description copied from class: `ResultSetRow`
Returns data at the given index as an InputStream with no character conversion.

Specified by:
  `getBinaryInputStream` in class `ResultSetRow`
Parameters:
  `columnIndex` - of the column value (starting at 0) to return.
Returns:
  the value at the given index as an InputStream or null if null.
Throws:
  `java.sql.SQLException` - if an error occurs while retrieving the value.

#### getReader

    public java.io.Reader getReader(int columnIndex)
                             throws java.sql.SQLException

Specified by:
  `getReader` in class `ResultSetRow`
Throws:
  `java.sql.SQLException`

#### getTimeFast

    public java.sql.Time getTimeFast(int columnIndex,
                            java.util.Calendar targetCalendar,
                            java.util.TimeZone tz,
                            boolean rollForward,
                            MySQLConnection conn,
                            ResultSetImpl rs)
                              throws java.sql.SQLException

Specified by:
  `getTimeFast` in class `ResultSetRow`
Throws:
  `java.sql.SQLException`

#### getDateFast

    public java.sql.Date getDateFast(int columnIndex,
                            MySQLConnection conn,
                            ResultSetImpl rs,
                            java.util.Calendar targetCalendar)
                              throws java.sql.SQLException

Specified by:
  `getDateFast` in class `ResultSetRow`
Throws:
  `java.sql.SQLException`

#### getNativeDateTimeValue

    public java.lang.Object getNativeDateTimeValue(int columnIndex,
                                          java.util.Calendar targetCalendar,
                                          int jdbcType,
                                          int mysqlType,
                                          java.util.TimeZone tz,
                                          boolean rollForward,
                                          MySQLConnection conn,
                                          ResultSetImpl rs)
                                            throws java.sql.SQLException

Specified by:
  `getNativeDateTimeValue` in class `ResultSetRow`
Throws:
  `java.sql.SQLException`

#### getNativeDate

    public java.sql.Date getNativeDate(int columnIndex,
                              MySQLConnection conn,
                              ResultSetImpl rs,
                              java.util.Calendar cal)
                                throws java.sql.SQLException

Specified by:
  `getNativeDate` in class `ResultSetRow`
Throws:
  `java.sql.SQLException`

#### getNativeTime

    public java.sql.Time getNativeTime(int columnIndex,
                              java.util.Calendar targetCalendar,
                              java.util.TimeZone tz,
                              boolean rollForward,
                              MySQLConnection conn,
                              ResultSetImpl rs)
                                throws java.sql.SQLException

Specified by:
  `getNativeTime` in class `ResultSetRow`
Throws:
  `java.sql.SQLException`

#### getBytesSize

    public int getBytesSize()

Specified by:
  `getBytesSize` in class `ResultSetRow`