コード例 #1
0
        private void RunAssertionSelectIStream(EPServiceProvider epServiceRetained)
        {
            // set time to zero
            epServiceRetained.EPRuntime.SendEvent(new CurrentTimeEvent(0));

            var stmtText = "select istream myvarchar from " +
                           typeof(SupportBean_S0).FullName + "#time(1 sec) as s0," +
                           " sql:MyDB ['select myvarchar from mytesttable where ${id} = mytesttable.mybigint'] as s1";

            var statement = epServiceRetained.EPAdministrator.CreateEPL(stmtText);
            var listener  = new SupportUpdateListener();

            statement.Events += listener.Update;

            // Send 100 events which all fireStatementStopped a join
            for (var i = 0; i < 100; i++)
            {
                var bean = new SupportBean_S0(5);
                epServiceRetained.EPRuntime.SendEvent(bean);
                Assert.AreEqual("E", listener.AssertOneGetNewAndReset().Get("myvarchar"));
            }

            // now advance the time, this should not produce events or join
            var startTime = DateTimeHelper.CurrentTimeMillis;

            epServiceRetained.EPRuntime.SendEvent(new CurrentTimeEvent(2000));
            var endTime = DateTimeHelper.CurrentTimeMillis;

            Log.Info(".testSelectIStream delta=" + (endTime - startTime));
            Assert.IsTrue(endTime - startTime < 200);
            Assert.IsFalse(listener.IsInvoked);

            statement.Dispose();
        }
コード例 #2
0
        private SupportBean_S0 MakeSendS0(int id, string p00)
        {
            var bean = new SupportBean_S0(id, p00);

            _epService.EPRuntime.SendEvent(bean);
            return(bean);
        }
コード例 #3
0
        public void TestSelectLargeResultSet()
        {
            String stmtText = "select id, mycol3, mycol2 from " +
                              typeof(SupportBean_S0).FullName + ".win:keepall() as s0," +
                              " sql:MyDB ['select mycol3, mycol2 from mytesttable_large'] as s1 where s0.id = s1.mycol3";

            EPStatement statement = _epServiceRetained.EPAdministrator.CreateEPL(stmtText);

            _listener         = new SupportUpdateListener();
            statement.Events += _listener.Update;

            // Send 100 events which all perform the join
            long startTime = PerformanceObserver.MilliTime;

            for (int i = 0; i < 200; i++)
            {
                var num  = i + 1;
                var col2 = Convert.ToString(Math.Round((float)num / 10, MidpointRounding.AwayFromZero));
                var bean = new SupportBean_S0(num);
                _epServiceRetained.EPRuntime.SendEvent(bean);
                EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), new String[] { "id", "mycol3", "mycol2" }, new Object[] { num, num, col2 });
            }
            long endTime = PerformanceObserver.MilliTime;

            Log.Info("delta=" + (endTime - startTime));
            Assert.IsTrue(endTime - startTime < 500);
            Assert.IsFalse(_listener.IsInvoked);
        }
コード例 #4
0
        public void TestSelectRStream()
        {
            String stmtText = "select rstream myvarchar from " +
                              typeof(SupportBean_S0).FullName + ".win:length(1000) as s0," +
                              " sql:MyDB ['select myvarchar from mytesttable where ${id} = mytesttable.mybigint'] as s1";

            EPStatement statement = _epServiceRetained.EPAdministrator.CreateEPL(stmtText);

            _listener         = new SupportUpdateListener();
            statement.Events += _listener.Update;

            // 1000 events should enter the window fast, no joins
            long startTime = PerformanceObserver.MilliTime;

            for (int i = 0; i < 1000; i++)
            {
                SupportBean_S0 supportBean = new SupportBean_S0(10);
                _epServiceRetained.EPRuntime.SendEvent(supportBean);
                Assert.IsFalse(_listener.IsInvoked);
            }
            long endTime = PerformanceObserver.MilliTime;
            long delta   = (endTime - startTime);

            Assert.IsTrue(endTime - startTime < 1000, "delta=" + delta);

            // 1001st event should finally join and produce a result
            SupportBean_S0 bean = new SupportBean_S0(10);

            _epServiceRetained.EPRuntime.SendEvent(bean);
            Assert.AreEqual("J", _listener.AssertOneGetNewAndReset().Get("myvarchar"));
        }
