On 24/12/2021 07:12, Mark Rotteveel wrote:
> Checking the changes of Firebird 4.0.1 to update the docs, I noticed
> that a new statement `SET DEBUG OPTION` has been introduced, but I can't
> find much about it, except for "To make isc_info_sql_exec_path_blr_*
> work, session must be first execute set debug option dsql_keep_blr =
> true." in https://github.com/FirebirdSQL/firebird/issues/6910
>
> Questions:
>
> 1. Is dsql_keep_blr the only option at the moment, or are there more?
> (the code suggests not)
It's the only one.
> 2. Is SET DEBUG OPTION general for an entire connection, or does it need
> to be executed on the statement handle you want to retrieve one of the
> isc_info_sql_exec_path_blr_* options from? (checking the commit, it
> seems to be attachment level, but I'd like confirmation
It's for the attachment.
> 3. How do you clear an option, set value to false, can you set to null?
>
SET DEBUG OPTION valid_symbol_name '=' constant
The general command accepts any constant (NULL is not included).
DSQL_KEEP_BLR requires a boolean constant. But it can also be implicit
converted via strings ('true' or 'false').
> Also, is there more to it than this?
It's good to reproduce the warning put in the issue:
----
Warning: this feature is very tied to engine internals and its usage is
discouraged
if you do not understand very well how these internals are subject to
change between
versions.
----
Adriano
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel