Thanks. Shall open a jira for this. On Tue, Nov 4, 2014 at 9:56 AM, Sriskandarajah Suhothayan <[email protected]> wrote:
> > > On Mon, Nov 3, 2014 at 3:57 AM, Seshika Fernando <[email protected]> wrote: > >> Hi Suho, >> >> Leaving this particular example aside, I still have an issue with >> counting patterns. >> In the following example >> >> from e1 = data -> >> e2 = data[(e1.cardNum == e2.cardNum) and (e1.location != e2.location)] >> <4:> >> select e1.cardNum, e1.location as loc1, e2[0].location as loc2, >> e2[1].location as loc3, e2[2].location as loc4, e2[3].location as loc5 >> insert into alert >> >> Assuming the below is the stream of transactions >> >> CardNum, Location >> 1234, Kandy >> 1234, Colombo >> 1234, Trinco >> 1234, Galle >> 1234, Nairobi >> 1234, Jaffna >> >> Then the first alert should be triggered as *[1234, Kandy, Colombo, >> Trinco, Galle, Nairobi] *since there are 4 transactions from the same >> card at locations different to the first transaction. >> >> However, currently we get alerts for every 2 events as follows.. >> >> data=[1234, Kandy, Colombo, null, null, null] >> >> data=[1234, Kandy, Colombo, Trinco, null, null] >> >> data=[1234, Colombo, Trinco, null, null, null] >> >> data=[1234, Kandy, Colombo, Trinco, Galle, null] >> >> data=[1234, Colombo, Trinco, Galle, null, null] >> >> data=[1234, Trinco, Galle, null, null, null] >> >> data=[1234, Kandy, Colombo, Trinco, Galle, Nairobi] >> >> data=[1234, Colombo, Trinco, Galle, Nairobi, null] >> >> data=[1234, Trinco, Galle, Nairobi, null, null] >> >> data=[1234, Galle, Nairobi, null, null, null] >> >> data=[1234, Colombo, Trinco, Galle, Nairobi, Jaffna] >> >> data=[1234, Trinco, Galle, Nairobi, Jaffna, null] >> >> data=[1234, Galle, Nairobi, Jaffna, null, null] >> >> data=[1234, Nairobi, Jaffna, null, null, null] >> >> >> So I don't think this is how counting patterns are supposed to work, >> since there is no real use of putting <4:> if the alerts are going to come >> as above. WDYT? >> >> I feel we need to revisit counting patterns and their usability. >> >> It should not return null at-least it has to have 4 valid values. > I think that is a bug > will have a look > > For now as a work around, put a having condition to check is last one is > not a null > > from e1 = data -> > e2 = data[(e1.cardNum == e2.cardNum) and (e1.location != e2.location)] <4:> > select e1.cardNum, e1.location as loc1, e2[0].location as loc2, > e2[1].location as loc3, e2[2].location as loc4, e2[3].location as loc5 > having e2[3].location instanceof string > insert into alert > > Suho > >> seshi >> >> >> On Mon, Nov 3, 2014 at 9:06 AM, Supun Muthutantrige <[email protected]> >> wrote: >> >>> Hi Suho, >>> >>> Yes, the 3rd example worked for the above given scenario. And when more >>> than 3 addresses are allowed, what Seshika has mentioned can also be used. >>> >>> Thank you, >>> Regards >>> >>> >>> *Supun Rasitha Muthutantrige* >>> Software Engineer | Intern >>> WSO2 Inc: http://wso2.com >>> lean.enterprise.middleware >>> Mobile: 0758374608 >>> >> >> > > > -- > > *S. Suhothayan* > Technical Lead & Team Lead of WSO2 Complex Event Processor > *WSO2 Inc. *http://wso2.com > * <http://wso2.com/>* > lean . enterprise . middleware > > > *cell: (+94) 779 756 757 <%28%2B94%29%20779%20756%20757> | blog: > http://suhothayan.blogspot.com/ <http://suhothayan.blogspot.com/>twitter: > http://twitter.com/suhothayan <http://twitter.com/suhothayan> | linked-in: > http://lk.linkedin.com/in/suhothayan <http://lk.linkedin.com/in/suhothayan>* >
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
