Class AbstractBlobClob

java.lang.Object
org.postgresql.jdbc.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.
  • Field Details

  • Constructor Details

  • Method Details

    • free

      public void free() throws SQLException
      Throws:
      SQLException
    • 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
    • length

      public long length() throws SQLException
      Throws:
      SQLException
    • getBytes

      public byte[] getBytes(long pos, int length) throws SQLException
      Throws:
      SQLException
    • getBinaryStream

      public InputStream getBinaryStream() throws SQLException
      Throws:
      SQLException
    • setBinaryStream

      public OutputStream setBinaryStream(long pos) throws SQLException
      Throws:
      SQLException
    • 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.
    • getLo

      protected LargeObject getLo(boolean forWrite) throws SQLException
      Throws:
      SQLException
    • addSubLO

      protected void addSubLO(LargeObject subLO)