Type cast removal - proposed exceptions for xml,enum - Mailing list pgsql-general

From Craig Ringer
Subject Type cast removal - proposed exceptions for xml,enum
Date
Msg-id 4CFDAEE0.10106@postnewspapers.com.au
Whole thread Raw
Responses Re: Type cast removal - proposed exceptions for xml,enum  (Mike Christensen <mike@kitchenpc.com>)
Re: Type cast removal - proposed exceptions for xml,enum  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Type cast removal - proposed exceptions for xml,enum  (Peter Eisentraut <peter_e@gmx.net>)
List 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

pgsql-general by date:

Previous
From: "Brent Wood"
Date:
Subject: Re: COPY FROM and INSERT INTO rules
Next
From: Mike Christensen
Date:
Subject: Re: Type cast removal - proposed exceptions for xml,enum