company logo

Defining temporary or transient extent

Temporary or transient extents allow storing derived data in a temporary database area or in memory (transient). Temporary or transient collections cannot be shared between applications. Filling temporary or transient collections is possible by OSI expressions defined in the data source or in a context class handler function (typically doAfterOpen()).More details are described in the "Temporary collections" and "Transient Collections" sub topics of the Reference documentation.

Extent names have to be unique within the resource database (dictionary) or the (next higher) active name space. Extent names are technical names and must not contain special characters or spaces except underscores. After filling in the extent name, Next should be pressed in order to continue. When the extent name is not correct or does already exist, an error will be displayed in the wizard's message area.

Temporary or transient collections require a complex data type for instances to be stored in the collection. For selecting a complex (user-defined) data type, one may enter the type name directly in the Data type field or use enhanced find by pressing the Find button, which allows selecting a data type defined in the project or a system data type. When the data type entered does not yet exist, one may enter the new data type name in the field and press the New button. In this case, a sub wizard for defining new data type pops up (Data Type Wizard), which is described in chapter "Data Type Wizard". For viewing the type definition for the selected type, the Details button might be used.

In order to store instances with different types in the collection, Weak-typed has to be switched on, in which case the data type defines the common base type for all instances to be stored.

The Next step allows choosing an appropriate collection type.

For defining a temporary collection, which stores data in a temporary database, the reference type temporary collection has to be selected. For defining a transient collection storing the collection in memory, the reference type transient collection has to be selected.

The Next step provides the data source definition form.

For temporary or transient collections, a data source should be defined for filling the collection. Temporary or transient collections with a data source definition are filled only, when being accessed. When not defining a source expression, the extent has to be created when being opened (typically in the doAfterOpen() handler for the extent property class). The Next step allows selecting one or more access keys (order keys).

Temporary or transient extents require at least one access key. Key definitions for the data type of the extent are displayed as access key candidates. By default, the primary key is selected to be used as access key. One should select, however, only those keys, which are really needed for ordering the reference collection.

the Next button directly leads to the extent definition summary.