company logo

DBExtend :: DBExtend - Extent definition constructor

Usually, extent definitions are constructed internally. One may, however, create a copy from an extent definition for specific purposes.

Implementation overview

Implementation details

  1. Create definition for temporary extent
    DBExtend  :: DBExtend ( DBExtend &db_ext_ref, NString &extnames )

    This is a sort of copy and rename constructor, that creates a, extent definition according to the definition passed to the constructor. The new extent definition describes a temporary extent always.

    • db_ext_ref - Reference to extent definition
    • extnames - Extent name

      The name contains the name of the extent, only. It does not contain a namespace scope.

      Notes:

      retval checked for const &NString

  2. to list
  3. Dummy constructor
    DBExtend  :: DBExtend (  )

    This constructor creates an empty extent definition.

  4. to list
  5. Define extent from external simple reference definition
    DBExtend  :: DBExtend ( PropertyHandle &ph, ::Dictionary *dictptr, DBStructDef *dbstrdef )

    This constructor creates an extent from a simple external reference definition (SDB_Reference).

    • ph - Reference to property handle
    • dictptr - Dictionary handle

      An opened dictionary handle is passed.

    • dbstrdef - Structure definition

      This is a pointer to an internal structure definition (DBStructDef or smcb).

  6. to list
  7. Define extent from external extent definition
    DBExtend  :: DBExtend ( PropertyHandle &ph, ::Dictionary *dictptr, DBStructDef *dbstrdef, DBExtend *baseext )

    This constructor creates an extent from an external extent definition (SDB_Extend). The extent definition is connected to the dictionary as dictionary resource (and thus, made globally available). This definition should not be deleted by the application. It will be deleted automatically by the dictionary. When the definition must be deleted in the application, use RemoveExtentDef() before to remove it from the dictionary.

    • ph - Reference to property handle
    • dictptr - Dictionary handle

      An opened dictionary handle is passed.

    • dbstrdef - Structure definition

      This is a pointer to an internal structure definition (DBStructDef or smcb).

    • baseext - Base extent
  8. to list
  9. Define extent from external reference definition
    DBExtend  :: DBExtend ( DBFieldDef *fielddef, DBStructDef *dbstrdef, logical disjopt=NO, logical unionopt=NO, logical intersopt=NO, logical contr_opt=NO )

    This constructor creates an extent from an external reference definition (SDB_Reference).

    • fielddef - Internal field definition

      This is a pointer to an internal field definition (DBFieldDef or fmcb), which may describe attributes as well as references (collections).

    • dbstrdef - Structure definition

      This is a pointer to an internal structure definition (DBStructDef or smcb).

    • disjopt - Distinct derived extents

      Derived extents for an extent are distinct.

      Default: NO
    • unionopt - Union extent

      The extent is the union of its derived extents.

      Default: NO
    • intersopt - Intersect extent

      The extent is the intersection of its base extents.

      Default: NO
    • contr_opt - Controlled extent

      The extent is controlled, i.e. subset relationships are maintained.

      Default: NO
  10. to list
  11. Define extent from internal field definition
    DBExtend  :: DBExtend ( DBFieldDef *fielddef, NString &extnames )

    The function provides an extent definition from an internal field definition. Indexes set in the field definition are made available for the extent.

    • fielddef - Internal field definition

      This is a pointer to an internal field definition (DBFieldDef or fmcb), which may describe attributes as well as references (collections).

    • extnames - Extent name

      The name contains the name of the extent, only. It does not contain a namespace scope.

      Notes:

      retval checked for const &NString

  12. to list