Package org.h2.store

Class LobStorageFrontend

  • All Implemented Interfaces:
    LobStorageInterface

    public class LobStorageFrontend
    extends java.lang.Object
    implements LobStorageInterface
    This factory creates in-memory objects and temporary files. It is used on the client side.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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
      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).
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • TABLE_ID_SESSION_VARIABLE

        public static final int TABLE_ID_SESSION_VARIABLE
        The table id for session variables (LOBs not assigned to a table).
        See Also:
        Constant Field Values
      • TABLE_TEMP

        public static final int TABLE_TEMP
        The table id for temporary objects (not assigned to any object).
        See Also:
        Constant Field Values
      • TABLE_RESULT

        public static final int TABLE_RESULT
        The table id for result sets.
        See Also:
        Constant Field Values
    • Constructor Detail

      • LobStorageFrontend

        public LobStorageFrontend​(SessionRemote handler)
    • Method Detail

      • getInputStream

        public java.io.InputStream getInputStream​(long lobId,
                                                  long byteCount)
                                           throws java.io.IOException
        Description copied from interface: LobStorageInterface
        Get the input stream for the given lob, only called on server side of a TCP connection.
        Specified by:
        getInputStream in interface LobStorageInterface
        Parameters:
        lobId - the lob id
        byteCount - the number of bytes to read, or -1 if not known
        Returns:
        the stream
        Throws:
        java.io.IOException - on failure
      • getInputStream

        public java.io.InputStream getInputStream​(long lobId,
                                                  int tableId,
                                                  long byteCount)
                                           throws java.io.IOException
        Description copied from interface: LobStorageInterface
        Get the input stream for the given lob
        Specified by:
        getInputStream in interface LobStorageInterface
        Parameters:
        lobId - the lob id
        tableId - the able id
        byteCount - the number of bytes to read, or -1 if not known
        Returns:
        the stream
        Throws:
        java.io.IOException - on failure
      • createBlob

        public ValueBlob createBlob​(java.io.InputStream in,
                                    long maxLength)
        Description copied from interface: LobStorageInterface
        Create a BLOB object.
        Specified by:
        createBlob in interface LobStorageInterface
        Parameters:
        in - the input stream
        maxLength - the maximum length (-1 if not known)
        Returns:
        the LOB
      • createClob

        public ValueClob createClob​(java.io.Reader reader,
                                    long maxLength)
        Create a CLOB object.
        Specified by:
        createClob in interface LobStorageInterface
        Parameters:
        reader - the reader
        maxLength - the maximum length (-1 if not known)
        Returns:
        the LOB