internal virtual async Task ExecuteStatementAsync()

in Amazon.QLDB.Driver/client/Session.cs [277:309]


        internal virtual async Task<ExecuteStatementResult> ExecuteStatementAsync(
            string txnId, string statement, ValueHolder[] parameters, CancellationToken cancellationToken)
        {
            try
            {
                var executeStatementRequest = new ExecuteStatementRequest
                {
                    TransactionId = txnId,
                    Statement = statement,
                    Parameters = parameters.ToList(),
                };
                var request = new SendCommandRequest
                {
                    ExecuteStatement = executeStatementRequest,
                };
                var response = await this.SendCommand(request, cancellationToken);
                return response.ExecuteStatement;
            }
            catch (IOException e)
            {
                throw new QldbDriverException(ExceptionMessages.FailedToSerializeParameter + e.Message, e);
            }
            finally
            {
                if (parameters != null && parameters.Length != 0)
                {
                    foreach (ValueHolder valueHolder in parameters)
                    {
                        valueHolder.IonBinary.Dispose();
                    }
                }
            }
        }