firebird icon indicating copy to clipboard operation
firebird copied to clipboard

[FB4, UDF] Prohibition of "return BY VALUE" for ISC_TIMESTAMP_TZ, ISC_TIME_TZ and so on

Open dmitry-lipetsk opened this issue 2 years ago • 0 comments

It is a fix for issue #7883.

Test SQLs:

DECLARE EXTERNAL FUNCTION UDF_DUMMY6__3 RETURNS INT128 BY VALUE ENTRY_POINT 'IB_UDF_abs' MODULE_NAME 'ib_udf';
DECLARE EXTERNAL FUNCTION UDF_DUMMY6__3 RETURNS NUMERIC(19,0) BY VALUE ENTRY_POINT 'IB_UDF_abs' MODULE_NAME 'ib_udf';
DECLARE EXTERNAL FUNCTION UDF_DUMMY6__3 RETURNS NUMERIC(19,1) BY VALUE ENTRY_POINT 'IB_UDF_abs' MODULE_NAME 'ib_udf';
DECLARE EXTERNAL FUNCTION UDF_DUMMY6__3 RETURNS DECIMAL(19,0) BY VALUE ENTRY_POINT 'IB_UDF_abs' MODULE_NAME 'ib_udf';
DECLARE EXTERNAL FUNCTION UDF_DUMMY6__3 RETURNS DECIMAL(19,1) BY VALUE ENTRY_POINT 'IB_UDF_abs' MODULE_NAME 'ib_udf';
DECLARE EXTERNAL FUNCTION UDF_DUMMY6__3 RETURNS DECFLOAT(16) BY VALUE ENTRY_POINT 'IB_UDF_abs' MODULE_NAME 'ib_udf';
DECLARE EXTERNAL FUNCTION UDF_DUMMY6__3 RETURNS DECFLOAT(34) BY VALUE ENTRY_POINT 'IB_UDF_abs' MODULE_NAME 'ib_udf';
DECLARE EXTERNAL FUNCTION UDF_DUMMY6__3 RETURNS TIMESTAMP WITH TIME ZONE BY VALUE ENTRY_POINT 'IB_UDF_abs' MODULE_NAME 'ib_udf';
DECLARE EXTERNAL FUNCTION UDF_DUMMY6__3 RETURNS TIME WITH TIME ZONE BY VALUE ENTRY_POINT 'IB_UDF_abs' MODULE_NAME 'ib_udf';

ISQL returns for all the cases:

Statement failed, SQLSTATE = HY000
unsuccessful metadata update
-CREATE FUNCTION UDF_DUMMY6__3 failed
-SQL error code = -607
-Invalid command
-Return mode by value not allowed for this data type

dmitry-lipetsk avatar Nov 28 '23 08:11 dmitry-lipetsk