Thread: How PG parser search (build-in) function?

How PG parser search (build-in) function?

From
Karel Zak - Zakkr
Date:
Hi,

I have a question... How PG parser select (build-in) function?
Check parser function's arguments datetypes only or check returns value 
datetype too (for function searching in system cache ..etc)?

I have function to_number(text, text) this function returns numeric 
datetype. Is possible (effective) write this function for more 
datatypes than for numeric? The function is always "to_number(text, text)",
possible difference is in a returned datetype. 

(The function extract number from formated string and this number 
return, but how datetype we want return?)
                        Karel

PS. Sorry if my problem description is a litle mazy..

----------------------------------------------------------------------
Karel Zak <zakkr@zf.jcu.cz>              http://home.zf.jcu.cz/~zakkr/

Docs:        http://docs.linux.cz                    (big docs archive)    
Kim Project: http://home.zf.jcu.cz/~zakkr/kim/        (process manager)
FTP:         ftp://ftp2.zf.jcu.cz/users/zakkr/        (C/ncurses/PgSQL)
-----------------------------------------------------------------------



Re: [HACKERS] How PG parser search (build-in) function?

From
Tom Lane
Date:
Karel Zak - Zakkr <zakkr@zf.jcu.cz> writes:
> I have a question... How PG parser select (build-in) function?
> Check parser function's arguments datetypes only or check returns value 
> datetype too (for function searching in system cache ..etc)?

The argument types have to be different.  In general, the parser
doesn't *know* what the return type of the function is; it has to
discover that by looking up the function.  So you can't have two
functions of the same name unless they differ in number and/or type
of arguments.
        regards, tom lane


Re: [HACKERS] How PG parser search (build-in) function?

From
Karel Zak - Zakkr
Date:
On Thu, 13 Jan 2000, Tom Lane wrote:

> Karel Zak - Zakkr <zakkr@zf.jcu.cz> writes:
> > I have a question... How PG parser select (build-in) function?
> > Check parser function's arguments datetypes only or check returns value 
> > datetype too (for function searching in system cache ..etc)?
> 
> The argument types have to be different.  In general, the parser
> doesn't *know* what the return type of the function is; it has to
> discover that by looking up the function.  So you can't have two
> functions of the same name unless they differ in number and/or type
> of arguments.
Well, we must use the numeric version of to_number() only and parser 
must cast from numeric itself (but IMHO it is not effective convert in 
to_number() string to numeric and in parser convert numeric to other
datetype. But if it not possible.. :-(
Thank!
                    Karel