From: | Hitoshi Harada <umi(dot)tanuki(at)gmail(dot)com> |
---|---|
To: | Matthew Draper <matthew(at)trebex(dot)net> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Patch: Allow SQL-language functions to reference parameters by parameter name |
Date: | 2012-01-23 11:20:05 |
Message-ID: | CAP7QgmmrVoKta1T5K3PQsxJMMRZL0O+N+9E60ChaoaVou9X7wQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, Jan 19, 2012 at 1:58 AM, Hitoshi Harada <umi(dot)tanuki(at)gmail(dot)com> wrote:
> On Wed, Jan 18, 2012 at 1:11 AM, Hitoshi Harada <umi(dot)tanuki(at)gmail(dot)com> wrote:
>> On Sat, Jan 14, 2012 at 8:10 AM, Matthew Draper <matthew(at)trebex(dot)net> wrote:
>>>
>>> I just remembered to make time to advance this from WIP to proposed
>>> patch this week... and then worked out I'm rudely dropping it into the
>>> last commitfest at the last minute. :/
>>
>> The patch applies clean against master but compiles with warnings.
>> functions.c: In function ‘prepare_sql_fn_parse_info’:
>> functions.c:212: warning: unused variable ‘argnum’
>> functions.c: In function ‘sql_fn_post_column_ref’:
>> functions.c:341: warning: implicit declaration of function ‘ParseFuncOrColumn’
>> functions.c:345: warning: assignment makes pointer from integer without a cast
>>
>> (Now it occurred to me that forgetting the #include parse_func.h might
>> hit this breakage..., so I'll fix it here and continue to test, but if
>> you'll fix it yourself, let me know)
>
> I fixed it here and it now works with my environment. The regression
> tests pass, the feature seems working as aimed, but it seems to me
> that it needs more test cases and documentation. For the tests, I
> believe at least we need "ambiguous" case given upthread, so that we
> can ensure to keep compatibility. For the document, it should describe
> the name resolution rule, as stated in the patch comment.
>
> Aside from them, I wondered at first what if the function is
> schema-qualified. Say,
>
> CREATE FUNCTION s.f(a int) RETURNS int AS $$
> SELECT b FROM t WHERE a = s.f.a
> $$ LANGUAGE sql;
>
> It actually errors out, since function-name-qualified parameter only
> accepts function name without schema name, but it looked weird to me
> at first. No better idea from me at the moment, though.
>
> I mark this "Waiting on Author" for now.
It's been a few days since my last comment, but are you sending a new
patch? If there's no reply, I'll make it Returned with Feedback.
Thanks,
--
Hitoshi Harada
From | Date | Subject | |
---|---|---|---|
Next Message | Yeb Havinga | 2012-01-23 11:59:21 | Re: Multithread Query Planner |
Previous Message | Marko Kreen | 2012-01-23 11:17:49 | Re: Speed dblink using alternate libpq tuple storage |