Re: proposal: plpgsql pragma statement

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: "Jonah H(dot) Harris" <jonah(dot)harris(at)gmail(dot)com>
Cc: Pavel Luzanov <p(dot)luzanov(at)postgrespro(dot)ru>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: proposal: plpgsql pragma statement
Date: 2018-12-05 17:49:57
Message-ID: CAFj8pRCNcBYdfW3MDXNuM309tUyMv-HkPc5UA0+SRhvupnOv9g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi

st 5. 12. 2018 v 18:28 odesílatel Jonah H. Harris <jonah(dot)harris(at)gmail(dot)com>
napsal:

> You can alter the lexer and create a comment node, right? That’s how we
> did hints in EnterpriseDB.
>

I don't think so it is adequate solution - sure, it is, if I would to
implement Oracle's hints. But it is not my target. I afraid about
performance impacts a) for SQL queries, b) for plpgsql.

I had a possibility to see a functions, procedures (ported from Oracle)
with thousands lines of comments. It is not a Oracle problem, due
compilation to persistent byte code. But I don't think so this cost is
accepted for pragma implementation.

The native plpgsql statement PRAGMA has zero performance impact on existing
code. More, the implementation is just local inside plpgsql, what is
important for me.

Regards

Pavel

>
> On Wed, Dec 5, 2018 at 11:41 AM Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
> wrote:
>
>>
>>
>> st 5. 12. 2018 v 15:03 odesílatel Pavel Luzanov <p(dot)luzanov(at)postgrespro(dot)ru>
>> napsal:
>>
>>>
>>> But maybe your extension could read the PERFORM statement preceding it
>>> and treat it as an annotation hint for the following statement.
>>>
>>>
>>> In this case, comment line in some format will be better than real
>>> PERFORM statement. Like this:
>>>
>>> /*+PRAGMA cmdtype CREATE; */
>>> EXECUTE format('CREATE TABLE xxx ...
>>>
>>
>> I looked there and It is not possible to implement it - plpgsql uses SQL
>> lexer, and the content of comments are just ignored. So I cannot to read
>> comments. There is not any possibility to read it simply from plpgsql.
>> Unfortunately, but it is expected, there is nothing like query string for
>> plpgsql statement.
>>
>> Regards
>>
>> Pavel
>>
>>> -----
>>> Pavel Luzanov
>>> Postgres Professional: http://www.postgrespro.com
>>> The Russian Postgres Company
>>>
>>>
>>> --
> Jonah H. Harris
>
>

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2018-12-05 17:56:04 Re: psql display of foreign keys
Previous Message Stephen Frost 2018-12-05 17:38:08 Re: minor leaks in pg_dump (PG tarball 10.6)