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); }
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); }
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"); }
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 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 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(); }