In .NET parameters are named `@param`, aka the delimiter is `@`.

> I suppose you transform this to:
>
> select *
>   from rdb$database
>   where ? = 1 or ? = '2'

Correct.

> Which will map to two Firebird parameters with different types.

Correct.

> But for the user of the library, I suppose it's one parameter, correct?

Correct. Developer defines just `@param` and assigns value.

> And what type (and the deduction rules) this parameter will be described as?

Developer can set the type of parameter, which is later used to know how to 
read it from it's value. For the describe this set of info_sql values is used 
to get the info.
                        isc_info_sql_select,
                        isc_info_sql_describe_vars,
                        isc_info_sql_sqlda_seq,
                        isc_info_sql_type,
                        isc_info_sql_sub_type,
                        isc_info_sql_length,
                        isc_info_sql_scale,
                        isc_info_sql_field,
                        isc_info_sql_relation,
                        // isc_info_sql_owner,
                        isc_info_sql_alias,
                        isc_info_sql_describe_end,

                        isc_info_sql_bind,
                        isc_info_sql_describe_vars,
                        isc_info_sql_sqlda_seq,
                        isc_info_sql_type,
                        isc_info_sql_sub_type,
                        isc_info_sql_length,
                        isc_info_sql_scale,
                        isc_info_sql_field,
                        isc_info_sql_relation,
                        // isc_info_sql_owner,
                        isc_info_sql_alias,
                        isc_info_sql_describe_end,

-- 
Mgr. Jiří Činčura
https://www.tabsoverspaces.com/



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

Reply via email to