Package org.h2.jdbc
Class JdbcBlob
- java.lang.Object
-
- org.h2.message.TraceObject
-
- org.h2.jdbc.JdbcLob
-
- org.h2.jdbc.JdbcBlob
-
- All Implemented Interfaces:
java.sql.Blob
public final class JdbcBlob extends JdbcLob implements java.sql.Blob
Represents a BLOB value.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.h2.jdbc.JdbcLob
JdbcLob.LobPipedOutputStream, JdbcLob.State
-
-
Field Summary
-
Fields inherited from class org.h2.message.TraceObject
ARRAY, BLOB, CALLABLE_STATEMENT, CLOB, CONNECTION, DATA_SOURCE, DATABASE_META_DATA, PARAMETER_META_DATA, PREPARED_STATEMENT, RESULT_SET, RESULT_SET_META_DATA, SAVEPOINT, SQLXML, STATEMENT, trace, XA_DATA_SOURCE, XID
-
-
Constructor Summary
Constructors Constructor Description JdbcBlob(JdbcConnection conn, Value value, JdbcLob.State state, int id)INTERNAL
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.io.InputStreamgetBinaryStream()Returns the input stream.java.io.InputStreamgetBinaryStream(long pos, long length)Returns the input stream, starting from an offset.byte[]getBytes(long pos, int length)Returns some bytes of the object.longlength()Returns the length.longposition(byte[] pattern, long start)[Not supported] Searches a pattern and return the position.longposition(java.sql.Blob blobPattern, long start)[Not supported] Searches a pattern and return the position.java.io.OutputStreamsetBinaryStream(long pos)Get a writer to update the Blob.intsetBytes(long pos, byte[] bytes)Fills the Blob.intsetBytes(long pos, byte[] bytes, int offset, int len)Sets some bytes of the object.voidtruncate(long len)[Not supported] Truncates the object.-
Methods inherited from class org.h2.jdbc.JdbcLob
checkClosed, checkEditable, checkReadable, completeWrite, free, getCharacterStream, setCharacterStreamImpl, setClobOutputStreamImpl, toString
-
Methods inherited from class org.h2.message.TraceObject
debugCode, debugCodeAssign, debugCodeCall, debugCodeCall, debugCodeCall, getNextId, getTraceId, getTraceObjectName, isDebugEnabled, isInfoEnabled, logAndConvert, quote, quoteArray, quoteBigDecimal, quoteBytes, quoteDate, quoteIntArray, quoteMap, quoteTime, quoteTimestamp, setTrace, unsupported
-
-
-
-
Constructor Detail
-
JdbcBlob
public JdbcBlob(JdbcConnection conn, Value value, JdbcLob.State state, int id)
INTERNAL- Parameters:
conn- it belongs tovalue- ofstate- of the LOBid- of the trace object
-
-
Method Detail
-
length
public long length() throws java.sql.SQLExceptionReturns the length.- Specified by:
lengthin interfacejava.sql.Blob- Returns:
- the length
- Throws:
java.sql.SQLException
-
truncate
public void truncate(long len) throws java.sql.SQLException[Not supported] Truncates the object.- Specified by:
truncatein interfacejava.sql.Blob- Parameters:
len- the new length- Throws:
java.sql.SQLException
-
getBytes
public byte[] getBytes(long pos, int length) throws java.sql.SQLExceptionReturns some bytes of the object.- Specified by:
getBytesin interfacejava.sql.Blob- Parameters:
pos- the index, the first byte is at position 1length- the number of bytes- Returns:
- the bytes, at most length bytes
- Throws:
java.sql.SQLException
-
setBytes
public int setBytes(long pos, byte[] bytes) throws java.sql.SQLExceptionFills the Blob. This is only supported for new, empty Blob objects that were created with Connection.createBlob(). The position must be 1, meaning the whole Blob data is set.- Specified by:
setBytesin interfacejava.sql.Blob- Parameters:
pos- where to start writing (the first byte is at position 1)bytes- the bytes to set- Returns:
- the length of the added data
- Throws:
java.sql.SQLException
-
setBytes
public int setBytes(long pos, byte[] bytes, int offset, int len) throws java.sql.SQLExceptionSets some bytes of the object.- Specified by:
setBytesin interfacejava.sql.Blob- Parameters:
pos- the write positionbytes- the bytes to setoffset- the bytes offsetlen- the number of bytes to write- Returns:
- how many bytes have been written
- Throws:
java.sql.SQLException
-
getBinaryStream
public java.io.InputStream getBinaryStream() throws java.sql.SQLExceptionDescription copied from class:JdbcLobReturns the input stream.- Specified by:
getBinaryStreamin interfacejava.sql.Blob- Overrides:
getBinaryStreamin classJdbcLob- Returns:
- the input stream
- Throws:
java.sql.SQLException- on failure
-
setBinaryStream
public java.io.OutputStream setBinaryStream(long pos) throws java.sql.SQLExceptionGet a writer to update the Blob. This is only supported for new, empty Blob objects that were created with Connection.createBlob(). The Blob is created in a separate thread, and the object is only updated when OutputStream.close() is called. The position must be 1, meaning the whole Blob data is set.- Specified by:
setBinaryStreamin interfacejava.sql.Blob- Parameters:
pos- where to start writing (the first byte is at position 1)- Returns:
- an output stream
- Throws:
java.sql.SQLException
-
position
public long position(byte[] pattern, long start) throws java.sql.SQLException[Not supported] Searches a pattern and return the position.- Specified by:
positionin interfacejava.sql.Blob- Parameters:
pattern- the pattern to searchstart- the index, the first byte is at position 1- Returns:
- the position (first byte is at position 1), or -1 for not found
- Throws:
java.sql.SQLException
-
position
public long position(java.sql.Blob blobPattern, long start) throws java.sql.SQLException[Not supported] Searches a pattern and return the position.- Specified by:
positionin interfacejava.sql.Blob- Parameters:
blobPattern- the pattern to searchstart- the index, the first byte is at position 1- Returns:
- the position (first byte is at position 1), or -1 for not found
- Throws:
java.sql.SQLException
-
getBinaryStream
public java.io.InputStream getBinaryStream(long pos, long length) throws java.sql.SQLExceptionReturns the input stream, starting from an offset.- Specified by:
getBinaryStreamin interfacejava.sql.Blob- Parameters:
pos- where to start readinglength- the number of bytes that will be read- Returns:
- the input stream to read
- Throws:
java.sql.SQLException
-
-