RDB$PARAMETER_MECHANISM usage

24 views
Skip to first unread message

Dimitry Sibiryakov

unread,
Mar 1, 2026, 11:02:06 AM (5 days ago) Mar 1
to firebir...@googlegroups.com
Hello All,

the Language Reference describes
RDB$PROCEDURE_PARAMETES.RDB$PARAMETER_MECHANISM field as

> Flag: indicates how this parameter is passed:
>
> 0 - by value 1 - by reference 2 - by descriptor 3 - by BLOB descriptor

But in constants.h it is described as

> // procedure parameter mechanism
>
> enum prm_mech_t {
> prm_mech_normal = 0,
> prm_mech_type_of = 1
> };

Which description is true?


--
WBR, SD.

Mark Rotteveel

unread,
Mar 2, 2026, 2:33:50 AM (5 days ago) Mar 2
to firebir...@googlegroups.com
On 01/03/2026 17:02, 'Dimitry Sibiryakov' via firebird-devel wrote:
>   the Language Reference describes
> RDB$PROCEDURE_PARAMETES.RDB$PARAMETER_MECHANISM field as
>
>> Flag: indicates how this parameter is passed:
>>
>> 0 - by value 1 - by reference 2 - by descriptor 3 - by BLOB descriptor


I guess this was copied from RDB$FUNCTION_ARGUMENTS.RDB$MECHANISM when
the Russian Firebird 2.5 Language Reference was written, and then it
also ended up in the English version.

>   But in constants.h it is described as
>
>> // procedure parameter mechanism
>>
>> enum prm_mech_t {
>>     prm_mech_normal = 0,
>>     prm_mech_type_of = 1
>> };
>
>   Which description is true?

I guess the Language Reference is wrong here.

Mark
--
Mark Rotteveel

Denis Simonov

unread,
Mar 2, 2026, 3:55:58 AM (5 days ago) Mar 2
to firebird-devel


понедельник, 2 марта 2026 г. в 10:33:50 UTC+3, Mark Rotteveel:
On 01/03/2026 17:02, 'Dimitry Sibiryakov' via firebird-devel wrote:
>   the Language Reference describes
> RDB$PROCEDURE_PARAMETES.RDB$PARAMETER_MECHANISM field as
>
>> Flag: indicates how this parameter is passed:
>>
>> 0 - by value 1 - by reference 2 - by descriptor 3 - by BLOB descriptor


I guess this was copied from RDB$FUNCTION_ARGUMENTS.RDB$MECHANISM when
the Russian Firebird 2.5 Language Reference was written, and then it
also ended up in the English version.

I confirm.
 


>   But in constants.h it is described as
>
>> // procedure parameter mechanism
>>
>> enum prm_mech_t {
>>     prm_mech_normal = 0,
>>     prm_mech_type_of = 1
>> };
>
>   Which description is true?

I guess the Language Reference is wrong here.

There is an error in the Language Reference.
 


Mark
--
Mark Rotteveel

Dimitry Sibiryakov

unread,
Mar 2, 2026, 4:04:38 AM (5 days ago) Mar 2
to firebir...@googlegroups.com
Denis Simonov wrote 02.03.2026 9:55:
> There is an error in the Language Reference.

In this case this error is in RDB$FUNCTION_ARGUMENTS.RDB$ARGUMENT_MECHANISM
as well.

--
WBR, SD.

Mark Rotteveel

unread,
Mar 2, 2026, 4:09:25 AM (5 days ago) Mar 2
to firebir...@googlegroups.com
Again, seems like that was also copied from
RDB$FUNCTION_ARGUMENTS.RDB$MECHANISM.

I've created
https://github.com/FirebirdSQL/firebird-documentation/issues/236 to
address this.

Mark
--
Mark Rotteveel

Dimitry Sibiryakov

unread,
Mar 2, 2026, 4:29:35 AM (5 days ago) Mar 2
to firebir...@googlegroups.com
'Mark Rotteveel' via firebird-devel wrote 02.03.2026 10:09:
> I've created https://github.com/FirebirdSQL/firebird-documentation/issues/236 to
> address this.

Thanks.

--
WBR, SD.
Reply all
Reply to author
Forward
0 new messages