Exemple #1
0
        public EventBean[] SnapshotUpdate(FilterSpecCompiled filter, ExprNode optionalWhereClause, EventBeanUpdateHelper updateHelper, Attribute[] annotations)
        {
            using (_agentInstanceContext.EpStatementAgentInstanceHandle.StatementAgentInstanceLock.AcquireReadLock())
            {
                try
                {
                    var events = SnapshotNoLockWithFilter(filter, annotations, optionalWhereClause, _agentInstanceContext);
                    if (events.IsEmpty())
                    {
                        return(CollectionUtil.EVENTBEANARRAY_EMPTY);
                    }

                    var eventsPerStream = new EventBean[3];
                    var updated         = new EventBean[events.Count];
                    var count           = 0;
                    foreach (var @event in events)
                    {
                        updated[count++] = updateHelper.UpdateWCopy(@event, eventsPerStream, _agentInstanceContext);
                    }

                    var deleted = events.ToArray();
                    _rootViewInstance.Update(updated, deleted);
                    return(updated);
                }
                finally
                {
                    ReleaseTableLocks(_agentInstanceContext);
                }
            }
        }
Exemple #2
0
 public void AddTableUpdateStrategyReceiver(TableMetadata tableMetadata, string statementName, TableUpdateStrategyReceiver receiver, EventBeanUpdateHelper updateHelper, bool isOnMerge)
 {
     tableMetadata.AddTableUpdateStrategyReceiver(statementName, receiver, updateHelper, isOnMerge);
 }
Exemple #3
0
 public TableUpdateStrategy GetTableUpdateStrategy(TableMetadata tableMetadata, EventBeanUpdateHelper updateHelper, bool isOnMerge)
 {
     return(TableUpdateStrategyFactory.ValidateGetTableUpdateStrategy(tableMetadata, updateHelper, isOnMerge));
 }
 public TableUpdateStrategyIndexNonUnique(EventBeanUpdateHelper updateHelper, ISet <string> affectedIndexNames)
 {
     _updateHelper       = updateHelper;
     _affectedIndexNames = affectedIndexNames;
 }
Exemple #5
0
 public NamedWindowOnMergeActionUpd(ExprEvaluator optionalFilter, EventBeanUpdateHelper updateHelper)
     : base(optionalFilter)
 {
     _updateHelper = updateHelper;
 }
 public EPPreparedExecuteIUDSingleStreamExecUpdate(FilterSpecCompiled filter, ExprNode optionalWhereClause, Attribute[] annotations, EventBeanUpdateHelper updateHelper, TableUpdateStrategy tableUpdateStrategy, ExprTableAccessNode[] optionalTableNodes, EPServicesContext services)
 {
     Filter = filter;
     OptionalWhereClause = optionalWhereClause;
     Annotations         = annotations;
     UpdateHelper        = updateHelper;
     TableUpdateStrategy = tableUpdateStrategy;
     OptionalTableNodes  = optionalTableNodes;
     Services            = services;
 }
 public NamedWindowOnUpdateViewFactory(EventType namedWindowEventType, StatementResultService statementResultService, EventBeanUpdateHelper updateHelper)
     : base(namedWindowEventType)
 {
     _statementResultService = statementResultService;
     _updateHelper           = updateHelper;
 }
Exemple #8
0
        public void AddTableUpdateStrategyReceiver(string statementName, TableUpdateStrategyReceiver receiver, EventBeanUpdateHelper updateHelper, bool onMerge)
        {
            var receivers = _stmtNameToUpdateStrategyReceivers.Get(statementName);

            if (receivers == null)
            {
                receivers = new List <TableUpdateStrategyReceiverDesc>(2);
                _stmtNameToUpdateStrategyReceivers.Put(statementName, receivers);
            }
            receivers.Add(new TableUpdateStrategyReceiverDesc(receiver, updateHelper, onMerge));
        }