public IEnumerable <ICommit> GetDeletedCommits()
 {
     return(TryMongo(() => PersistedCommits
                     .Find(Query.EQ(MongoCommitFields.BucketId, MongoSystemBuckets.RecycleBin))
                     .SetSortOrder(MongoCommitFields.CheckpointNumber)
                     .Select(mc => mc.ToCommit(_serializer))));
 }
Exemplo n.º 2
0
        public virtual IEnumerable <ICommit> GetFromTo(string bucketId, DateTime start, DateTime end)
        {
            if (Logger.IsDebugEnabled)
            {
                Logger.Debug(Messages.GettingAllCommitsFromTo, start, end, bucketId);
            }

            return(TryMongo(() =>
            {
                var filters = new List <FilterDefinition <BsonDocument> >()
                {
                    Builders <BsonDocument> .Filter.Eq(MongoCommitFields.BucketId, bucketId)
                };
                if (start > DateTime.MinValue)
                {
                    filters.Add(
                        Builders <BsonDocument> .Filter.Gte(MongoCommitFields.CommitStamp, start)
                        );
                }
                if (end < DateTime.MaxValue)
                {
                    filters.Add(
                        Builders <BsonDocument> .Filter.Lt(MongoCommitFields.CommitStamp, end)
                        );
                }

                var query = Builders <BsonDocument> .Filter.And(filters);

                return PersistedCommits
                .Find(query)
                .Sort(SortByAscendingCheckpointNumber)
                .ToEnumerable()
                .Select(x => x.ToCommit(_serializer));
            }));
        }
Exemplo n.º 3
0
        public IEnumerable <ICommit> GetFrom(Int64 checkpointToken)
        {
            if (Logger.IsDebugEnabled)
            {
                Logger.Debug(Messages.GettingAllCommitsFromCheckpoint, checkpointToken);
            }

            return(TryMongo(() =>
            {
                var query = Builders <BsonDocument> .Filter.Ne(MongoCommitFields.BucketId, MongoSystemBuckets.RecycleBin);
                if (checkpointToken > 0)
                {
                    query = Builders <BsonDocument> .Filter.And(
                        query,
                        Builders <BsonDocument> .Filter.Gt(MongoCommitFields.CheckpointNumber, checkpointToken)
                        );
                }

                return PersistedCommits
                .Find(query)
                .Sort(SortByAscendingCheckpointNumber)
                .ToEnumerable()
                .Select(x => x.ToCommit(_serializer));
            }));
        }
Exemplo n.º 4
0
        public IEnumerable <ICommit> GetFromTo(long from, long to)
        {
            if (Logger.IsDebugEnabled)
            {
                Logger.Debug(Messages.GettingCommitsFromToCheckpoint, from, to);
            }

            return(TryMongo(() =>
            {
                var filters = new List <FilterDefinition <BsonDocument> >()
                {
                    Builders <BsonDocument> .Filter.Ne(MongoCommitFields.BucketId, MongoSystemBuckets.RecycleBin)
                };
                if (from > 0)
                {
                    filters.Add(
                        Builders <BsonDocument> .Filter.Gt(MongoCommitFields.CheckpointNumber, from)
                        );
                }
                if (to < long.MaxValue)
                {
                    filters.Add(
                        Builders <BsonDocument> .Filter.Lte(MongoCommitFields.CheckpointNumber, to)
                        );
                }

                var query = Builders <BsonDocument> .Filter.And(filters);

                return PersistedCommits
                .Find(query)
                .Sort(SortByAscendingCheckpointNumber)
                .ToEnumerable()
                .Select(x => x.ToCommit(_serializer));
            }));
        }
        /// <inheritdoc/>
        public virtual IEnumerable <ICommit> GetFrom(string bucketId, string streamId, int minRevision, int maxRevision)
        {
            Logger.LogDebug(Messages.GettingAllCommitsBetween, streamId, bucketId, minRevision, maxRevision);

            return(TryMongo(() =>
            {
                var filters = new List <FilterDefinition <BsonDocument> >()
                {
                    Builders <BsonDocument> .Filter.Eq(MongoCommitFields.BucketId, bucketId),
                    Builders <BsonDocument> .Filter.Eq(MongoCommitFields.StreamId, streamId)
                };
                if (minRevision > 0)
                {
                    filters.Add(
                        Builders <BsonDocument> .Filter.Gte(MongoCommitFields.StreamRevisionTo, minRevision)
                        );
                }
                if (maxRevision < int.MaxValue)
                {
                    filters.Add(
                        Builders <BsonDocument> .Filter.Lte(MongoCommitFields.StreamRevisionFrom, maxRevision)
                        );
                }

                var query = Builders <BsonDocument> .Filter.And(filters);

                return PersistedCommits
                .Find(query)
                // .Sort(Builders<BsonDocument>.Sort.Ascending(MongoCommitFields.StreamRevisionFrom))
                .Sort(SortByAscendingCheckpointNumber)
                .ToEnumerable()
                .Select(mc => mc.ToCommit(_serializer));
            }));
        }
