On P, 2004-06-27 at 17:53, Tom Lane wrote: > Shachar Shemesh <[EMAIL PROTECTED]> 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 ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match