Jeff Davis <pgsql(at)j-davis(dot)com> writes:
> 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).
Check.
> 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.
Should I read that as saying you want to add yet another column to
pg_type? I'd prefer not to do that. Seems to me we could still store
the value in typcollation, but just interpret the column a bit
differently depending on typtype.
regards, tom lane