Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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());
        }
Ejemplo n.º 3
0
        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());
        }
Ejemplo n.º 4
0
 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();
 }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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();
        }
Ejemplo n.º 7
0
            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();
            }
Ejemplo n.º 8
0
        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();
        }
Ejemplo n.º 9
0
        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);
        }
Ejemplo n.º 10
0
        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();
        }
Ejemplo n.º 11
0
            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);
            }