Class AbstractBlobClob

  • Direct Known Subclasses:
    PgBlob, PgClob

    public abstract class AbstractBlobClob
    extends Object
    This class holds all of the methods common to both Blobs and Clobs.
    Author:
    Michael Barker
    • Method Detail

      • truncate

        public void truncate​(long len)
                      throws SQLException
        For Blobs this should be in bytes while for Clobs it should be in characters. Since we really haven't figured out how to handle character sets for Clobs the current implementation uses bytes for both Blobs and Clobs.
        Parameters:
        len - maximum length
        Throws:
        SQLException - if operation fails
      • position

        public long position​(byte[] pattern,
                             long start)
                      throws SQLException
        Iterate over the buffer looking for the specified pattern.
        Parameters:
        pattern - A pattern of bytes to search the blob for
        start - The position to start reading from
        Returns:
        position of the specified pattern
        Throws:
        SQLException - if something wrong happens
      • position

        public long position​(Blob pattern,
                             long start)
                      throws SQLException
        This is simply passing the byte value of the pattern Blob.
        Parameters:
        pattern - search pattern
        start - start position
        Returns:
        position of given pattern
        Throws:
        SQLException - if something goes wrong
      • assertPosition

        protected void assertPosition​(long pos)
                               throws SQLException
        Throws an exception if the pos value exceeds the max value by which the large object API can index.
        Parameters:
        pos - Position to write at.
        Throws:
        SQLException - if something goes wrong
      • assertPosition

        protected void assertPosition​(long pos,
                                      long len)
                               throws SQLException
        Throws an exception if the pos value exceeds the max value by which the large object API can index.
        Parameters:
        pos - Position to write at.
        len - number of bytes to write.
        Throws:
        SQLException - if something goes wrong
      • checkFreed

        protected void checkFreed()
                           throws SQLException
        Checks that this LOB hasn't been free()d already.
        Throws:
        SQLException - if LOB has been freed.
      • addSubLO

        protected void addSubLO​(LargeObject subLO)