|
From: Claudio V. C. <cv...@us...> - 2001-04-09 06:42:06
|
Hello. I noticed two small issues regarding UDFs: - First, Firebird could be so kind to fill rdb$arguments.rdb$character_length with the logical length of the field when the UDF param is a string. I think this is a small oversight or bug that this field remains always NULL. For example, if you define an argument as being UNICODE and 254 in length, the server stores 762 in rdb$field_length and nothing in rdb$character_length, meaning you should take rdb$character_set_id and go to rdb$character_sets to known the average bytes per character (rdb$bytes_per_character) in the charset, then do the division to reconstruct the original declaration. - Second, someone should convince isql to stop saying that UDFs whose return value is a BLOB are returning the BLOB by value! Indeed, the mechanism stored means by_isc_descriptor, but the declaration of an UDF doesn't accept a mechanism in this case (return type being BLOB). It should be ignored. You can experiment with the declaration of FreeUDFLib's F_StrBlob. Tell me if those issues are worth of logging in SF or not, please. C. --------- Claudio Valderrama C. Ingeniero en Informática - Consultor independiente http://www.cvalde.com |