internal ExprNodeAdapterMSStmtLock( FilterSpecParamExprNode factory, ExprEvaluatorContext evaluatorContext, EventBean[] prototype, VariableManagementService variableService) : base(factory, evaluatorContext, prototype) { _variableService = variableService; }
protected ExprNodeAdapterBase GetLockableMultiStream( FilterSpecParamExprNode factory, ExprEvaluatorContext exprEvaluatorContext, VariableManagementService variableServiceToUse, ImportServiceRuntime importService, EventBean[] events, Attribute[] annotations, int agentInstanceId) { return new ExprNodeAdapterMSStmtLock(factory, exprEvaluatorContext, events, variableServiceToUse); }
public ExprNodeAdapterWTableAccess( FilterSpecParamExprNode factory, ExprEvaluatorContext evaluatorContext, ExprNodeAdapterBase evalBase, TableExprEvaluatorContext tableExprEvaluatorContext) : base(factory, evaluatorContext) { _evalBase = evalBase; _tableExprEvaluatorContext = tableExprEvaluatorContext; }
public ExprNodeAdapterMSPlain( FilterSpecParamExprNode factory, ExprEvaluatorContext evaluatorContext, EventBean[] prototype, VariableManagementService variableService) : base(factory, evaluatorContext, prototype) { _variableService = variableService; _arrayPerThread = new SlimThreadLocal<EventBean[]>( () => { var eventsPerStream = new EventBean[prototypeArray.Length]; Array.Copy(prototypeArray, 0, eventsPerStream, 0, prototypeArray.Length); return eventsPerStream; }); }
public ExprNodeAdapterBase Make( FilterSpecParamExprNode node, EventBean[] events, ExprEvaluatorContext exprEvaluatorContext, int agentInstanceId, StatementContextFilterEvalEnv filterEvalEnv) { // handle table evaluator context if (node.IsTableAccess) { exprEvaluatorContext = new ExprEvaluatorContextWTableAccess( exprEvaluatorContext, filterEvalEnv.TableExprEvaluatorContext); } ExprNodeAdapterBase adapter; if (events == null) { // if a subquery is present in a filter stream acquire the agent instance lock if (node.IsFilterStreamSubquery) { adapter = GetLockableSingle( node, exprEvaluatorContext, filterEvalEnv.VariableManagementService, filterEvalEnv.ImportServiceRuntime, filterEvalEnv.Annotations, agentInstanceId); } else if (!node.IsVariable) { // no-variable no-prior event evaluation adapter = new ExprNodeAdapterSSPlain(node, exprEvaluatorContext); } else { // with-variable no-prior event evaluation adapter = new ExprNodeAdapterSSVariables( node, exprEvaluatorContext, filterEvalEnv.VariableManagementService); } } else { // pattern cases var variableServiceToUse = node.IsVariable ? filterEvalEnv.VariableManagementService : null; if (node.IsFilterStreamSubquery) { adapter = GetLockableMultiStream( node, exprEvaluatorContext, variableServiceToUse, filterEvalEnv.ImportServiceRuntime, events, filterEvalEnv.Annotations, agentInstanceId); } else { if (node.IsUseLargeThreadingProfile) { adapter = new ExprNodeAdapterMSNoTL(node, exprEvaluatorContext, events, variableServiceToUse); } else { adapter = new ExprNodeAdapterMSPlain(node, exprEvaluatorContext, events, variableServiceToUse); } } } if (!node.IsTableAccess) { return adapter; } // handle table return new ExprNodeAdapterWTableAccess( node, exprEvaluatorContext, adapter, filterEvalEnv.TableExprEvaluatorContext); }
public void RegisterBoolExpr(FilterSpecParamExprNode node) { ProcRegisterBoolExpr?.Invoke(node); }
internal ExprNodeAdapterSSPlain( FilterSpecParamExprNode factory, ExprEvaluatorContext evaluatorContext) : base(factory, evaluatorContext) { }
public void RegisterBoolExpr( int statementId, FilterSpecParamExprNode node) { }