...
The source code can be downloaded from: https://github.com/traflm/trafodion-repos/blob/master/scalar-udf/to_date.c
Table-Mapping UDFs
Execution model of a Table-Mapping UDF (TMUDF). Syntax for invoking a TMUDF looks like this...
udf( <udf name> ( TABLE ( <select stmt> ) [, <parameters>] ) )
Result rows from <select stmt> will be presented to UDF and user UDF logic decides what to do with it.
Prior to beginning execution of <select stmt> query, user UDF logic
- examines the columns named in the select-list of <select stmt> and any <parameters> passed in the UDF call
- produces the list of output columns - this may/may not include items from the select-list of <select stmt>; the UDF can add new columns
- examines predicates and partitioning clauses in <select stmt> (as seen in the Sessionize TMUDF tutorial)
- influences statistics (as seen in Sessionize)
When <select stmt> executes. result rows are returned to the UDF for action. The UDF consumes each row and, according to its logic, outputs a row corresponding to the output columns that were defined in the previous step.
Reading Kafka Events
This UDF can read a topic from Apache Kafka. It is a basic serial Kafka consumer.
...