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