Thanks for replying.
when I try to create a new PAL procedure within my stored procedure using the AFL_WRAPPER_GENERATOR
take a very long time like 40 minutes or so. And I get an error, which says in the indexserver trace file :
drop procedure OutlierDetection;
create procedure OutlierDetection(in schemaName varchar(100),
in currentDimension varchar(100))
language SQLSCRIPT as
insertInto varchar(100);
begin
exec 'set schema '||:schemaName;
exec 'drop type DATA_T';
exec 'create type DATA_T as table("'||:currentDimension||'" VARCHAR(100), SUM_MEASURE DOUBLE)';
exec 'DROP TYPE OUTLIER_T';
exec 'create TYPE OUTLIER_T AS TABLE("'||:currentDimension||'" VARCHAR(100),"OUTLIERS" INT)';
exec 'DROP TYPE RESULT_T';
exec 'CREATE TYPE RESULT_T AS TABLE("MEAN" DOUBLE,"SD" DOUBLE)';
exec 'DROP TYPE CONTROL_T';
exec 'CREATE TYPE CONTROL_T AS TABLE("Name" VARCHAR(100), "intArgs" INT, "doubleArgs" DOUBLE,"strArgs" VARCHAR(100))';
DROP table SIGNATURE_TAB;
create column table SIGNATURE_TAB("ID" INT,"TYPENAME" VARCHAR(100),"DIRECTION" VARCHAR(100));
insertInto := :schemaName||'.DATA_T';
insert into SIGNATURE_TAB values (1,:insertInto,'in');
insertInto := :schemaName||'.CONTROL_T';
insert into SIGNATURE_TAB values (2,:insertInto,'in');
insertInto := :schemaName||'.RESULT_T';
insert into SIGNATURE_TAB values (3,:insertInto,'out');
insertInto := :schemaName||'.OUTLIER_T';
insert into SIGNATURE_TAB values (4,:insertInto,'out');
exec 'GRANT SELECT ON '||:schemaName||'.SIGNATURE_TAB to SYSTEM';
call SYSTEM.afl_wrapper_eraser('PALOutlierDetectionProcedure');
end;
call OutlierDetection('I301605', 'CITY');
call SYSTEM.afl_wrapper_generator('PALOutlierDetectionProcedure','AFLPAL','VARIANCETEST', SIGNATURE_TAB);
DROP TABLE #CONTROL_TAB;
CREATE LOCAL TEMPORARY COLUMN TABLE #CONTROL_TAB ("Name" VARCHAR(100), "intArgs" INT, "doubleArgs" DOUBLE,"strArgs" VARCHAR(100));
INSERT INTO #CONTROL_TAB VALUES ('SIGMA_NUM',null,3.0,null);
INSERT INTO #CONTROL_TAB VALUES ('THREAD_NUMBER',8,null,null);
DROP VIEW DATA_VIEW;
create VIEW DATA_VIEW AS select CITY, sum(AMOUNT_SOLD) AS SUM_MEASURE from _SYS_BIC."efashion/EFASHION_STAR_SCHEMA" where MONTH_NAME='April' and YR = 2003 GROUP BY CITY;
DROP TABLE RESULT_TAB;
CREATE COLUMN TABLE RESULT_TAB ("MEAN" DOUBLE,"SD" DOUBLE);
DROP TABLE OUTLIERS_TAB;
create COLUMN TABLE OUTLIERS_TAB ("CITY" VARCHAR(100),"OUTLIER" INT);
CALL _SYS_AFL.PALOutlierDetectionProcedure(DATA_VIEW, "#CONTROL_TAB", RESULT_TAB, OUTLIERS_TAB) with overview;
drop view VT_outliers_results;
create view VT_outliers_results as select a.CITY, SUM_MEASURE, b.OUTLIER from DATA_VIEW a full join OUTLIERS_TAB b on (a.CITY = b.CITY);
select * from VT_outliers_results;
Mohamed Ali.