Example of creating a strategy function
This example describes the SQL statement that registers the Contains strategy function with the database server. The sample C code to create the function is provided in Shapes3 sample DataBlade module; the example is based on the objects of the sample DataBlade module.
CREATE FUNCTION Contains (MyShape, MyShape)
RETURNS BOOLEAN
WITH
(
COMMUTATOR = Within,
NOT VARIANT
)
EXTERNAL NAME "$INFORMIXDIR/extend/shapes.3.0/shapes.bld (MyShapeContains)"
LANGUAGE C;
The two parameters of the function are both of data type MyShape. The C function MyShapeContains, found in the shared object file $INFORMIXDIR/extend/Shapes.3.6/Shapes.bld, contains the actual C code that calculates whether the first object contains the second object. The statement specifies that the commutator of the Contains function is the Within function.
For the sample C code of the MyShapeContains function, see Contains strategy function. C code uses the DataBlade API to interact with the database server. Sample C code to implement the Overlap, Equal, and Within functions is also provided in that topic.
For more information about the DataBlade API, refer to the HCL Informix DataBlade API Programmer's Guide.
For more information and examples about how to create user-defined functions, refer to HCL Informix User-Defined Routines and Data Types Developer's Guide.