Skip to content

Commit e1a25e9

Browse files
committed
Simplified usings in the source
1 parent 32ccecf commit e1a25e9

File tree

8 files changed

+233
-263
lines changed

8 files changed

+233
-263
lines changed

src/Npgsql/NpgsqlCommand.cs

Lines changed: 58 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -395,71 +395,69 @@ internal void DeriveParameters()
395395

396396
void DeriveParametersForFunction()
397397
{
398-
using (var c = new NpgsqlCommand(DeriveParametersForFunctionQuery, _connection))
399-
{
400-
c.Parameters.Add(new NpgsqlParameter("proname", NpgsqlDbType.Text));
401-
c.Parameters[0].Value = CommandText;
398+
using var c = new NpgsqlCommand(DeriveParametersForFunctionQuery, _connection);
399+
c.Parameters.Add(new NpgsqlParameter("proname", NpgsqlDbType.Text));
400+
c.Parameters[0].Value = CommandText;
402401

403-
string[]? names = null;
404-
uint[]? types = null;
405-
char[]? modes = null;
402+
string[]? names = null;
403+
uint[]? types = null;
404+
char[]? modes = null;
406405

407-
using (var rdr = c.ExecuteReader(CommandBehavior.SingleRow | CommandBehavior.SingleResult))
406+
using (var rdr = c.ExecuteReader(CommandBehavior.SingleRow | CommandBehavior.SingleResult))
407+
{
408+
if (rdr.Read())
408409
{
409-
if (rdr.Read())
410+
if (!rdr.IsDBNull(0))
411+
names = rdr.GetValue(0) as string[];
412+
if (!rdr.IsDBNull(2))
413+
types = rdr.GetValue(2) as uint[];
414+
if (!rdr.IsDBNull(3))
415+
modes = rdr.GetValue(3) as char[];
416+
if (types == null)
410417
{
411-
if (!rdr.IsDBNull(0))
412-
names = rdr.GetValue(0) as string[];
413-
if (!rdr.IsDBNull(2))
414-
types = rdr.GetValue(2) as uint[];
415-
if (!rdr.IsDBNull(3))
416-
modes = rdr.GetValue(3) as char[];
417-
if (types == null)
418-
{
419-
if (rdr.IsDBNull(1) || rdr.GetFieldValue<uint[]>(1).Length == 0)
420-
return; // Parameter-less function
421-
types = rdr.GetFieldValue<uint[]>(1);
422-
}
418+
if (rdr.IsDBNull(1) || rdr.GetFieldValue<uint[]>(1).Length == 0)
419+
return; // Parameter-less function
420+
types = rdr.GetFieldValue<uint[]>(1);
423421
}
424-
else
425-
throw new InvalidOperationException($"{CommandText} does not exist in pg_proc");
426422
}
423+
else
424+
throw new InvalidOperationException($"{CommandText} does not exist in pg_proc");
425+
}
427426

428-
var typeMapper = c._connection!.Connector!.TypeMapper;
427+
var typeMapper = c._connection!.Connector!.TypeMapper;
429428

430-
for (var i = 0; i < types.Length; i++)
431-
{
432-
var param = new NpgsqlParameter();
429+
for (var i = 0; i < types.Length; i++)
430+
{
431+
var param = new NpgsqlParameter();
433432

434-
var (npgsqlDbType, postgresType) = typeMapper.GetTypeInfoByOid(types[i]);
433+
var (npgsqlDbType, postgresType) = typeMapper.GetTypeInfoByOid(types[i]);
435434

436-
param.DataTypeName = postgresType.DisplayName;
437-
param.PostgresType = postgresType;
438-
if (npgsqlDbType.HasValue)
439-
param.NpgsqlDbType = npgsqlDbType.Value;
435+
param.DataTypeName = postgresType.DisplayName;
436+
param.PostgresType = postgresType;
437+
if (npgsqlDbType.HasValue)
438+
param.NpgsqlDbType = npgsqlDbType.Value;
440439

441-
if (names != null && i < names.Length)
442-
param.ParameterName = names[i];
443-
else
444-
param.ParameterName = "parameter" + (i + 1);
440+
if (names != null && i < names.Length)
441+
param.ParameterName = names[i];
442+
else
443+
param.ParameterName = "parameter" + (i + 1);
445444

446-
if (modes == null) // All params are IN, or server < 8.1.0 (and only IN is supported)
447-
param.Direction = ParameterDirection.Input;
448-
else
445+
if (modes == null) // All params are IN, or server < 8.1.0 (and only IN is supported)
446+
param.Direction = ParameterDirection.Input;
447+
else
448+
{
449+
param.Direction = modes[i] switch
449450
{
450-
param.Direction = modes[i] switch
451-
{
452-
'i' => ParameterDirection.Input,
453-
'o' => ParameterDirection.Output,
454-
't' => ParameterDirection.Output,
455-
'b' => ParameterDirection.InputOutput,
456-
'v' => throw new NotSupportedException("Cannot derive function parameter of type VARIADIC"),
457-
_ => throw new ArgumentOutOfRangeException("Unknown code in proargmodes while deriving: " + modes[i])
458-
};
459-
}
460-
461-
Parameters.Add(param);
451+
'i' => ParameterDirection.Input,
452+
'o' => ParameterDirection.Output,
453+
't' => ParameterDirection.Output,
454+
'b' => ParameterDirection.InputOutput,
455+
'v' => throw new NotSupportedException("Cannot derive function parameter of type VARIADIC"),
456+
_ => throw new ArgumentOutOfRangeException("Unknown code in proargmodes while deriving: " + modes[i])
457+
};
462458
}
459+
460+
Parameters.Add(param);
463461
}
464462
}
465463

@@ -974,12 +972,12 @@ public override Task<int> ExecuteNonQueryAsync(CancellationToken cancellationTok
974972
[MethodImpl(MethodImplOptions.AggressiveInlining)]
975973
async Task<int> ExecuteNonQuery(bool async, CancellationToken cancellationToken)
976974
{
977-
using (var reader = await ExecuteReaderAsync(CommandBehavior.Default, async, cancellationToken))
978-
{
979-
while (async ? await reader.NextResultAsync(cancellationToken) : reader.NextResult()) {}
980-
reader.Close();
981-
return reader.RecordsAffected;
982-
}
975+
using var reader = await ExecuteReaderAsync(CommandBehavior.Default, async, cancellationToken);
976+
while (async ? await reader.NextResultAsync(cancellationToken) : reader.NextResult()) ;
977+
978+
reader.Close();
979+
980+
return reader.RecordsAffected;
983981
}
984982

985983
#endregion Execute Non Query
@@ -1018,8 +1016,9 @@ public override Task<object> ExecuteScalarAsync(CancellationToken cancellationTo
10181016
var behavior = CommandBehavior.SingleRow;
10191017
if (!Parameters.HasOutputParameters)
10201018
behavior |= CommandBehavior.SequentialAccess;
1021-
using (var reader = await ExecuteReaderAsync(behavior, async, cancellationToken))
1022-
return reader.Read() && reader.FieldCount != 0 ? reader.GetValue(0) : null;
1019+
1020+
using var reader = await ExecuteReaderAsync(behavior, async, cancellationToken);
1021+
return reader.Read() && reader.FieldCount != 0 ? reader.GetValue(0) : null;
10231022
}
10241023

10251024
#endregion Execute Scalar

src/Npgsql/NpgsqlConnector.Auth.cs

Lines changed: 21 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,8 @@ async Task AuthenticateSASL(List<string> mechanisms, string username, bool async
118118
var saslFinalServerMsg = Expect<AuthenticationSASLFinalMessage>(await ReadMessage(async), this);
119119
if (saslFinalServerMsg.AuthRequestType != AuthenticationRequestType.AuthenticationSASLFinal)
120120
throw new NpgsqlException("[SASL] AuthenticationSASLFinal message expected");
121-
var scramFinalServerMsg = AuthenticationSCRAMServerFinalMessage.Load(saslFinalServerMsg.Payload);
122121

122+
var scramFinalServerMsg = AuthenticationSCRAMServerFinalMessage.Load(saslFinalServerMsg.Payload);
123123
if (scramFinalServerMsg.ServerSignature != Convert.ToBase64String(serverSignature))
124124
throw new NpgsqlException("[SCRAM] Unable to verify server signature");
125125

@@ -129,35 +129,32 @@ async Task AuthenticateSASL(List<string> mechanisms, string username, bool async
129129

130130
static string GetNonce()
131131
{
132-
using (var rncProvider = RandomNumberGenerator.Create())
133-
{
134-
var nonceBytes = new byte[18];
135-
rncProvider.GetBytes(nonceBytes);
136-
return Convert.ToBase64String(nonceBytes);
137-
}
132+
using var rncProvider = RandomNumberGenerator.Create();
133+
var nonceBytes = new byte[18];
134+
135+
rncProvider.GetBytes(nonceBytes);
136+
return Convert.ToBase64String(nonceBytes);
138137
}
139138

140139
static byte[] Hi(string str, byte[] salt, int count)
141140
{
142-
using (var hmac = new HMACSHA256(Encoding.UTF8.GetBytes(str)))
143-
{
144-
var salt1 = new byte[salt.Length + 4];
145-
byte[] hi, u1;
146-
147-
Buffer.BlockCopy(salt, 0, salt1, 0, salt.Length);
148-
salt1[salt1.Length - 1] = 1;
141+
using var hmac = new HMACSHA256(Encoding.UTF8.GetBytes(str));
142+
var salt1 = new byte[salt.Length + 4];
143+
byte[] hi, u1;
149144

150-
hi = u1 = hmac.ComputeHash(salt1);
145+
Buffer.BlockCopy(salt, 0, salt1, 0, salt.Length);
146+
salt1[salt1.Length - 1] = 1;
151147

152-
for (var i = 1; i < count; i++)
153-
{
154-
var u2 = hmac.ComputeHash(u1);
155-
Xor(hi, u2);
156-
u1 = u2;
157-
}
148+
hi = u1 = hmac.ComputeHash(salt1);
158149

159-
return hi;
150+
for (var i = 1; i < count; i++)
151+
{
152+
var u2 = hmac.ComputeHash(u1);
153+
Xor(hi, u2);
154+
u1 = u2;
160155
}
156+
157+
return hi;
161158
}
162159

163160
static byte[] Xor(byte[] buffer1, byte[] buffer2)
@@ -169,8 +166,8 @@ static byte[] Xor(byte[] buffer1, byte[] buffer2)
169166

170167
static byte[] HMAC(byte[] data, string key)
171168
{
172-
using (var hmacsha256 = new HMACSHA256(data))
173-
return hmacsha256.ComputeHash(Encoding.UTF8.GetBytes(key));
169+
using var hmacsha256 = new HMACSHA256(data);
170+
return hmacsha256.ComputeHash(Encoding.UTF8.GetBytes(key));
174171
}
175172
}
176173

src/Npgsql/NpgsqlLargeObjectManager.cs

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,16 @@ public NpgsqlLargeObjectManager(NpgsqlConnection connection)
3535
/// </summary>
3636
internal async Task<T> ExecuteFunction<T>(string function, bool async, params object[] arguments)
3737
{
38-
using (var command = new NpgsqlCommand(function, Connection))
38+
using var command = new NpgsqlCommand(function, Connection)
3939
{
40-
command.CommandType = CommandType.StoredProcedure;
41-
command.CommandText = function;
42-
foreach (var argument in arguments)
43-
command.Parameters.Add(new NpgsqlParameter { Value = argument });
44-
return (T)(async ? await command.ExecuteScalarAsync() : command.ExecuteScalar());
45-
}
40+
CommandType = CommandType.StoredProcedure,
41+
CommandText = function
42+
};
43+
44+
foreach (var argument in arguments)
45+
command.Parameters.Add(new NpgsqlParameter { Value = argument });
46+
47+
return (T)(async ? await command.ExecuteScalarAsync() : command.ExecuteScalar());
4648
}
4749

4850
/// <summary>
@@ -51,20 +53,24 @@ internal async Task<T> ExecuteFunction<T>(string function, bool async, params ob
5153
/// <returns></returns>
5254
internal async Task<int> ExecuteFunctionGetBytes(string function, byte[] buffer, int offset, int len, bool async, params object[] arguments)
5355
{
54-
using (var command = new NpgsqlCommand(function, Connection))
56+
using var command = new NpgsqlCommand(function, Connection)
5557
{
56-
command.CommandType = CommandType.StoredProcedure;
57-
foreach (var argument in arguments)
58-
command.Parameters.Add(new NpgsqlParameter { Value = argument });
59-
using (var reader = async ? await command.ExecuteReaderAsync(CommandBehavior.SequentialAccess) : command.ExecuteReader(CommandBehavior.SequentialAccess))
60-
{
61-
if (async)
62-
await reader.ReadAsync();
63-
else
64-
reader.Read();
65-
return (int)reader.GetBytes(0, 0, buffer, offset, len);
66-
}
67-
}
58+
CommandType = CommandType.StoredProcedure
59+
};
60+
61+
foreach (var argument in arguments)
62+
command.Parameters.Add(new NpgsqlParameter { Value = argument });
63+
64+
using var reader = async
65+
? await command.ExecuteReaderAsync(CommandBehavior.SequentialAccess)
66+
: command.ExecuteReader(CommandBehavior.SequentialAccess);
67+
68+
if (async)
69+
await reader.ReadAsync();
70+
else
71+
reader.Read();
72+
73+
return (int)reader.GetBytes(0, 0, buffer, offset, len);
6874
}
6975

7076
/// <summary>

src/Npgsql/NpgsqlSchema.cs

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ static DataTable GetDatabases(NpgsqlConnection conn, string?[]? restrictions)
160160
{
161161
var databases = new DataTable("Databases") { Locale = CultureInfo.InvariantCulture };
162162

163-
databases.Columns.AddRange(new [] {
163+
databases.Columns.AddRange(new[] {
164164
new DataColumn("database_name"),
165165
new DataColumn("owner"),
166166
new DataColumn("encoding")
@@ -181,7 +181,7 @@ static DataTable GetSchemata(NpgsqlConnection conn, string?[]? restrictions)
181181
{
182182
var schemata = new DataTable("Schemata") { Locale = CultureInfo.InvariantCulture };
183183

184-
schemata.Columns.AddRange(new [] {
184+
schemata.Columns.AddRange(new[] {
185185
new DataColumn("catalog_name"),
186186
new DataColumn("schema_name"),
187187
new DataColumn("schema_owner")
@@ -247,7 +247,7 @@ static DataTable GetColumns(NpgsqlConnection conn, string?[]? restrictions)
247247
{
248248
var columns = new DataTable("Columns") { Locale = CultureInfo.InvariantCulture };
249249

250-
columns.Columns.AddRange(new [] {
250+
columns.Columns.AddRange(new[] {
251251
new DataColumn("table_catalog"), new DataColumn("table_schema"), new DataColumn("table_name"),
252252
new DataColumn("column_name"), new DataColumn("ordinal_position", typeof(int)), new DataColumn("column_default"),
253253
new DataColumn("is_nullable"), new DataColumn("data_type"),
@@ -429,13 +429,12 @@ inner join (
429429
else
430430
constraintType = "Constraints";
431431

432-
using (var command = BuildCommand(conn, getConstraints, restrictions, false, "current_database()", "pgtn.nspname", "pgt.relname", "pgc.conname"))
433-
using (var adapter = new NpgsqlDataAdapter(command))
434-
{
435-
var table = new DataTable(constraintType) { Locale = CultureInfo.InvariantCulture };
436-
adapter.Fill(table);
437-
return table;
438-
}
432+
using var command = BuildCommand(conn, getConstraints, restrictions, false, "current_database()", "pgtn.nspname", "pgt.relname", "pgc.conname");
433+
using var adapter = new NpgsqlDataAdapter(command);
434+
var table = new DataTable(constraintType) { Locale = CultureInfo.InvariantCulture };
435+
436+
adapter.Fill(table);
437+
return table;
439438
}
440439

441440
static DataTable GetConstraintColumns(NpgsqlConnection conn, string?[]? restrictions)
@@ -463,13 +462,12 @@ inner join (
463462
) mapping_table on mapping_table.contype = c.contype
464463
and n.nspname not in ('pg_catalog', 'pg_toast')");
465464

466-
using (var command = BuildCommand(conn, getConstraintColumns, restrictions, false, "current_database()", "n.nspname", "t.relname", "c.conname", "a.attname"))
467-
using (var adapter = new NpgsqlDataAdapter(command))
468-
{
469-
var table = new DataTable("ConstraintColumns") { Locale = CultureInfo.InvariantCulture };
470-
adapter.Fill(table);
471-
return table;
472-
}
465+
using var command = BuildCommand(conn, getConstraintColumns, restrictions, false, "current_database()", "n.nspname", "t.relname", "c.conname", "a.attname");
466+
using var adapter = new NpgsqlDataAdapter(command);
467+
var table = new DataTable("ConstraintColumns") { Locale = CultureInfo.InvariantCulture };
468+
469+
adapter.Fill(table);
470+
return table;
473471
}
474472

475473
static DataTable GetDataSourceInformation(NpgsqlConnection conn)

0 commit comments

Comments
 (0)