(OidIsValid(member->righttype) && member->righttype != typeoid))
ereport(ERROR,
(errcode(ERRCODE_INVALID_OBJECT_DEFINITION),
- errmsg("associated data types for opclass options "
- "parsing functions must match opclass input type")));
+ errmsg("associated data types for opclass options parsing functions must match opclass input type")));
}
else
{
if (member->lefttype != member->righttype)
ereport(ERROR,
(errcode(ERRCODE_INVALID_OBJECT_DEFINITION),
- errmsg("left and right associated data types for "
- "opclass options parsing functions must match")));
+ errmsg("left and right associated data types for opclass options parsing functions must match")));
}
if (procform->prorettype != VOIDOID ||
ereport(ERROR,
(errcode(ERRCODE_INVALID_OBJECT_DEFINITION),
errmsg("invalid opclass options parsing function"),
- errhint("opclass options parsing function must have signature '%s'",
+ errhint("Valid signature of opclass options parsing function is '%s'.",
"(internal) RETURNS void")));
}
+
/*
* btree comparison procs must be 2-arg procs returning int4. btree
* sortsupport procs must take internal and return void. btree in_range
ERROR: function test_opclass_options_func(internal, text[], boolean) does not exist
ALTER OPERATOR FAMILY alt_opf19 USING btree ADD FUNCTION 5 (int4) btint42cmp(int4, int2);
ERROR: invalid opclass options parsing function
-HINT: opclass options parsing function must have signature '(internal) RETURNS void'
+HINT: Valid signature of opclass options parsing function is '(internal) RETURNS void'.
ALTER OPERATOR FAMILY alt_opf19 USING btree ADD FUNCTION 5 (int4, int2) btint42cmp(int4, int2);
ERROR: left and right associated data types for opclass options parsing functions must match
ALTER OPERATOR FAMILY alt_opf19 USING btree ADD FUNCTION 5 (int4) test_opclass_options_func(internal); -- Ok