in src/Apache.IoTDB/DataStructure/SessionDataSet.cs [275:313]
private bool FetchResults()
{
_rowIndex = 0;
var req = new TSFetchResultsReq(_client.SessionId, _sql, FetchSize, _queryId, true)
{
Timeout = DefaultTimeout
};
try
{
var task = _client.ServiceClient.fetchResultsAsync(req);
var resp = task.ConfigureAwait(false).GetAwaiter().GetResult();
if (resp.HasResultSet)
{
_queryDataset = resp.QueryDataSet;
// reset buffer
_timeBuffer = new ByteBuffer(resp.QueryDataSet.Time);
_valueBufferLst = new List<ByteBuffer>();
_bitmapBufferLst = new List<ByteBuffer>();
for (int index = 0; index < _queryDataset.ValueList.Count; index++)
{
string columnName = _columnNames[index];
int valueIndex = _columnNameIndexMap[columnName];
_valueBufferLst.Add(new ByteBuffer(_queryDataset.ValueList[valueIndex]));
_bitmapBufferLst.Add(new ByteBuffer(_queryDataset.BitmapList[valueIndex]));
}
// reset row index
_rowIndex = 0;
}
return resp.HasResultSet;
}
catch (TException e)
{
throw new TException("Cannot fetch result from server, because of network connection", e);
}
}