In CCL, the ComputeStream "foreignStream" migrates to an CREATE OUTPUT WINDOW statement, and the Store element migrates to a CREATE MEMORY STORE statement.
In this example, the ComputeStream calls a foreignJava function as ColumnExpression. The foreignJava function migrates to a CREATE LIBRARY statement, and its references in the ColumnExpression migrate to Lib_0.intFunction0( ).
AleriML:
<Store file="store1" id="store1" kind="memory"/> <ComputeStream id="foreignStream" istream="eqInput" store="store1"> <ColumnExpression key="true" name="a">eqInput.a</ColumnExpression> <ColumnExpression key="true" name="b">eqInput.b</ColumnExpression> <ColumnExpression key="false" name="intData0">foreignJava(Functions,intFunction0,'()I')</ColumnExpression> <ColumnExpression key="false" name="intData1">foreignJava(Functions,intFunction1,'(II)I', 1, 2)</ColumnExpression> </ComputeStream>
CCL:
CREATE MEMORY STORE store1 PROPERTIES INDEXTYPE ='tree', INDEXSIZEHINT =8; CREATE LIBRARY Lib_0 LANGUAGE Java FROM 'Functions' ( INTEGER intFunction0 ( ); ); CREATE LIBRARY Lib_1 LANGUAGE Java FROM 'Functions' ( INTEGER intFunction1 ( INTEGER , INTEGER ); CREATE OUTPUT WINDOW foreignStream SCHEMA (a INTEGER, b STRING, intData0 INTEGER, intData1 INTEGER) PRIMARY KEY (a, b) STORE store1 AS SELECT eqInput.a AS a, eqInput.b AS b, Lib_0.intFunction0( ) AS intData0, Lib_1.intFunction1 ( 1, 2) AS intData1 FROM eqInput;