My interpretation of collation for range types is different than that
for arrays, so I'm presenting it here in case someone has an objection.
An array type has the same typcollation as its element type. This makes
sense, because comparison between arrays are affected by the COLLATE
clause.
Comparison between ranges should not be affected by the COLLATE clause
(as we discussed). So, I chose to represent that as a separate
rngcollation and leave the typcollation 0. In other words, collation is
a concept internal to that range type and fixed at type definition time.
Range types are affected by their internal collation, but don't take
part in the logic that passes collation through the type system.
Comments?
Regards,
Jeff Davis