예제 #1
0
        private async Task <SelectedSnapshot> taskLoadAsync(IQueryRequest N1QLQueryRequest)
        {
            Task <IQueryResult <SnapshotEntry> > queryTask = _CBBucket.QueryAsync <SnapshotEntry>(N1QLQueryRequest);
            IQueryResult <SnapshotEntry>         result    = await queryTask;

            if (result.Rows.Count == 0)
            {
                throw new Exception("No Snapshots Found");
            }

            return(ToSelectedSnapshot(result.Rows[0]));
        }
예제 #2
0
        private async Task <long> taskReadHighestSequenceNrAsync(string persistenceId, long fromSequenceNr)
        {
            string resultField     = "MaxSequenceNr";
            string N1QLQueryString = "SELECT MAX(`" + _CBBucket.Name + "`.SequenceNr) AS " + resultField + " FROM `" + _CBBucket.Name + "` WHERE DocumentType='JournalEntry' AND PersistenceId =$PersistenceId";

            IQueryRequest N1QLQueryRequest = new QueryRequest()
                                             .Statement(N1QLQueryString)
                                             .AddNamedParameter("PersistenceId", persistenceId)
                                             .AdHoc(false);

            var  queryTask     = _CBBucket.QueryAsync <dynamic>(N1QLQueryRequest);
            long highestSeqNum = 0;
            var  result        = await queryTask;

            long.TryParse(result.Rows[0][resultField].ToString(), out highestSeqNum);
            return(highestSeqNum);
        }