Re: Problems with casting

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Jim Nasby <Jim(dot)Nasby(at)BlueTreble(dot)com>
Cc: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Problems with casting
Date: 2015-04-07 21:17:48
Message-ID: 12459.1428441468@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Jim Nasby <Jim(dot)Nasby(at)BlueTreble(dot)com> writes:
> I've created a variant data type [1]. It seems to work pretty well,
> except for some issues with casting.

> Since the idea of the type is to allow storing any other data type, it
> creates casts to and from all other types. At first these were all
> marked as ASSIGNMENT, but that made using variant with functions quite
> cumbersome. With functions that accepted a variant, you still had to
> explicitly cast it:

> SELECT variant_function( some_field::variant.variant ) FROM some_table;

> I was reluctant to make the casts to variant IMPLICIT, but it seems like
> it actually works rather well... except for arrays:

I suspect that that's only the tip of the iceberg. Remember the mess
we had with implicit casts to text? And those only existed for a dozen
or so types, not for everything. Every function or operator you define
for "variant" is going to be a loaded gun just waiting to shoot your foot
off, if you make all those casts implicit.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Jim Nasby 2015-04-07 21:27:46 Re: Problems with casting
Previous Message Jim Nasby 2015-04-07 21:04:20 Problems with casting