コード例 #1
0
 /// <summary>
 /// Begins an async get operation for documents
 /// </summary>
 /// <param name="start">Paging start</param>
 /// <param name="pageSize">Size of the page.</param>
 /// <param name="metadataOnly">Load just the document metadata</param>
 /// <remarks>
 /// This is primarily useful for administration of a database
 /// </remarks>
 public JsonDocument[] GetDocuments(int start, int pageSize, bool metadataOnly = false)
 {
     // As this is embedded we don't care for the metadata only value
     CurrentOperationContext.Headers.Value = OperationsHeaders;
     return(database
            .GetDocuments(start, pageSize, null)
            .Cast <RavenJObject>()
            .ToJsonDocuments()
            .ToArray());
 }
コード例 #2
0
        protected override Task <IAsyncEnumerator <RavenJObject> > GetDocuments(Etag lastEtag, int limit)
        {
            const int dummy = 0;

            var enumerator = _database.GetDocuments(dummy, Math.Min(SmugglerOptions.BatchSize, limit), lastEtag, CancellationToken.None)
                             .ToList()
                             .Cast <RavenJObject>()
                             .GetEnumerator();

            return(new CompletedTask <IAsyncEnumerator <RavenJObject> >(new AsyncEnumeratorBridge <RavenJObject>(enumerator)));
        }
コード例 #3
0
        protected override Task <IAsyncEnumerator <RavenJObject> > GetDocuments(Etag lastEtag)
        {
            const int dummy = 0;

            var enumerator = _database.GetDocuments(dummy, SmugglerOptions.BatchSize, lastEtag)
                             .ToList()
                             .Cast <RavenJObject>()
                             .GetEnumerator();

            return(new CompletedTask <IAsyncEnumerator <RavenJObject> >(new AsyncEnumeratorBridge <RavenJObject>(enumerator)));
        }
コード例 #4
0
        public void WhenPutAnIdWithASpace_IdWillBeAGuid()
        {
            db.Put(" ", null, new RavenJObject {
                { "a", "b" }
            }, new RavenJObject(), null);

            var doc = db.GetDocuments(0, 10, null)
                      .OfType <RavenJObject>()
                      .Single();
            var id = doc["@metadata"].Value <string>("@id");

            Assert.False(string.IsNullOrWhiteSpace(id));
            Assert.DoesNotThrow(() => new Guid(id));
        }
コード例 #5
0
        private static bool EncryptedDocumentsExist(DocumentDatabase database)
        {
            const int pageSize = 10;
            int       index    = 0;

            while (true)
            {
                var array = database.GetDocuments(index, index + pageSize, null, CancellationToken.None);
                if (array.Length == 0)
                {
                    // We've gone over all the documents in the database, and none of them are encrypted.
                    return(false);
                }

                if (array.All(x => EncryptionSettings.DontEncrypt(x.Value <RavenJObject>("@metadata").Value <string>("@id"))))
                {
                    index += array.Length;
                    continue;
                }
                // Found a document which is encrypted
                return(true);
            }
        }
コード例 #6
0
ファイル: DataDumper.cs プロジェクト: yogiramchandani/ravendb
        protected override RavenJArray GetDocuments(Guid lastEtag)
        {
            const int dummy = 0;

            return(_database.GetDocuments(dummy, 128, lastEtag));
        }
コード例 #7
0
ファイル: DataDumper.cs プロジェクト: webmonger/ravendb
        protected override RavenJArray GetDocuments(Guid lastEtag)
        {
            const int dummy = 0;

            return(_database.GetDocuments(dummy, smugglerOptions.BatchSize, lastEtag));
        }