コード例 #5
0
ファイル: TestPatternJoin.cs プロジェクト: ikvm/nesper
        public void Test2PatternJoinWildcard()
        {
            String stmtText = "select * " +
                              " from " +
                              " pattern [every (es0=" + typeof(SupportBean_S0).FullName +
                              " and es1=" + typeof(SupportBean_S1).FullName + ")].win:length(5) as s0," +
                              " pattern [every (es2=" + typeof(SupportBean_S2).FullName +
                              " and es3=" + typeof(SupportBean_S3).FullName + ")].win:length(5) as s1" +
                              " where s0.es0.Id = s1.es2.Id";
            EPStatement statement = epService.EPAdministrator.CreateEPL(stmtText);

            SupportUpdateListener updateListener = new SupportUpdateListener();

            statement.Events += updateListener.Update;

            SupportBean_S0 s0 = SendEventS0(100, "");
            SupportBean_S1 s1 = SendEventS1(1, "");
            SupportBean_S2 s2 = SendEventS2(100, "");
            SupportBean_S3 s3 = SendEventS3(2, "");

            EventBean theEvent = updateListener.AssertOneGetNewAndReset();

            var result = (IDictionary <String, Object>)theEvent.Get("s0");

            Assert.AreSame(s0, ((EventBean)result.Get("es0")).Underlying);
            Assert.AreSame(s1, ((EventBean)result.Get("es1")).Underlying);

            result = (IDictionary <String, Object>)theEvent.Get("s1");
            Assert.AreSame(s2, ((EventBean)result.Get("es2")).Underlying);
            Assert.AreSame(s3, ((EventBean)result.Get("es3")).Underlying);
        }
コード例 #6
0
ファイル: Test2StreamOuterJoin.cs プロジェクト: ikvm/nesper
        public void SetUp()
        {
            Configuration config = SupportConfigFactory.GetConfiguration();

            config.EngineDefaults.LoggingConfig.IsEnableQueryPlan = true;
            _epService = EPServiceProviderManager.GetDefaultProvider(config);
            _epService.Initialize();
            if (InstrumentationHelper.ENABLED)
            {
                InstrumentationHelper.StartTest(_epService, GetType(), GetType().FullName);
            }
            _listener = new SupportUpdateListener();

            _eventsS0 = new SupportBean_S0[15];
            _eventsS1 = new SupportBean_S1[15];
            int count = 100;

            for (int i = 0; i < _eventsS0.Length; i++)
            {
                _eventsS0[i] = new SupportBean_S0(count++, Convert.ToString(i));
            }
            count = 200;
            for (int i = 0; i < _eventsS1.Length; i++)
            {
                _eventsS1[i] = new SupportBean_S1(count++, Convert.ToString(i));
            }
        }
コード例 #7
0
        private static void RunAssertionSelectIStream(
            RegressionEnvironment env,
            string dbname)
        {
            // set time to zero
            env.AdvanceTime(0);

            var stmtText = "@Name('s0') select istream myvarchar from " +
                           "SupportBean_S0#time(1 sec) as S0," +
                           " sql:" +
                           dbname +
                           " ['select myvarchar from mytesttable where ${Id} = mytesttable.myBigint'] as S1";
            env.CompileDeploy(stmtText).AddListener("s0");

            // Send 100 events which all fireStatementStopped a join
            for (var i = 0; i < 100; i++) {
                var bean = new SupportBean_S0(5);
                env.SendEventBean(bean);
                Assert.AreEqual("E", env.Listener("s0").AssertOneGetNewAndReset().Get("myvarchar"));
            }

            // now advance the time, this should not produce events or join
            var startTime = PerformanceObserver.MilliTime;
            env.AdvanceTime(2000);
            var endTime = PerformanceObserver.MilliTime;

            // log.info(".testSelectIStream delta=" + (endTime - startTime));
            Assert.IsTrue(endTime - startTime < 200);
            Assert.IsFalse(env.Listener("s0").IsInvoked);

            env.UndeployAll();
        }
