Search in sources :

Example 76 with Query

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);
}
Also used : Query(io.siddhi.query.api.execution.query.Query) Test(org.testng.annotations.Test)

Example 77 with Query

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");
}
Also used : Query(io.siddhi.query.api.execution.query.Query) Test(org.testng.annotations.Test)

Example 78 with Query

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");
}
Also used : Query(io.siddhi.query.api.execution.query.Query) Test(org.testng.annotations.Test)

Example 79 with Query

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");
}
Also used : Query(io.siddhi.query.api.execution.query.Query) Test(org.testng.annotations.Test)

Example 80 with Query

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");
}
Also used : Query(io.siddhi.query.api.execution.query.Query) Test(org.testng.annotations.Test)

Aggregations

Query (io.siddhi.query.api.execution.query.Query)192 Test (org.testng.annotations.Test)181 SiddhiApp (io.siddhi.query.api.SiddhiApp)86 SiddhiAppRuntime (io.siddhi.core.SiddhiAppRuntime)85 SiddhiManager (io.siddhi.core.SiddhiManager)85 StreamDefinition (io.siddhi.query.api.definition.StreamDefinition)85 InputHandler (io.siddhi.core.stream.input.InputHandler)82 Event (io.siddhi.core.event.Event)81 QueryCallback (io.siddhi.core.query.output.callback.QueryCallback)74 Partition (io.siddhi.query.api.execution.partition.Partition)14 StreamCallback (io.siddhi.core.stream.output.StreamCallback)8 ArrayList (java.util.ArrayList)7 QueryRuntimeImpl (io.siddhi.core.query.QueryRuntimeImpl)4 OnDemandQuery (io.siddhi.query.api.execution.query.OnDemandQuery)4 SiddhiAppContext (io.siddhi.core.config.SiddhiAppContext)3 SingleStreamRuntime (io.siddhi.core.query.input.stream.single.SingleStreamRuntime)3 Window (io.siddhi.core.window.Window)3 AbstractDefinition (io.siddhi.query.api.definition.AbstractDefinition)3 ExecutionElement (io.siddhi.query.api.execution.ExecutionElement)3 JoinInputStream (io.siddhi.query.api.execution.query.input.stream.JoinInputStream)3