/// <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()); }
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))); }
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))); }
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)); }
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); } }
protected override RavenJArray GetDocuments(Guid lastEtag) { const int dummy = 0; return(_database.GetDocuments(dummy, 128, lastEtag)); }
protected override RavenJArray GetDocuments(Guid lastEtag) { const int dummy = 0; return(_database.GetDocuments(dummy, smugglerOptions.BatchSize, lastEtag)); }