Re: String literal doesn't autocast to text type

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Alex Ignatov <a(dot)ignatov(at)postgrespro(dot)ru>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: String literal doesn't autocast to text type
Date: 2016-03-04 18:08:24
Message-ID: 28961.1457114904@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Alex Ignatov <a(dot)ignatov(at)postgrespro(dot)ru> writes:
> Why string literal like 'Hello world!' doesnt automagicaly cast to text
> type?

Because it's not necessarily a string. It might be meant to be point,
or json, or any number of other types.

> Sure we can create our cast:
> postgres=# create cast (unknown as text) with inout as implicit;
> CREATE CAST

That's a seriously bad idea; it will have all sorts of corner-case
effects that you aren't expecting.

There has been some talk of forcing unknown to text in the output
columns of a sub-SELECT, which would fix the example you show with
a lot less risk of side-effects elsewhere. But it's not exactly
trivial because of interactions with INSERT ... SELECT.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Alex Ignatov 2016-03-04 18:24:03 Re: String literal doesn't autocast to text type
Previous Message Francisco Olarte 2016-03-04 17:59:46 Re: multiple UNIQUE indices for FK