public async Task DeleteMembershipTableEntries(string deploymentId) { QueryRequest deleteQuery = new QueryRequest("delete from membership where deploymentId = \"" + deploymentId + "\""); deleteQuery.ScanConsistency(ScanConsistency.RequestPlus); deleteQuery.Metrics(false); var result = await bucket.QueryAsync <MembershipEntry>(deleteQuery).ConfigureAwait(false); }
public async Task <IList <Uri> > GetGateWays() { BucketContext b = new BucketContext(ClusterHelper.GetBucket("membership")); var getGateWaysQuery = new QueryRequest("select membership.* from membership"); getGateWaysQuery.ScanConsistency(ScanConsistency.RequestPlus); getGateWaysQuery.Metrics(false); IQueryResult <CouchBaseSiloRegistration> result = await bucket.QueryAsync <CouchBaseSiloRegistration>(getGateWaysQuery); List <System.Uri> r = result.Rows.Where(x => x.Status == SiloStatus.Active && x.ProxyPort != 0).Select(x => CouchbaseSiloRegistrationmUtility.ToMembershipEntry(x).Item1).Select(x => { //EXISTED IN CONSOLE MEMBERSHIP, am not sure why //x.SiloAddress.Endpoint.Port = x.ProxyPort; return(x.SiloAddress.ToGatewayUri()); }) .ToList(); return(r); }
public async Task <MembershipTableData> ReadAll() { BucketContext b = new BucketContext(bucket); var readAllQuery = new QueryRequest("select meta(membership).id from membership"); readAllQuery.ScanConsistency(ScanConsistency.RequestPlus); readAllQuery.Metrics(false); var ids = await bucket.QueryAsync <JObject>(readAllQuery).ConfigureAwait(false); var idStrings = ids.Rows.Select(x => x["id"].ToString()).ToArray(); IDictionary <string, IOperationResult <CouchBaseSiloRegistration> > actuals = await Task.Run (() => bucket.Get <CouchBaseSiloRegistration>(idStrings));//has no async version with batch reads List <Tuple <MembershipEntry, string> > entries = new List <Tuple <MembershipEntry, string> >(); foreach (var actualRow in actuals.Values) { //var actualRow = await bucket.GetAsync<CouchBaseSiloRegistration>(r["id"].ToString()); entries.Add( CouchbaseSiloRegistrationmUtility.ToMembershipEntry(actualRow.Value, actualRow.Cas.ToString())); } return(new MembershipTableData(entries, new TableVersion(0, "0"))); }