čt 7. 3. 2019 v 18:35 odesílatel Andrew Dunstan <
andrew.duns...@2ndquadrant.com> napsal:

>
> On 3/7/19 11:45 AM, Pavel Stehule wrote:
> >
> >
> >
> >
> >     I have looked at the latest patch, but it seems inadequate unless I'm
> >     misreading it. I think a general pragma mechanism should allow a
> >     pragma
> >     just about anywhere. If the processor doesn't recognize the pragma it
> >     ignores it, if it does it processes it in the appropriate context.
> >     That
> >     could be for the next statement, the current block, or whatever.
> >     If it
> >     appears in the wrong context the processor should object.
> >
> >
> >     For example, one of Ada's predefined pragmas is PAGE, which causes a
> >     processor producing a program listing to emit a page feed. (Yes, I
> >     know,
> >     probably silly, but you get the idea why this pragma can accur just
> >     about anywhere.) There is also 'pragma Assert' which is more or less
> >     like our Assert in C.
> >
> >
> > a PRAGMA can be used on three levels (related to Postgres): function,
> > block, line (and on package on Ada and PLpgSQL). Any PRAGMA has a
> > scope related to usage.
> >
> > My first patch implemented all levels, but If I understand it well,
> > Tom has strong disagreement with line's level.
> >
> > So I reduced it just for block level - it is good enough for
> > plpgsql_check, and it is good enough for future autonomous
> > transactions. Other levels can be very simply supported, but I don't
> > need it, and in this moment, I had not a case for it.
> >
> > For plpgsql_check I need to read some non code informations like:
> > disable, enable some checks, assign some type to record variable,
> > assign some informations about dynamic SQL, ... I think so PRAGMA is
> > very natural tool for this purpose.
> >
> > My implementation of PRAGMA in this moment just push some tag and some
> > information to AST. It ensure correct syntax. It doesn't do more. But
> > it is good enough for plpgsql_check.
> >
> >
>
> That seems pretty brain-dead, TBH.
>
> The other thing that bugs me a bit about the patch is that the only
> testing it does it to make sure that pragmas are ignored by the core
> plpgsql processor. Maybe that's enough, but mostly we tend to like to
> have one actual use of a feature.
>

Unfortunately plpgsql_check is not part of upstream

https://github.com/okbob/plpgsql_check

I can to write some simple extension - some print tracing, that can use
this feature?

Pavel



>
> cheers
>
>
> andrew
>
>
> --
> Andrew Dunstan                https://www.2ndQuadrant.com
> PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
>
>

Reply via email to