FirebirdDbComparer
FirebirdDbComparer copied to clipboard
External function with BLOB parameter not correctly "compared"
A "declare external function" command is not correctly generated when the input and output parameter are of BLOB type.
This is being generated:
DECLARE EXTERNAL FUNCTION U_FOO
BLOB SUB_TYPE 0 BY DESCRIPTOR
RETURNS PARAMETER BLOB SUB_TYPE 0 BY DESCRIPTOR
ENTRY_POINT 'Foo'
MODULE_NAME 'Bar';
This is the expected output:
DECLARE EXTERNAL FUNCTION U_FOO
BLOB,
BLOB
RETURNS PARAMETER 2
ENTRY_POINT 'Foo'
MODULE_NAME 'Bar';
The latter command was also used to declare the UDF in the first place and is being generated when using the IBExpert DatabaseComparer.
Just for completeness, here is the method declaration in the C library itself
__declspec(dllexport) BLOBCALLBACK Foo(BLOBCALLBACK input, BLOBCALLBACK output)