public final class LobStorageMap extends java.lang.Object implements LobStorageInterface
| Modifier and Type | Class and Description |
|---|---|
static class |
LobStorageMap.BlobMeta |
static class |
LobStorageMap.BlobReference |
| Constructor and Description |
|---|
LobStorageMap(Database database) |
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Close LobStorage and release all resources
|
ValueLob |
copyLob(ValueLob old,
int tableId)
Copy a lob.
|
ValueBlob |
createBlob(java.io.InputStream in,
long maxLength)
Create a BLOB object.
|
ValueClob |
createClob(java.io.Reader reader,
long maxLength)
Create a CLOB object.
|
java.io.InputStream |
getInputStream(long lobId,
int tableId,
long byteCount)
Get the input stream for the given lob
|
java.io.InputStream |
getInputStream(long lobId,
long byteCount)
Get the input stream for the given lob, only called on server side of a TCP connection.
|
boolean |
isReadOnly()
Whether the storage is read-only
|
static MVMap<java.lang.Long,byte[]> |
openLobDataMap(TransactionStore txStore)
Open map used to store LOB data
|
static MVMap<java.lang.Long,LobStorageMap.BlobMeta> |
openLobMap(TransactionStore txStore)
Open map used to store LOB metadata
|
void |
removeAllForTable(int tableId)
Remove all LOBs for this table.
|
void |
removeLob(ValueLob lob)
Delete a LOB (from the database, if it is stored there).
|
public LobStorageMap(Database database)
public static MVMap<java.lang.Long,LobStorageMap.BlobMeta> openLobMap(TransactionStore txStore)
txStore - containing mappublic static MVMap<java.lang.Long,byte[]> openLobDataMap(TransactionStore txStore)
txStore - containing mappublic ValueBlob createBlob(java.io.InputStream in, long maxLength)
LobStorageInterfacecreateBlob in interface LobStorageInterfacein - the input streammaxLength - the maximum length (-1 if not known)public ValueClob createClob(java.io.Reader reader, long maxLength)
LobStorageInterfacecreateClob in interface LobStorageInterfacereader - the readermaxLength - the maximum length (-1 if not known)public boolean isReadOnly()
LobStorageInterfaceisReadOnly in interface LobStorageInterfacepublic ValueLob copyLob(ValueLob old, int tableId)
LobStorageInterfacecopyLob in interface LobStorageInterfaceold - the old lobtableId - the new table idpublic java.io.InputStream getInputStream(long lobId,
long byteCount)
throws java.io.IOException
LobStorageInterfacegetInputStream in interface LobStorageInterfacelobId - the lob idbyteCount - the number of bytes to read, or -1 if not knownjava.io.IOException - on failurepublic java.io.InputStream getInputStream(long lobId,
int tableId,
long byteCount)
throws java.io.IOException
LobStorageInterfacegetInputStream in interface LobStorageInterfacelobId - the lob idtableId - the able idbyteCount - the number of bytes to read, or -1 if not knownjava.io.IOException - on failurepublic void removeAllForTable(int tableId)
LobStorageInterfaceremoveAllForTable in interface LobStorageInterfacetableId - the table idpublic void removeLob(ValueLob lob)
LobStorageInterfaceremoveLob in interface LobStorageInterfacelob - the lobpublic void close()
LobStorageInterfaceclose in interface LobStorageInterface