On 10/09/2019 07:08, Mark Rotteveel wrote: > > The SQL standard defines a number of session management statements > that all start with SET: > > - SET SESSION CHARACTERISTICS AS <session characteristic list> > - SET SESSION AUTHORIZATION .. > - SET ROLE .. > - SET TIME ZONE .. > - SET CATALOG .. > - SET SCHEMA .. > - SET NAMES .. > - SET PATH .. > - SET DEFAULT TRANSFORM GROUP .. > - SET TRANSFORM GROUP FOR TYPE .. > - SET COLLATION .. > - SET NO COLLATION .. > > So in that way, using SET for bind configuration, etc, seems a logical > extension.
Please note that at least for SET TIME ZONE, the standard says it must be restored at routine exit. This is from our readme: "The original time zone value is initially defined equal to the current time zone in session initialization and cannot be changed manually. But the original time zone is internally changed when a routine (function, procedure or trigger) is called to the value of the current time zone and restored to its previous value at routine exit. That means that a routine that changes the current time zone and later run SET TIME ZONE LOCAL will restore the current time zone to its initially received value." Adriano Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel