ByteArrayRow
Date: 2016-03-08

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
    Modifier and Type | Field and Description
    --- | ---
    `(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
    Modifier and Type | Method and Description
    --- | ---
    `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`