コード例 #8
0
        private static void RunAssertionSelectRStream(
            RegressionEnvironment env,
            string dbname)
        {
            var stmtText = "@Name('s0') select rstream myvarchar from " +
                           "SupportBean_S0#length(1000) as S0," +
                           " sql:" +
                           dbname +
                           "['select myvarchar from mytesttable where ${Id} = mytesttable.myBigint'] as S1";
            env.CompileDeploy(stmtText).AddListener("s0");

            // 1000 events should enter the window fast, no joins
            var startTime = PerformanceObserver.MilliTime;
            for (var i = 0; i < 1000; i++) {
                var beanX = new SupportBean_S0(10);
                env.SendEventBean(beanX);
                Assert.IsFalse(env.Listener("s0").IsInvoked);
            }

            var endTime = PerformanceObserver.MilliTime;
            var delta = endTime - startTime;
            Assert.IsTrue(endTime - startTime < 1000, "delta=" + delta);

            // 1001st event should finally join and produce a result
            var bean = new SupportBean_S0(10);
            env.SendEventBean(bean);
            Assert.AreEqual("J", env.Listener("s0").AssertOneGetNewAndReset().Get("myvarchar"));

            env.UndeployAll();
        }
コード例 #9
0
        private static void TrySendEvents(
            RegressionEnvironment env,
            int numEvents,
            bool useRandomLookupKey)
        {
            var random = new Random();
            var stmtText = "@Name('s0') select myint from " +
                           "SupportBean_S0 as S0," +
                           " sql:MyDB ['select myint from mytesttable where ${Id} = mytesttable.myBigint'] as S1";
            env.CompileDeploy(stmtText).AddListener("s0");

            log.Debug(".trySendEvents Sending " + numEvents + " events");
            for (var i = 0; i < numEvents; i++) {
                var id = 0;
                if (useRandomLookupKey) {
                    id = random.Next(1000);
                }
                else {
                    id = i % 10 + 1;
                }

                var bean = new SupportBean_S0(id);
                env.SendEventBean(bean);

                if (!useRandomLookupKey || id >= 1 && id <= 10) {
                    var received = env.Listener("s0").AssertOneGetNewAndReset();
                    Assert.AreEqual(id * 10, received.Get("myint"));
                }
            }

            log.Debug(".trySendEvents Stopping statement");
            env.UndeployAll();
        }
コード例 #10
0
            public void Run(RegressionEnvironment env)
            {
                var stmtText = "@Name('s0') select Id, mycol3, mycol2 from " +
                               "SupportBean_S0#keepall as S0," +
                               " sql:MyDBWithLRU100000 ['select mycol3, mycol2 from mytesttable_large'] as S1 where S0.Id = S1.mycol3";
                env.CompileDeploy(stmtText).AddListener("s0");

                // Send 100 events which all perform the join
                var startTime = PerformanceObserver.MilliTime;
                for (var i = 0; i < 200; i++) {
                    var num = i + 1;
                    var col2 = Convert.ToString(Math.Round((float) num / 10));
                    var bean = new SupportBean_S0(num);
                    env.SendEventBean(bean);
                    EPAssertionUtil.AssertProps(
                        env.Listener("s0").AssertOneGetNewAndReset(),
                        new[] {"Id", "mycol3", "mycol2"},
                        new object[] {num, num, col2});
                }

                var endTime = PerformanceObserver.MilliTime;

                // log.info("delta=" + (endTime - startTime));
                Assert.IsTrue(endTime - startTime < 500);
                Assert.IsFalse(env.Listener("s0").IsInvoked);

                env.UndeployAll();
            }
