private void RunAssertionMultiColumnLeft_OM(EPServiceProvider epService) { var model = new EPStatementObjectModel(); model.SelectClause = SelectClause.Create("s0.id, s0.p00, s0.p01, s1.id, s1.p10, s1.p11".Split(',')); FromClause fromClause = FromClause.Create( FilterStream.Create(typeof(SupportBean_S0).FullName, "s0").AddView("keepall"), FilterStream.Create(typeof(SupportBean_S1).FullName, "s1").AddView("keepall")); fromClause.Add(OuterJoinQualifier.Create("s0.p00", OuterJoinType.LEFT, "s1.p10").Add("s1.p11", "s0.p01")); model.FromClause = fromClause; model = (EPStatementObjectModel)SerializableObjectCopier.Copy(epService.Container, model); string stmtText = "select s0.id, s0.p00, s0.p01, s1.id, s1.p10, s1.p11 from " + typeof(SupportBean_S0).FullName + "#keepall as s0 left outer join " + typeof(SupportBean_S1).FullName + "#keepall as s1 on s0.p00 = s1.p10 and s1.p11 = s0.p01"; Assert.AreEqual(stmtText, model.ToEPL()); EPStatement stmt = epService.EPAdministrator.Create(model); var listener = new SupportUpdateListener(); stmt.Events += listener.Update; AssertMultiColumnLeft(epService, listener); EPStatementObjectModel modelReverse = epService.EPAdministrator.CompileEPL(stmtText); Assert.AreEqual(stmtText, modelReverse.ToEPL()); stmt.Dispose(); }
public void TestMultiColumnLeft_OM() { var model = new EPStatementObjectModel(); model.SelectClause = SelectClause.Create("s0.id, s0.P00, s0.p01, s1.id, s1.p10, s1.p11".Split(',')); FromClause fromClause = FromClause.Create( FilterStream.Create(typeof(SupportBean_S0).FullName, "s0").AddView("win", "keepall"), FilterStream.Create(typeof(SupportBean_S1).FullName, "s1").AddView("win", "keepall")); fromClause.Add(OuterJoinQualifier.Create("s0.P00", OuterJoinType.LEFT, "s1.p10").Add("s1.p11", "s0.p01")); model.FromClause = fromClause; model = (EPStatementObjectModel)SerializableObjectCopier.Copy(model); String stmtText = "select s0.id, s0.P00, s0.p01, s1.id, s1.p10, s1.p11 from com.espertech.esper.support.bean.SupportBean_S0.win:keepall() as s0 left outer join com.espertech.esper.support.bean.SupportBean_S1.win:keepall() as s1 on s0.P00 = s1.p10 and s1.p11 = s0.p01"; Assert.AreEqual(stmtText, model.ToEPL()); EPStatement outerJoinView = _epService.EPAdministrator.Create(model); outerJoinView.Events += _listener.Update; AssertMultiColumnLeft(); EPStatementObjectModel modelReverse = _epService.EPAdministrator.CompileEPL(stmtText); Assert.AreEqual(stmtText, modelReverse.ToEPL()); }
public void TestMultiColumnLeft_OM() { var model = new EPStatementObjectModel(); model.SelectClause = SelectClause.Create("s0.id, s0.p00, s0.p01, s1.id, s1.p10, s1.p11".SplitCsv()); var fromClause = FromClause.Create( FilterStream.Create(typeof(SupportBean_S0).FullName, "s0").AddView("keepall"), FilterStream.Create(typeof(SupportBean_S1).FullName, "s1").AddView("keepall")); fromClause.Add(OuterJoinQualifier.Create("s0.p00", OuterJoinType.LEFT, "s1.p10").Add("s1.p11", "s0.p01")); model.FromClause = fromClause; model = (EPStatementObjectModel)SerializableObjectCopier.Copy(model); var stmtText = "select s0.id, s0.p00, s0.p01, s1.id, s1.p10, s1.p11 from " + typeof(SupportBean_S0).FullName + "#keepall as s0 left outer join " + typeof(SupportBean_S1).FullName + "#keepall as s1 on s0.p00 = s1.p10 and s1.p11 = s0.p01"; Assert.AreEqual(stmtText, model.ToEPL()); var outerJoinView = _epService.EPAdministrator.Create(model); outerJoinView.AddListener(_listener); AssertMultiColumnLeft(); var modelReverse = _epService.EPAdministrator.CompileEPL(stmtText); Assert.AreEqual(stmtText, modelReverse.ToEPL()); }
public void Run(RegressionEnvironment env) { var model = new EPStatementObjectModel(); model.SelectClause = SelectClause.Create(new[] {"S0.Id", " S0.P00", " S0.P01", " S1.Id", " S1.P10", " S1.P11"}); var fromClause = FromClause.Create( FilterStream.Create(typeof(SupportBean_S0).Name, "S0").AddView("keepall"), FilterStream.Create(typeof(SupportBean_S1).Name, "S1").AddView("keepall")); fromClause.Add(OuterJoinQualifier.Create("S0.P00", OuterJoinType.LEFT, "S1.P10").Add("S1.P11", "S0.P01")); model.FromClause = fromClause; model = env.CopyMayFail(model); var stmtText = "select S0.Id, S0.P00, S0.P01, S1.Id, S1.P10, S1.P11 from SupportBean_S0#keepall as S0 left outer join SupportBean_S1#keepall as S1 on S0.P00 = S1.P10 and S1.P11 = S0.P01"; Assert.AreEqual(stmtText, model.ToEPL()); model.Annotations = Collections.SingletonList(AnnotationPart.NameAnnotation("s0")); env.CompileDeploy(model).AddListener("s0"); AssertMultiColumnLeft(env); var modelReverse = env.EplToModel(stmtText); Assert.AreEqual(stmtText, modelReverse.ToEPL()); env.UndeployAll(); }
public void Test2TableFullOuterJoinOM() { EPStatementObjectModel model = new EPStatementObjectModel(); model.SelectClause = SelectClause.Create("Symbol", "Volume", "TheString", "IntPrimitive"); model.FromClause = FromClause.Create(FilterStream.Create(typeof(SupportMarketDataBean).FullName).Unidirectional(true)); model.FromClause.Add(FilterStream.Create(typeof(SupportBean).FullName).AddView("win", "keepall")); model.FromClause.Add(OuterJoinQualifier.Create("TheString", OuterJoinType.FULL, "Symbol")); String stmtText = "select Symbol, Volume, TheString, IntPrimitive " + "from " + typeof(SupportMarketDataBean).FullName + " unidirectional " + "full outer join " + typeof(SupportBean).FullName + ".win:keepall() on TheString = Symbol"; Assert.AreEqual(stmtText, model.ToEPL()); EPStatement stmt = _epService.EPAdministrator.Create(model); TryFullOuterPassive2Stream(stmt); }
public void TestLeftOuterJoin_root_s0_OM() { EPStatementObjectModel model = new EPStatementObjectModel(); model.SelectClause = SelectClause.CreateWildcard(); FromClause fromClause = FromClause.Create( FilterStream.Create(EVENT_S0, "s0").AddView("win", "keepall"), FilterStream.Create(EVENT_S1, "s1").AddView("win", "keepall"), FilterStream.Create(EVENT_S2, "s2").AddView("win", "keepall")); fromClause.Add(OuterJoinQualifier.Create("s0.P00", OuterJoinType.LEFT, "s1.p10")); fromClause.Add(OuterJoinQualifier.Create("s0.P00", OuterJoinType.LEFT, "s2.p20")); model.FromClause = fromClause; model = (EPStatementObjectModel)SerializableObjectCopier.Copy(model); Assert.AreEqual("select * from com.espertech.esper.support.bean.SupportBean_S0.win:keepall() as s0 left outer join com.espertech.esper.support.bean.SupportBean_S1.win:keepall() as s1 on s0.P00 = s1.p10 left outer join com.espertech.esper.support.bean.SupportBean_S2.win:keepall() as s2 on s0.P00 = s2.p20", model.ToEPL()); EPStatement joinView = epService.EPAdministrator.Create(model); joinView.Events += updateListener.Update; RunAsserts(); }
public void Run(RegressionEnvironment env) { var model = new EPStatementObjectModel(); model.SelectClause = SelectClause.Create("Symbol", "Volume", "TheString", "IntPrimitive"); model.FromClause = FromClause.Create( FilterStream.Create(typeof(SupportMarketDataBean).Name).Unidirectional(true)); model.FromClause.Add(FilterStream.Create(typeof(SupportBean).Name).AddView("keepall")); model.FromClause.Add(OuterJoinQualifier.Create("TheString", OuterJoinType.FULL, "Symbol")); var stmtText = "select Symbol, Volume, TheString, IntPrimitive " + "from SupportMarketDataBean unidirectional " + "full outer join SupportBean" + "#keepall on TheString = Symbol"; Assert.AreEqual(stmtText, model.ToEPL()); model.Annotations = Collections.SingletonList(AnnotationPart.NameAnnotation("s0")); env.CompileDeploy(model).AddListener("s0"); TryFullOuterPassive2Stream(env); env.UndeployAll(); }
public void TestLeftOuterJoin_root_s0_OM() { EPStatementObjectModel model = new EPStatementObjectModel(); model.SelectClause = SelectClause.CreateWildcard(); FromClause fromClause = FromClause.Create( FilterStream.Create(EVENT_S0, "s0").AddView("keepall"), FilterStream.Create(EVENT_S1, "s1").AddView("keepall"), FilterStream.Create(EVENT_S2, "s2").AddView("keepall")); fromClause.Add(OuterJoinQualifier.Create("s0.p00", OuterJoinType.LEFT, "s1.p10")); fromClause.Add(OuterJoinQualifier.Create("s0.p00", OuterJoinType.LEFT, "s2.p20")); model.FromClause = fromClause; model = (EPStatementObjectModel)SerializableObjectCopier.Copy(model); Assert.AreEqual("select * from " + typeof(SupportBean_S0).FullName + "#keepall as s0 left outer join " + typeof(SupportBean_S1).FullName + "#keepall as s1 on s0.p00 = s1.p10 left outer join " + typeof(SupportBean_S2).FullName + "#keepall as s2 on s0.p00 = s2.p20", model.ToEPL()); EPStatement joinView = _epService.EPAdministrator.Create(model); joinView.AddListener(_updateListener); RunAsserts(); }
private void RunAssertionLeftOuterJoin_root_s0_OM(EPServiceProvider epService) { var model = new EPStatementObjectModel(); model.SelectClause = SelectClause.CreateWildcard(); FromClause fromClause = FromClause.Create( FilterStream.Create(EVENT_S0, "s0").AddView("keepall"), FilterStream.Create(EVENT_S1, "s1").AddView("keepall"), FilterStream.Create(EVENT_S2, "s2").AddView("keepall")); fromClause.Add(OuterJoinQualifier.Create("s0.p00", OuterJoinType.LEFT, "s1.p10")); fromClause.Add(OuterJoinQualifier.Create("s0.p00", OuterJoinType.LEFT, "s2.p20")); model.FromClause = fromClause; model = (EPStatementObjectModel)SerializableObjectCopier.Copy(epService.Container, model); Assert.AreEqual("select * from " + typeof(SupportBean_S0).FullName + "#keepall as s0 left outer join " + typeof(SupportBean_S1).FullName + "#keepall as s1 on s0.p00 = s1.p10 left outer join " + typeof(SupportBean_S2).FullName + "#keepall as s2 on s0.p00 = s2.p20", model.ToEPL()); EPStatement stmt = epService.EPAdministrator.Create(model); var listener = new SupportUpdateListener(); stmt.Events += listener.Update; TryAssertion(epService, listener); }
private void RunAssertion2TableFullOuterJoinOM(EPServiceProvider epService) { var model = new EPStatementObjectModel(); model.SelectClause = SelectClause.Create("symbol", "volume", "TheString", "IntPrimitive"); model.FromClause = FromClause.Create(FilterStream.Create(typeof(SupportMarketDataBean).FullName).Unidirectional(true)); model.FromClause.Add(FilterStream.Create(typeof(SupportBean).FullName).AddView("keepall")); model.FromClause.Add(OuterJoinQualifier.Create("TheString", OuterJoinType.FULL, "symbol")); string stmtText = "select symbol, volume, TheString, IntPrimitive " + "from " + typeof(SupportMarketDataBean).FullName + " unidirectional " + "full outer join " + typeof(SupportBean).FullName + "#keepall on TheString = symbol"; Assert.AreEqual(stmtText, model.ToEPL()); EPStatement stmt = epService.EPAdministrator.Create(model); TryFullOuterPassive2Stream(epService, stmt); stmt.Dispose(); }
public void Run(RegressionEnvironment env) { var model = new EPStatementObjectModel(); model.SelectClause = SelectClause.CreateWildcard(); var fromClause = FromClause.Create( FilterStream.Create("SupportBean_S0", "S0").AddView("keepall"), FilterStream.Create("SupportBean_S1", "S1").AddView("keepall"), FilterStream.Create("SupportBean_S2", "S2").AddView("keepall")); fromClause.Add(OuterJoinQualifier.Create("S0.P00", OuterJoinType.LEFT, "S1.P10")); fromClause.Add(OuterJoinQualifier.Create("S0.P00", OuterJoinType.LEFT, "S2.P20")); model.FromClause = fromClause; model = env.CopyMayFail(model); Assert.AreEqual( "select * from SupportBean_S0#keepall as S0 " + "left outer join SupportBean_S1#keepall as S1 on S0.P00 = S1.P10 " + "left outer join SupportBean_S2#keepall as S2 on S0.P00 = S2.P20", model.ToEPL()); model.Annotations = Collections.SingletonList(AnnotationPart.NameAnnotation("s0")); env.CompileDeploy(model).AddListener("s0"); TryAssertion(env); }