private void RunAssertionExecCtx(EPServiceProvider epService, bool soda) { string epl = "select " + "current_evaluation_context() as c0, " + "current_evaluation_context(), " + "current_evaluation_context().get_EngineURI() as c2 from SupportBean"; EPStatement stmt = SupportModelHelper.CreateByCompileOrParse(epService, soda, epl, "my_user_object"); var listener = new SupportUpdateListener(); stmt.Events += listener.Update; Assert.AreEqual(typeof(EPLExpressionEvaluationContext), stmt.EventType.GetPropertyType("current_evaluation_context()")); epService.EPRuntime.SendEvent(new SupportBean()); EventBean @event = listener.AssertOneGetNewAndReset(); EPLExpressionEvaluationContext ctx = (EPLExpressionEvaluationContext)@event.Get("c0"); Assert.AreEqual(epService.URI, ctx.EngineURI); Assert.AreEqual(stmt.Name, ctx.StatementName); Assert.AreEqual(-1, ctx.ContextPartitionId); Assert.AreEqual("my_user_object", ctx.StatementUserObject); Assert.AreEqual(epService.URI, @event.Get("c2")); epService.EPAdministrator.DestroyAllStatements(); }
public object Evaluate(EvaluateParams evaluateParams) { var exprEvaluatorContext = evaluateParams.ExprEvaluatorContext; var ctx = new EPLExpressionEvaluationContext(exprEvaluatorContext.StatementName, exprEvaluatorContext.AgentInstanceId, exprEvaluatorContext.EngineURI, exprEvaluatorContext.StatementUserObject); if (InstrumentationHelper.ENABLED) { InstrumentationHelper.Get().QaExprConst(ctx); } return(ctx); }