Exemplo n.º 6
0
        public virtual IEnumerable <ICommit> GetFrom(string bucketId, DateTime start)
        {
            if (Logger.IsDebugEnabled)
            {
                Logger.Debug(Messages.GettingAllCommitsFrom, start, bucketId);
            }

            return(TryMongo(() =>
            {
                var query = Builders <BsonDocument> .Filter.Eq(MongoCommitFields.BucketId, bucketId);
                if (start != DateTime.MinValue)
                {
                    query = Builders <BsonDocument> .Filter.And(
                        query,
                        Builders <BsonDocument> .Filter.Gte(MongoCommitFields.CommitStamp, start)
                        );
                }

                return PersistedCommits
                .Find(query)
                .Sort(SortByAscendingCheckpointNumber)
                .ToEnumerable()
                .Select(x => x.ToCommit(_serializer));
            }));
        }
Exemplo n.º 7
0
 public IEnumerable <ICommit> GetDeletedCommits()
 {
     return(TryMongo(() => PersistedCommits
                     .Find(Builders <BsonDocument> .Filter.Eq(MongoCommitFields.BucketId, MongoSystemBuckets.RecycleBin))
                     .Sort(SortByAscendingCheckpointNumber)
                     .ToEnumerable()
                     .Select(mc => mc.ToCommit(_serializer))));
 }
        public virtual IEnumerable <ICommit> GetUndispatchedCommits()
        {
            Logger.Debug(Messages.GettingUndispatchedCommits);

            return(TryMongo(() => PersistedCommits
                            .Find(Query.EQ("Dispatched", false))
                            .SetSortOrder(MongoCommitFields.CheckpointNumber)
                            .Select(mc => mc.ToCommit(_serializer))));
        }
Exemplo n.º 9
0
        public virtual IEnumerable <Commit> GetFromTo(string bucketId, DateTime start, DateTime end)
        {
            Logger.Debug(Messages.GettingAllCommitsFromTo, start, end);

            return(TryMongo(() => PersistedCommits
                            .Find(Query.And(Query.GTE(MongoFields.CommitStamp, start), Query.LT(MongoFields.CommitStamp, end)))
                            .SetSortOrder(MongoFields.Id)
                            .Select(x => x.ToCommit(_serializer))));
        }
Exemplo n.º 10
0
        public virtual IEnumerable <Commit> GetFrom(DateTime start)
        {
            Logger.Debug(Messages.GettingAllCommitsFrom, start);

            return
                (TryMongo(
                     () =>
                     PersistedCommits.Find(Query.GTE("CommitStamp", start)).SetSortOrder("_id").Select(x => x.ToCommit(_serializer))));
        }
