Re: [Firebird-devel] CALL statement

2023-03-20 Thread Adriano dos Santos Fernandes
Hi! I'd like to re-discuss this also taking into consideration named arguments feature. Named arguments is standard feature where arguments call be passed to routines using => token, example: routine_name(param1 => 1, param2 => 2) Then back to standard CALL statement, it works also with named

Re: [Firebird-devel] CALL statement

2021-06-01 Thread Adriano dos Santos Fernandes
On 01/06/2021 07:59, Alex Peshkoff via Firebird-devel wrote: > On 5/31/21 10:21 PM, Adriano dos Santos Fernandes wrote: > >> >>> As the second, unrelated change, shorten EXECUTE >>> PROCEDURE/STATEMENT/what-else OBJECT to EXEC OBJECT and decide about >>> object type from context - provided it

Re: [Firebird-devel] CALL statement

2021-06-01 Thread Dimitry Sibiryakov
01.06.2021 13:17, Adriano dos Santos Fernandes wrote: things must be extensible - if procedure is changed, already wrote commands should not change their behaviors completely. That's why "RETUNING ()" is the best: it is consistent with the rest of cases. If "already wrote command" is

Re: [Firebird-devel] CALL statement

2021-06-01 Thread Adriano dos Santos Fernandes
On 01/06/2021 08:03, Alex Peshkoff via Firebird-devel wrote: > On 6/1/21 12:51 PM, Dimitry Sibiryakov wrote: >> 31.05.2021 21:21, Adriano dos Santos Fernandes wrote: [ | ( ) ] [ RETURNING_VALUES |    RETURNING_VALUES ( ) |   RETURNING [ INTO ]  ]

Re: [Firebird-devel] CALL statement

2021-06-01 Thread Mark Rotteveel
On 2021-06-01 11:51, Dimitry Sibiryakov wrote: 31.05.2021 21:21, Adriano dos Santos Fernandes wrote:     [ | ( ) ]     [ RETURNING_VALUES |   RETURNING_VALUES ( ) |       RETURNING [ INTO ]  ] This does not support ignore all output in DSQL. There can be syntax "RETURNING

Re: [Firebird-devel] CALL statement

2021-06-01 Thread Alex Peshkoff via Firebird-devel
On 6/1/21 12:51 PM, Dimitry Sibiryakov wrote: 31.05.2021 21:21, Adriano dos Santos Fernandes wrote: [ | ( ) ] [ RETURNING_VALUES |    RETURNING_VALUES ( ) |   RETURNING [ INTO ]  ] This does not support ignore all output in DSQL.   There can be syntax "RETURNING

Re: [Firebird-devel] CALL statement

2021-06-01 Thread Alex Peshkoff via Firebird-devel
On 5/31/21 10:21 PM, Adriano dos Santos Fernandes wrote: As the second, unrelated change, shorten EXECUTE PROCEDURE/STATEMENT/what-else OBJECT to EXEC OBJECT and decide about object type from context - provided it will not raise the hell in btyacc. I do not understood what you mean. Now:

Re: [Firebird-devel] CALL statement

2021-06-01 Thread Dimitry Sibiryakov
31.05.2021 21:21, Adriano dos Santos Fernandes wrote:     [ | ( ) ]     [ RETURNING_VALUES |   RETURNING_VALUES ( ) |       RETURNING [ INTO ]  ] This does not support ignore all output in DSQL. There can be syntax "RETURNING NULL" for that. -- WBR, SD. Firebird-Devel

Re: [Firebird-devel] CALL statement

2021-06-01 Thread Mark Rotteveel
On 2021-05-31 18:34, Dmitry Yemanov wrote: 31.05.2021 17:49, Dimitry Sibiryakov пишет: 31.05.2021 16:19, Alex Peshkoff via Firebird-devel wrote: Dimitry, can you provide standard syntax for others to compare? https://ronsavage.github.io/SQL/sql-2003-2.bnf.html#call%20statement As far as I

Re: [Firebird-devel] CALL statement

2021-05-31 Thread Dmitry Yemanov
31.05.2021 22:21, Adriano dos Santos Fernandes wrote: As the second, unrelated change, shorten EXECUTE PROCEDURE/STATEMENT/what-else OBJECT to EXEC OBJECT and decide about object type from context - provided it will not raise the hell in btyacc. I do not understood what you mean.

Re: [Firebird-devel] CALL statement

