Re: to_regtype() Raises Error - Mailing list pgsql-hackers

From Chapman Flack
Subject Re: to_regtype() Raises Error
Date
Msg-id b96eb6e0140ddaa86a0f97e9d78b247c@anastigmatix.net
Whole thread Raw
In response to Re: to_regtype() Raises Error  ("David G. Johnston" <david.g.johnston@gmail.com>)
Responses Re: to_regtype() Raises Error
List pgsql-hackers
On 2023-09-17 20:58, David G. Johnston wrote:
> Put differently, there is no syntax involved when the value being 
> provided
> is the text literal name of a type as it is stored in pg_type.typname, 
> so
> the presence of a syntax error is wrong.

Well, the situation is a little weirder than that, because of the 
existence
of SQL standard types with multiple-token names; when you provide the
value 'character varying', you are not providing a name found in
pg_type.typname (while, if you call the same type 'varchar', you are).
For 'character varying', the parser is necessarily involved.

The case with 'interval second' is similar, but even different still;
that isn't a multiple-token type name, but a type name with a
standard-specified bespoke way of writing a typmod. Another place
the parser is necessarily involved, doing another job. (AFAICT,
to_regtype is happy with a typmod attached to the input, and
happily ignores it, so to_regtype('interval second') gives you
interval, to_regtype('character varying(20)') gives you
character varying, and so on.)

Regards,
-Chao



pgsql-hackers by date:

Previous
From: "David G. Johnston"
Date:
Subject: Re: to_regtype() Raises Error
Next
From: "David G. Johnston"
Date:
Subject: Re: to_regtype() Raises Error