Extension operators (UDF, UDX, Transform Plugins)

<< Click to Display Table of Contents >>

Navigation:  Understanding Streaming SQL Concepts > Time and Streaming Data > Rowtime Bounds > Semantics of Rowtime Bounds >

Extension operators (UDF, UDX, Transform Plugins)

Previous pageReturn to chapter overviewNext page

SQLstream allows an application to define its own extension operators. These include:

User-defined functions (UDFs). You use these in a SELECT expression (or in a WHERE clause). For more detail, see the topics SELECT and WHERE clause in the s-Server Streaming SQL Reference Guide. A UDF is a row-by-row operation, and so is unaffected by rowtime bounds, which it automatically passes downstream.

Foreign streams, generated by an adapter coded in Java. Such streams are very general-purpose. The algorithms they express can make use of rowtime bounds and should be responsible for passing them downstream. A plugin can see and emit rowtime bounds as part of the com.sqlstream.plugin.RowSink interface that all plugins use to read and write data. A client application can see and emit rowtime bounds as part of the SQLstream implementation of JDBC.

User-defined transforms (UDXs). You code these in Java. They read an input stream and produce an output stream. When writing a UDX (User-Defined Transformation), you need to be aware of rowtime bounds. See the topic Rowtime Bounds and UDXs in the Integration Guide for more details.