9.74.3 Siddhi Query Language
This section provides information on using Siddhi Query Language in the Siddhi Analytics agent.
For further information on Siddhi Query Language, see http://wso2.github.io/siddhi/documentation/siddhi-4.0/.
Siddhi Extensions
The extensions that are included in are the following:
- math
- string
- unique
Working with UDRs
This section provides information on how to work with UDRs when using the Siddhi Analytics agent, providing examples in Siddhi Query Language.
Input UDRs
UDRs routed to the Siddhi Analytics agent are inserted into all compatible input streams and are either
- Kept if the first attribute of the input stream is
input object
, or - Discarded
See the examples below.
Output UDRs
UDRs routed from the Siddhi Analytics agent are either
- Newly created, or
- Reused from the input stream if the first attribute selected is
input
.
See the examples below.
Updating UDRs
UDRs are updated if they are inserted into an output stream that is routed, otherwise they are passed along unchanged.
Examples
The following examples show how to work with UDRs in Siddhi Query Language.
Example
The input UDR is kept and is output unchanged when its price is greater than 10.5.
define stream StockInputStream(input object, symbol string, price float); from StockInputStream[price > 10.5] select input insert into StockOutputStream;
Example
The input UDR is kept and its price is increased by 1 when its price is greater than 10.5.
define stream StockInputStream(input object, symbol string, price float); from StockInputStream[price > 10.5] select input, price + 1 as price insert into StockOutputStream;
Example
The input UDR is discarded and a newly created UDR is output when the price is greater than 10.5.
define stream StockInputStream(symbol string, price float); from StockInputStream[price > 10.5] select symbol, price insert into StockOutputStream;