2021-05-31 Thread Adriano dos Santos Fernandes
On 31/05/2021 14:47, Alex Peshkoff via Firebird-devel wrote: > On 5/31/21 4:19 PM, Adriano dos Santos Fernandes wrote: >> Hi! >> >> EXECUTE PROCEDURE is full of weirdness... > > May be keep old syntax and add some new, not related with SQL-standard > CALL: > > EXECUTE PROCEDURE [ . ] >     [

Re: [Firebird-devel] CALL statement

2021-05-31 Thread Dimitry Sibiryakov
31.05.2021 18:34, Dmitry Yemanov wrote: As far as I see, it's the same as EXECUTE PROCEDURE without outputs. But we already have non-standard RETURNING added to standard I/U/D statements, so what's the difference? Even if the majority objects this idea, we can still utilize CALL in the

Re: [Firebird-devel] CALL statement

2021-05-31 Thread Alex Peshkoff via Firebird-devel
On 5/31/21 4:19 PM, Adriano dos Santos Fernandes wrote: Hi! EXECUTE PROCEDURE is full of weirdness... May be keep old syntax and add some new, not related with SQL-standard CALL: EXECUTE PROCEDURE [ . ]     [ | ( ) ]     [ RETURNING_VALUES |   RETURNING_VALUES ( ) |       RETURNING

Re: [Firebird-devel] CALL statement

2021-05-31 Thread Adriano dos Santos Fernandes
On 31/05/2021 12:38, Mark Rotteveel wrote: > The problem of selectively returning columns could be solved with > `RETURNING`, where we introduce `RETURNING ()` to signal that no columns > need to be returned No, please. Adriano Firebird-Devel mailing list, web interface at

Re: [Firebird-devel] CALL statement

2021-05-31 Thread Adriano dos Santos Fernandes
On 31/05/2021 12:05, Dimitry Sibiryakov wrote: > 31.05.2021 16:59, Adriano dos Santos Fernandes wrote: >> But then an EXECUTE PROCEDURE ignoring output will not be possible. > >   Why? RETURNING_VALUES clause can be left as is and new branch > "RETURNING INTO " is just added. > In DSQL,

Re: [Firebird-devel] CALL statement

2021-05-31 Thread Adriano dos Santos Fernandes
On 31/05/2021 13:34, Dmitry Yemanov wrote: > 31.05.2021 17:49, Dimitry Sibiryakov пишет: >> 31.05.2021 16:19, Alex Peshkoff via Firebird-devel wrote: >>> Dimitry, can you provide standard syntax for others to compare? >> >> https://ronsavage.github.io/SQL/sql-2003-2.bnf.html#call%20statement > >

Re: [Firebird-devel] CALL statement

2021-05-31 Thread Dmitry Yemanov
31.05.2021 17:49, Dimitry Sibiryakov пишет: 31.05.2021 16:19, Alex Peshkoff via Firebird-devel wrote: Dimitry, can you provide standard syntax for others to compare? https://ronsavage.github.io/SQL/sql-2003-2.bnf.html#call%20statement As far as I see, it's the same as EXECUTE PROCEDURE

Re: [Firebird-devel] CALL statement

2021-05-31 Thread Dmitry Yemanov
31.05.2021 18:38, Mark Rotteveel wrote: 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. Blame me

Re: [Firebird-devel] CALL statement

2021-05-31 Thread Mark Rotteveel
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

Re: [Firebird-devel] CALL statement

2021-05-31 Thread Dimitry Sibiryakov
31.05.2021 16:59, Adriano dos Santos Fernandes wrote: But then an EXECUTE PROCEDURE ignoring output will not be possible. Why? RETURNING_VALUES clause can be left as is and new branch "RETURNING INTO " is just added. -- WBR, SD. Firebird-Devel mailing list, web interface at

Re: [Firebird-devel] CALL statement

2021-05-31 Thread Adriano dos Santos Fernandes
On 31/05/2021 11:39, Vlad Khorsun wrote: > 31.05.2021 16:19, Adriano dos Santos Fernandes wrote: >> Hi! >> >> EXECUTE PROCEDURE is full of weirdness, so I propose that standard SQL >> CALL is adapted for our needs. >> >> EXECUTE PROCEDURE [ . ] >> [ | ( ) ] >> [ RETURNING_VALUES |

Re: [Firebird-devel] CALL statement

2021-05-31 Thread Dimitry Sibiryakov
31.05.2021 16:19, Alex Peshkoff via Firebird-devel wrote: Dimitry, can you provide standard syntax for others to compare? https://ronsavage.github.io/SQL/sql-2003-2.bnf.html#call%20statement -- WBR, SD. Firebird-Devel mailing list, web interface at

Re: [Firebird-devel] CALL statement

2021-05-31 Thread Vlad Khorsun
31.05.2021 16:19, Adriano dos Santos Fernandes wrote: Hi! EXECUTE PROCEDURE is full of weirdness, so I propose that standard SQL CALL is adapted for our needs. EXECUTE PROCEDURE [ . ] [ | ( ) ] [ RETURNING_VALUES | RETURNING_VALUES ( ) ] It does not allow one to

Re: [Firebird-devel] CALL statement

2021-05-31 Thread Adriano dos Santos Fernandes
On 31/05/2021 10:50, Dimitry Sibiryakov wrote: > 31.05.2021 15:19, Adriano dos Santos Fernandes wrote: >>   I propose that standard SQL >> CALL is adapted for our needs. > >   Your proposed syntax is far from standard. I see no point in using > standard keyword with non-standard syntax. >

Re: [Firebird-devel] CALL statement

2021-05-31 Thread Dimitry Sibiryakov
31.05.2021 15:19, Adriano dos Santos Fernandes wrote: I propose that standard SQL CALL is adapted for our needs. Your proposed syntax is far from standard. I see no point in using standard keyword with non-standard syntax. -- WBR, SD. Firebird-Devel mailing list, web interface at

[Firebird-devel] CALL statement

2021-05-31 Thread Adriano dos Santos Fernandes
Hi! EXECUTE PROCEDURE is full of weirdness, so I propose that standard SQL CALL is adapted for our needs. EXECUTE PROCEDURE [ . ] [ | ( ) ] [ RETURNING_VALUES | RETURNING_VALUES ( ) ] It does not allow one to "select" what just it wants. So if one changes the procedure