コード例 #11
0
        public bool Call()
        {
            try
            {
                for (int loop = 0; loop < _numRepeats; loop++)
                {
                    int    id      = _threadNum * 10000000 + loop;
                    Object eventS0 = new SupportBean_S0(id);
                    Object eventS1 = new SupportBean_S1(id);

                    _engine.EPRuntime.SendEvent(eventS0);
                    _engine.EPRuntime.SendEvent(eventS1);
                }

                return(true);
            }
            catch (AssertionException ex)
            {
                Log.Error("Assertion error in thread " + Thread.CurrentThread.ManagedThreadId, ex);
                return(false);
            }
            catch (Exception ex)
            {
                Log.Error("Error in thread " + Thread.CurrentThread.ManagedThreadId, ex);
                return(false);
            }
        }
コード例 #12
0
        private void RunAssertionWhereClauseNoIndexNoCache(EPServiceProvider epServiceRetained)
        {
            var stmtText = "select id, mycol3, mycol2 from " +
                           typeof(SupportBean_S0).FullName + "#keepall as s0," +
                           " sql:MyDB ['select mycol3, mycol2 from mytesttable_large'] as s1 where s0.id = s1.mycol3";

            var statement = epServiceRetained.EPAdministrator.CreateEPL(stmtText);
            var listener  = new SupportUpdateListener();

            statement.Events += listener.Update;

            for (var i = 0; i < 20; i++)
            {
                var num  = i + 1;
                var col2 = Convert.ToString(Math.Round((float)num / 10, MidpointRounding.AwayFromZero));
                var bean = new SupportBean_S0(num);
                epServiceRetained.EPRuntime.SendEvent(bean);
                var testEventBean = listener.AssertOneGetNewAndReset();
                EPAssertionUtil.AssertProps(
                    testEventBean,
                    new string[] { "id", "mycol3", "mycol2" },
                    new object[] { num, num, col2 });
            }

            statement.Dispose();
        }
コード例 #13
0
        public void TestSelectIStream()
        {
            // set time to zero
            _epServiceRetained.EPRuntime.SendEvent(new CurrentTimeEvent(0));

            String stmtText = "select istream myvarchar from " +
                              typeof(SupportBean_S0).FullName + ".win:time(1 sec) as s0," +
                              " sql:MyDB ['select myvarchar from mytesttable where ${id} = mytesttable.mybigint'] as s1";

            EPStatement statement = _epServiceRetained.EPAdministrator.CreateEPL(stmtText);

            _listener         = new SupportUpdateListener();
            statement.Events += _listener.Update;

            // Send 100 events which all fireStatementStopped a join
            for (int i = 0; i < 100; i++)
            {
                SupportBean_S0 bean = new SupportBean_S0(5);
                _epServiceRetained.EPRuntime.SendEvent(bean);
                Assert.AreEqual("E", _listener.AssertOneGetNewAndReset().Get("myvarchar"));
            }

            // now advance the time, this should not produce events or join
            long startTime = PerformanceObserver.MilliTime;

            _epServiceRetained.EPRuntime.SendEvent(new CurrentTimeEvent(2000));
            long endTime = PerformanceObserver.MilliTime;

            Log.Info(".testSelectIStream delta=" + (endTime - startTime));
            Assert.IsTrue(endTime - startTime < 200);
            Assert.IsFalse(_listener.IsInvoked);
        }
