-
Notifications
You must be signed in to change notification settings - Fork 874
Expand file tree
/
Copy pathNpgsqlOperationInProgressException.cs
More file actions
32 lines (28 loc) · 1.23 KB
/
NpgsqlOperationInProgressException.cs
File metadata and controls
32 lines (28 loc) · 1.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using Npgsql.Internal;
namespace Npgsql;
/// <summary>
/// Thrown when trying to use a connection that is already busy performing some other operation.
/// Provides information on the already-executing operation to help with debugging.
/// </summary>
public sealed class NpgsqlOperationInProgressException : NpgsqlException
{
/// <summary>
/// Creates a new instance of <see cref="NpgsqlOperationInProgressException" />.
/// </summary>
/// <param name="command">
/// A command which was in progress when the operation which triggered this exception was executed.
/// </param>
public NpgsqlOperationInProgressException(NpgsqlCommand command)
: base("A command is already in progress: " + command.CommandText)
=> CommandInProgress = command;
internal NpgsqlOperationInProgressException(ConnectorState state)
: base($"The connection is already in state '{state}'")
{
}
/// <summary>
/// If the connection is busy with another command, this will contain a reference to that command.
/// Otherwise, if the connection if busy with another type of operation (e.g. COPY), contains
/// <see langword="null" />.
/// </summary>
public NpgsqlCommand? CommandInProgress { get; }
}