/// Provides a set of extension methods adding retry capabilities into the standard <see cref="System.Data.IDbConnection"/> implementation, which is used in PetaPoco.
/// Executes a Transact-SQL statement against the connection and returns the number of rows affected. Uses the default retry policy when executing the command.
/// </summary>
/// <param name="command">The command object that is required as per extension method declaration.</param>
/// <returns>The number of rows affected.</returns>
/// Executes a Transact-SQL statement against the connection and returns the number of rows affected. Uses the specified retry policy when executing the command.
/// </summary>
/// <param name="command">The command object that is required as per extension method declaration.</param>
/// <param name="retryPolicy">The retry policy defining whether to retry a command if a connection fails while executing the command.</param>
/// <returns>The number of rows affected.</returns>
/// Executes a Transact-SQL statement against the connection and returns the number of rows affected. Uses the specified retry policy when executing the command.
/// Uses a separate specified retry policy when establishing a connection.
/// </summary>
/// <param name="command">The command object that is required as per extension method declaration.</param>
/// <param name="cmdRetryPolicy">The command retry policy defining whether to retry a command if it fails while executing.</param>
/// <param name="conRetryPolicy">The connection retry policy defining whether to re-establish a connection if it drops while executing the command.</param>
/// <returns>The number of rows affected.</returns>
/// Sends the specified command to the connection and builds a SqlDataReader object containing the results.
/// Uses the specified retry policy when executing the command. Uses a separate specified retry policy when
/// establishing a connection.
/// </summary>
/// <param name="command">The command object that is required as per extension method declaration.</param>
/// <param name="cmdRetryPolicy">The command retry policy defining whether to retry a command if it fails while executing.</param>
/// <param name="conRetryPolicy">The connection retry policy defining whether to re-establish a connection if it drops while executing the command.</param>
/// Sends the specified command to the connection and builds a SqlDataReader object using one of the
/// CommandBehavior values. Uses the specified retry policy when executing the command.
/// Uses a separate specified retry policy when establishing a connection.
/// </summary>
/// <param name="command">The command object that is required as per extension method declaration.</param>
/// <param name="behavior">One of the System.Data.CommandBehavior values.</param>
/// <param name="cmdRetryPolicy">The command retry policy defining whether to retry a command if it fails while executing.</param>
/// <param name="conRetryPolicy">The connection retry policy defining whether to re-establish a connection if it drops while executing the command.</param>
/// Executes the query, and returns the first column of the first row in the result set returned by the query. Additional columns or rows are ignored.
/// Uses the default retry policy when executing the command.
/// </summary>
/// <param name="command">The command object that is required as per extension method declaration.</param>
/// <returns> The first column of the first row in the result set, or a null reference if the result set is empty. Returns a maximum of 2033 characters.</returns>
/// Executes the query, and returns the first column of the first row in the result set returned by the query. Additional columns or rows are ignored.
/// Uses the specified retry policy when executing the command.
/// </summary>
/// <param name="command">The command object that is required as per extension method declaration.</param>
/// <param name="retryPolicy">The retry policy defining whether to retry a command if a connection fails while executing the command.</param>
/// <returns> The first column of the first row in the result set, or a null reference if the result set is empty. Returns a maximum of 2033 characters.</returns>
/// Executes the query, and returns the first column of the first row in the result set returned by the query. Additional columns or rows are ignored.
/// Uses the specified retry policy when executing the command. Uses a separate specified retry policy when establishing a connection.
/// </summary>
/// <param name="command">The command object that is required as per extension method declaration.</param>
/// <param name="cmdRetryPolicy">The command retry policy defining whether to retry a command if it fails while executing.</param>
/// <param name="conRetryPolicy">The connection retry policy defining whether to re-establish a connection if it drops while executing the command.</param>
/// <returns> The first column of the first row in the result set, or a null reference if the result set is empty. Returns a maximum of 2033 characters.</returns>