コード例 #14
0
        /**
         * Test for selecting from a table a large result set and then joining the result outside of the cache.
         * Verifies performance of indexes cached for resolving join criteria fast.
         *
         * @param epService
         */
        private void RunAssertionSelectLargeResultSet(EPServiceProvider epService)
        {
            var stmtText = "select id, mycol3, mycol2 from " +
                           typeof(SupportBean_S0).FullName + "#keepall as s0," +
                           " sql:MyDB ['select mycol3, mycol2 from mytesttable_large'] as s1 where s0.id = s1.mycol3";

            var statement = epService.EPAdministrator.CreateEPL(stmtText);
            var listener  = new SupportUpdateListener();

            statement.AddListener(listener);

            // Send 100 events which all perform the join
            var startTime = PerformanceObserver.MilliTime;

            for (var i = 0; i < 200; i++)
            {
                var num  = i + 1;
                var col2 = Convert.ToString(Math.Round((float)num / 10, MidpointRounding.AwayFromZero), CultureInfo.InvariantCulture);
                var bean = new SupportBean_S0(num);
                epService.EPRuntime.SendEvent(bean);
                EPAssertionUtil.AssertProps(
                    listener.AssertOneGetNewAndReset(), new string[] { "id", "mycol3", "mycol2" },
                    new object[] { num, num, col2 });
            }

            var endTime = PerformanceObserver.MilliTime;

            Log.Info("delta=" + (endTime - startTime));
            Assert.IsTrue(endTime - startTime < 500);
            Assert.IsFalse(listener.IsInvoked);

            statement.Dispose();
        }
コード例 #15
0
        private SupportBean_S0 SendEventS0(int id, String p00)
        {
            SupportBean_S0 theEvent = new SupportBean_S0(id, p00);

            _epService.EPRuntime.SendEvent(theEvent);
            return(theEvent);
        }
コード例 #16
0
        private void RunAssertionSelectRStream(EPServiceProvider epServiceRetained)
        {
            var stmtText = "select rstream myvarchar from " +
                           typeof(SupportBean_S0).FullName + "#length(1000) as s0," +
                           " sql:MyDB ['select myvarchar from mytesttable where ${id} = mytesttable.mybigint'] as s1";

            var statement = epServiceRetained.EPAdministrator.CreateEPL(stmtText);
            var listener  = new SupportUpdateListener();

            statement.Events += listener.Update;

            // 1000 events should enter the window fast, no joins
            var startTime = DateTimeHelper.CurrentTimeMillis;

            for (var i = 0; i < 1000; i++)
            {
                var beanX = new SupportBean_S0(10);
                epServiceRetained.EPRuntime.SendEvent(beanX);
                Assert.IsFalse(listener.IsInvoked);
            }
            var endTime = DateTimeHelper.CurrentTimeMillis;
            var delta   = endTime - startTime;

            Assert.IsTrue(endTime - startTime < 1000, "delta=" + delta);

            // 1001st event should finally join and produce a result
            var bean = new SupportBean_S0(10);

            epServiceRetained.EPRuntime.SendEvent(bean);
            Assert.AreEqual("J", listener.AssertOneGetNewAndReset().Get("myvarchar"));

            statement.Dispose();
        }
コード例 #17
0
 private static void SendEventS0(
     RegressionEnvironment env,
     int id)
 {
     var bean = new SupportBean_S0(id);
     env.SendEventBean(bean);
 }
コード例 #18
0
        private SupportBean_S0 SendEventS0(EPServiceProvider epService, int id, string p00)
        {
            var theEvent = new SupportBean_S0(id, p00);

            epService.EPRuntime.SendEvent(theEvent);
            return(theEvent);
        }
コード例 #19
0
            public void Run(RegressionEnvironment env)
            {
                SetupStatement(env, "where S0.P01 = S1.P11 or S1.P11 is null");

                var eventS0 = new SupportBean_S0(0, "0", "[a]");
                SendEvent(eventS0, env);
                CompareEvent(env.Listener("s0").AssertOneGetNewAndReset(), eventS0, null);

                // Send events to test the join for multiple rows incl. null value
                var s1Bean1 = new SupportBean_S1(1000, "5", "X");
                var s1Bean2 = new SupportBean_S1(1001, "5", "Y");
                var s1Bean3 = new SupportBean_S1(1002, "5", "X");
                var s1Bean4 = new SupportBean_S1(1003, "5", null);
                var s0 = new SupportBean_S0(1, "5", "X");
                SendEvent(
                    env,
                    new object[] {s1Bean1, s1Bean2, s1Bean3, s1Bean4, s0});

                Assert.AreEqual(3, env.Listener("s0").LastNewData.Length);
                var received = new object[3];
                for (var i = 0; i < 3; i++) {
                    Assert.AreSame(s0, env.Listener("s0").LastNewData[i].Get("S0"));
                    received[i] = env.Listener("s0").LastNewData[i].Get("S1");
                }

                EPAssertionUtil.AssertEqualsAnyOrder(new object[] {s1Bean1, s1Bean3, s1Bean4}, received);

                env.UndeployAll();
            }
