company logo

Property :: provideGUID - Provide Global Instance Identifier (GUID)

Normally a GUID is generated when creating an instance. For this purpose the collection and or the structure type of the collection can be marked for automatically building global identities. It is, however, also possible to create GUIDs on demand by not setting auto generating GUIDs in the data type or collection definition.

This function allows explicitly generating a GUID as long as no GUID has been generated for the instance. When a GUID already exists, the function returns the current GUID without generating a new one.

For building a GUID for a complex data type instance the data type must be derived from __OBJECT. Since the function is locking the __OBJECT extent it should not be used in long transactions.

The function returns the GUID string. In case of errors (e.g. data type does not inherit from __OBJECT), the function throws an exception.

Return value:  GUID in string format ( odaba::String & )

The GUID is a 16 byte global unique identifier. The GUID string is the GUID converted into string format.

This GUID is a unique instance identifier within all ODABA databases. GUIDs are available for instances that are derived directly or indirectly from __OBJECT. When generatesGUID property is set in the type definition, the GUID is generated when creating an instance. Otherwise it has to be provided using provideGUID().

Implementation details

odaba::String Property  :: provideGUID (  )