Aw: PL/SQL Interpreter oddity - bug or "expected"?

From: Michael D O'Shea/Woodward Informatics Ltd <woodwardinformatics_at_strychnine.co.uk>
Date: Mon, 19 Mar 2018 08:54:36 +0000
Message-Id: <29F17831-DBAF-4F3F-BEA2-AA03FD891EEA_at_strychnine.co.uk>



> Am 19.03.2018 um 07:57 schrieb Stefan Knecht <knecht.stefan_at_gmail.com>:
>
> So to summarize, I still feel that the behavior isn't what
> I'd expect. Regardless of what "loop" is underneath the covers,
> it has a special meaning, and that meaning is entirely obliterated
> by the compiler treating it as a mere label.

The take home message from this whole thread is not null block usage or how contributors used terms such as label, keyword, reserved word, or other semantic terms, but that PL/SQL language grammar & syntax allow for the confusion demonstrated in the OP’s code. This is a deficiency and we should not get carried away with semantic terms.

Here, as also included in this thread https://blogs.oracle.com/plsql-and-ebr/reserved-words%2c-keywords%2c-and-the-ends-of-labeled-blocks <https://blogs.oracle.com/plsql-and-ebr/reserved-words,-keywords,-and-the-ends-of-labeled-blocks> Bryn Llewellyn writes

> Please check out this enhancement request. I filed it on 31-Mar-2008.
>
> ER 6931048 - Implement new warning when block label doesn't match “end ... ;”

>

If one were pedantic, one would argue this is not an „enhancement request“ (as written) but a „deficiency removal“. You see, arguing over semantic terms gets us nowhere. The bottom line is that PL/SQL language syntax and grammar allows for this coding man-trap and as such it is currently broken. Furthermore, according to Bryn’s „enhancement request“, it has been broken for at least a decade, so obviously not broken enough to warrant being fixed.

My twopence.

Mike
http://www.strychnine.co.uk <http://www.strychnine.co.uk/>

--
http://www.freelists.org/webpage/oracle-l
Received on Mon Mar 19 2018 - 09:54:36 CET

Original text of this message