Re: review: CHECK FUNCTION statement

Pavel Stehule <pavel.stehule@gmail.com>

From: Pavel Stehule <pavel.stehule@gmail.com>
To: Alvaro Herrera <alvherre@commandprompt.com>
Cc: Petr Jelínek <pjmodos@pjmodos.net>, Greg Smith <greg@2ndquadrant.com>, Pg Hackers <pgsql-hackers@postgresql.org>, Albe Laurenz <laurenz.albe@wien.gv.at>
Date: 2012-02-28T19:30:58Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Add const qualifiers to node inspection functions

Attachments

Hello

Dne 28. února 2012 17:48 Alvaro Herrera <alvherre@commandprompt.com> napsal(a):
>
>
> I have a few comments about this patch:
>
> I didn't like the fact that the checker calling infrastructure uses
> SPI instead of just a FunctionCallN to call the checker function.  I
> think this should be easily avoidable.
>

It is not possible - or it has not simple solution (I don't how to do
it). PLpgSQL_checker is SRF function. SPI is used for processing
returned resultset. I looked to pg source code, and I didn't find any
other pattern than using SPI for SRF function call. It is probably
possible, but it means some code duplication too. I invite any ideas.

> Second, I see that functioncmds.c gets a lot into trigger internals just
> to be able to figure out the function starting from a trigger name.  I
> think it'd be saner to have a new function in trigger.c that returns the
> required function OID.

done

>
> I think CheckFunction would be clearer if the code to check multiple
> objects is split out into a separate subroutine.

done

>
> After CheckFunction there is a leftover function comment without any
> following function.  There are other spurious hunks that add or remove
> single lines too (once in an otherwise untouched file).

fixed

>

I refreshed patch for current git repository.

Regards

Pavel

> --
> Álvaro Herrera <alvherre@commandprompt.com>
> The PostgreSQL Company - Command Prompt, Inc.
> PostgreSQL Replication, Consulting, Custom Development, 24x7 support