Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
46 lines (38 loc) · 2.54 KB

File metadata and controls

46 lines (38 loc) · 2.54 KB
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
using Npgsql.Internal;
using Npgsql.Util;
using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
using System.Transactions;
namespace Npgsql;
sealed class MultiHostDataSourceWrapper(NpgsqlMultiHostDataSource wrappedSource, TargetSessionAttributes targetSessionAttributes)
: NpgsqlDataSource(CloneSettingsForTargetSessionAttributes(wrappedSource.Settings, targetSessionAttributes), wrappedSource.Configuration, reportMetrics: false)
{
internal NpgsqlMultiHostDataSource WrappedSource { get; } = wrappedSource;
internal override bool OwnsConnectors => false;
public override void Clear() => WrappedSource.Clear();
static NpgsqlConnectionStringBuilder CloneSettingsForTargetSessionAttributes(
NpgsqlConnectionStringBuilder settings,
TargetSessionAttributes targetSessionAttributes)
{
var clonedSettings = settings.Clone();
clonedSettings.TargetSessionAttributesParsed = targetSessionAttributes;
return clonedSettings;
}
internal override (int Total, int Idle, int Busy) Statistics => WrappedSource.Statistics;
internal override ValueTask<NpgsqlConnector> Get(NpgsqlConnection conn, NpgsqlTimeout timeout, bool async, CancellationToken cancellationToken)
=> WrappedSource.Get(conn, timeout, async, cancellationToken);
internal override bool TryGetIdleConnector([NotNullWhen(true)] out NpgsqlConnector? connector)
=> throw new NpgsqlException("Npgsql bug: trying to get an idle connector from " + nameof(MultiHostDataSourceWrapper));
internal override ValueTask<NpgsqlConnector?> OpenNewConnector(NpgsqlConnection conn, NpgsqlTimeout timeout, bool async, CancellationToken cancellationToken)
=> throw new NpgsqlException("Npgsql bug: trying to open a new connector from " + nameof(MultiHostDataSourceWrapper));
internal override void Return(NpgsqlConnector connector)
=> WrappedSource.Return(connector);
internal override void AddPendingEnlistedConnector(NpgsqlConnector connector, Transaction transaction)
=> WrappedSource.AddPendingEnlistedConnector(connector, transaction);
internal override bool TryRemovePendingEnlistedConnector(NpgsqlConnector connector, Transaction transaction)
=> WrappedSource.TryRemovePendingEnlistedConnector(connector, transaction);
internal override bool TryRentEnlistedPending(Transaction transaction, NpgsqlConnection connection,
[NotNullWhen(true)] out NpgsqlConnector? connector)
=> WrappedSource.TryRentEnlistedPending(transaction, connection, out connector);
}
Morty Proxy This is a proxified and sanitized view of the page, visit original site.