Exemplo n.º 11
0
        public virtual IEnumerable <ICommit> GetFrom(string bucketId, DateTime start)
        {
            Logger.Debug(Messages.GettingAllCommitsFrom, start, bucketId);

            return(TryMongo(() => PersistedCommits
                            .Find(Query.And(Query.EQ("_id.BucketId", bucketId), Query.GTE(MongoFields.CommitStamp, start)))
                            .SetSortOrder(MongoFields.CheckpointNumber)
                            .Select(x => x.ToCommit(_serializer))));
        }
Exemplo n.º 12
0
        public IEnumerable <ICommit> GetFrom(string checkpointToken)
        {
            var intCheckpoint = IntCheckpoint.Parse(checkpointToken);

            Logger.Debug(Messages.GettingAllCommitsFromCheckpoint, intCheckpoint.Value);
            return(TryMongo(() => PersistedCommits
                            .Find(Query.GTE(MongoFields.CheckpointNumber, intCheckpoint.IntValue)))
                   .SetSortOrder(MongoFields.CheckpointNumber)
                   .Select(x => x.ToCommit(_serializer)));
        }
Exemplo n.º 13
0
        public virtual IEnumerable <Commit> GetFrom(Guid streamId, int minRevision, int maxRevision)
        {
            Logger.Debug(Messages.GettingAllCommitsBetween, streamId, minRevision, maxRevision);

            return(TryMongo(() =>
            {
                IMongoQuery query = Query.And(Query.EQ("_id.StreamId", streamId),
                                              Query.GTE("Events.StreamRevision", minRevision),
                                              Query.LTE("Events.StreamRevision", maxRevision));

                return PersistedCommits.Find(query).SetSortOrder("Events.StreamRevision").Select(mc => mc.ToCommit(_serializer));
            }));
        }
        public IEnumerable <ICommit> GetFrom(string checkpointToken)
        {
            var intCheckpoint = LongCheckpoint.Parse(checkpointToken);

            Logger.Debug(Messages.GettingAllCommitsFromCheckpoint, intCheckpoint.Value);

            return(TryMongo(() => PersistedCommits
                            .Find(
                                Query.And(
                                    Query.NE(MongoCommitFields.BucketId, MongoSystemBuckets.RecycleBin),
                                    Query.GT(MongoCommitFields.CheckpointNumber, intCheckpoint.LongValue)
                                    )
                                )
                            .SetSortOrder(MongoCommitFields.CheckpointNumber)
                            .Select(x => x.ToCommit(_serializer))
                            ));
        }
        public virtual IEnumerable <ICommit> GetFrom(string bucketId, string streamId, int minRevision, int maxRevision)
        {
            Logger.Debug(Messages.GettingAllCommitsBetween, streamId, bucketId, minRevision, maxRevision);

            return(TryMongo(() =>
            {
                IMongoQuery query = Query.And(
                    Query.EQ(MongoCommitFields.BucketId, bucketId),
                    Query.EQ(MongoCommitFields.StreamId, streamId),
                    Query.GTE(MongoCommitFields.StreamRevisionTo, minRevision),
                    Query.LTE(MongoCommitFields.StreamRevisionFrom, maxRevision));

                return PersistedCommits
                .Find(query)
                .SetSortOrder(MongoCommitFields.StreamRevisionFrom)
                .Select(mc => mc.ToCommit(_serializer));
            }));
        }
        /// <inheritdoc/>
        public virtual IEnumerable <ICommit> GetFrom(string bucketId, Int64 checkpointToken)
        {
            Logger.LogDebug(Messages.GettingAllCommitsFromBucketAndCheckpoint, bucketId, checkpointToken);

            return(TryMongo(() =>
            {
                var query = Builders <BsonDocument> .Filter.Eq(MongoCommitFields.BucketId, bucketId);
                if (checkpointToken > 0)
                {
                    query = Builders <BsonDocument> .Filter.And(
                        query,
                        Builders <BsonDocument> .Filter.Gt(MongoCommitFields.CheckpointNumber, checkpointToken)
                        );
                }

                return PersistedCommits
                .Find(query)
                .Sort(SortByAscendingCheckpointNumber)
                .ToEnumerable()
                .Select(x => x.ToCommit(_serializer));
            }));
        }