use of io.siddhi.query.api.execution.query.Query in project siddhi by wso2.
the class JoinQueryTestCase method testJoinQueryToString.
@Test
public void testJoinQueryToString() {
Query query = Query.query().annotation(Annotation.annotation("foo").element("name", "Query1").element("summery", "Test Query").element("Custom")).from(InputStream.joinStream(InputStream.stream("s1", "cseEventStream").window("lengthBatch", Expression.value(50)), JoinInputStream.Type.JOIN, InputStream.stream("s2", "cseEventStream").filter(Expression.and(Expression.compare(Expression.add(Expression.value(7), Expression.value(9.5)), Compare.Operator.GREATER_THAN, Expression.variable("price").ofStream("cseEventStream")), Expression.compare(Expression.value(100), Compare.Operator.GREATER_THAN_EQUAL, Expression.variable("volume").ofStream("cseEventStream")))).window("lengthBatch", Expression.value(50)), Expression.compare(Expression.variable("price").ofStream("s1"), Compare.Operator.EQUAL, Expression.variable("price").ofStream("s2")))).select(Selector.selector().select("symbol", Expression.variable("symbol").ofStream("cseEventStream")).select(null, Expression.variable("symbol").ofStream("cseEventStream")).groupBy(Expression.variable("symbol").ofStream("cseEventStream")).having(Expression.compare(Expression.add(Expression.value(7), Expression.value(9.5)), Compare.Operator.GREATER_THAN, Expression.variable("price")))).insertInto("StockQuote", OutputStream.OutputEventType.EXPIRED_EVENTS);
String queryString = "Query{stream=JoinInputStream{" + "leftInputStream=SingleInputStream{isFaultStream=false, isInnerStream=false, id='cseEventStream', " + "streamReferenceId='s1', streamHandlers=[Window{namespace='', function='lengthBatch', " + "parameters=[IntConstant{value=50}]}], windowPosition=0}, type=JOIN, " + "rightInputStream=SingleInputStream{isFaultStream=false, isInnerStream=false, id='cseEventStream', " + "streamReferenceId='s2', streamHandlers=[Filter{" + "filterExpression=And{leftExpression=Compare{rightExpression=Variable{id='cseEventStream', " + "isInnerStream=false, streamIndex=null, functionId='null', functionIndex=null," + " attributeName='price'}, operator=GREATER_THAN, leftExpression=Add{leftValue=IntConstant{value=7}, " + "rightValue=DoubleConstant{value=9.5}}}, rightExpression=Compare{" + "rightExpression=Variable{id='cseEventStream', isInnerStream=false, streamIndex=null, " + "functionId='null', functionIndex=null, attributeName='volume'}, operator=GREATER_THAN_EQUAL, " + "leftExpression=IntConstant{value=100}}}}, Window{namespace='', function='lengthBatch', " + "parameters=[IntConstant{value=50}]}], windowPosition=1}, " + "onCompare=Compare{rightExpression=Variable{id='s2', isInnerStream=false, streamIndex=null, " + "functionId='null', functionIndex=null, attributeName='price'}, operator=EQUAL, " + "leftExpression=Variable{id='s1', isInnerStream=false, streamIndex=null, functionId='null', " + "functionIndex=null, attributeName='price'}}, trigger=ALL, within=null, per=null}, " + "selector=Selector{selectionList=[OutputAttribute{rename='symbol', " + "expression=Variable{id='cseEventStream', isInnerStream=false, streamIndex=null, functionId='null', " + "functionIndex=null, attributeName='symbol'}}, OutputAttribute{rename='null', " + "expression=Variable{id='cseEventStream', isInnerStream=false, streamIndex=null, functionId='null', " + "functionIndex=null, attributeName='symbol'}}], groupByList=[Variable{id='cseEventStream', " + "isInnerStream=false, streamIndex=null, functionId='null', functionIndex=null, " + "attributeName='symbol'}], havingExpression=Compare{rightExpression=Variable{id='null', " + "isInnerStream=false, streamIndex=null, functionId='null', functionIndex=null, " + "attributeName='price'}, operator=GREATER_THAN, leftExpression=Add{leftValue=IntConstant{value=7}, " + "rightValue=DoubleConstant{value=9.5}}}, orderByList=[], limit=null, offset=null}, " + "outputStream=InsertIntoStream{isFaultStream=false, isInnerStream=false}, outputRate=null, " + "annotations=[@foo( name = \"Query1\", summery = \"Test Query\", \"Custom\")]}";
Assert.assertEquals(query.toString(), queryString);
}
use of io.siddhi.query.api.execution.query.Query in project siddhi by wso2.
the class OutputRateTestCase method testCreatingQuery2.
@Test
public void testCreatingQuery2() {
Query query = Query.query();
query.from(InputStream.stream("cseEventStream").filter(Expression.and(Expression.compare(Expression.add(Expression.value(7), Expression.value(9.5)), Compare.Operator.GREATER_THAN, Expression.variable("price")), Expression.compare(Expression.value(100), Compare.Operator.GREATER_THAN_EQUAL, Expression.variable("volume")))).window("lengthBatch", Expression.value(50)));
query.select(Selector.selector().select("symbol", Expression.variable("symbol")).select("avgPrice", Expression.function("avg", Expression.variable("symbol"))).groupBy(Expression.variable("symbol")).having(Expression.compare(Expression.variable("avgPrice"), Compare.Operator.GREATER_THAN_EQUAL, Expression.value(50))));
query.output(OutputRate.perTimePeriod(Expression.Time.minute(1)).output(OutputRate.Type.LAST));
query.insertInto("StockQuote");
}
use of io.siddhi.query.api.execution.query.Query in project siddhi by wso2.
the class OutputRateTestCase method testCreatingQuery3.
@Test
public void testCreatingQuery3() {
Query query = Query.query();
query.from(InputStream.stream("cseEventStream").filter(Expression.and(Expression.compare(Expression.add(Expression.value(7), Expression.value(9.5)), Compare.Operator.GREATER_THAN, Expression.variable("price")), Expression.compare(Expression.value(100), Compare.Operator.GREATER_THAN_EQUAL, Expression.variable("volume")))).window("lengthBatch", Expression.value(50)));
query.select(Selector.selector().select("symbol", Expression.variable("symbol")).select("avgPrice", Expression.function("avg", Expression.variable("symbol"))).groupBy(Expression.variable("symbol")).having(Expression.compare(Expression.variable("avgPrice"), Compare.Operator.GREATER_THAN_EQUAL, Expression.value(50))));
query.output(OutputRate.perSnapshot(Expression.Time.minute(1)));
query.insertInto("StockQuote");
}
use of io.siddhi.query.api.execution.query.Query in project siddhi by wso2.
the class OutputRateTestCase method testCreatingQuery4.
@Test
public void testCreatingQuery4() {
Query query = Query.query();
query.from(InputStream.stream("cseEventStream").filter(Expression.and(Expression.compare(Expression.add(Expression.value(7), Expression.value(9.5)), Compare.Operator.GREATER_THAN, Expression.variable("price")), Expression.compare(Expression.value(100), Compare.Operator.GREATER_THAN_EQUAL, Expression.variable("volume")))).window("lengthBatch", Expression.value(50)));
query.select(Selector.selector().select("symbol", Expression.variable("symbol")).select("avgPrice", Expression.function("avg", Expression.variable("symbol"))).groupBy(Expression.variable("symbol")).having(Expression.compare(Expression.variable("avgPrice"), Compare.Operator.GREATER_THAN_EQUAL, Expression.value(50))));
query.output(OutputRate.perSnapshot(Expression.value(1000L)));
query.insertInto("StockQuote");
}
use of io.siddhi.query.api.execution.query.Query in project siddhi by wso2.
the class OutputRateTestCase method testCreatingQuery5.
@Test
public void testCreatingQuery5() {
Query query = Query.query();
query.from(InputStream.stream("cseEventStream").filter(Expression.and(Expression.compare(Expression.add(Expression.value(7), Expression.value(9.5)), Compare.Operator.GREATER_THAN, Expression.variable("price")), Expression.compare(Expression.value(100), Compare.Operator.GREATER_THAN_EQUAL, Expression.variable("volume")))).window("lengthBatch", Expression.value(50)));
query.select(Selector.selector().select("symbol", Expression.variable("symbol")).select("avgPrice", Expression.function("avg", Expression.variable("symbol"))).groupBy(Expression.variable("symbol")).having(Expression.compare(Expression.variable("avgPrice"), Compare.Operator.GREATER_THAN_EQUAL, Expression.value(50))));
query.output(OutputRate.perEvents(Expression.value(1000L)).output(OutputRate.Type.ALL));
query.insertInto("StockQuote");
}
Aggregations