Npgsql.NpgsqlCommand.ExecuteSetStatementTimeoutBlind C# (CSharp) Method

ExecuteSetStatementTimeoutBlind() static private method

Special adaptation of ExecuteBlind() that sets statement_timeout. This exists to prevent Connector.SetBackendCommandTimeout() from calling Command.ExecuteBlind(), which will cause an endless recursive loop.
static private ExecuteSetStatementTimeoutBlind ( NpgsqlConnector connector, int timeout ) : void
connector NpgsqlConnector
timeout int Timeout in seconds.
return void
        internal static void ExecuteSetStatementTimeoutBlind(NpgsqlConnector connector, int timeout)
        {
            NpgsqlQuery query;

            // Bypass cpmmand parsing overhead and send command verbatim.
            query = NpgsqlQuery.Create(connector.BackendProtocolVersion, string.Format("SET statement_timeout = {0}", timeout * 1000));

            // Write the Query message to the wire.
            connector.Query(query);

            // Flush, and wait for and discard all responses.
            connector.ProcessAndDiscardBackendResponses();
        }

Usage Example

コード例 #1
0
ファイル: NpgsqlConnector.cs プロジェクト: kswoll/Npgsql
        /// <summary>
        /// Modify the backend statement_timeout value if needed.
        /// </summary>
        /// <param name="timeout">New timeout</param>
        internal void SetBackendCommandTimeout(int timeout)
        {
            if (Mediator.BackendCommandTimeout == -1 || Mediator.BackendCommandTimeout != timeout)
            {
                NpgsqlCommand.ExecuteSetStatementTimeoutBlind(this, timeout);

                Mediator.BackendCommandTimeout = timeout;
            }
        }