コード例 #20
0
ファイル: TestLeftOuterJoinWhere.cs プロジェクト: ikvm/nesper
        public void TestWhereJoinOrNull()
        {
            SetupStatement("where s0.p01 = s1.p11 or s1.p11 is null");

            // Send S0[0] p01=a
            _eventsS0[0].P01 = "[a]";
            SendEvent(_eventsS0[0]);
            CompareEvent(_updateListener.AssertOneGetNewAndReset(), _eventsS0[0], null);

            // Send events to test the join for multiple rows incl. null value
            SupportBean_S1 s1_1 = new SupportBean_S1(1000, "5", "X");
            SupportBean_S1 s1_2 = new SupportBean_S1(1001, "5", "Y");
            SupportBean_S1 s1_3 = new SupportBean_S1(1002, "5", "X");
            SupportBean_S1 s1_4 = new SupportBean_S1(1003, "5", null);
            SupportBean_S0 s0   = new SupportBean_S0(1, "5", "X");

            SendEvent(new Object[] { s1_1, s1_2, s1_3, s1_4, s0 });

            Assert.AreEqual(3, _updateListener.LastNewData.Length);
            Object[] received = new Object[3];
            for (int i = 0; i < 3; i++)
            {
                Assert.AreSame(s0, _updateListener.LastNewData[i].Get("s0"));
                received[i] = _updateListener.LastNewData[i].Get("s1");
            }
            EPAssertionUtil.AssertEqualsAnyOrder(new Object[] { s1_1, s1_3, s1_4 }, received);
        }
コード例 #21
0
        private void RunAssertionWhereJoinOrNull(EPServiceProvider epService)
        {
            EPStatement stmt           = SetupStatement(epService, "where s0.p01 = s1.p11 or s1.p11 is null");
            var         updateListener = new SupportUpdateListener();

            stmt.Events += updateListener.Update;

            var eventS0 = new SupportBean_S0(0, "0", "[a]");

            SendEvent(eventS0, epService);
            CompareEvent(updateListener.AssertOneGetNewAndReset(), eventS0, null);

            // Send events to test the join for multiple rows incl. null value
            var s1_1 = new SupportBean_S1(1000, "5", "X");
            var s1_2 = new SupportBean_S1(1001, "5", "Y");
            var s1_3 = new SupportBean_S1(1002, "5", "X");
            var s1_4 = new SupportBean_S1(1003, "5", null);
            var s0   = new SupportBean_S0(1, "5", "X");

            SendEvent(epService, new object[] { s1_1, s1_2, s1_3, s1_4, s0 });

            Assert.AreEqual(3, updateListener.LastNewData.Length);
            var received = new Object[3];

            for (int i = 0; i < 3; i++)
            {
                Assert.AreSame(s0, updateListener.LastNewData[i].Get("s0"));
                received[i] = updateListener.LastNewData[i].Get("s1");
            }
            EPAssertionUtil.AssertEqualsAnyOrder(new object[] { s1_1, s1_3, s1_4 }, received);

            stmt.Dispose();
        }
