类 BinaryBufferRow
- java.lang.Object
-
- com.mysql.cj.protocol.result.AbstractResultsetRow
-
- com.mysql.cj.protocol.a.result.AbstractBufferRow
-
- com.mysql.cj.protocol.a.result.BinaryBufferRow
-
- 所有已实现的接口:
ProtocolEntity,ResultsetRow,Row
public class BinaryBufferRow extends AbstractBufferRow
A BufferRow implementation that holds one row packet from a server-side prepared statement (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. Rows from a server-side prepared statement are encoded differently, so we have different ways of finding where each column is, and unpacking them. (this isn't possible when doing things like reading floating point values).
-
-
字段概要
-
从类继承的字段 com.mysql.cj.protocol.a.result.AbstractBufferRow
homePosition, lastRequestedIndex, lastRequestedPos, rowFromServer
-
从类继承的字段 com.mysql.cj.protocol.result.AbstractResultsetRow
exceptionInterceptor, metadata, valueDecoder, wasNull
-
-
构造器概要
构造器 构造器 说明 BinaryBufferRow(NativePacketPayload buf, ColumnDefinition cd, ExceptionInterceptor exceptionInterceptor, ValueDecoder valueDecoder)
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 protected intfindAndSeekToOffset(int index)byte[]getBytes(int index)Returns the value at the given column as a byte array.booleangetNull(int columnIndex)Check whether a column is NULL and update the 'wasNull' status.<T> TgetValue(int columnIndex, ValueFactory<T> vf)Implementation of getValue() based on the underlying Buffer object.booleanisBinaryEncoded()voidsetBytes(int columnIndex, byte[] value)Sets the given byte array as a raw column value (only works currently with ByteArrayRow).RowsetMetadata(ColumnDefinition f)Set metadata to enable getValue functionality.-
从类继承的方法 com.mysql.cj.protocol.result.AbstractResultsetRow
getValueFromBytes, wasNull
-
-
-
-
构造器详细资料
-
BinaryBufferRow
public BinaryBufferRow(NativePacketPayload buf, ColumnDefinition cd, ExceptionInterceptor exceptionInterceptor, ValueDecoder valueDecoder)
-
-
方法详细资料
-
isBinaryEncoded
public boolean isBinaryEncoded()
-
findAndSeekToOffset
protected int findAndSeekToOffset(int index)
-
getBytes
public byte[] getBytes(int index)
从接口复制的说明:RowReturns the value at the given column as a byte array. The bytes represent the raw values returned by the server.- 参数:
index- index of column (starting at 0) to return from.- 返回:
- the value for the given column; if the value is SQL
NULL, the value returned isnull
-
getNull
public boolean getNull(int columnIndex)
Check whether a column is NULL and update the 'wasNull' status.- 参数:
columnIndex- of the column value (starting at 0) to check.- 返回:
- true if the column value is NULL, false if not.
-
setMetadata
public Row setMetadata(ColumnDefinition f)
从接口复制的说明:RowSet metadata to enable getValue functionality.- 指定者:
setMetadata在接口中Row- 覆盖:
setMetadata在类中AbstractResultsetRow- 参数:
f-ColumnDefinition- 返回:
Row
-
getValue
public <T> T getValue(int columnIndex, ValueFactory<T> vf)Implementation of getValue() based on the underlying Buffer object. Delegate to superclass for decoding.- 类型参数:
T- type to decode to- 参数:
columnIndex- index of column to retrieve value from (0-indexed, not JDBC 1-indexed)vf- value factory used to create the return value after decoding- 返回:
- The return value from the value factory
-
setBytes
public void setBytes(int columnIndex, byte[] value)从接口复制的说明:RowSets the given byte array as a raw column value (only works currently with ByteArrayRow).- 参数:
columnIndex- index of the column (starting at 0) to set to.value- the (raw) value to set
-
-