2013/2/27 Stephen Frost <sfrost@snowman.net>:
> Pavel,
>
> * Pavel Stehule (pavel.stehule@gmail.com) wrote:
>> this is not hard task, hard task is correct identification related function
>>
>> see FuncnameGetCandidates() function
>
> We're not limited to writing C code here though and I think we've
> already solved it, though I admit it wasn't where I originally thought.
>
>> I am sure, so we don't would to duplicate this function on client side.
>
> It took me a bit to go figure out where it is, but I knew we had it.
> Look at COMPLETE_WITH_FUNCTION_ARG and Query_for_list_of_arguments in
> src/bin/psql/tab-complete.c. We can already fully tab-complete a
> function and its arguments, down to knowing that the function+args is
> unique. I have no idea why \df and friends aren't already supporting
> this (is there a real reason or just unintentional omission? would love
> to know..), but it works just fine for DROP FUNCTION and ALTER FUNCTION.
> Would be really nice to have that work for \df, \ef, \sf, CREATE OR
> REPLACE FUNCTION, and anywhere else that makes sense.
>
> With support for what tab-complete returns (arg types w/o arg names) and
> \df's function list result set (arg names + arg types), I think we can
> happily close this out. I don't think we need to stress about people
> complaining that \ef myfunc(int) doesn't find a matching function when
> they can do \ef myfunc(int<tab> and have it tab-complete the rest.
>
this autocomplete routine doesn't know type synonyms
so you cannot use int, varchar, ... :(
Pavel
> Thanks,
>
> Stephen