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
55 lines (46 loc) · 1.48 KB

File metadata and controls

55 lines (46 loc) · 1.48 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
47
48
49
50
51
52
53
54
55
using DataKit.SQL.Providers;
using Npgsql;
using System.Threading;
using System.Threading.Tasks;
namespace DataKit.SQL.Postgresql
{
public class PostgresqlDataProvider : DataProviderBase
{
public const string PROVIDER_NAME = "Postgresql";
public static PostgresqlDataProvider Create(string host, string user, string pass, string database)
{
return new PostgresqlDataProvider(new NpgsqlConnectionStringBuilder {
Host = host,
Username = user,
Password = pass,
Database = database
});
}
public override string ProviderName => PROVIDER_NAME;
private readonly string _connectionString;
public PostgresqlDataProvider(string connectionString)
{
_connectionString = connectionString;
}
public PostgresqlDataProvider(NpgsqlConnectionStringBuilder connectionStringBuilder) :
this(connectionStringBuilder.ConnectionString)
{
}
protected override QueryWriter CreateQueryWriter()
{
return new PostgresqlQueryWriter();
}
protected override IConnectionLease OpenConnection()
{
var connection = new NpgsqlConnection(_connectionString);
connection.Open();
return new ClosingConnectionLease(connection);
}
protected override async Task<IConnectionLease> OpenConnectionAsync(CancellationToken cancellationToken)
{
var connection = new NpgsqlConnection(_connectionString);
await connection.OpenAsync(cancellationToken);
return new ClosingConnectionLease(connection);
}
}
}
Morty Proxy This is a proxified and sanitized view of the page, visit original site.