The following seems to me a bug in either initdb or create operator: CREATE FUNCTION my_func (inet, inet) as '$libdir/my_func.so' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OPERATOR <<< ( PROCEDURE = my_func, LEFTARG = cidr, RIGHTARG = cidr, RESTRICT = contsel, JOIN = contjoinsel );
ERROR: function my_func(cidr, cidr) does not exist Now, if you look at the catalog, and the < (less than operator) as an example you will see that: Two operators are defined for < - one for inet,inet and another for cidr,cidr. Only one function exists named network_lt, and is declared as taking (inet,inet) as arguments. Obviously, it should either have a corresponding function declaration, or it should be possible to create the operators using a binary compatible function (eg: where a binary compatible cast exists). I propose, that the create operator syntax be modified to accept: PROCEDURE = function_name (type{,type}) and that checks be made for the existence of binary compatible casts between the two (four) types. Kind Regards, John ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])