Re: List of "binary-compatible" data types

Noah Misch <noah@leadboat.com>

From: Noah Misch <noah@leadboat.com>
To: Josh Berkus <josh@agliodbs.com>
Cc: Thom Brown <thom@linux.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2013-11-05T03:22:09Z
Lists: pgsql-hackers
On Mon, Nov 04, 2013 at 05:23:36PM -0800, Josh Berkus wrote:
> On 11/04/2013 05:21 PM, Josh Berkus wrote:
> > Thom,
> > 
> > 
> >> SELECT
> >>   castsource::regtype::text,
> >>   array_agg(casttarget::regtype order by casttarget::regtype::text) casttargets
> >> FROM pg_cast
> >> WHERE castmethod = 'b'
> >> GROUP BY 1
> >> ORDER BY 1;
> > 
> > Are we actually covering 100% of these for ALTER COLUMN now?

Yes; ALTER TABLE ALTER TYPE refers to the same metadata as Thom's query.  If
you add to the list by issuing CREATE CAST ... WITHOUT FUNCTION, ALTER TABLE
will respect that, too.

> Also, JSON <--> Text seems to be missing from the possible binary
> conversions.  That's a TODO, I suppose.

Only json --> text, not json <-- text.  Note that you can add the cast
manually if you have an immediate need.

-- 
Noah Misch
EnterpriseDB                                 http://www.enterprisedb.com


Commits

  1. Avoid some table rewrites for ALTER TABLE .. SET DATA TYPE timestamp.

  2. Disable transforms that replaced AT TIME ZONE with RelabelType.

  3. Add transform functions for AT TIME ZONE.