Re: Custom type with width specifier - Mailing list pgsql-hackers

From Hannu Krosing
Subject Re: Custom type with width specifier
Date
Msg-id 1088504376.2680.4.camel@fuji.krosing.net
Whole thread Raw
In response to Re: Custom type with width specifier  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On P, 2004-06-27 at 17:53, Tom Lane wrote:
> Shachar Shemesh <psql@shemesh.biz> writes:
> > What do I need to do in order to get the width specifier into my type? 
> 
> Rewrite the grammar.  Width modifiers are only supported on types that
> are hard-wired into the grammar, mainly because they look way too much
> like function calls to be distinguished without special hacking.
> 
> Consider for example the implications of the fact that this works:
> 
> regression=# select numeric(17,10) '1.23';
>    numeric
> --------------
>  1.2300000000
> (1 row)
>  
> bison has to decide *before scanning beyond the left parenthesis*
> whether "numeric" is a function name or a type name.
> 
> If you can think of a more general solution, I'm all ears, but it looks
> like a hard problem that would require considerable rethinking of the
> present grammar for these things.

can't we make type(width) an actual function which returns another type
?

this would make it even possible to add support for things like
NUMBER(17,10) as an alias for NUMERIC(17,10) as an user-level addon.

---------------
Hannu


pgsql-hackers by date:

Previous
From: "jacob koehler (RRes-Roth)"
Date:
Subject: Re: recursive SQL
Next
From: Darko Prenosil
Date:
Subject: INSERT rule