The ifx_lo_create() function

The ifx_lo_create() function creates and opens a new smart large object.

Syntax

ifx_lo_create(lospec, flags, loptr, lofd)

Arguments

The function accepts the following arguments.
Argument Type Use Description
lospec SQL_INFX_UDT_FIXED Input Smart-large-object specification structure that contains storage characteristics for the new smart large object
flags SQL_INTEGER Input Mode in which to open the new smart large object.
loptr SQL_INFX_UDT_FIXED I/O Smart-large-object pointer structure
lofd SQL_INTEGER Output Smart-large-object file descriptor. This file descriptor is only valid within the current database connection.

Usage

The ifx_lo_create() function performs the following steps to create and open a new smart large object:
  1. Creates a smart-large-object pointer structure.
  2. Assigns a pointer to this structure and returns this pointer in loptr.
  3. Assigns storage characteristics for the smart large object from the smart-large-object specification structure that lospec indicates.

    If lospec is null, ifx_lo_create() uses the system-specified storage characteristics. If the smart-large-object specification structure exists but does not contain storage characteristics, ifx_lo_create() uses the storage characteristics from the inheritance hierarchy.

  4. Opens the smart large object in the access mode that flags specifies.
  5. Associates the smart large object with the current connection.

    When you close this connection, the database server deallocates any associated smart large objects that have a reference count of zero. The reference count indicates the number of database columns that refer to the smart large object.

  6. Returns a file descriptor that identifies the smart large object.

The database server uses the default parameters that the call to ifx_lo_create() establishes to determine whether to lock or log subsequent operations on the smart large object.