## com.mysql.jdbc
Class BufferRow

    java.lang.Object
      com.mysql.jdbc.ResultSetRow
          com.mysql.jdbc.BufferRow

    public class BufferRow

extends ResultSetRow

A RowHolder implementation that holds one row packet (which is re-used by the driver, and thus saves memory allocations), and tries when possible to avoid allocations to break out the results as individual byte[]s. (this isn't possible when doing things like reading floating point values).

Field Summary

Fields inherited from class com.mysql.jdbc.ResultSetRow
`exceptionInterceptor`

Constructor Summary
`BufferRow(Buffer buf, Field[] fields, boolean isBinaryEncoded, ExceptionInterceptor exceptionInterceptor)`

Method Summary
`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 columnIndex, 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).
`ResultSetRow` `setMetadata(Field[] f)`

Methods inherited from class com.mysql.jdbc.ResultSetRow
`getDateFast, getNativeDate, getNativeDateTimeValue, getNativeDouble, getNativeFloat, getNativeInt, getNativeLong, getNativeShort, getNativeTime, getNativeTimestamp, getString, getTimeFast, getTimestampFast`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### BufferRow

    public BufferRow(Buffer buf,
                     Field[] fields,
                     boolean isBinaryEncoded,
                     ExceptionInterceptor exceptionInterceptor)
              throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

Method Detail

### 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.

### 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.

### getInt

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

  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)
  Throws:
    `java.sql.SQLException` - if an error occurs while retrieving the value.

### getLong

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

  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)
  Throws:
    `java.sql.SQLException` - if an error occurs while retrieving the value.

### 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`

### getReader

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

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

### getString

    public java.lang.String getString(int columnIndex,
                                      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:
    `columnIndex` - 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.

### 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`

### 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`

### 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

### 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

### 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`

### 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.

### setMetadata

    public ResultSetRow setMetadata(Field[] f)
                             throws java.sql.SQLException

  Overrides:
    `setMetadata` 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`

### 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`

### 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`

### 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`