On 31-05-2021 16:59, Adriano dos Santos Fernandes wrote:
But then an EXECUTE PROCEDURE ignoring output will not be possible.

Also, EXECUTE PROCEDURE is very verbose (specially for execute ignoring
outputs, which in most languages does not even require any keyword - but
is ambiguous with our functions).

If CALL is not accepted, then I propose same syntax with "EXEC".

What is the real problem you're trying to solve? The current syntax is 20+ years old, and I think this is one of the first times (if not the first time) I hear complaints about its verbosity, or a need to selectively obtain output columns.

If this is really something that needs to be addressed, I would prefer a less ambiguous naming than `EXEC` (which at first glance I'd think just to be an abbreviation of `EXECUTE PROCEDURE` instead of an entirely different statement with different semantics).

Maybe a few design options would need to be evaluated. For example, if the existing `EXECUTE PROCEDURE` syntax can be retrofitted to obtain the behaviour you want.

For example, `RETURNING_VALUES <variable list>` and `INTO <variable_list>` serve the same purpose, so they could be alternative terms (we could then also consider allowing `INTO (<variable list>)` everywhere `INTO` currently occurs for consistency).

The problem of selectively returning columns could be solved with `RETURNING`, where we introduce `RETURNING ()` to signal that no columns need to be returned (although I really question the need for such a feature). Again, for syntax consistency, we should consider allowing this everywhere `RETURNING` occurs, where it would signal the 'normal' behaviour.

Mark
--
Mark Rotteveel


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to