com.mysql.jdbc
Class ByteArrayRow

java.lang.Object
  extended by com.mysql.jdbc.ResultSetRow
      extended by com.mysql.jdbc.ByteArrayRow

public class ByteArrayRow
extends ResultSetRow

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


Field Summary
(package private)  byte[][] internalRowData
           
 
Fields inherited from class com.mysql.jdbc.ResultSetRow
exceptionInterceptor, metadata
 
Constructor Summary
ByteArrayRow(byte[][] internalRowData, 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, ConnectionImpl 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, ConnectionImpl 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, ConnectionImpl 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, ConnectionImpl conn, ResultSetImpl rs)
           
 java.sql.Timestamp getNativeTimestamp(int columnIndex, java.util.Calendar targetCalendar, java.util.TimeZone tz, boolean rollForward, ConnectionImpl conn, ResultSetImpl rs)
           
 java.io.Reader getReader(int columnIndex)
           
 java.lang.String getString(int index, java.lang.String encoding, ConnectionImpl conn)
          Returns the value at the given column (index starts at 0) as a java.lang.String with the requested encoding, using the given ConnectionImpl to find character converters.
 java.sql.Time getTimeFast(int columnIndex, java.util.Calendar targetCalendar, java.util.TimeZone tz, boolean rollForward, ConnectionImpl conn, ResultSetImpl rs)
           
 java.sql.Timestamp getTimestampFast(int columnIndex, java.util.Calendar targetCalendar, java.util.TimeZone tz, boolean rollForward, ConnectionImpl 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,
                                  ConnectionImpl 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 ConnectionImpl 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,
                                           ConnectionImpl 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,
                                             ConnectionImpl 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,
                                 ConnectionImpl 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,
                                 ConnectionImpl 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,
                                               ConnectionImpl 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,
                                   ConnectionImpl 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,
                                   ConnectionImpl 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