From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
Cc: | "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>, Petr Jelinek <pjmodos(at)pjmodos(dot)net> |
Subject: | Re: check function patch |
Date: | 2012-03-09 18:21:29 |
Message-ID: | CAFj8pRC47iGoaMPu+K7Ou__AsVvPBOTzpVatEph-Hy3LsUBfXg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hello Alvaro
here is new version - merged Peter's doc changes. I created a new
header "functioncmds.h". This file contains lines related to checker
only. I didn't want to unclean this patch by header files
reorganization.
Regards
Pavel
2012/3/8 Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>:
> Hello
>
> there are other version related to your last comments. I removed magic
> constants.
>
> This is not merged with Peter's changes. I'll do it tomorrow. Probably
> there will be some bigger changes in header files, but this can be
> next step.
>
> Regards
>
> Pavel
>
> 2012/3/8 Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>:
>> Hi guys,
>>
>> sorry, I'm stuck in an unfamiliar webmail.
>>
>> I checked the patch Petr just posted.
>> http://archives.postgresql.org/pgsql-hackers/2012-03/msg00482.php
>>
>> I have two comments. First, I notice that the documentation changes has two
>> places that describe the columns that a function checker returns -- one in
>> the "plhandler" page, another in the create language page. I think it
>> should exist only on one of those, probably the create language one; and the
>> plhandler page should just say "the checker should comply with the
>> specification at <create language>". Or something like that. Also, the
>> fact that the tuple description is prose makes it hard to read; I think it
>> should be a table -- three columns: name, type, description.
>>
>> My second comment is that the checker tuple descriptor seems to have changed
>> in the code. In the patch I posted, the FunctionCheckerDesc() function was
>> not static; in this patch it has been made static. But what I intended was
>> that the other places that need a descriptor for anything would use this
>> function to get one, instead of building them by hand. There are two such
>> places currently, one in CreateProceduralLanguage. I think this should be
>> simply walking the tupdesc->attrs array to create the arrays it needs for
>> the ProcedureCreate call -- shoud be a rather easy change. The other place
>> is plpgsql's report_error(). Honestly I don't like this function at all due
>> to the way it's assuming what the tupledesc looks like. I'm not sure how to
>> improve it, however, but it seems wrong to me.
>
> One reason to do this this
>> way (i.e. centralize knowledge of what the tupdesc looks like) is that
>> otherwise they get out of sync -- I notice that CreateProcedureLanguage now
>> knows that there are 15 columns while the other places believe there are
>> only 11.
>>
>>
Attachment | Content-Type | Size |
---|---|---|
reduced_pl_checker_2012-03-09-1.patch.gz | application/x-gzip | 28.6 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2012-03-09 18:23:38 | Re: xlog location arithmetic |
Previous Message | Dimitri Fontaine | 2012-03-09 17:51:00 | Re: Command Triggers, patch v11 |