Type insert and delete notification (not available for C++)

The Assign() function and the Destroy() procedure perform tasks before storing or deleting an opaque data type on disk: for example, to ensure proper reference counting on smart large objects.

This category is valid for the C language.

You can provide Assign() and Destroy() routines for an opaque data type that requires special processing when an instance is stored in a database or removed from the database. The database server calls the Assign() function before it writes a value to a table. The database server calls the Destroy() procedure before it deletes a value from a table.

For example, opaque data types that include large objects require special handling before they are stored on disk or removed from a table. The database server maintains a reference count for large objects to ensure that an object is not dropped while a row in the database references it. When a reference to a large object is inserted into a table, the Assign() function increments the reference count. When a reference to a large object is deleted from a table, the Destroy() procedure decrements the reference count.

For the C language, BladeSmith prefixes the names of these functions with the name of the data type for which they are specified: OpaqueAssign() and OpaqueDestroy().