From c8fb94b176ce80c257e476b91f0c9524d044426d Mon Sep 17 00:00:00 2001 From: Paul Reeves Date: Thu, 2 Feb 2023 16:09:39 +0100 Subject: [PATCH] LoadBlobFromFile takes only a single parameter and returns a blob --- sql/MyFirstUDRKit.ddl | 5 ++--- src/MyFirstUDRKit.cpp | 7 +++---- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/sql/MyFirstUDRKit.ddl b/sql/MyFirstUDRKit.ddl index 022f973..fa83c2a 100644 --- a/sql/MyFirstUDRKit.ddl +++ b/sql/MyFirstUDRKit.ddl @@ -19,9 +19,8 @@ grant execute on function flagged to public; create or alter function LoadBlobFromFile ( - afilename varchar(8191), - ablob BLOB - ) returns bigint + afilename varchar(8191) + ) returns BLOB external name 'MyFirstUDRKit!MFK_LoadBlobFromFile!Load file and save to Blob' engine udr; grant execute on function LoadBlobFromFile to public; diff --git a/src/MyFirstUDRKit.cpp b/src/MyFirstUDRKit.cpp index bbece68..7e5711b 100644 --- a/src/MyFirstUDRKit.cpp +++ b/src/MyFirstUDRKit.cpp @@ -174,11 +174,10 @@ FB_UDR_BEGIN_FUNCTION (MFK_LoadBlobFromFile) //BEGIN FB_UDR_MESSAGE(InMessage, (FB_VARCHAR(8191), afilename) - (FB_BLOB, ablob) ); FB_UDR_MESSAGE(OutMessage, - (FB_BIGINT, result) + (FB_BLOB, ablob) ); @@ -190,8 +189,8 @@ FB_UDR_EXECUTE_FUNCTION { // Test Input if (in->afilenameNull != 0) { - out->resultNull = FB_TRUE; - out->result = 0; + out->ablobNull = FB_TRUE; + return; } std::ifstream FileReader;