/* * This demonstrates how to declare the IDRs as part of a package */ set term ^; create or alter package my_first_udr_kit -- optional - declare sql security as DEFINER to give access rights of owner to all users -- sql security definer as begin function div ( anumerator integer, adenominator integer ) returns double precision; function flagged ( flags integer, flag integer ) returns integer; function LoadBlobFromFile ( afilename varchar(8191), ablob BLOB ) returns bigint; end ^ recreate package body my_first_udr_kit as begin function div ( anumerator integer, adenominator integer ) returns double precision external name 'udf_compat!UC_div!Divide anumerator by adenominator' engine udr; function flagged ( flags integer, flag integer ) returns integer external name 'my_first_udr_kit!MFK_flagged!How is this function used?' engine udr; function LoadBlobFromFile ( afilename varchar(8191), ablob BLOB ) returns bigint external name 'my_first_udr_kit!MFK_Load_Blob_From_File!Load file and save to Blob' engine udr; end ^ set term ;^ grant execute on package my_first_udr_kit to public;