Table UDFs and Table Parameterized Functions
Table UDFs are external user-defined C, C++, or Java table functions. Table UDFs, like scalar and aggregate UDFs, can accept scalar input parameters. Unlike scalar and aggregate UDFs, table UDFs produce row sets as output. Table UDFs and TPFs can be referenced wherever a table expression is allowed. For example, SELECT ... FROM <table-expr>. TPFs extend the capabilities of Table UDFs by allowing a row set to be consumed as an input parameter. The TABLE input parameter is not a scalar value, but rather a row set defined by an input query expression.
Java External Environment for UDFs
In this release, the query engine has been enhanced to allow execution of Java table functions. You can now build Java functions that can return a java.sql.ResultSet back to the IQ query engine. In previous releases, calls to Java table functions were processed by the row store query engine resulting in slower performance when joined with the IQ column store.