Union support function in a data type hierarchy

When you create the Union support function, you must create separate SQL functions for each indexable column type. For example, you must create the following SQL Union functions:
Union (MyPoint, MyPoint, MyPoint)
Union (MyBox, MyBox, MyBox)
Union (MyCircle, MyCircle, MyCircle)
Union (MyShape, MyShape, MyShape)

All these Union support functions, however, can be mapped to the same C code. Similar to strategy functions, the internal C code that the Union functions map to first checks to see what actual data type it is operating on (either MyPoint, MyBox, or MyCircle) and then calls the appropriate code for that data type. For example, if the function call is Union (MyCircle, MyCircle, MyCircle), it executes the appropriate code for the union of two MyCircle data types.

The preceding discussion is true only for the Union support function and not for the other support functions.