예제 #1
0
        public BucketKeysEnumerator(string dbName, string colName, string queryString, NodeContext context)
        {
            _dbName  = dbName;
            _colName = colName;
            if (context != null)
            {
                _databasesManager = context.DatabasesManager;
            }

            Alachisoft.NosDB.Common.Server.Engine.Impl.Query query = new Alachisoft.NosDB.Common.Server.Engine.Impl.Query();
            query.QueryText = queryString;

            Alachisoft.NosDB.Common.Server.Engine.Impl.ReadQueryOperation readQueryOperation = new Alachisoft.NosDB.Common.Server.Engine.Impl.ReadQueryOperation();
            readQueryOperation.Database   = dbName;
            readQueryOperation.Collection = colName;

            readQueryOperation.Query = query;
            if (_databasesManager != null)
            {
                response = _databasesManager.ExecuteReader(readQueryOperation);
            }

            if (response == null || !response.IsSuccessfull)
            {
                throw new Exception(Common.ErrorHandling.ErrorMessages.GetErrorMessage(response.ErrorCode) + ":Query failed on collection" + colName);
            }

            if (response != null && response.DataChunk != null && response.DataChunk.Documents != null && response.DataChunk.Documents.Count > 0)
            {
                lastDataChunk            = response.DataChunk;
                isLastChunk              = response.DataChunk.IsLastChunk;
                this.dataChunkEnumerator = response.DataChunk.Documents.GetEnumerator();
            }
        }
예제 #2
0
 public void Dispose()
 {
     this.response = null;
 }
예제 #3
0
 public void Reset()
 {
     response = null;
 }