Re: Using "exit" to bring "goto" functionality.

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.

In response to

Browse pgsql-general by date

  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.