public void PreparedDisposeWithOpenReader()
{
using (var conn = OpenConnection())
{
var cmd1 = new NpgsqlCommand("SELECT 1", conn);
var cmd2 = new NpgsqlCommand("SELECT 1", conn);
cmd1.Prepare();
cmd2.Prepare();
var reader = cmd2.ExecuteReader();
reader.Read();
Assert.That(() => cmd1.Dispose(), Throws.Exception.TypeOf<InvalidOperationException>());
reader.Close();
cmd1.Dispose();
cmd2.Dispose();
Assert.That(conn.ExecuteScalar("SELECT COUNT(*) FROM pg_prepared_statements"), Is.EqualTo(0));
}
}