public override async Task ExportDeletions(SmugglerJsonTextWriter jsonWriter, OperationState result, LastEtagsInfo maxEtagsToFetch)
        {
            jsonWriter.WritePropertyName("DocsDeletions");
            jsonWriter.WriteStartArray();
            result.LastDocDeleteEtag = await Operations.ExportDocumentsDeletion(jsonWriter, result.LastDocDeleteEtag, maxEtagsToFetch.LastDocDeleteEtag.IncrementBy(1)).ConfigureAwait(false);

            jsonWriter.WriteEndArray();

            jsonWriter.WritePropertyName("AttachmentsDeletions");
            jsonWriter.WriteStartArray();
            result.LastAttachmentsDeleteEtag = await Operations.ExportAttachmentsDeletion(jsonWriter, result.LastAttachmentsDeleteEtag, maxEtagsToFetch.LastAttachmentsDeleteEtag.IncrementBy(1)).ConfigureAwait(false);

            jsonWriter.WriteEndArray();
        }
Exemple #2
0
        public Task <Etag> ExportDocumentsDeletion(SmugglerJsonTextWriter jsonWriter, Etag startDocsEtag, Etag maxEtag)
        {
            var lastEtag = startDocsEtag;

            database.TransactionalStorage.Batch(accessor =>
            {
                foreach (var listItem in accessor.Lists.Read(Constants.RavenPeriodicExportsDocsTombstones, startDocsEtag, maxEtag, int.MaxValue))
                {
                    var ravenJObj = new RavenJObject
                    {
                        { "Key", listItem.Key }
                    };
                    jsonWriter.Write(ravenJObj);

                    lastEtag = listItem.Etag;
                }
            });
            return(new CompletedTask <Etag>(lastEtag));
        }
 public Task <Etag> ExportDocumentsDeletion(SmugglerJsonTextWriter jsonWriter, Etag startDocsEtag, Etag maxEtag)
 {
     throw new NotSupportedException("Exporting deletions is not supported for Command Line Smuggler");
 }
Exemple #4
0
 public override Task ExportDeletions(SmugglerJsonTextWriter jsonWriter, OperationState result, LastEtagsInfo maxEtagsToFetch)
 {
     throw new NotSupportedException("Exporting deletions is not supported for Command Line Smuggler");
 }
Exemple #5
0
        protected override Task <ExportOperationStatus> ExportAttachments(RavenConnectionStringOptions src, SmugglerJsonTextWriter jsonWriter, Etag lastEtag, Etag maxEtag, int maxNumberOfAttachmentsToExport)
        {
            if (maxEtag != null)
            {
                throw new ArgumentException("We don't support maxEtag in SmugglerDatabaseApi", maxEtag);
            }

            return(base.ExportAttachments(src, jsonWriter, lastEtag, null, maxNumberOfAttachmentsToExport));
        }