Re: DO ... RETURNING

From: Merlin Moncure <mmoncure(at)gmail(dot)com>
To: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
Cc: Stephen Frost <sfrost(at)snowman(dot)net>, Dimitri Fontaine <dimitri(at)2ndquadrant(dot)fr>, Hannu Krosing <hannu(at)2ndquadrant(dot)com>, David Fetter <david(at)fetter(dot)org>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: DO ... RETURNING
Date: 2013-06-11 16:36:51
Message-ID: CAHyXU0y0a5rZmdD7=d61z8og-En_mq0RwNY8c1_N-dXLBMCUXw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Jun 11, 2013 at 11:26 AM, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> wrote:
> 2013/6/11 Stephen Frost <sfrost(at)snowman(dot)net>:
>> * Pavel Stehule (pavel(dot)stehule(at)gmail(dot)com) wrote:
>>> 2013/6/11 Stephen Frost <sfrost(at)snowman(dot)net>:
>>> > And this still has next-to-nothing to do with the specific proposal that
>>> > was put forward.
>>> >
>>> > I'd like actual procedures too, but it's a completely different and
>>> > distinct thing from making DO blocks able to return something.
>>>
>>> I think so it is related - we talk about future form of DO statement -
>>> or about future form of server side scripting.
>>
>> I don't believe there's any intent to ever have DO used for stored
>> procedures. Not only are stored procedures deserving of their own
>> top-level command (eg: CALL, as has been discussed before..), but I
>> believe they would necessairly have different enough semantics that
>> shoe-horning them into DO would end up breaking backwards compatibility.
>
> In this moment, DO doesn't support any feature that is in conflict
> with stored procedure functionality, because it is based on functions,
> and then it have to have limited functionality
>
> Syntax of procedures and functions is relatively well defined
>
> CREATE FUNCTION foo(..) ----> SELECT expression contains foo call
>
> CREATE PROCEDURE foo(..) ---> CALL foo()
>
> Now anonymous code block is based on functions, but it can be changed
> to respect context or usage without lost of compatibility.
>
> DO $$ ... $$ -- procedural behave -- just execute server side scripts
>
> CTE DO RETURNING $$ ... $$ -- functional behave, functional limits.

why does it have to be CTE?

merlin

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Stephen Frost 2013-06-11 16:54:31 Re: DO ... RETURNING
Previous Message Pavel Stehule 2013-06-11 16:26:01 Re: DO ... RETURNING