in src/Apache.IoTDB/SessionPool.cs [1792:1838]
public async Task<int> ExecuteNonQueryStatementAsync(string sql)
{
var client = _clients.Take();
var req = new TSExecuteStatementReq(client.SessionId, sql, client.StatementId);
try
{
var resp = await client.ServiceClient.executeUpdateStatementAsync(req);
var status = resp.Status;
if (_debugMode)
{
_logger.LogInformation("execute non-query statement {0} message: {1}", sql, status.Message);
}
return _utilFunctions.VerifySuccess(status, SuccessCode, RedirectRecommendCode);
}
catch (TException e)
{
await Open(_enableRpcCompression);
client = _clients.Take();
req.SessionId = client.SessionId;
req.StatementId = client.StatementId;
try
{
var resp = await client.ServiceClient.executeUpdateStatementAsync(req);
var status = resp.Status;
if (_debugMode)
{
_logger.LogInformation("execute non-query statement {0} message: {1}", sql, status.Message);
}
return _utilFunctions.VerifySuccess(status, SuccessCode, RedirectRecommendCode);
}
catch (TException ex)
{
throw new TException("Error occurs when executing non-query statement", ex);
}
}
finally
{
_clients.Add(client);
}
}