The assign() function
The assign() function contains special processing to perform before an opaque data type is inserted into a table. The database server calls the assign() function just before it stores the internal representation of an opaque type on disk. For example, when a client application issues an INSERT, UPDATE, or LOAD statement, the database server calls the assign() function before it saves the internal representation of an opaque type in a column.
When you INSERT a value of an opaque data type, the assign() function takes the opaque data type as an argument, performs whatever additional processing might be required, and returns the final opaque type value for the database server to store in the table.