Package org.h2.store
Class LobStorageFrontend
java.lang.Object
org.h2.store.LobStorageFrontend
- All Implemented Interfaces:
LobStorageInterface
This factory creates in-memory objects and temporary files. It is used on the
client side.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe table id for session variables (LOBs not assigned to a table).static final intThe table id for result sets.static final intThe table id for temporary objects (not assigned to any object). -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCopy a lob.createBlob(InputStream in, long maxLength) Create a BLOB object.createClob(Reader reader, long maxLength) Create a CLOB object.getInputStream(long lobId, int tableId, long byteCount) Get the input stream for the given lobgetInputStream(long lobId, long byteCount) Get the input stream for the given lob, only called on server side of a TCP connection.booleanWhether the storage is read-onlyvoidremoveAllForTable(int tableId) Remove all LOBs for this table.voidDelete a LOB (from the database, if it is stored there).Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.h2.store.LobStorageInterface
close
-
Field Details
-
TABLE_ID_SESSION_VARIABLE
public static final int TABLE_ID_SESSION_VARIABLEThe table id for session variables (LOBs not assigned to a table).- See Also:
-
TABLE_TEMP
public static final int TABLE_TEMPThe table id for temporary objects (not assigned to any object).- See Also:
-
TABLE_RESULT
public static final int TABLE_RESULTThe table id for result sets.- See Also:
-
-
Constructor Details
-
LobStorageFrontend
-
-
Method Details
-
removeLob
Description copied from interface:LobStorageInterfaceDelete a LOB (from the database, if it is stored there).- Specified by:
removeLobin interfaceLobStorageInterface- Parameters:
lob- the lob
-
getInputStream
Description copied from interface:LobStorageInterfaceGet the input stream for the given lob, only called on server side of a TCP connection.- Specified by:
getInputStreamin interfaceLobStorageInterface- Parameters:
lobId- the lob idbyteCount- the number of bytes to read, or -1 if not known- Returns:
- the stream
- Throws:
IOException- on failure
-
getInputStream
Description copied from interface:LobStorageInterfaceGet the input stream for the given lob- Specified by:
getInputStreamin interfaceLobStorageInterface- Parameters:
lobId- the lob idtableId- the able idbyteCount- the number of bytes to read, or -1 if not known- Returns:
- the stream
- Throws:
IOException- on failure
-
isReadOnly
public boolean isReadOnly()Description copied from interface:LobStorageInterfaceWhether the storage is read-only- Specified by:
isReadOnlyin interfaceLobStorageInterface- Returns:
- true if yes
-
copyLob
Description copied from interface:LobStorageInterfaceCopy a lob.- Specified by:
copyLobin interfaceLobStorageInterface- Parameters:
old- the old lobtableId- the new table id- Returns:
- the new lob
-
removeAllForTable
public void removeAllForTable(int tableId) Description copied from interface:LobStorageInterfaceRemove all LOBs for this table.- Specified by:
removeAllForTablein interfaceLobStorageInterface- Parameters:
tableId- the table id
-
createBlob
Description copied from interface:LobStorageInterfaceCreate a BLOB object.- Specified by:
createBlobin interfaceLobStorageInterface- Parameters:
in- the input streammaxLength- the maximum length (-1 if not known)- Returns:
- the LOB
-
createClob
Create a CLOB object.- Specified by:
createClobin interfaceLobStorageInterface- Parameters:
reader- the readermaxLength- the maximum length (-1 if not known)- Returns:
- the LOB
-