Re: Issues for named/mixed function notation patch
От | Pavel Stehule |
---|---|
Тема | Re: Issues for named/mixed function notation patch |
Дата | |
Msg-id | 162867790909291006s7eef2420o83754fd6f910aa73@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Issues for named/mixed function notation patch (Pavel Stehule <pavel.stehule@gmail.com>) |
Ответы |
Re: Issues for named/mixed function notation patch
|
Список | pgsql-hackers |
2009/9/28 Pavel Stehule <pavel.stehule@gmail.com>: > 2009/9/28 Jeff Davis <pgsql@j-davis.com>: >> On Mon, 2009-09-28 at 18:23 +0200, Pavel Stehule wrote: >>> when I though about control, I found so syntax with mandatory VARIADIC >>> is difficult implementable. So probably the most feasible solution for >>> this moment is to discard a variadic functions from set of functions >>> that are callable with named notation. So I thing we are in tune, and >>> I am going to update patch. >> >> Sounds good. I am looking at the code, and there's a part I don't >> understand: >> >> In FuncnameGetCandidates(): >> /* >> * Wait with apply proargidxs on args. Detection ambigouos needs >> * consistent args (based on proargs). Store proargidxs for later >> * use. >> */ >> newResult->proargidxs = proargidxs; proargidxs is used more times in func_get_detail function a) for reordering pgproc->args to actual params order b) for numbering (filling) NamedArgExpr->position based on known best candidate > >> >> But after calling FuncnameGetCandidates (the only place where fargnames >> is non-NIL), you immediately re-assign to best_candidate->args. What >> happens between those two places, and why can't it happen in >> FuncnameGetCandidates? > > I am not sure - I have to look to code, but if I remember well, there > are same arrays, with same values, but the field are different order. > One is related to pgproc and second to real params. But I have to > check code again. >> >> Also, you should consistently pass NIL when you mean an empty list, but >> sometimes you pass NULL to FuncnameGetCandidates(). > > It's bug, where is it? I fixed it So I dropped variadic functions from mixed/named notation and little bit modified documentation. Please, can some native English speaker look on documentation? Patch attached Pavel > > Regards > Pavel > >> >> Regards, >> Jeff Davis >> >> >> >
Вложения
В списке pgsql-hackers по дате отправления: