|for InterBase and FireBird|
|Necessary UPDATE for existing databases|
it's possible in FireBird 2.0 that UDF return <null>
instead of 0
or "empty string", the code of most functions must be
to use this mechanism. So a "RETURN INTEGER BY
VALUE" becomes a "RETURN
To use the functions of the new version with an old declaration, which includes a "BY VALUE", returned for example in SELECT F_HOUR('30.11.2006 15:00:00') FROM RDB$DATABASE something bullshit - a number with 8 places - but not 15.
Therefore it is in all cases necessary to change the old declarations with the new once - even you didn't want to use FireBird 2.0 or didn't want to use the <null> possibility.
If you have declared your FreeAdhocUDF with a version prior to version adhoc200612xx you have to delete the UDFs and to declare them new or - because you can't delete them insteed of dependendies - you have to use the UPDATE-scripts adhoc200612update_xxx.sql! You'll find them here in the Download area.
For UUID-functions there is no UPDATE-Script, you had to delete the declarations in the database and then rebuild them new with the new DECLAIR-Script.
For function F_TRUNCATE we had so change the entrypoint from truncate to f_truncate to avoid conflicts with a standard-function in C. This is also part of the UPDATE-Script.
The aktual DECLAIR-scripts are up to date.