Data Structures

Information is exchanged between Uniface and the connector by means of a set of data structures defined by Uniface. The connector must conform to the semantics of the data structures and the associated protocols.

Declarations of these data structures are provided in the unidbm.h include file, which is available from Uniface.

Note:  The definition of the data structures in the unidbm.h include file may contain elements that are reserved for private use by Uniface. Do not access elements that are not documented in the following descriptions.

Data Structures
Informal name Formal name Description
(none) RelationshipInfoType List of RelationshipType structures describing all relations belonging to the current entity.
(none) RelationshipType Describes the relationship between two tables.
control block uctrl Exchanges general information or describes a table.
info structure uinfo Supplies Uniface with basic information about the DBMS and the connector.
field list ufldlst Describes the fields in a table.
index list uidxlst Describes the indexes associated with a table.
if list uiflst Describes the set of records to which a function applies.
where structure uwhrlst Contains the preferred index information or the physical row address.
order by list uordlst Describes the requested ordering of selected records.

Data Structure Descriptions

Each structure contains a number of elements (also known as fields). (The term element is used to avoid confusion with a field in a record.) For each element, the following information is provided:

  • Data type
  • Range of valid values
  • Meaning of the element

In some exceptional cases, an element can have another meaning for a connector request or service function, and this is also described where relevant.

Information on the protocol associated with every element can be found in the descriptions of data structures, connector requests and service functions. This includes information such as:

  • The context in which the element is meaningful
  • Whether Uniface initializes the element
  • The circumstance in which the connector needs to update the element