コード例 #22
0
        public void TestSelectPublicTypeAndUnderlying()
        {
            AtomicLong currentTime = new AtomicLong(0);

            _epService.EPRuntime.SendEvent(new CurrentTimeEvent(currentTime.Get()));
            _epService.EPAdministrator.CreateEPL("@Name('create') create table MyTable as (\n" +
                                                 "key string primary key,\n" +
                                                 "totalInt sum(int),\n" +
                                                 "p0 string,\n" +
                                                 "winsb window(*) @type(SupportBean),\n" +
                                                 "totalLong sum(long),\n" +
                                                 "p1 string,\n" +
                                                 "winsb0 window(*) @type(SupportBean_S0)\n" +
                                                 ")");
            object[][] expectedType = new object[][] {
                new object[] { "key", typeof(string) },
                new object[] { "totalInt", typeof(int?) },
                new object[] { "p0", typeof(string) },
                new object[] { "winsb", typeof(SupportBean[]) },
                new object[] { "totalLong", typeof(long?) },
                new object[] { "p1", typeof(string) },
                new object[] { "winsb0", typeof(SupportBean_S0[]) },
            };

            _epService.EPAdministrator.CreateEPL("into table MyTable " +
                                                 "select sum(IntPrimitive) as totalInt, sum(LongPrimitive) as totalLong," +
                                                 "window(*) as winsb from SupportBean.win:keepall() group by TheString");
            _epService.EPAdministrator.CreateEPL("into table MyTable " +
                                                 "select window(*) as winsb0 from SupportBean_S0.win:keepall() group by p00");
            _epService.EPAdministrator.CreateEPL("on SupportBean_S1 " +
                                                 "merge MyTable where p10 = key when matched then " +
                                                 "update set p0 = p11, p1 = p12");

            SupportBean e1_sb = MakeSupportBean("G1", 10, 100);

            _epService.EPRuntime.SendEvent(e1_sb); // update some aggs

            SupportBean_S0 e2_sb0 = new SupportBean_S0(5, "G1");

            _epService.EPRuntime.SendEvent(e2_sb0);                                // update more aggs

            _epService.EPRuntime.SendEvent(new SupportBean_S1(6, "G1", "a", "b")); // merge more values

            object[] rowValues = { "G1", 10, "a", new SupportBean[] { e1_sb }, 100L, "b", new SupportBean_S0[] { e2_sb0 } };
            RunAssertionSubqueryWindowAgg(rowValues);
            RunAssertionOnSelectWindowAgg(expectedType, rowValues);
            RunAssertionSubquerySelectStar(rowValues);
            RunAssertionSubquerySelectWEnumMethod(rowValues);
            RunAssertionIterateCreateTable(expectedType, rowValues, _epService.EPAdministrator.GetStatement("create"));
            RunAssertionJoinSelectStar(expectedType, rowValues);
            RunAssertionJoinSelectStreamName(expectedType, rowValues);
            RunAssertionJoinSelectStreamStarNamed(expectedType, rowValues);
            RunAssertionJoinSelectStreamStarUnnamed(expectedType, rowValues);
            RunAssertionInsertIntoBean(rowValues);
            RunAssertionSingleRowFunc(rowValues);
            RunAssertionOutputSnapshot(expectedType, rowValues, currentTime);
            RunAssertionFireAndForgetSelectStar(expectedType, rowValues);
            RunAssertionFireAndForgetInsertUpdateDelete(expectedType);
        }
コード例 #23
0
 private static void SendEvent(
     RegressionEnvironment env,
     int id,
     string p00)
 {
     var theEvent = new SupportBean_S0(id, p00);
     env.SendEventBean(theEvent);
 }
コード例 #24
0
 private static void CompareEvent(
     EventBean receivedEvent,
     SupportBean_S0 expectedS0,
     SupportBean_S1 expectedS1)
 {
     Assert.AreSame(expectedS0, receivedEvent.Get("S0"));
     Assert.AreSame(expectedS1, receivedEvent.Get("S1"));
 }
コード例 #25
0
 public static MyEvent Transpose(SupportBean_S0 bean)
 {
     return new MyEvent(
         bean.Id,
         bean.P00.Equals("true"),
         bean.P01.Equals("true"),
         bean.P02.Equals("true"));
 }
コード例 #26
0
ファイル: EPLJoinPatterns.cs プロジェクト: lanicon/nesper
 private static SupportBean_S0 SendEventS0(
     RegressionEnvironment env,
     int id,
     string p00)
 {
     var theEvent = new SupportBean_S0(id, p00);
     env.SendEventBean(theEvent);
     return theEvent;
 }
