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
`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
`protected void` `finalize()`
`protected int` `getHandle()`
`int` `IfxLoAlter(com.informix.jdbc.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(com.informix.jdbc.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

#### locator

    protected IfxLocator locator

### 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(com.informix.jdbc.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(com.informix.jdbc.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`