Example #1
0
        public Fetcher(IDocumentStore store, DaemonSettings settings, AsyncOptions options, IDaemonLogger logger, IDaemonErrorHandler errorHandler, IEnumerable <Type> eventTypes)
        {
            _settings     = settings;
            _options      = options;
            _logger       = logger;
            _errorHandler = errorHandler;
            State         = FetcherState.Waiting;

            // TODO -- this will have to change
            _tenant = store.Tenancy.Default;

            _streamIdentity = store.Events.StreamIdentity;

            _selector = store.Events.StreamIdentity == StreamIdentity.AsGuid
                ? (IEventSelector) new EventSelector(store.Events, store.Advanced.Serializer)
                : new StringIdentifiedEventSelector(store.Events, store.Advanced.Serializer);

            _map = new NulloIdentityMap(store.Advanced.Serializer);

            EventTypeNames = eventTypes.Select(x => store.Events.EventMappingFor(x).Alias).ToArray();

            _sql =
                $@"
select seq_id from {_selector.Events.DatabaseSchemaName}.mt_events where seq_id > :last and seq_id <= :limit and age(transaction_timestamp(), {_selector.Events.DatabaseSchemaName}.mt_events.timestamp) >= :buffer order by seq_id;
{_selector.ToSelectClause(null)} where seq_id > :last and seq_id <= :limit and type = ANY(:types) and age(transaction_timestamp(), {_selector.Events.DatabaseSchemaName}.mt_events.timestamp) >= :buffer order by seq_id;
select min(seq_id) from {_selector.Events.DatabaseSchemaName}.mt_events where seq_id > :limit and type = ANY(:types) and age(transaction_timestamp(), {_selector.Events.DatabaseSchemaName}.mt_events.timestamp) >= :buffer;
select max(seq_id) from {_selector.Events.DatabaseSchemaName}.mt_events where seq_id >= :limit and age(transaction_timestamp(), {_selector.Events.DatabaseSchemaName}.mt_events.timestamp) >= :buffer
".Replace(" as d", "");
        }
        public void get_with_json()
        {
            var serializer = new TestsSerializer();
            var target = new Target();
            var json = serializer.ToJson(target);

            var map = new NulloIdentityMap(serializer);

            var target2 = map.Get<Target>(target.Id, json, null);
            target2.Id.ShouldBe(target.Id);
        }
        public void get_with_json()
        {
            var serializer = new JilSerializer();
            var target     = new Target();
            var json       = serializer.ToJson(target);

            var map = new NulloIdentityMap(serializer);

            var target2 = map.Get <Target>(target.Id, json);

            target2.Id.ShouldBe(target.Id);
        }
        public void lazy_get_hit()
        {
            var serializer = new JilSerializer();
            var target     = new Target();
            var json       = serializer.ToJson(target);

            var map = new NulloIdentityMap(serializer);

            var target2 = map.Get <Target>(target.Id, () => new FetchResult <Target>(target, json));

            target2.Id.ShouldBe(target.Id);
        }
        public void lazy_get_hit()
        {
            var serializer = new TestsSerializer();
            var target = new Target();
            var json = serializer.ToJson(target);

            var map = new NulloIdentityMap(serializer);

            var target2 = map.Get<Target>(target.Id, () => new FetchResult<Target>(target, json, null));
            target2.Id.ShouldBe(target.Id);
           
        }
Example #6
0
        public void lazy_get_hit()
        {
            var serializer = new JilSerializer();
            var target = new Target();
            var json = serializer.ToJson(target);

            var map = new NulloIdentityMap(serializer);

            var target2 = map.Get<Target>(target.Id, () => json);
            target2.Id.ShouldBe(target.Id);
           
        }
        public void get_with_concrete_type()
        {
            var serializer = new JsonNetSerializer();
            var camaro     = new Camaro();

            var json = serializer.ToJson(camaro);

            var map = new NulloIdentityMap(serializer);

            map.Get <Car>(camaro.Id, typeof(Camaro), json)
            .ShouldBeOfType <Camaro>()
            .Id.ShouldBe(camaro.Id);
        }
Example #8
0
        public StagedEventData(StagedEventOptions options, IConnectionFactory factory, EventGraph events,
                               ISerializer serializer)
        {
            _options = options;
            _events  = events;
            _conn    = factory.Create();

            _conn.Open();

            _selector = new EventSelector(events, serializer);
            _map      = new NulloIdentityMap(serializer);

            _sproc = new FunctionName(events.DatabaseSchemaName, "mt_mark_event_progression");
        }
Example #9
0
        public void can_resolve_and_callback_from_the_reader()
        {
            var reader = Substitute.For <DbDataReader>();
            var issue  = new Issue();
            var user   = new User();

            var map = new NulloIdentityMap(null);

            theResolver.Resolve(3, reader, map).Returns(user);
            inner.Resolve(reader, map).Returns(issue);

            theSelector.Resolve(reader, map).ShouldBe(issue);

            theCallback.Received().Invoke(user);
        }
Example #10
0
        public Fetcher(IDocumentStore store, DaemonSettings settings, AsyncOptions options, IDaemonLogger logger, IDaemonErrorHandler errorHandler, IEnumerable <Type> eventTypes)
        {
            _settings     = settings;
            _options      = options;
            _logger       = logger;
            _errorHandler = errorHandler;
            State         = FetcherState.Waiting;

            _connectionFactory = store.Advanced.Options.ConnectionFactory();

            _selector = new EventSelector(store.Schema.Events, store.Advanced.Serializer);
            _map      = new NulloIdentityMap(store.Advanced.Serializer);

            EventTypeNames = eventTypes.Select(x => store.Schema.Events.EventMappingFor(x).Alias).ToArray();
        }
Example #11
0
        public Fetcher(IDocumentStore store, DaemonSettings settings, AsyncOptions options, IDaemonLogger logger, IDaemonErrorHandler errorHandler, IEnumerable<Type> eventTypes)
        {
            _settings = settings;
            _options = options;
            _logger = logger;
            _errorHandler = errorHandler;
            State = FetcherState.Waiting;

            _connectionFactory = store.Advanced.Options.ConnectionFactory();

            _selector = new EventSelector(store.Schema.Events, store.Advanced.Serializer);
            _map = new NulloIdentityMap(store.Advanced.Serializer);

            EventTypeNames = eventTypes.Select(x => store.Schema.Events.EventMappingFor(x).Alias).ToArray();
        }
        public void get_with_concrete_type()
        {
            var serializer = new JsonNetSerializer();
            var camaro = new Camaro();

            var json = serializer.ToJson(camaro);

            var map = new NulloIdentityMap(serializer);

            map.Get<Car>(camaro.Id, typeof (Camaro), json, null)
                .ShouldBeOfType<Camaro>()
                .Id.ShouldBe(camaro.Id);

            
        }
        public void can_resolve_and_callback_from_the_reader()
        {
            var reader = Substitute.For<DbDataReader>();
            var issue = new Issue();
            var user = new User();

            var map = new NulloIdentityMap(null);

            theResolver.Resolve(3, reader, map).Returns(user);
            inner.Resolve(reader, map).Returns(issue);

            theSelector.Resolve(reader, map).ShouldBe(issue);

            theCallback.Received().Invoke(user);
        }
        public void lazy_get_miss()
        {
            var map = new NulloIdentityMap(new JilSerializer());

            map.Get <Target>(Guid.NewGuid(), () => null).ShouldBeNull();
        }
        public void lazy_get_miss()
        {
            var map = new NulloIdentityMap(new TestsSerializer());

            map.Get<Target>(Guid.NewGuid(), () => null).ShouldBeNull();
        }