Type cast removal - proposed exceptions for xml,enum

From: Craig Ringer <craig(at)postnewspapers(dot)com(dot)au>
To: PG-General Mailing List <pgsql-general(at)postgresql(dot)org>
Subject: Type cast removal - proposed exceptions for xml,enum
Date: 2010-12-07 03:49:52
Message-ID: 4CFDAEE0.10106@postnewspapers.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi all

I'm finding a few areas where PostgreSQL's refusal to implicitly cast
from 'text' to another type is causing real problems, particularly when
using the PgJDBC driver. I'd like to propose a couple of relaxations of
the implicit cast rules for certain text-like types:

- user-defined enums; and
- xml

('json' should also be castable from text when introduced).

Why? Because client interfaces don't always know about the Pg-specific
types. They can use text-like types just fine if they can use text-typed
parameters when inserting/updating them. I feel that PostgreSQL is
overzealous to the point of being counterproductive by refusing to
implicitly cast these types, as they are subject to validation by the
input function in any case.

Can anybody show me a case where permitting implicit casts from text for
enums, xml or json types might introduce an error or cause SQL with a
mistake in it to execute instead of failing when it should?

This is driving me nuts when working with PgJDBC via various ORM layers
(I know, I know, but they're life at this point) that would work happily
with these types if they were implicitly castable to/from strings, but
don't understand how to explicitly specify these postgresql-specific
types when talking to the JDBC layer.

--
System & Network Administrator
POST Newspapers

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Mike Christensen 2010-12-07 04:05:18 Re: Type cast removal - proposed exceptions for xml,enum
Previous Message Brent Wood 2010-12-07 03:38:51 Re: COPY FROM and INSERT INTO rules