Class LobStorageMap

  • All Implemented Interfaces:
    LobStorageInterface

    public final class LobStorageMap
    extends java.lang.Object
    implements LobStorageInterface
    This class stores LOB objects in the database, in maps. This is the back-end i.e. the server side of the LOB storage.
    • Constructor Detail

      • LobStorageMap

        public LobStorageMap​(Database database)
    • Method Detail

      • openLobDataMap

        public static MVMap<java.lang.Long,​byte[]> openLobDataMap​(TransactionStore txStore)
        Open map used to store LOB data
        Parameters:
        txStore - containing map
        Returns:
        MVMap instance
      • 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)
        Description copied from interface: LobStorageInterface
        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
      • 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