siddhi-io / siddhi

Stream Processing and Complex Event Processing Engine
http://siddhi.io
Apache License 2.0
1.52k stars 529 forks source link

Reference not allowed for not occurring events' Stream #1427

Open dj13may91 opened 5 years ago

dj13may91 commented 5 years ago

Description: Referencing is allowed for streams query under non occurring pattern

Affected Siddhi Version: 5.*

Steps to reproduce: from every e1=TempStream[e1.roomNo == 1] → not TempStream[roomNo == 99 or deviceID == 10] for 5 min → e2=TempStream[e2.roomNo == 5] within 60 minutes

Here bold marked TempStream can't be referenced. Below query will result in error: from every e1=TempStream[e2.roomNo == 1] → not e3=TempStream[roomNo == 99 or deviceID == 10] for 5 min → e2=TempStream[e2.roomNo == 5] within 60 minutes

mohanvive commented 5 years ago

@dj13may91 I have tested a similar query and it works fine (BTW, using alias 'e2' within the first pattern state is not correct) . States are sequential in a pattern query.

from every e1=TempStream[roomNo == 1] → not e3=TempStream[roomNo == 99 or deviceID == 10] for 5 min → e2=TempStream[e2.roomNo == 5] within 60 minutes

Can you please let us know what is your use case? What is error that you got?

dj13may91 commented 5 years ago

@mohanvine Ya that e2 in first block was a copy paste mistake. But other than that the use case doesn't work when referencing a non occurring pattern. Although, i got the logic that even if i get the reference what will i use it for as there is nothing happening in that particular reference stream .