LobStorageInterface

A mechanism to store and retrieve lob data.

Methods
ValueLobDb copyLob(ValueLobDb old, int tableId, long length)
Copy a lob.
ValueLobDb copyLob(ValueLobDb old, int tableId, long length)
Copy a lob.
Parameters:
old - the old lob
tableId - the new table id
length - the length
Returns:
the new lob
Value createBlob(InputStream in, long maxLength)
Create a BLOB object.
Value createBlob(InputStream in, long maxLength)
Create a BLOB object.
Parameters:
in - the input stream
maxLength - the maximum length (-1 if not known)
Returns:
the LOB
Value createClob(Reader reader, long maxLength)
Create a CLOB object.
Value createClob(Reader reader, long maxLength)
Create a CLOB object.
Parameters:
reader - the reader
maxLength - the maximum length (-1 if not known)
Returns:
the LOB
InputStream getInputStream(ValueLobDb lob, byte[] hmac, long byteCount)
Get the input stream for the given lob.
InputStream getInputStream(ValueLobDb lob, byte[] hmac, long byteCount) throws IOException
Get the input stream for the given lob.
Parameters:
lob - the lob id
hmac - the message authentication code (for remote input streams)
byteCount - the number of bytes to read, or -1 if not known
Returns:
the stream
void init()
Initialize the lob storage.
void init()
Initialize the lob storage.
boolean isReadOnly()
Whether the storage is read-only
boolean isReadOnly()
Whether the storage is read-only
Returns:
true if yes
void removeAllForTable(int tableId)
Remove all LOBs for this table.
void removeAllForTable(int tableId)
Remove all LOBs for this table.
Parameters:
tableId - the table id
void removeLob(ValueLobDb lob)
Delete a LOB (from the database, if it is stored there).
void removeLob(ValueLobDb lob)
Delete a LOB (from the database, if it is stored there).
Parameters:
lob - the lob