This documentation is for WSO2 Complex Event Processor 2.0.1. View documentation for the latest release.

Current Limitations

 

  1. External Calls (Not supported in the current version)

    Instead of directly returning or inserting the results to the output stream, Siddhi allows users to send the event to an external function and get the results.

    from <stream>
    insert into <stream-name>
    call <function-name>”(“<parameters>”)” ( {<attribute-name>}| ‘*’)

    Example,
    For the StockStream events having symbol=’IBM’, Siddhi will query StockTable of myStockDb database for all the events having symbol=’IBM’ and output them via IBMStream with attributes symbol, price and volume.

    from StockStream[symbol=’IBM’]
    insert into IBMStream
         call sql(myStockDb,
                   “select symbol, price, vol from StockTable where
                   symbol==${StockStream.symbol})”,
                  “{symbol string, price int, volume float}”);

     

  2. Recursive (nested) queries are not supported in the current version

    This gives the events having average price over 50 events per symbol, having price >= 20 and symbol == ‘IBM’ from all incoming events of StockExchangeStream

    from (from StockExchangeStream[ price >= 20]#window.length(50)
    return symbol, avg(price) as avgPrice
             group by symbol) [symbol=="IBM"]
    insert into IBMStockQuote symbol, avgPrice

  3. Siddhi will not support joining multiple streams.

    from RfidEvent#window.time(3000) as rfid
            left outer join ProductName#window.length(100) as refprod
                   on rfid.productId = refprod.prodId
           left outer join LocationDescription#window.length(200) as refdesc
                  on rfid.location = refdesc.locId
    insert into JoinStream *

    As a workaround user can first join two stream and then join the resulting stream with the third stream.

Copyright © WSO2 Inc. 2005-2014