2016-04-21 26 views
0

我正嘗試在teradata中創建一個Aggregate UDF函數。Teradata Aggregate UDF中的數組定義

作爲它的一部分即時嘗試decalre在中間存儲陣列。

當我試圖將它鏈接到teradata時,它不斷拋出下面的錯誤。

Executed as Single statement. Failed [7504 : HY000] in UDF/XSP/UDM DBC.IRR: SQLSTATE U0001: 
Elapsed time = 00:00:01.628 

STATEMENT 1: Select Statement failed. 

這裏是我的代碼,其中包含數組。

語法有什麼問題嗎?

#include <sqltypes_td.h> 
#include <string.h> 
#include <math.h> 
typedef struct agr_storage { 
     FLOAT count; 
     FLOAT val1,val2,val3,val4; 
    FLOAT res[100]; // This is my array 
} AGR_Storage; 

回答

-1

Teradata將每個中間塊大小限制爲64個字節,在上面的代碼中,我們試圖聲明一個大小爲800字節的數組。

這是錯誤的原因。

+0

*中間存儲塊*的大小限制爲64000字節,而不是64字節:http://www.info.teradata.com/htmlpubs/DB_TTU_15_10/index.html#page/SQL_Reference/B035_1147_151K/C_UDFs。 045.073.html – dnoeth