From: | Bryn Llewellyn <bryn(at)yugabyte(dot)com> |
---|---|
To: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
Cc: | pgsql-general list <pgsql-general(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Using "exit" to bring "goto" functionality. |
Date: | 2023-07-10 21:17:46 |
Message-ID: | CF115345-21B2-4416-A751-0E379847136B@yugabyte.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
> pavel(dot)stehule(at)gmail(dot)com wrote:
>
>> bryn(at)yugabyte(dot)com wrote:
>>
>> As it happens, Oracle's PL/SQL has a "goto" statement. But PL/pgSQL does not. (I assume that this is because "goto" is considered a bad thing.) But PL/SQL programmers do use it. However, the doc section:
>
> The reason why PL/pgSQL has not "goto" statement is mainly technological. PL/pgSQL is an interpreter of high level commands. For this kind of interpreter the "goto" - unstructured jump cannot be effectively implemented. PL/pgSQL is very simple, and relatively fast (expressions are slow due evaluation by SQL executor), but "goto" cannot be implemented there. Interpreter of PL/pgSQL is very different from the more usual p-code interpreter.
It’s interesting to know that the reason that PL/pgSQL doesn’t support “goto” is an implementation restriction rather than a purist stance. Thanks!
I mentioned PL/SQL only to say that it does not support the premature exit from a block statement that PL/pgSQL _does_ support (and document). I accept, now, that I’ll never know the rationale for this.
From | Date | Subject | |
---|---|---|---|
Next Message | Adrian Klaver | 2023-07-10 22:36:45 | Re: Need Help On Upgrade |
Previous Message | Pavel Stehule | 2023-07-10 20:52:12 | Re: Using "exit" to bring "goto" functionality. |