index da65584476b18b851fccf4c67686654b3e608bcf..6f9b5471daf5eb8e82436ecd5ecd2d96420cdd1f 100644 (file)
@@ -919,7 +919,7 @@ makeMultirangeTypeName(const char *rangeTypeName, Oid typeNamespace)
(errcode(ERRCODE_DUPLICATE_OBJECT),
errmsg("type \"%s\" already exists", buf),
errdetail("Failed while creating a multirange type for type \"%s\".", rangeTypeName),
- errhint("You can manually specify a multirange type name using the \"multirange_type_name\" attribute")));
+ errhint("You can manually specify a multirange type name using the \"multirange_type_name\" attribute.")));
return pstrdup(buf);
}
index 7f689ad41b48037f71861f757bfa689ec2cff0e8..f5f089741c1720870245507de12382cc03a66d6a 100644 (file)
create type intrange as range(subtype=int); -- should fail
ERROR: type "intmultirange" already exists
DETAIL: Failed while creating a multirange type for type "intrange".
-HINT: You can manually specify a multirange type name using the "multirange_type_name" attribute
+HINT: You can manually specify a multirange type name using the "multirange_type_name" attribute.
drop type intmultirange;
create type intr_multirange as (x int, y int);
create type intr as range(subtype=int); -- should fail
ERROR: type "intr_multirange" already exists
DETAIL: Failed while creating a multirange type for type "intr".
-HINT: You can manually specify a multirange type name using the "multirange_type_name" attribute
+HINT: You can manually specify a multirange type name using the "multirange_type_name" attribute.
drop type intr_multirange;
--
-- Test multiple multirange types over the same subtype and manual naming of