コード例 #27
0
        public void SetUp()
        {
            buffer = new PriorEventBufferUnbound(3);

            events = new EventBean[100];
            for (int i = 0; i < events.Length; i++)
            {
                SupportBean_S0 bean = new SupportBean_S0(i);
                events[i] = SupportEventBeanFactory.CreateObject(bean);
            }
        }
コード例 #28
0
        public void SetUp()
        {
            buffer = new PriorEventBufferSingle(3);

            events = new EventBean[100];
            for (var i = 0; i < events.Length; i++)
            {
                var bean = new SupportBean_S0(i);
                events[i] = SupportEventBeanFactory.CreateObject(supportEventTypeFactory, bean);
            }
        }
コード例 #29
0
        public void SetUp()
        {
            int[] indexes = new int[] { 1, 3 };
            buffer = new PriorEventBufferMulti(indexes);

            events = new EventBean[100];
            for (int i = 0; i < events.Length; i++)
            {
                SupportBean_S0 bean = new SupportBean_S0(i);
                events[i] = SupportEventBeanFactory.CreateObject(bean);
            }
        }
コード例 #30
0
        public void TestBeanJoin()
        {
            // test wildcard
            var stmtTextOne = "insert into SupportBeanObject select * from SupportBean_N.std:lastevent() as One, SupportBean_S0.std:lastevent() as Two";
            var stmtOne     = _epService.EPAdministrator.CreateEPL(stmtTextOne);

            stmtOne.Events += _listener.Update;

            var n1 = new SupportBean_N(1, 10, 100d, 1000d, true, true);

            _epService.EPRuntime.SendEvent(n1);
            var s01 = new SupportBean_S0(1);

            _epService.EPRuntime.SendEvent(s01);
            var theEvent = (SupportBeanObject)_listener.AssertOneGetNewAndReset().Underlying;

            Assert.AreSame(n1, theEvent.One);
            Assert.AreSame(s01, theEvent.Two);

            // test select stream names
            stmtOne.Dispose();
            stmtTextOne     = "insert into SupportBeanObject select One, Two from SupportBean_N.std:lastevent() as One, SupportBean_S0.std:lastevent() as Two";
            stmtOne         = _epService.EPAdministrator.CreateEPL(stmtTextOne);
            stmtOne.Events += _listener.Update;

            _epService.EPRuntime.SendEvent(n1);
            _epService.EPRuntime.SendEvent(s01);
            theEvent = (SupportBeanObject)_listener.AssertOneGetNewAndReset().Underlying;
            Assert.AreSame(n1, theEvent.One);
            Assert.AreSame(s01, theEvent.Two);
            stmtOne.Dispose();

            // test fully-qualified class name as target
            stmtTextOne     = "insert into " + typeof(SupportBeanObject).FullName + " select One, Two from SupportBean_N.std:lastevent() as One, SupportBean_S0.std:lastevent() as Two";
            stmtOne         = _epService.EPAdministrator.CreateEPL(stmtTextOne);
            stmtOne.Events += _listener.Update;

            _epService.EPRuntime.SendEvent(n1);
            _epService.EPRuntime.SendEvent(s01);
            theEvent = (SupportBeanObject)_listener.AssertOneGetNewAndReset().Underlying;
            Assert.AreSame(n1, theEvent.One);
            Assert.AreSame(s01, theEvent.Two);

            // test local class and auto-import
            stmtOne.Dispose();
            stmtTextOne     = "insert into `" + typeof(MyLocalTarget).FullName + "` select 1 as Value from SupportBean_N";
            stmtOne         = _epService.EPAdministrator.CreateEPL(stmtTextOne);
            stmtOne.Events += _listener.Update;
            _epService.EPRuntime.SendEvent(n1);
            var eventLocal = (MyLocalTarget)_listener.AssertOneGetNewAndReset().Underlying;

            Assert.AreEqual(1, eventLocal.Value);
        }