com.informix.jdbc

Class IfxSmartBlob

  • java.lang.Object
    • com.informix.jdbc.IfxSmartBlob


  • public class IfxSmartBlob
    extends java.lang.Object

    The IfxSmartBlob class provides smart large object access. This class provides open, close, read, write, and other Informix smart blob access methods.

    • Field Summary

      Fields 
      Modifier and Type Field and Description
      static int LO_APPEND
      Indicates if the open or create mode of the smart large object is append mode.
      static int LO_BUFFER
      Indicates if the open or create mode of the smart large object is buffer.
      static int LO_CLIENT_FILE
      to be used in parameter flags for IFX_LO_COPY_TO_LO and IFX_LO_COPY_TO_FILE
      static int LO_CURRENT_END
      to be used with IfxLoLock/IfxLoUnlock
      static int LO_DIRTY_READ
      Indicates if the open or create mode of the smart large object is dirty read.
      static int LO_EXCLUSIVE_MODE
      to be used with IfxLoLock/IfxLoUnlock
      static int LO_FORWARD
      Indicates if the open or create mode of the smart large object is forward.
      static int LO_LOCKALL
      Indicates if the open or create mode of the smart large object is lock all.
      static int LO_LOCKRANGE
      Indicates if the open or create mode of the smart large object is lock range.
      static int LO_MAX_END
      to be used with IfxLoLock/IfxLoUnlock
      static int LO_NOBUFFER
      Indicates if the open or create mode of the smart large object is no buffer.
      static int LO_NODIRTY_READ
      Indicates if the open or create mode of the smart large object is no dirty read.
      static int LO_RANDOM
      Indicates if the open or create mode of the smart large object is random.
      static int LO_RDONLY
      Indicates if the open or create mode of the smart large object is read only.
      static int LO_RDWR
      Indicates if the open or create mode of the smart large object is read/write.
      static int LO_REVERSE
      Indicates if the open or create mode of the smart large object is reverse.
      static int LO_SEEK_CUR
      Indicates that seeking starts from the current position plus the set position.
      static int LO_SEEK_END
      Indicates that seeking starts from the end of file plus the set position.
      static int LO_SEEK_SET
      Indicates that seeking starts from the set position.
      static int LO_SEQUENTIAL
      Indicates if the open or create mode of the smart large object is sequential.
      static int LO_SERVER_FILE
      to be used in parameter flags for IFX_LO_COPY_TO_LO and IFX_LO_COPY_TO_FILE
      static int LO_SHARED_MODE
      to be used with IfxLoLock/IfxLoUnlock
      static int LO_WRONLY
      Indicates if the open or create mode of the large object is write only.
      protected IfxLocator locator 
    • Constructor Summary

      Constructors 
      Constructor and Description
      IfxSmartBlob(java.sql.Connection conn)
      Creates an IfxSmartBlob object.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      protected void finalize() 
      protected int getHandle() 
      int IfxLoAlter(IfxLob blob, IfxLobDescriptor lodesc)
      IfxLoAlter() alters this blob using the new large object IfxLobDescriptor.
      int IfxLoAlter(IfxLocator locator, IfxLobDescriptor lodesc)
      IfxLoAlter() alter the smartblob from this locator using the new IfxLobDescriptor lodesc.
      void IfxLoClose(int lofd)
      Closes the smart large object referenced by the given locator.
      IfxLobDescriptor IfxLoColInfo(java.lang.String name)
      Gets the smart large object characteristics for the specified column.
      int IfxLoCreate(IfxLobDescriptor lodesc, int mode, IfxBblob blob)
      Creates a new smart large object and opens it on the server.
      int IfxLoCreate(IfxLobDescriptor lodesc, int mode, IfxCblob clob)
      Creates a new large object and opens it on the server.
      int IfxLoCreate(IfxLobDescriptor lodesc, int mode, IfxLocator locator)
      Creates a new smart large object and opens it on the server.
      int IfxLoFromFile(int lofd, java.lang.String name, int flag, int offset, int amount)
      IfxLoFromFile() copies a smart large object from a file on server or client into a smart large object file descriptor.
      IfxLoStat IfxLoGetStat(int lofd)
      Returns an IfxLoStat object, which provides statistical information, such as the last access time, the last update status time, the last modification time, and the reference count of the smart large object.
      int IfxLoLock(int lofd, long offset, int whence, long range, int lockmode)
      IfxLoLock() lock a range of bytes in the given large object file descriptor in a requested mode.
      int IfxLoOpen(IfxBblob blob, int mode)
      Opens the smart large object that is referenced by the specified IfxBblob object.
      int IfxLoOpen(IfxCblob clob, int mode)
      Opens the smart large object that is referenced by the specified IfxCblob object.
      int IfxLoOpen(IfxLocator locator, int mode)
      Opens the smart large object that is referenced by the specified locator.
      int IfxLoRead(int lofd, byte[] buffer, int nbytes)
      Reads nbytes of data from the smart large object into the give byte array.
      int IfxLoRead(int lofd, byte[] buffer, int nbytes, int off)
      Reads nbytes of data from the smart large object into the give byte array.
      byte[] IfxLoRead(int lofd, int nbytes)
      Reads nbytes of data from the smart large object.
      int IfxLoRead(int lofd, java.io.OutputStream fout, int nbytes)
      Reads nbytes of data from the smart large object into the file stream.
      void IfxLoRelease()
      Releases the smart large object resources associated with the locator.
      void IfxLoRelease(IfxBblob blob)
      Releases the smart large object resources assoicated with the smart blob object.
      void IfxLoRelease(IfxCblob clob)
      Releases the smart large object resources assoicated with the smart clob object.
      void IfxLoRelease(IfxLocator locator)
      Releases the smart large object resources associated with the locator.
      long IfxLoSize(int lofd)
      Returns the size of the smart large object.
      long IfxLoTell(int lofd)
      Returns the current seek position, which is the offset for the next read or write operation on the smart large object.
      int IfxLoToFile(IfxLob blob, java.lang.String name, int flag)
      IfxLoToFile() copies a large object blob to a file on the client or server.
      int IfxLoToFile(IfxLocator locator, java.lang.String name, int flag)
      IfxLoToFile() copies the source locator of a large object to a file on the client or server.
      void IfxLoTruncate(int lofd, long size)
      Truncates the smart large object to the specific size.
      int IfxLoUnLock(int lofd, long offset, int whence, long range)
      IfxLoUnLock() unlock a range of bytes in the given large object file descriptor.
      int IfxLoWrite(int lofd, byte[] buffer)
      Writes the given data into the smart large object.
      int IfxLoWrite(int lofd, byte[] buffer, int offset, int length) 
      int IfxLoWrite(int lofd, java.io.InputStream fin, int length)
      Writes the given data into the smart large object.
      long seek(int lofd, long offset, int whence)
      Sets the position for the next read and write operation of the smart large object referenced by the given locator.
      void setWriteStreamBufferSize(int size)
      Sets the size of the buffer the driver uses when streaming data from InputStreams/Readers into Smart Large Objects The default size is 32K
      long write(int lofd, java.io.InputStream is)
      Writes the provided InputStream into this Smart Large Object
      long write(int lofd, java.io.InputStream is, long length)
      Writes the provided InputStream into this Smart Large Object
      long writeWithConversion(int lofd, java.io.InputStream is)
      Writes data to this smart large object with character encoding conversion
      long writeWithConversion(int lofd, java.io.InputStream is, long length)
      Writes data to this smart large object with character encoding conversion
      long writeWithConversion(int lofd, java.io.Reader r)
      Writes data to this smart large object with character encoding conversion
      long writeWithConversion(int lofd, java.io.Reader r, long length)
      Writes data to this smart large object with character encoding conversion
      • Methods inherited from class java.lang.Object

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

      • LO_APPEND

        public static final int LO_APPEND
        Indicates if the open or create mode of the smart large object is append mode.
        See Also:
        Constant Field Values
      • LO_WRONLY

        public static final int LO_WRONLY
        Indicates if the open or create mode of the large object is write only.
        See Also:
        Constant Field Values
      • LO_RDONLY

        public static final int LO_RDONLY
        Indicates if the open or create mode of the smart large object is read only.
        See Also:
        Constant Field Values
      • LO_RDWR

        public static final int LO_RDWR
        Indicates if the open or create mode of the smart large object is read/write.
        See Also:
        Constant Field Values
      • LO_DIRTY_READ

        public static final int LO_DIRTY_READ
        Indicates if the open or create mode of the smart large object is dirty read.
        See Also:
        Constant Field Values
      • LO_RANDOM

        public static final int LO_RANDOM
        Indicates if the open or create mode of the smart large object is random.
        See Also:
        Constant Field Values
      • LO_SEQUENTIAL

        public static final int LO_SEQUENTIAL
        Indicates if the open or create mode of the smart large object is sequential.
        See Also:
        Constant Field Values
      • LO_FORWARD

        public static final int LO_FORWARD
        Indicates if the open or create mode of the smart large object is forward.
        See Also:
        Constant Field Values
      • LO_REVERSE

        public static final int LO_REVERSE
        Indicates if the open or create mode of the smart large object is reverse.
        See Also:
        Constant Field Values
      • LO_BUFFER

        public static final int LO_BUFFER
        Indicates if the open or create mode of the smart large object is buffer.
        See Also:
        Constant Field Values
      • LO_NOBUFFER

        public static final int LO_NOBUFFER
        Indicates if the open or create mode of the smart large object is no buffer.
        See Also:
        Constant Field Values
      • LO_NODIRTY_READ

        public static final int LO_NODIRTY_READ
        Indicates if the open or create mode of the smart large object is no dirty read.
        See Also:
        Constant Field Values
      • LO_LOCKALL

        public static final int LO_LOCKALL
        Indicates if the open or create mode of the smart large object is lock all.
        See Also:
        Constant Field Values
      • LO_LOCKRANGE

        public static final int LO_LOCKRANGE
        Indicates if the open or create mode of the smart large object is lock range.
        See Also:
        Constant Field Values
      • LO_SEEK_SET

        public static final int LO_SEEK_SET
        Indicates that seeking starts from the set position.
        See Also:
        Constant Field Values
      • LO_SEEK_CUR

        public static final int LO_SEEK_CUR
        Indicates that seeking starts from the current position plus the set position.
        See Also:
        Constant Field Values
      • LO_SEEK_END

        public static final int LO_SEEK_END
        Indicates that seeking starts from the end of file plus the set position.
        See Also:
        Constant Field Values
      • LO_CLIENT_FILE

        public static final int LO_CLIENT_FILE
        to be used in parameter flags for IFX_LO_COPY_TO_LO and IFX_LO_COPY_TO_FILE
        See Also:
        Constant Field Values
      • LO_SERVER_FILE

        public static final int LO_SERVER_FILE
        to be used in parameter flags for IFX_LO_COPY_TO_LO and IFX_LO_COPY_TO_FILE
        See Also:
        Constant Field Values
      • LO_SHARED_MODE

        public static final int LO_SHARED_MODE
        to be used with IfxLoLock/IfxLoUnlock
        See Also:
        Constant Field Values
      • LO_EXCLUSIVE_MODE

        public static final int LO_EXCLUSIVE_MODE
        to be used with IfxLoLock/IfxLoUnlock
        See Also:
        Constant Field Values
      • LO_MAX_END

        public static final int LO_MAX_END
        to be used with IfxLoLock/IfxLoUnlock
        See Also:
        Constant Field Values
      • LO_CURRENT_END

        public static final int LO_CURRENT_END
        to be used with IfxLoLock/IfxLoUnlock
        See Also:
        Constant Field Values
    • Constructor Detail

      • IfxSmartBlob

        public IfxSmartBlob(java.sql.Connection conn)
                     throws java.sql.SQLException

        Creates an IfxSmartBlob object.

        Parameters:
        conn - the java.sql.Connection object for this Informix database
        Throws:
        java.sql.SQLException - if there is an error accessing database
    • Method Detail

      • setWriteStreamBufferSize

        public void setWriteStreamBufferSize(int size)
        Sets the size of the buffer the driver uses when streaming data from InputStreams/Readers into Smart Large Objects The default size is 32K
        Parameters:
        size - size of the buffer
      • IfxLoColInfo

        public IfxLobDescriptor IfxLoColInfo(java.lang.String name)
                                      throws java.sql.SQLException

        Gets the smart large object characteristics for the specified column.

        Parameters:
        name - the name of the column
        Returns:
        The smart large object name descriptor.
        Throws:
        java.sql.SQLException - if there is an error accessing database
        See Also:
        IfxLobDescriptor
      • IfxLoCreate

        public int IfxLoCreate(IfxLobDescriptor lodesc,
                               int mode,
                               IfxLocator locator)
                        throws java.sql.SQLException

        Creates a new smart large object and opens it on the server.

        Parameters:
        lodesc - - the large object descriptor for the smart large object
        mode - - the access mode for creating the large object
        locator - - reference to where the smart large object is stored It is populated upon successful creation of the smart large object.
        Returns:
        large object file descriptor
        Throws:
        java.sql.SQLException - if there is an error accessing database
        See Also:
        LO_APPEND, LO_RDONLY, LO_WRONLY, LO_RDWR, IfxLobDescriptor, IfxLocator
      • IfxLoCreate

        public int IfxLoCreate(IfxLobDescriptor lodesc,
                               int mode,
                               IfxBblob blob)
                        throws java.sql.SQLException

        Creates a new smart large object and opens it on the server.

        Parameters:
        lodesc - - the large object descriptor for the smart large object
        mode - - the access mode for creating the large object
        blob - - This is populated upon successful creation of the smart large object.
        Returns:
        the large object file handle.
        Throws:
        java.sql.SQLException - if there is an error accessing database
        See Also:
        LO_APPEND, LO_RDONLY, LO_WRONLY, LO_RDWR, IfxLobDescriptor, IfxBblob
      • IfxLoCreate

        public int IfxLoCreate(IfxLobDescriptor lodesc,
                               int mode,
                               IfxCblob clob)
                        throws java.sql.SQLException

        Creates a new large object and opens it on the server.

        Parameters:
        lodesc - - the large object descriptor
        mode - - the access mode for creating the large object
        clob - - This is populated upon successful creation of the smart large object.
        Returns:
        the large object file descriptor
        Throws:
        java.sql.SQLException - if there is an error accessing database
        See Also:
        LO_APPEND, LO_RDONLY, LO_WRONLY, LO_RDWR, IfxLobDescriptor, IfxCblob
      • IfxLoOpen

        public int IfxLoOpen(IfxLocator locator,
                             int mode)
                      throws java.sql.SQLException

        Opens the smart large object that is referenced by the specified locator.

        Parameters:
        locator - - the locator that identifies the smart blob object to be opened
        mode - - the access mode for opening the smart large object
        Returns:
        the large object file descriptor
        Throws:
        java.sql.SQLException - if there is an error accessing smart large object
        See Also:
        LO_APPEND, LO_RDONLY, LO_WRONLY, LO_RDWR
      • IfxLoOpen

        public int IfxLoOpen(IfxBblob blob,
                             int mode)
                      throws java.sql.SQLException

        Opens the smart large object that is referenced by the specified IfxBblob object.

        Parameters:
        blob - the IfxBblob that identifies the smart blob object to be opened
        mode - the access mode for opening the smart large object
        Returns:
        the locator handle that references the smart large object
        Throws:
        java.sql.SQLException - if there is an error accessing smart large object
        See Also:
        LO_APPEND, LO_RDONLY, LO_WRONLY, LO_RDWR
      • IfxLoOpen

        public int IfxLoOpen(IfxCblob clob,
                             int mode)
                      throws java.sql.SQLException

        Opens the smart large object that is referenced by the specified IfxCblob object.

        Parameters:
        clob - The IfxCblob that identifies the smart clob object to be opened
        mode - The access mode for opening the smart large object
        Returns:
        The locator handle that references the smart large object
        Throws:
        java.sql.SQLException - if there is an error accessing smart large object
        See Also:
        LO_APPEND, LO_RDONLY, LO_WRONLY, LO_RDWR
      • IfxLoRelease

        public void IfxLoRelease()
                          throws java.sql.SQLException

        Releases the smart large object resources associated with the locator.

        Parameters:
        locator - the locator that references the smart large object
        Throws:
        java.sql.SQLException - if there is an error accessing smart large object
      • IfxLoRelease

        public void IfxLoRelease(IfxLocator locator)
                          throws java.sql.SQLException

        Releases the smart large object resources associated with the locator.

        Parameters:
        locator - the locator that references the smart large object
        Throws:
        java.sql.SQLException - if there is an error accessing smart large object
      • IfxLoRelease

        public void IfxLoRelease(IfxBblob blob)
                          throws java.sql.SQLException

        Releases the smart large object resources assoicated with the smart blob object.

        Parameters:
        blob - the IfxBblob that identifies the smart blob object whose locator has to be released
        Throws:
        java.sql.SQLException - if there is an error accessing smart large object
      • IfxLoRelease

        public void IfxLoRelease(IfxCblob clob)
                          throws java.sql.SQLException

        Releases the smart large object resources assoicated with the smart clob object.

        Parameters:
        clob - the IfxCblob that identifies the smart clob object whose locator has to be released
        Throws:
        java.sql.SQLException - if there is an error accessing smart large object
      • IfxLoClose

        public void IfxLoClose(int lofd)
                        throws java.sql.SQLException

        Closes the smart large object referenced by the given locator.

        Parameters:
        lofd - the locator handle that references the smart large object
        Throws:
        java.sql.SQLException - if there is an error accessing smart large object
      • seek

        public long seek(int lofd,
                         long offset,
                         int whence)
                  throws java.sql.SQLException

        Sets the position for the next read and write operation of the smart large object referenced by the given locator.

        Parameters:
        lofd - the locator handle that references this smart large object
        offset - the offset from the location specified in the whence parameter
        whence - LO_SEEK_SET, from begining; LO_SEEK_CUR, relative from current position; LO_SEEK_END, from the end.
        Returns:
        The absolute position from the begining of the smart large object.
        Throws:
        java.sql.SQLException - if there is an error accessing smart large object
      • IfxLoTruncate

        public void IfxLoTruncate(int lofd,
                                  long size)
                           throws java.sql.SQLException

        Truncates the smart large object to the specific size.

        Parameters:
        lofd - the handle that references the smart large object
        size - the size to which the smart large object is truncated
        Throws:
        java.sql.SQLException - if there is an error accessing smart large object
      • IfxLoSize

        public long IfxLoSize(int lofd)
                       throws java.sql.SQLException

        Returns the size of the smart large object.

        Parameters:
        lofd - the handle that references the smart large object
        Returns:
        The size of the smart large object.
        Throws:
        java.sql.SQLException - if there is an error accessing smart large object
      • IfxLoGetStat

        public IfxLoStat IfxLoGetStat(int lofd)
                               throws java.sql.SQLException

        Returns an IfxLoStat object, which provides statistical information, such as the last access time, the last update status time, the last modification time, and the reference count of the smart large object.

        Parameters:
        lofd - The handle that references the smart large object
        Returns:
        The IfxLoStat object that contains statistical information
        Throws:
        java.sql.SQLException - if there is an error accessing smart large object
        See Also:
        IfxLoStat
      • getHandle

        protected int getHandle()
      • IfxLoTell

        public long IfxLoTell(int lofd)
                       throws java.sql.SQLException

        Returns the current seek position, which is the offset for the next read or write operation on the smart large object.

        Parameters:
        lofd - the locator handle that references the smart large object
        Returns:
        The current offset.
        Throws:
        java.sql.SQLException - if there is an error accessing smart large object
      • IfxLoRead

        public byte[] IfxLoRead(int lofd,
                                int nbytes)
                         throws java.sql.SQLException

        Reads nbytes of data from the smart large object.

        Parameters:
        lofd - the locator handle that references the smart large object
        nbytes - the number of bytes to be read
        Returns:
        The smart large object data.
        Throws:
        java.sql.SQLException - if there is an error accessing smart large object
      • IfxLoRead

        public int IfxLoRead(int lofd,
                             byte[] buffer,
                             int nbytes)
                      throws java.sql.SQLException

        Reads nbytes of data from the smart large object into the give byte array.

        Parameters:
        lofd - the locator handle that references the smart large object
        buffer - the buffer into which the data is read
        nbytes - the number of bytes of data to be read
        Returns:
        The number of bytes read.
        Throws:
        java.sql.SQLException - if there is an error accessing smart large object
      • IfxLoRead

        public int IfxLoRead(int lofd,
                             java.io.OutputStream fout,
                             int nbytes)
                      throws java.sql.SQLException

        Reads nbytes of data from the smart large object into the file stream.

        Parameters:
        lofd - the locator handle that references the smart large object
        fout - the file stream into which the data is read
        nbytes - the number of bytes to be read
        Returns:
        The number of bytes read.
        Throws:
        java.sql.SQLException - if there is an error accessing smart large object
      • IfxLoRead

        public int IfxLoRead(int lofd,
                             byte[] buffer,
                             int nbytes,
                             int off)
                      throws java.sql.SQLException

        Reads nbytes of data from the smart large object into the give byte array.

        Parameters:
        lofd - the handle that references the smart large object
        buffer - the buffer into which the data is read
        nbytes - the number of bytes of data to be read
        off - the start offset of the data
        Returns:
        The number of bytes read.
        Throws:
        java.sql.SQLException - if there is an error accessing smart large object
      • IfxLoWrite

        public int IfxLoWrite(int lofd,
                              byte[] buffer)
                       throws java.sql.SQLException

        Writes the given data into the smart large object.

        Parameters:
        lofd - the locator handle that references the smart large object
        buffer - the data to write to the smart large object
        Returns:
        The number of bytes written.
        Throws:
        java.sql.SQLException - if there is an error accessing smart large object
      • IfxLoWrite

        public int IfxLoWrite(int lofd,
                              byte[] buffer,
                              int offset,
                              int length)
                       throws java.sql.SQLException
        Throws:
        java.sql.SQLException
      • write

        public long write(int lofd,
                          java.io.InputStream is)
                   throws java.sql.SQLException
        Writes the provided InputStream into this Smart Large Object
        Parameters:
        lofd - The locator handle that references the smart large object
        is - The input stream from which the data is read
        Returns:
        long How many bytes were written to the Smart Large Object
        Throws:
        java.sql.SQLException
      • write

        public long write(int lofd,
                          java.io.InputStream is,
                          long length)
                   throws java.sql.SQLException
        Writes the provided InputStream into this Smart Large Object
        Parameters:
        lofd - The locator handle that references the smart large object
        is - The input stream from which the data is read
        length - How many bytes to read from this InputStream
        Returns:
        long How many bytes were written to the Smart Large Object
        Throws:
        java.sql.SQLException
      • writeWithConversion

        public long writeWithConversion(int lofd,
                                        java.io.InputStream is,
                                        long length)
                                 throws java.sql.SQLException
        Writes data to this smart large object with character encoding conversion
        Parameters:
        lofd - The locator handle that references the smart large object
        is - The input stream from which the data is read
        length - How many bytes to read from this InputStream
        Returns:
        long How many bytes were written to the Smart Large Object
        Throws:
        java.sql.SQLException
      • writeWithConversion

        public long writeWithConversion(int lofd,
                                        java.io.Reader r,
                                        long length)
                                 throws java.sql.SQLException
        Writes data to this smart large object with character encoding conversion
        Parameters:
        lofd - The locator handle that references the smart large object
        r - The Reader from which the data is read
        length - How many bytes to read from this InputStream
        Returns:
        long How many bytes were written to the Smart Large Object
        Throws:
        java.sql.SQLException
      • writeWithConversion

        public long writeWithConversion(int lofd,
                                        java.io.InputStream is)
                                 throws java.sql.SQLException
        Writes data to this smart large object with character encoding conversion
        Parameters:
        lofd - The locator handle that references the smart large object
        is - the input stream to read from
        Returns:
        long How many bytes were written to the Smart Large Object
        Throws:
        java.sql.SQLException
      • writeWithConversion

        public long writeWithConversion(int lofd,
                                        java.io.Reader r)
                                 throws java.sql.SQLException
        Writes data to this smart large object with character encoding conversion
        Parameters:
        lofd - The locator handle that references the smart large object
        r - The Reader to read data from
        Returns:
        long How many bytes were written to the Smart Large Object
        Throws:
        java.sql.SQLException
      • IfxLoWrite

        public int IfxLoWrite(int lofd,
                              java.io.InputStream fin,
                              int length)
                       throws java.sql.SQLException

        Writes the given data into the smart large object.

        Parameters:
        lofd - the locator handle that references the smart large object
        fin - the file stream from which the data is written
        length - the number of bytes to be written
        Returns:
        The number of bytes written.
        Throws:
        java.sql.SQLException - if there is an error accessing smart large object
      • IfxLoLock

        public int IfxLoLock(int lofd,
                             long offset,
                             int whence,
                             long range,
                             int lockmode)
                      throws java.sql.SQLException

        IfxLoLock() lock a range of bytes in the given large object file descriptor in a requested mode.

        Parameters:
        lofd - - given open large object file descriptor.
        offset - - offset indicated by whence.
        whence - - indicating starting point
        range - - size of range
        lockmode - - LO_SHARED_MODE or LO_EXCLUSIVE_MODE
        Returns:
        0:Success, -1:Failure
        Throws:
        java.sql.SQLException
      • IfxLoUnLock

        public int IfxLoUnLock(int lofd,
                               long offset,
                               int whence,
                               long range)
                        throws java.sql.SQLException

        IfxLoUnLock() unlock a range of bytes in the given large object file descriptor.

        Parameters:
        lofd - - given large object file descriptor.
        offset - - offset indicated by whence.
        whence - - indicating starting point
        range - - size of range
        Returns:
        0:Success, -1:Failure
        Throws:
        java.sql.SQLException
      • IfxLoAlter

        public int IfxLoAlter(IfxLocator locator,
                              IfxLobDescriptor lodesc)
                       throws java.sql.SQLException

        IfxLoAlter() alter the smartblob from this locator using the new IfxLobDescriptor lodesc.

        Parameters:
        locator - - the smartblob locator
        lodesc - - the new specification.
        Returns:
        0: Success, -1 : Failure
        Throws:
        java.sql.SQLException
      • IfxLoAlter

        public int IfxLoAlter(IfxLob blob,
                              IfxLobDescriptor lodesc)
                       throws java.sql.SQLException

        IfxLoAlter() alters this blob using the new large object IfxLobDescriptor.

        Parameters:
        blob - - the smartblob
        lodesc - - the new specification
        Returns:
        0:Success, -1:Failure
        Throws:
        java.sql.SQLException
      • IfxLoFromFile

        public int IfxLoFromFile(int lofd,
                                 java.lang.String name,
                                 int flag,
                                 int offset,
                                 int amount)
                          throws java.sql.SQLException

        IfxLoFromFile() copies a smart large object from a file on server or client into a smart large object file descriptor.

        Parameters:
        lofd - - an open file descriptor for the target smart large object.
        name - - name of the source file on server or client.
        flag - - LO_SERVER_FILE or LO_CLIENT_FILE
        offset - - offset into smartblob starting position
        amount - - amount to copy
        Returns:
        Success/Failure status. 0 for Success.
        Throws:
        java.sql.SQLException
      • IfxLoToFile

        public int IfxLoToFile(IfxLocator locator,
                               java.lang.String name,
                               int flag)
                        throws java.sql.SQLException

        IfxLoToFile() copies the source locator of a large object to a file on the client or server.

        Parameters:
        locator - - source locator of large object to be copied
        name - - destination of file name of the large object.
        flag - - LO_SERVER_FILE or LO_CLIENT_FILE
        Returns:
        number of bytes copied.
        Throws:
        java.sql.SQLException
      • IfxLoToFile

        public int IfxLoToFile(IfxLob blob,
                               java.lang.String name,
                               int flag)
                        throws java.sql.SQLException

        IfxLoToFile() copies a large object blob to a file on the client or server.

        Parameters:
        blob - - source large object to be copied
        name - - destination of file name of the large object.
        flag - - LO_SERVER_FILE or LO_CLIENT_FILE
        Returns:
        number of bytes copied.
        Throws:
        java.sql.SQLException
      • finalize

        protected void finalize()
        Overrides:
        finalize in class java.lang.Object