From 30f91ff58eb641147718c1cc78ce96823050abdc Mon Sep 17 00:00:00 2001 From: Paul Reeves Date: Wed, 25 Jan 2023 09:53:53 +0100 Subject: [PATCH] Add LoadBlobFromFile --- sql/MyFirstUDRKit.sql | 8 +++++++- sql/MyFirstUDRKitPackage.sql | 25 ++++++++++++++++++++----- src/MyFirstUDRKit.cpp | 4 ++-- 3 files changed, 29 insertions(+), 8 deletions(-) diff --git a/sql/MyFirstUDRKit.sql b/sql/MyFirstUDRKit.sql index 1d9a40a..f8b1282 100644 --- a/sql/MyFirstUDRKit.sql +++ b/sql/MyFirstUDRKit.sql @@ -16,8 +16,14 @@ returns integer external name 'my_first_udr_kit!MFK_flagged!How is this function used?' engine udr; - +create or alter 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; -- Add some grants here perhaps? grant execute on function div to public; grant execute on function flagged to public; +grant execute on function LoadBlobFromFile to public; diff --git a/sql/MyFirstUDRKitPackage.sql b/sql/MyFirstUDRKitPackage.sql index a56636c..ffb0657 100644 --- a/sql/MyFirstUDRKitPackage.sql +++ b/sql/MyFirstUDRKitPackage.sql @@ -20,6 +20,11 @@ begin ) returns integer; + function LoadBlobFromFile ( + afilename varchar(8191), + ablob BLOB + ) + returns bigint; end ^ @@ -30,15 +35,25 @@ begin function div ( anumerator integer, adenominator integer - ) - returns double precision + ) + 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; + ) + 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 ^ diff --git a/src/MyFirstUDRKit.cpp b/src/MyFirstUDRKit.cpp index 236707b..19c3bb4 100644 --- a/src/MyFirstUDRKit.cpp +++ b/src/MyFirstUDRKit.cpp @@ -169,11 +169,11 @@ FB_UDR_END_FUNCTION /*** DDL - create function Blob_Save ( +create or alter function LoadBlobFromFile ( afilename varchar(8191), ablob BLOB ) returns bigint - external name 'my_first_udr_kit!MFK_Blob_Save!Load file and save to Blob' + external name 'my_first_udr_kit!MFK_Load_Blob_From_File!Load file and save to Blob' engine udr; ***/