Now that we have the required operators and support routine,
we can finally create the operator class:
CREATE OPERATOR CLASS complex_abs_ops
DEFAULT FOR TYPE complex USING btree AS
OPERATOR 1 < ,
OPERATOR 2 <= ,
OPERATOR 3 = ,
OPERATOR 4 >= ,
OPERATOR 5 > ,
FUNCTION 1 complex_abs_cmp(complex, complex);
And we're done! (Whew.) It should now be possible to create
and use B-tree indexes on complex columns.
We could have written the operator entries more verbosely, as in
OPERATOR 1 < (complex, complex) ,
but there is no need to do so when the operators take the same data type
we are defining the operator class for.
The above example assumes that you want to make this new operator class the
default B-tree operator class for the complex data type.
If you don't, just leave out the word DEFAULT.