diff --git a/Directory.Build.props b/Directory.Build.props index 437727aa01..fa5d7aead8 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,6 +1,6 @@  - 9.0.2 + 9.0.2.1 latest true enable @@ -10,10 +10,10 @@ true true - Copyright 2024 © The Npgsql Development Team - Npgsql + Copyright 2025 © The YugabyteDB Development Team + YugabyteDB PostgreSQL - https://github.com/npgsql/npgsql + https://github.com/yugabyte/npgsql postgresql.png true true diff --git a/README.md b/README.md index 2b7bfef019..f9fa98fdac 100644 --- a/README.md +++ b/README.md @@ -51,3 +51,69 @@ await using (var reader = await cmd.ExecuteReaderAsync()) * Great integration with Entity Framework Core via [Npgsql.EntityFrameworkCore.PostgreSQL](https://www.nuget.org/packages/Npgsql.EntityFrameworkCore.PostgreSQL). For the full documentation, please visit the Npgsql website at [https://www.npgsql.org](https://www.npgsql.org). + +## YugabyteDB Npgsql Features + + +Yugabyte Npgsql driver is a distributed .NET driver for YSQL built on the PostgreSQL Npgsql driver. Although the upstream PostgreSQL driver works with YugabyteDB, the Yugabyte driver enhances YugabyteDB by eliminating the need for external load balancers. + +* It is cluster-aware, which eliminates the need for an external load balancer. +* It is topology-aware, which is essential for geographically-distributed applications. The driver uses servers that are part of a set of geo-locations specified by topology keys. + +### Load balancing + +The Yugabyte Npgsql driver has the following load balancing features: + +* Uniform load balancing + +In this mode, the driver makes the best effort to uniformly distribute the connections to each YugabyteDB server. For example, if a client application creates 100 connections to a YugabyteDB cluster consisting of 10 servers, then the driver creates 10 connections to each server. If the number of connections are not exactly divisible by the number of servers, then a few may have 1 less or 1 more connection than the others. This is the client view of the load, so the servers may not be well balanced if other client applications are not using the Yugabyte JDBC driver. + +* Topology-aware load balancing + +Because YugabyteDB clusters can have servers in different regions and availability zones, the YugabyteDB JDBC driver is topology-aware, and can be configured to create connections only on servers that are in specific regions and zones. This is useful for client applications that need to connect to the geographically nearest regions and availability zone for lower latency; the driver tries to uniformly load only those servers that belong to the specified regions and zone. + +### Usage + +Load balancing connection properties: + +The following connection properties are added to enable load balancing: + +* Load Balance Hosts - Starting with version 8.0.3.2, it expects one of False, Any (same as true), OnlyPrimary, OnlyRR, PreferPrimary and PreferRR as its possible values. + * False - No connection load balancing. Behaviour is similar to vanilla Npgsql driver + * Any - Same as value true. Distribute connections equally across all nodes in the cluster, irrespective of its type (primary or read-replica) + * OnlyPrimary - Create connections equally across only the primary nodes of the cluster + * OnlyRR - Create connections equally across only the read-replica nodes of the cluster + * PreferPrimary - Create connections equally across primary cluster nodes. If none available, on any available read replica node in the cluster + * PreferRR - Create connections equally across read replica nodes of the cluster. If none available, on any available primary cluster node +* Topology Keys - provide comma-separated geo-location values to enable topology-aware load balancing. Geo-locations can be provided as cloud.region.zone. +* YB Servers Refresh Interval - The list of servers, to balance the connection load on, are refreshed periodically every 5 minutes by default. This time can be regulated by this property. +* Fallback To Topology Keys Only - Decides if the driver can fall back to nodes outside of the given placements for new connections, if the nodes in the given placements are not available. Value true means stick to explicitly given placements for fallback, else fail. Value false means fall back to entire cluster nodes when nodes in the given placements are unavailable. Default is false. It is ignored if topology-keys is not specified or load-balance is set to either prefer-primary or prefer-rr. +* Failed Host Reconnect Delay Sec - When the driver cannot connect to a server, it marks it as failed with a timestamp. Later, whenever it refreshes the server list via yb_servers(), if it sees the failed server in the response, it marks the server as UP only if the time specified via this property has elapsed since the time it was last marked as a failed host. Default is 5 seconds. +* Enable Discard Sequence - Flag to enable/disable running `Discard sequences` on connection Reset +* Enable Discard Temp - Flag to enable/disable running `Discard Temp` on connection Reset +* Enable Close All - Flag to enable/disable running `Close All` on connection Reset +* Enable Discard Al - Flag to enable/disable running `Discard All` on connection Reset + +Pass new connection properties for load balancing in the connection string. To enable uniform load balancing across all servers, you set the `Load Balance Hosts` property to True in the URL, as per the following example. + +Connection String:: + +```csharp +var connString = "host=127.0.0.1;port=5433;database=yugabyte;userid=yugabyte;password=yugsbyte;Load Balance Hosts=true;Timeout=0"; +``` + +#### Note: The behaviour of `Load Balance Hosts` is different in YugabyteDB Npgsql Driver as compared to the upstream driver. The upstream driver balances connections on the list of hosts provided in the `host` property while the YugabyteDB Npgsql Driver balances the connections on the list of servers returned by the `yb_servers()` function. + +To specify topology keys, you set the `Topology Keys` property to comma separated values, as per the following example. + +Connection String:: + +```csharp +var connString = "host=127.0.0.3;port=5433;database=yugabyte;userid=yugabyte;password=yugsbyte;Load Balance Hosts=true;Timeout=0;Topology Keys=cloud.region.zone"; +``` + +Multiple topologies can also be passed to the Topology Keys property, and each of them can also be given a preference value, as per the following example. + +```csharp +var connString = "host=127.0.0.3;port=5433;database=yugabyte;userid=yugabyte;password=yugsbyte;Load Balance Hosts=true;Timeout=0;Topology Keys=cloud1.region1.zone1:1,cloud2.region2.zone2:2"; +``` \ No newline at end of file diff --git a/global.json b/global.json index 67db748a1b..afa29c63fc 100644 --- a/global.json +++ b/global.json @@ -1,7 +1,7 @@ { "sdk": { - "version": "9.0.100", + "version": "9.0.102", "rollForward": "latestMajor", - "allowPrerelease": "false" + "allowPrerelease": false } -} +} \ No newline at end of file diff --git a/src/Npgsql.DependencyInjection/Npgsql.DependencyInjection.csproj b/src/Npgsql.DependencyInjection/Npgsql.DependencyInjection.csproj index 357003cf07..255076d28d 100644 --- a/src/Npgsql.DependencyInjection/Npgsql.DependencyInjection.csproj +++ b/src/Npgsql.DependencyInjection/Npgsql.DependencyInjection.csproj @@ -1,12 +1,14 @@ + YBNpgsql.DependencyInjection Shay Rojansky + YBNpgsql.DependencyInjection net6.0;net8.0 net8.0 - npgsql;postgresql;postgres;ado;ado.net;database;sql;di;dependency injection + npgsql;postgresql;postgres;ado;ado.net;database;sql;di;dependency injection;yugabyte README.md diff --git a/src/Npgsql.DependencyInjection/NpgsqlServiceCollectionExtensions.Obsolete.cs b/src/Npgsql.DependencyInjection/NpgsqlServiceCollectionExtensions.Obsolete.cs index 6e2b4e7d4f..aa5ba38e91 100644 --- a/src/Npgsql.DependencyInjection/NpgsqlServiceCollectionExtensions.Obsolete.cs +++ b/src/Npgsql.DependencyInjection/NpgsqlServiceCollectionExtensions.Obsolete.cs @@ -1,6 +1,6 @@ using System; using System.ComponentModel; -using Npgsql; +using YBNpgsql; namespace Microsoft.Extensions.DependencyInjection; diff --git a/src/Npgsql.DependencyInjection/NpgsqlServiceCollectionExtensions.cs b/src/Npgsql.DependencyInjection/NpgsqlServiceCollectionExtensions.cs index 7e22029a40..1eb95217a0 100644 --- a/src/Npgsql.DependencyInjection/NpgsqlServiceCollectionExtensions.cs +++ b/src/Npgsql.DependencyInjection/NpgsqlServiceCollectionExtensions.cs @@ -2,7 +2,7 @@ using System.Data.Common; using Microsoft.Extensions.DependencyInjection.Extensions; using Microsoft.Extensions.Logging; -using Npgsql; +using YBNpgsql; // ReSharper disable once CheckNamespace namespace Microsoft.Extensions.DependencyInjection; diff --git a/src/Npgsql.DependencyInjection/PublicAPI.Shipped.txt b/src/Npgsql.DependencyInjection/PublicAPI.Shipped.txt index 4066bf5273..503eb45a52 100644 --- a/src/Npgsql.DependencyInjection/PublicAPI.Shipped.txt +++ b/src/Npgsql.DependencyInjection/PublicAPI.Shipped.txt @@ -2,17 +2,17 @@ Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddMultiHostNpgsqlDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Transient, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton, object? serviceKey = null) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddMultiHostNpgsqlDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! -static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddMultiHostNpgsqlDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, System.Action! dataSourceBuilderAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Transient, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton, object? serviceKey = null) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! -static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddMultiHostNpgsqlDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, System.Action! dataSourceBuilderAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! +static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddMultiHostNpgsqlDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, System.Action! dataSourceBuilderAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Transient, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton, object? serviceKey = null) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! +static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddMultiHostNpgsqlDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, System.Action! dataSourceBuilderAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddMultiHostNpgsqlSlimDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Transient, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton, object? serviceKey = null) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddMultiHostNpgsqlSlimDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! -static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddMultiHostNpgsqlSlimDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, System.Action! dataSourceBuilderAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Transient, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton, object? serviceKey = null) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! -static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddMultiHostNpgsqlSlimDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, System.Action! dataSourceBuilderAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! +static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddMultiHostNpgsqlSlimDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, System.Action! dataSourceBuilderAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Transient, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton, object? serviceKey = null) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! +static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddMultiHostNpgsqlSlimDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, System.Action! dataSourceBuilderAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddNpgsqlDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Transient, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton, object? serviceKey = null) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddNpgsqlDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! -static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddNpgsqlDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, System.Action! dataSourceBuilderAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Transient, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton, object? serviceKey = null) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! -static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddNpgsqlDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, System.Action! dataSourceBuilderAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! +static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddNpgsqlDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, System.Action! dataSourceBuilderAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Transient, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton, object? serviceKey = null) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! +static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddNpgsqlDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, System.Action! dataSourceBuilderAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddNpgsqlSlimDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Transient, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton, object? serviceKey = null) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddNpgsqlSlimDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! -static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddNpgsqlSlimDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, System.Action! dataSourceBuilderAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Transient, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton, object? serviceKey = null) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! -static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddNpgsqlSlimDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, System.Action! dataSourceBuilderAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! +static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddNpgsqlSlimDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, System.Action! dataSourceBuilderAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Transient, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton, object? serviceKey = null) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! +static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddNpgsqlSlimDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, System.Action! dataSourceBuilderAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! diff --git a/src/Npgsql.DependencyInjection/PublicAPI.Unshipped.txt b/src/Npgsql.DependencyInjection/PublicAPI.Unshipped.txt index 34f2d889e9..81ec466ab3 100644 --- a/src/Npgsql.DependencyInjection/PublicAPI.Unshipped.txt +++ b/src/Npgsql.DependencyInjection/PublicAPI.Unshipped.txt @@ -1,5 +1,5 @@ #nullable enable -static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddMultiHostNpgsqlDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, System.Action! dataSourceBuilderAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Transient, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton, object? serviceKey = null) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! -static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddMultiHostNpgsqlSlimDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, System.Action! dataSourceBuilderAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Transient, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton, object? serviceKey = null) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! -static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddNpgsqlDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, System.Action! dataSourceBuilderAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Transient, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton, object? serviceKey = null) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! -static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddNpgsqlSlimDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, System.Action! dataSourceBuilderAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Transient, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton, object? serviceKey = null) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! +static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddMultiHostNpgsqlDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, System.Action! dataSourceBuilderAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Transient, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton, object? serviceKey = null) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! +static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddMultiHostNpgsqlSlimDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, System.Action! dataSourceBuilderAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Transient, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton, object? serviceKey = null) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! +static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddNpgsqlDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, System.Action! dataSourceBuilderAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Transient, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton, object? serviceKey = null) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! +static Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddNpgsqlSlimDataSource(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! connectionString, System.Action! dataSourceBuilderAction, Microsoft.Extensions.DependencyInjection.ServiceLifetime connectionLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Transient, Microsoft.Extensions.DependencyInjection.ServiceLifetime dataSourceLifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton, object? serviceKey = null) -> Microsoft.Extensions.DependencyInjection.IServiceCollection! diff --git a/src/Npgsql.DependencyInjection/README.md b/src/Npgsql.DependencyInjection/README.md index 7b22c8d15d..f00f92e3a8 100644 --- a/src/Npgsql.DependencyInjection/README.md +++ b/src/Npgsql.DependencyInjection/README.md @@ -1,6 +1,6 @@ -Npgsql is the open source .NET data provider for PostgreSQL. It allows you to connect and interact with PostgreSQL server using .NET. +NpgsqlYugabyteDB is the open source .NET data provider for YugabyteDB. It allows you to connect and interact with YugabyteDB server using .NET. -This package helps set up Npgsql in applications using dependency injection, notably ASP.NET applications. It allows easy configuration of your Npgsql connections and registers the appropriate services in your DI container. +This package helps set up NpgsqlYugabyteDB in applications using dependency injection, notably ASP.NET applications. It allows easy configuration of your Npgsql connections and registers the appropriate services in your DI container. For example, if using the ASP.NET minimal web API, simply use the following to register Npgsql: diff --git a/src/Npgsql.GeoJSON/CrsMap.WellKnown.cs b/src/Npgsql.GeoJSON/CrsMap.WellKnown.cs index dda11bd1d7..9437fcc644 100644 --- a/src/Npgsql.GeoJSON/CrsMap.WellKnown.cs +++ b/src/Npgsql.GeoJSON/CrsMap.WellKnown.cs @@ -1,4 +1,4 @@ -namespace Npgsql.GeoJSON; +namespace YBNpgsql.GeoJSON; public partial class CrsMap { diff --git a/src/Npgsql.GeoJSON/CrsMap.cs b/src/Npgsql.GeoJSON/CrsMap.cs index 602387a911..dbe413b7fd 100644 --- a/src/Npgsql.GeoJSON/CrsMap.cs +++ b/src/Npgsql.GeoJSON/CrsMap.cs @@ -1,5 +1,5 @@ -namespace Npgsql.GeoJSON; +namespace YBNpgsql.GeoJSON; /// /// A map of entries that map the authority to the inclusive range of SRID. diff --git a/src/Npgsql.GeoJSON/CrsMapExtensions.cs b/src/Npgsql.GeoJSON/CrsMapExtensions.cs index dde5e0f688..a7b9802269 100644 --- a/src/Npgsql.GeoJSON/CrsMapExtensions.cs +++ b/src/Npgsql.GeoJSON/CrsMapExtensions.cs @@ -1,8 +1,8 @@ using System; using System.Threading.Tasks; -using Npgsql.GeoJSON.Internal; +using YBNpgsql.GeoJSON.Internal; -namespace Npgsql.GeoJSON; +namespace YBNpgsql.GeoJSON; /// /// Extensions for getting a CrsMap from a database. diff --git a/src/Npgsql.GeoJSON/GeoJSONOptions.cs b/src/Npgsql.GeoJSON/GeoJSONOptions.cs index 9aa8797529..af4b483202 100644 --- a/src/Npgsql.GeoJSON/GeoJSONOptions.cs +++ b/src/Npgsql.GeoJSON/GeoJSONOptions.cs @@ -3,7 +3,7 @@ #pragma warning disable CS1591 // Missing XML comment for publicly visible type or member // ReSharper disable once CheckNamespace -namespace Npgsql; +namespace YBNpgsql; [Flags] public enum GeoJSONOptions diff --git a/src/Npgsql.GeoJSON/Internal/BoundingBoxBuilder.cs b/src/Npgsql.GeoJSON/Internal/BoundingBoxBuilder.cs index c3ea8f271f..4a76996476 100644 --- a/src/Npgsql.GeoJSON/Internal/BoundingBoxBuilder.cs +++ b/src/Npgsql.GeoJSON/Internal/BoundingBoxBuilder.cs @@ -1,6 +1,6 @@ using GeoJSON.Net.Geometry; -namespace Npgsql.GeoJSON.Internal; +namespace YBNpgsql.GeoJSON.Internal; sealed class BoundingBoxBuilder { diff --git a/src/Npgsql.GeoJSON/Internal/CrsMapBuilder.cs b/src/Npgsql.GeoJSON/Internal/CrsMapBuilder.cs index 95f45d5db3..48a743d726 100644 --- a/src/Npgsql.GeoJSON/Internal/CrsMapBuilder.cs +++ b/src/Npgsql.GeoJSON/Internal/CrsMapBuilder.cs @@ -1,6 +1,6 @@ using System; -namespace Npgsql.GeoJSON.Internal; +namespace YBNpgsql.GeoJSON.Internal; struct CrsMapBuilder { diff --git a/src/Npgsql.GeoJSON/Internal/GeoJSONConverter.cs b/src/Npgsql.GeoJSON/Internal/GeoJSONConverter.cs index 5d54d16194..8f74ce7db1 100644 --- a/src/Npgsql.GeoJSON/Internal/GeoJSONConverter.cs +++ b/src/Npgsql.GeoJSON/Internal/GeoJSONConverter.cs @@ -8,9 +8,9 @@ using GeoJSON.Net; using GeoJSON.Net.CoordinateReferenceSystem; using GeoJSON.Net.Geometry; -using Npgsql.Internal; +using YBNpgsql.Internal; -namespace Npgsql.GeoJSON.Internal; +namespace YBNpgsql.GeoJSON.Internal; sealed class GeoJSONConverter : PgStreamingConverter where T : IGeoJSONObject { diff --git a/src/Npgsql.GeoJSON/Internal/GeoJSONTypeInfoResolverFactory.cs b/src/Npgsql.GeoJSON/Internal/GeoJSONTypeInfoResolverFactory.cs index f1b56000f2..22b1f4429d 100644 --- a/src/Npgsql.GeoJSON/Internal/GeoJSONTypeInfoResolverFactory.cs +++ b/src/Npgsql.GeoJSON/Internal/GeoJSONTypeInfoResolverFactory.cs @@ -1,10 +1,10 @@ using System; using GeoJSON.Net; using GeoJSON.Net.Geometry; -using Npgsql.Internal; -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.GeoJSON.Internal; +namespace YBNpgsql.GeoJSON.Internal; sealed class GeoJSONTypeInfoResolverFactory(GeoJSONOptions options, bool geographyAsDefault, CrsMap? crsMap = null) : PgTypeInfoResolverFactory diff --git a/src/Npgsql.GeoJSON/NpgsqlGeoJSONExtensions.cs b/src/Npgsql.GeoJSON/NpgsqlGeoJSONExtensions.cs index 9651004a86..db248e2005 100644 --- a/src/Npgsql.GeoJSON/NpgsqlGeoJSONExtensions.cs +++ b/src/Npgsql.GeoJSON/NpgsqlGeoJSONExtensions.cs @@ -1,9 +1,9 @@ -using Npgsql.GeoJSON; -using Npgsql.GeoJSON.Internal; -using Npgsql.TypeMapping; +using YBNpgsql.GeoJSON; +using YBNpgsql.GeoJSON.Internal; +using YBNpgsql.TypeMapping; // ReSharper disable once CheckNamespace -namespace Npgsql; +namespace YBNpgsql; /// /// Extension allowing adding the GeoJSON plugin to an Npgsql type mapper. diff --git a/src/Npgsql.GeoJSON/PublicAPI.Shipped.txt b/src/Npgsql.GeoJSON/PublicAPI.Shipped.txt index 7f92ef111d..930d0d8c8a 100644 --- a/src/Npgsql.GeoJSON/PublicAPI.Shipped.txt +++ b/src/Npgsql.GeoJSON/PublicAPI.Shipped.txt @@ -1,13 +1,13 @@ #nullable enable -Npgsql.GeoJSON.CrsMap -Npgsql.GeoJSON.CrsMapExtensions -Npgsql.GeoJSONOptions -Npgsql.GeoJSONOptions.BoundingBox = 1 -> Npgsql.GeoJSONOptions -Npgsql.GeoJSONOptions.LongCRS = 4 -> Npgsql.GeoJSONOptions -Npgsql.GeoJSONOptions.None = 0 -> Npgsql.GeoJSONOptions -Npgsql.GeoJSONOptions.ShortCRS = 2 -> Npgsql.GeoJSONOptions -Npgsql.NpgsqlGeoJSONExtensions -static Npgsql.GeoJSON.CrsMapExtensions.GetCrsMap(this Npgsql.NpgsqlDataSource! dataSource) -> Npgsql.GeoJSON.CrsMap! -static Npgsql.GeoJSON.CrsMapExtensions.GetCrsMapAsync(this Npgsql.NpgsqlDataSource! dataSource) -> System.Threading.Tasks.Task! -static Npgsql.NpgsqlGeoJSONExtensions.UseGeoJson(this Npgsql.TypeMapping.INpgsqlTypeMapper! mapper, Npgsql.GeoJSON.CrsMap! crsMap, Npgsql.GeoJSONOptions options = Npgsql.GeoJSONOptions.None, bool geographyAsDefault = false) -> Npgsql.TypeMapping.INpgsqlTypeMapper! -static Npgsql.NpgsqlGeoJSONExtensions.UseGeoJson(this Npgsql.TypeMapping.INpgsqlTypeMapper! mapper, Npgsql.GeoJSONOptions options = Npgsql.GeoJSONOptions.None, bool geographyAsDefault = false) -> Npgsql.TypeMapping.INpgsqlTypeMapper! \ No newline at end of file +YBNpgsql.GeoJSON.CrsMap +YBNpgsql.GeoJSON.CrsMapExtensions +YBNpgsql.GeoJSONOptions +YBNpgsql.GeoJSONOptions.BoundingBox = 1 -> YBNpgsql.GeoJSONOptions +YBNpgsql.GeoJSONOptions.LongCRS = 4 -> YBNpgsql.GeoJSONOptions +YBNpgsql.GeoJSONOptions.None = 0 -> YBNpgsql.GeoJSONOptions +YBNpgsql.GeoJSONOptions.ShortCRS = 2 -> YBNpgsql.GeoJSONOptions +YBNpgsql.NpgsqlGeoJSONExtensions +static YBNpgsql.GeoJSON.CrsMapExtensions.GetCrsMap(this YBNpgsql.NpgsqlDataSource! dataSource) -> YBNpgsql.GeoJSON.CrsMap! +static YBNpgsql.GeoJSON.CrsMapExtensions.GetCrsMapAsync(this YBNpgsql.NpgsqlDataSource! dataSource) -> System.Threading.Tasks.Task! +static YBNpgsql.NpgsqlGeoJSONExtensions.UseGeoJson(this YBNpgsql.TypeMapping.INpgsqlTypeMapper! mapper, YBNpgsql.GeoJSON.CrsMap! crsMap, YBNpgsql.GeoJSONOptions options = YBNpgsql.GeoJSONOptions.None, bool geographyAsDefault = false) -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! +static YBNpgsql.NpgsqlGeoJSONExtensions.UseGeoJson(this YBNpgsql.TypeMapping.INpgsqlTypeMapper! mapper, YBNpgsql.GeoJSONOptions options = YBNpgsql.GeoJSONOptions.None, bool geographyAsDefault = false) -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! diff --git a/src/Npgsql.GeoJSON/PublicAPI.Unshipped.txt b/src/Npgsql.GeoJSON/PublicAPI.Unshipped.txt index 34de07f0d7..489f5ef7d5 100644 --- a/src/Npgsql.GeoJSON/PublicAPI.Unshipped.txt +++ b/src/Npgsql.GeoJSON/PublicAPI.Unshipped.txt @@ -1,3 +1,3 @@ #nullable enable -static Npgsql.NpgsqlGeoJSONExtensions.UseGeoJson(this TMapper mapper, Npgsql.GeoJSON.CrsMap! crsMap, Npgsql.GeoJSONOptions options = Npgsql.GeoJSONOptions.None, bool geographyAsDefault = false) -> TMapper -static Npgsql.NpgsqlGeoJSONExtensions.UseGeoJson(this TMapper mapper, Npgsql.GeoJSONOptions options = Npgsql.GeoJSONOptions.None, bool geographyAsDefault = false) -> TMapper +static YBNpgsql.NpgsqlGeoJSONExtensions.UseGeoJson(this TMapper mapper, YBNpgsql.GeoJSON.CrsMap! crsMap, YBNpgsql.GeoJSONOptions options = YBNpgsql.GeoJSONOptions.None, bool geographyAsDefault = false) -> TMapper +static YBNpgsql.NpgsqlGeoJSONExtensions.UseGeoJson(this TMapper mapper, YBNpgsql.GeoJSONOptions options = YBNpgsql.GeoJSONOptions.None, bool geographyAsDefault = false) -> TMapper diff --git a/src/Npgsql.Json.NET/Internal/JsonNetJsonConverter.cs b/src/Npgsql.Json.NET/Internal/JsonNetJsonConverter.cs index 5d75568f98..ae1f55a42a 100644 --- a/src/Npgsql.Json.NET/Internal/JsonNetJsonConverter.cs +++ b/src/Npgsql.Json.NET/Internal/JsonNetJsonConverter.cs @@ -5,10 +5,10 @@ using System.Threading; using System.Threading.Tasks; using Newtonsoft.Json; -using Npgsql.Internal; +using YBNpgsql.Internal; using JsonSerializer = Newtonsoft.Json.JsonSerializer; -namespace Npgsql.Json.NET.Internal; +namespace YBNpgsql.Json.NET.Internal; sealed class JsonNetJsonConverter(bool jsonb, Encoding textEncoding, JsonSerializerSettings settings) : PgStreamingConverter { diff --git a/src/Npgsql.Json.NET/Internal/JsonNetPocoTypeInfoResolverFactory.cs b/src/Npgsql.Json.NET/Internal/JsonNetPocoTypeInfoResolverFactory.cs index c038f17aab..c3005a2249 100644 --- a/src/Npgsql.Json.NET/Internal/JsonNetPocoTypeInfoResolverFactory.cs +++ b/src/Npgsql.Json.NET/Internal/JsonNetPocoTypeInfoResolverFactory.cs @@ -2,10 +2,10 @@ using System.Diagnostics.CodeAnalysis; using System.Text; using Newtonsoft.Json; -using Npgsql.Internal; -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.Json.NET.Internal; +namespace YBNpgsql.Json.NET.Internal; [RequiresUnreferencedCode("Json serializer may perform reflection on trimmed types.")] [RequiresDynamicCode("Serializing arbitrary types to json can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")] diff --git a/src/Npgsql.Json.NET/Internal/JsonNetTypeInfoResolverFactory.cs b/src/Npgsql.Json.NET/Internal/JsonNetTypeInfoResolverFactory.cs index be2e0a3ba7..03bbe25eec 100644 --- a/src/Npgsql.Json.NET/Internal/JsonNetTypeInfoResolverFactory.cs +++ b/src/Npgsql.Json.NET/Internal/JsonNetTypeInfoResolverFactory.cs @@ -1,10 +1,10 @@ using System; using Newtonsoft.Json; using Newtonsoft.Json.Linq; -using Npgsql.Internal; -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.Json.NET.Internal; +namespace YBNpgsql.Json.NET.Internal; sealed class JsonNetTypeInfoResolverFactory(JsonSerializerSettings? settings = null) : PgTypeInfoResolverFactory { diff --git a/src/Npgsql.Json.NET/NpgsqlJsonNetExtensions.cs b/src/Npgsql.Json.NET/NpgsqlJsonNetExtensions.cs index 89c8d21603..90153cad2a 100644 --- a/src/Npgsql.Json.NET/NpgsqlJsonNetExtensions.cs +++ b/src/Npgsql.Json.NET/NpgsqlJsonNetExtensions.cs @@ -1,12 +1,12 @@ using System; using System.Diagnostics.CodeAnalysis; -using Npgsql.TypeMapping; -using NpgsqlTypes; +using YBNpgsql.TypeMapping; +using YBNpgsqlTypes; using Newtonsoft.Json; -using Npgsql.Json.NET.Internal; +using YBNpgsql.Json.NET.Internal; // ReSharper disable once CheckNamespace -namespace Npgsql; +namespace YBNpgsql; /// /// Extension allowing adding the Json.NET plugin to an Npgsql type mapper. diff --git a/src/Npgsql.Json.NET/PublicAPI.Shipped.txt b/src/Npgsql.Json.NET/PublicAPI.Shipped.txt index 912eb76bcb..09f3cb8938 100644 --- a/src/Npgsql.Json.NET/PublicAPI.Shipped.txt +++ b/src/Npgsql.Json.NET/PublicAPI.Shipped.txt @@ -1,3 +1,3 @@ #nullable enable -Npgsql.NpgsqlJsonNetExtensions -static Npgsql.NpgsqlJsonNetExtensions.UseJsonNet(this Npgsql.TypeMapping.INpgsqlTypeMapper! mapper, Newtonsoft.Json.JsonSerializerSettings? settings = null, System.Type![]? jsonbClrTypes = null, System.Type![]? jsonClrTypes = null) -> Npgsql.TypeMapping.INpgsqlTypeMapper! +YBNpgsql.NpgsqlJsonNetExtensions +static YBNpgsql.NpgsqlJsonNetExtensions.UseJsonNet(this YBNpgsql.TypeMapping.INpgsqlTypeMapper! mapper, Newtonsoft.Json.JsonSerializerSettings? settings = null, System.Type![]? jsonbClrTypes = null, System.Type![]? jsonClrTypes = null) -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! diff --git a/src/Npgsql.Json.NET/PublicAPI.Unshipped.txt b/src/Npgsql.Json.NET/PublicAPI.Unshipped.txt index f4557570e1..e1199e827b 100644 --- a/src/Npgsql.Json.NET/PublicAPI.Unshipped.txt +++ b/src/Npgsql.Json.NET/PublicAPI.Unshipped.txt @@ -1,2 +1,2 @@ #nullable enable -static Npgsql.NpgsqlJsonNetExtensions.UseJsonNet(this TMapper mapper, Newtonsoft.Json.JsonSerializerSettings? settings = null, System.Type![]? jsonbClrTypes = null, System.Type![]? jsonClrTypes = null) -> TMapper +static YBNpgsql.NpgsqlJsonNetExtensions.UseJsonNet(this TMapper mapper, Newtonsoft.Json.JsonSerializerSettings? settings = null, System.Type![]? jsonbClrTypes = null, System.Type![]? jsonClrTypes = null) -> TMapper diff --git a/src/Npgsql.NetTopologySuite/Internal/NetTopologySuiteConverter.cs b/src/Npgsql.NetTopologySuite/Internal/NetTopologySuiteConverter.cs index 45597e7059..88bf0c4532 100644 --- a/src/Npgsql.NetTopologySuite/Internal/NetTopologySuiteConverter.cs +++ b/src/Npgsql.NetTopologySuite/Internal/NetTopologySuiteConverter.cs @@ -4,9 +4,9 @@ using System.Threading.Tasks; using NetTopologySuite.Geometries; using NetTopologySuite.IO; -using Npgsql.Internal; +using YBNpgsql.Internal; -namespace Npgsql.NetTopologySuite.Internal; +namespace YBNpgsql.NetTopologySuite.Internal; sealed class NetTopologySuiteConverter : PgStreamingConverter where T : Geometry diff --git a/src/Npgsql.NetTopologySuite/Internal/NetTopologySuiteTypeInfoResolverFactory.cs b/src/Npgsql.NetTopologySuite/Internal/NetTopologySuiteTypeInfoResolverFactory.cs index e533d62207..43f9e64d11 100644 --- a/src/Npgsql.NetTopologySuite/Internal/NetTopologySuiteTypeInfoResolverFactory.cs +++ b/src/Npgsql.NetTopologySuite/Internal/NetTopologySuiteTypeInfoResolverFactory.cs @@ -2,10 +2,10 @@ using NetTopologySuite; using NetTopologySuite.Geometries; using NetTopologySuite.IO; -using Npgsql.Internal; -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.NetTopologySuite.Internal; +namespace YBNpgsql.NetTopologySuite.Internal; sealed class NetTopologySuiteTypeInfoResolverFactory( CoordinateSequenceFactory? coordinateSequenceFactory, diff --git a/src/Npgsql.NetTopologySuite/Npgsql.NetTopologySuite.csproj b/src/Npgsql.NetTopologySuite/Npgsql.NetTopologySuite.csproj index 214f4bd72e..9b223db948 100644 --- a/src/Npgsql.NetTopologySuite/Npgsql.NetTopologySuite.csproj +++ b/src/Npgsql.NetTopologySuite/Npgsql.NetTopologySuite.csproj @@ -1,9 +1,11 @@  + YBNpgsql.NetTopologySuite Shay Rojansky;Yoh Deadfall NetTopologySuite plugin for Npgsql, allowing mapping of PostGIS geometry types to NetTopologySuite types. - npgsql;postgresql;postgres;postgis;spatial;nettopologysuite;nts;ado;ado.net;database;sql + npgsql;postgresql;postgres;postgis;spatial;nettopologysuite;nts;ado;ado.net;database;sql;yugabyte README.md + YBNpgsql.NetTopologySuite net6.0 net8.0 $(NoWarn);NU5104 diff --git a/src/Npgsql.NetTopologySuite/NpgsqlNetTopologySuiteExtensions.cs b/src/Npgsql.NetTopologySuite/NpgsqlNetTopologySuiteExtensions.cs index 76afcf886c..24c02eb211 100644 --- a/src/Npgsql.NetTopologySuite/NpgsqlNetTopologySuiteExtensions.cs +++ b/src/Npgsql.NetTopologySuite/NpgsqlNetTopologySuiteExtensions.cs @@ -1,9 +1,9 @@ using NetTopologySuite.Geometries; -using Npgsql.NetTopologySuite.Internal; -using Npgsql.TypeMapping; +using YBNpgsql.NetTopologySuite.Internal; +using YBNpgsql.TypeMapping; // ReSharper disable once CheckNamespace -namespace Npgsql; +namespace YBNpgsql; /// /// Extension allowing adding the NetTopologySuite plugin to an Npgsql type mapper. diff --git a/src/Npgsql.NetTopologySuite/PublicAPI.Shipped.txt b/src/Npgsql.NetTopologySuite/PublicAPI.Shipped.txt index a9ca3382e6..9b90242d0b 100644 --- a/src/Npgsql.NetTopologySuite/PublicAPI.Shipped.txt +++ b/src/Npgsql.NetTopologySuite/PublicAPI.Shipped.txt @@ -1,3 +1,3 @@ #nullable enable -Npgsql.NpgsqlNetTopologySuiteExtensions -static Npgsql.NpgsqlNetTopologySuiteExtensions.UseNetTopologySuite(this Npgsql.TypeMapping.INpgsqlTypeMapper! mapper, NetTopologySuite.Geometries.CoordinateSequenceFactory? coordinateSequenceFactory = null, NetTopologySuite.Geometries.PrecisionModel? precisionModel = null, NetTopologySuite.Geometries.Ordinates handleOrdinates = NetTopologySuite.Geometries.Ordinates.None, bool geographyAsDefault = false) -> Npgsql.TypeMapping.INpgsqlTypeMapper! +YBNpgsql.NpgsqlNetTopologySuiteExtensions +static YBNpgsql.NpgsqlNetTopologySuiteExtensions.UseNetTopologySuite(this YBNpgsql.TypeMapping.INpgsqlTypeMapper! mapper, NetTopologySuite.Geometries.CoordinateSequenceFactory? coordinateSequenceFactory = null, NetTopologySuite.Geometries.PrecisionModel? precisionModel = null, NetTopologySuite.Geometries.Ordinates handleOrdinates = NetTopologySuite.Geometries.Ordinates.None, bool geographyAsDefault = false) -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! diff --git a/src/Npgsql.NetTopologySuite/PublicAPI.Unshipped.txt b/src/Npgsql.NetTopologySuite/PublicAPI.Unshipped.txt index ab78bca1af..a5fcda9591 100644 --- a/src/Npgsql.NetTopologySuite/PublicAPI.Unshipped.txt +++ b/src/Npgsql.NetTopologySuite/PublicAPI.Unshipped.txt @@ -1,2 +1,2 @@ #nullable enable -static Npgsql.NpgsqlNetTopologySuiteExtensions.UseNetTopologySuite(this TMapper mapper, NetTopologySuite.Geometries.CoordinateSequenceFactory? coordinateSequenceFactory = null, NetTopologySuite.Geometries.PrecisionModel? precisionModel = null, NetTopologySuite.Geometries.Ordinates handleOrdinates = NetTopologySuite.Geometries.Ordinates.None, bool geographyAsDefault = false) -> TMapper +static YBNpgsql.NpgsqlNetTopologySuiteExtensions.UseNetTopologySuite(this TMapper mapper, NetTopologySuite.Geometries.CoordinateSequenceFactory? coordinateSequenceFactory = null, NetTopologySuite.Geometries.PrecisionModel? precisionModel = null, NetTopologySuite.Geometries.Ordinates handleOrdinates = NetTopologySuite.Geometries.Ordinates.None, bool geographyAsDefault = false) -> TMapper diff --git a/src/Npgsql.NetTopologySuite/README.md b/src/Npgsql.NetTopologySuite/README.md index c38f46c10b..050033f245 100644 --- a/src/Npgsql.NetTopologySuite/README.md +++ b/src/Npgsql.NetTopologySuite/README.md @@ -1,11 +1,11 @@ -Npgsql is the open source .NET data provider for PostgreSQL. It allows you to connect and interact with PostgreSQL server using .NET. +NpgsqlYugabyteDB is the open source .NET data provider for PostgreSQL. It allows you to connect and interact with YugabyteDB server using .NET. -This package is an Npgsql plugin which allows you to interact with spatial data provided by the PostgreSQL [PostGIS extension](https://postgis.net); PostGIS is a mature, standard extension considered to provide top-of-the-line database spatial features. On the .NET side, the plugin adds support for the types from the [NetTopologySuite library](https://github.com/NetTopologySuite/NetTopologySuite), allowing you to read and write them directly to PostgreSQL. +This package is an NpgsqlYugabyteDB plugin which allows you to interact with spatial data provided by the PostgreSQL [PostGIS extension](https://postgis.net); PostGIS is a mature, standard extension considered to provide top-of-the-line database spatial features. On the .NET side, the plugin adds support for the types from the [NetTopologySuite library](https://github.com/NetTopologySuite/NetTopologySuite), allowing you to read and write them directly to PostgreSQL. To use the NetTopologySuite plugin, add a dependency on this package and create a NpgsqlDataSource. ```csharp -using Npgsql; +using YBNpgsql; using NetTopologySuite.Geometries; var dataSourceBuilder = new NpgsqlDataSourceBuilder(ConnectionString); diff --git a/src/Npgsql.NodaTime/Internal/DateIntervalConverter.cs b/src/Npgsql.NodaTime/Internal/DateIntervalConverter.cs index 1bf2d027df..306fca31ee 100644 --- a/src/Npgsql.NodaTime/Internal/DateIntervalConverter.cs +++ b/src/Npgsql.NodaTime/Internal/DateIntervalConverter.cs @@ -1,10 +1,10 @@ using System.Threading; using System.Threading.Tasks; using NodaTime; -using Npgsql.Internal; -using NpgsqlTypes; +using YBNpgsql.Internal; +using YBNpgsqlTypes; -namespace Npgsql.NodaTime.Internal; +namespace YBNpgsql.NodaTime.Internal; public class DateIntervalConverter(PgConverter> rangeConverter, bool dateTimeInfinityConversions) : PgStreamingConverter diff --git a/src/Npgsql.NodaTime/Internal/DurationConverter.cs b/src/Npgsql.NodaTime/Internal/DurationConverter.cs index 940ef29464..c3ce8627ff 100644 --- a/src/Npgsql.NodaTime/Internal/DurationConverter.cs +++ b/src/Npgsql.NodaTime/Internal/DurationConverter.cs @@ -1,9 +1,9 @@ using System; using NodaTime; -using Npgsql.Internal; -using Npgsql.NodaTime.Properties; +using YBNpgsql.Internal; +using YBNpgsql.NodaTime.Properties; -namespace Npgsql.NodaTime.Internal; +namespace YBNpgsql.NodaTime.Internal; sealed class DurationConverter : PgBufferedConverter { diff --git a/src/Npgsql.NodaTime/Internal/IntervalConverter.cs b/src/Npgsql.NodaTime/Internal/IntervalConverter.cs index 7da4aa401c..840ea47fe3 100644 --- a/src/Npgsql.NodaTime/Internal/IntervalConverter.cs +++ b/src/Npgsql.NodaTime/Internal/IntervalConverter.cs @@ -1,10 +1,10 @@ using System.Threading; using System.Threading.Tasks; using NodaTime; -using Npgsql.Internal; -using NpgsqlTypes; +using YBNpgsql.Internal; +using YBNpgsqlTypes; -namespace Npgsql.NodaTime.Internal; +namespace YBNpgsql.NodaTime.Internal; public class IntervalConverter(PgConverter> rangeConverter) : PgStreamingConverter { diff --git a/src/Npgsql.NodaTime/Internal/LegacyConverters.cs b/src/Npgsql.NodaTime/Internal/LegacyConverters.cs index c0b4b82268..080c2c595a 100644 --- a/src/Npgsql.NodaTime/Internal/LegacyConverters.cs +++ b/src/Npgsql.NodaTime/Internal/LegacyConverters.cs @@ -1,9 +1,9 @@ using System; using NodaTime; -using Npgsql.Internal; -using static Npgsql.NodaTime.Internal.NodaTimeUtils; +using YBNpgsql.Internal; +using static YBNpgsql.NodaTime.Internal.NodaTimeUtils; -namespace Npgsql.NodaTime.Internal; +namespace YBNpgsql.NodaTime.Internal; sealed class LegacyTimestampTzZonedDateTimeConverter(DateTimeZone dateTimeZone, bool dateTimeInfinityConversions) : PgBufferedConverter diff --git a/src/Npgsql.NodaTime/Internal/LocalDateConverter.cs b/src/Npgsql.NodaTime/Internal/LocalDateConverter.cs index ffaa6e8d45..55482a90eb 100644 --- a/src/Npgsql.NodaTime/Internal/LocalDateConverter.cs +++ b/src/Npgsql.NodaTime/Internal/LocalDateConverter.cs @@ -1,9 +1,9 @@ using System; using NodaTime; -using Npgsql.Internal; -using Npgsql.NodaTime.Properties; +using YBNpgsql.Internal; +using YBNpgsql.NodaTime.Properties; -namespace Npgsql.NodaTime.Internal; +namespace YBNpgsql.NodaTime.Internal; sealed class LocalDateConverter(bool dateTimeInfinityConversions) : PgBufferedConverter { diff --git a/src/Npgsql.NodaTime/Internal/LocalTimeConverter.cs b/src/Npgsql.NodaTime/Internal/LocalTimeConverter.cs index 5849f45dfc..29ce709669 100644 --- a/src/Npgsql.NodaTime/Internal/LocalTimeConverter.cs +++ b/src/Npgsql.NodaTime/Internal/LocalTimeConverter.cs @@ -1,7 +1,7 @@ using NodaTime; -using Npgsql.Internal; +using YBNpgsql.Internal; -namespace Npgsql.NodaTime.Internal; +namespace YBNpgsql.NodaTime.Internal; sealed class LocalTimeConverter : PgBufferedConverter { diff --git a/src/Npgsql.NodaTime/Internal/NodaTimeTypeInfoResolverFactory.Multirange.cs b/src/Npgsql.NodaTime/Internal/NodaTimeTypeInfoResolverFactory.Multirange.cs index 42c6360dad..e2b1f5ec0c 100644 --- a/src/Npgsql.NodaTime/Internal/NodaTimeTypeInfoResolverFactory.Multirange.cs +++ b/src/Npgsql.NodaTime/Internal/NodaTimeTypeInfoResolverFactory.Multirange.cs @@ -1,12 +1,12 @@ using System; using System.Collections.Generic; using NodaTime; -using Npgsql.Internal; -using Npgsql.Internal.Postgres; -using NpgsqlTypes; -using static Npgsql.Internal.PgConverterFactory; +using YBNpgsql.Internal; +using YBNpgsql.Internal.Postgres; +using YBNpgsqlTypes; +using static YBNpgsql.Internal.PgConverterFactory; -namespace Npgsql.NodaTime.Internal; +namespace YBNpgsql.NodaTime.Internal; sealed partial class NodaTimeTypeInfoResolverFactory { diff --git a/src/Npgsql.NodaTime/Internal/NodaTimeTypeInfoResolverFactory.Range.cs b/src/Npgsql.NodaTime/Internal/NodaTimeTypeInfoResolverFactory.Range.cs index f62669333c..25a0fd6a29 100644 --- a/src/Npgsql.NodaTime/Internal/NodaTimeTypeInfoResolverFactory.Range.cs +++ b/src/Npgsql.NodaTime/Internal/NodaTimeTypeInfoResolverFactory.Range.cs @@ -1,11 +1,11 @@ using System; using NodaTime; -using Npgsql.Internal; -using Npgsql.Internal.Postgres; -using NpgsqlTypes; -using static Npgsql.Internal.PgConverterFactory; +using YBNpgsql.Internal; +using YBNpgsql.Internal.Postgres; +using YBNpgsqlTypes; +using static YBNpgsql.Internal.PgConverterFactory; -namespace Npgsql.NodaTime.Internal; +namespace YBNpgsql.NodaTime.Internal; sealed partial class NodaTimeTypeInfoResolverFactory { diff --git a/src/Npgsql.NodaTime/Internal/NodaTimeTypeInfoResolverFactory.cs b/src/Npgsql.NodaTime/Internal/NodaTimeTypeInfoResolverFactory.cs index b010ce58a6..61d28669b6 100644 --- a/src/Npgsql.NodaTime/Internal/NodaTimeTypeInfoResolverFactory.cs +++ b/src/Npgsql.NodaTime/Internal/NodaTimeTypeInfoResolverFactory.cs @@ -1,10 +1,10 @@ using System; using NodaTime; -using Npgsql.Internal; -using Npgsql.Internal.Postgres; -using static Npgsql.NodaTime.Internal.NodaTimeUtils; +using YBNpgsql.Internal; +using YBNpgsql.Internal.Postgres; +using static YBNpgsql.NodaTime.Internal.NodaTimeUtils; -namespace Npgsql.NodaTime.Internal; +namespace YBNpgsql.NodaTime.Internal; sealed partial class NodaTimeTypeInfoResolverFactory : PgTypeInfoResolverFactory { diff --git a/src/Npgsql.NodaTime/Internal/NodaTimeUtils.cs b/src/Npgsql.NodaTime/Internal/NodaTimeUtils.cs index 1cf433759a..485a9f0c1d 100644 --- a/src/Npgsql.NodaTime/Internal/NodaTimeUtils.cs +++ b/src/Npgsql.NodaTime/Internal/NodaTimeUtils.cs @@ -1,8 +1,8 @@ using System; using NodaTime; -using Npgsql.NodaTime.Properties; +using YBNpgsql.NodaTime.Properties; -namespace Npgsql.NodaTime.Internal; +namespace YBNpgsql.NodaTime.Internal; static class NodaTimeUtils { diff --git a/src/Npgsql.NodaTime/Internal/OffsetTimeConverter.cs b/src/Npgsql.NodaTime/Internal/OffsetTimeConverter.cs index 7c5499c2f8..3e0001b07e 100644 --- a/src/Npgsql.NodaTime/Internal/OffsetTimeConverter.cs +++ b/src/Npgsql.NodaTime/Internal/OffsetTimeConverter.cs @@ -1,7 +1,7 @@ using NodaTime; -using Npgsql.Internal; +using YBNpgsql.Internal; -namespace Npgsql.NodaTime.Internal; +namespace YBNpgsql.NodaTime.Internal; sealed class OffsetTimeConverter : PgBufferedConverter { diff --git a/src/Npgsql.NodaTime/Internal/PeriodConverter.cs b/src/Npgsql.NodaTime/Internal/PeriodConverter.cs index 1d768109c4..e680c1d284 100644 --- a/src/Npgsql.NodaTime/Internal/PeriodConverter.cs +++ b/src/Npgsql.NodaTime/Internal/PeriodConverter.cs @@ -1,9 +1,9 @@ using System; using NodaTime; -using Npgsql.Internal; -using Npgsql.NodaTime.Properties; +using YBNpgsql.Internal; +using YBNpgsql.NodaTime.Properties; -namespace Npgsql.NodaTime.Internal; +namespace YBNpgsql.NodaTime.Internal; sealed class PeriodConverter(bool dateTimeInfinityConversions) : PgBufferedConverter { diff --git a/src/Npgsql.NodaTime/Internal/TimestampConverters.cs b/src/Npgsql.NodaTime/Internal/TimestampConverters.cs index 4ac841c80e..40e07c3f75 100644 --- a/src/Npgsql.NodaTime/Internal/TimestampConverters.cs +++ b/src/Npgsql.NodaTime/Internal/TimestampConverters.cs @@ -1,9 +1,9 @@ using System; using NodaTime; -using Npgsql.Internal; -using static Npgsql.NodaTime.Internal.NodaTimeUtils; +using YBNpgsql.Internal; +using static YBNpgsql.NodaTime.Internal.NodaTimeUtils; -namespace Npgsql.NodaTime.Internal; +namespace YBNpgsql.NodaTime.Internal; sealed class InstantConverter(bool dateTimeInfinityConversions) : PgBufferedConverter { diff --git a/src/Npgsql.NodaTime/Npgsql.NodaTime.csproj b/src/Npgsql.NodaTime/Npgsql.NodaTime.csproj index 3e4d826188..8859cafd45 100644 --- a/src/Npgsql.NodaTime/Npgsql.NodaTime.csproj +++ b/src/Npgsql.NodaTime/Npgsql.NodaTime.csproj @@ -1,9 +1,11 @@  + YBNpgsql.NodaTime Shay Rojansky - NodaTime plugin for Npgsql, allowing mapping of PostgreSQL date/time types to NodaTime types. - npgsql;postgresql;postgres;nodatime;date;time;ado;ado;net;database;sql + NodaTime plugin for NpgsqlYugabyteDB, allowing mapping of YugabyteDB date/time types to NodaTime types. + npgsql;postgresql;postgres;nodatime;date;time;ado;ado;net;database;sql;yugabytedb README.md + YBNpgsql.NodaTime net6.0 net8.0 $(NoWarn);NPG9001 diff --git a/src/Npgsql.NodaTime/NpgsqlNodaTimeExtensions.cs b/src/Npgsql.NodaTime/NpgsqlNodaTimeExtensions.cs index 585143f3fe..a08671c857 100644 --- a/src/Npgsql.NodaTime/NpgsqlNodaTimeExtensions.cs +++ b/src/Npgsql.NodaTime/NpgsqlNodaTimeExtensions.cs @@ -1,8 +1,8 @@ -using Npgsql.NodaTime.Internal; -using Npgsql.TypeMapping; +using YBNpgsql.NodaTime.Internal; +using YBNpgsql.TypeMapping; // ReSharper disable once CheckNamespace -namespace Npgsql; +namespace YBNpgsql; /// /// Extension adding the NodaTime plugin to an Npgsql type mapper. diff --git a/src/Npgsql.NodaTime/Properties/NpgsqlNodaTimeStrings.Designer.cs b/src/Npgsql.NodaTime/Properties/NpgsqlNodaTimeStrings.Designer.cs index ab29289106..f407f623e1 100644 --- a/src/Npgsql.NodaTime/Properties/NpgsqlNodaTimeStrings.Designer.cs +++ b/src/Npgsql.NodaTime/Properties/NpgsqlNodaTimeStrings.Designer.cs @@ -7,7 +7,7 @@ // //------------------------------------------------------------------------------ -namespace Npgsql.NodaTime.Properties { +namespace YBNpgsql.NodaTime.Properties { using System; diff --git a/src/Npgsql.NodaTime/PublicAPI.Shipped.txt b/src/Npgsql.NodaTime/PublicAPI.Shipped.txt index 998522184e..01f7dcde78 100644 --- a/src/Npgsql.NodaTime/PublicAPI.Shipped.txt +++ b/src/Npgsql.NodaTime/PublicAPI.Shipped.txt @@ -1,3 +1,3 @@ #nullable enable -Npgsql.NpgsqlNodaTimeExtensions -static Npgsql.NpgsqlNodaTimeExtensions.UseNodaTime(this Npgsql.TypeMapping.INpgsqlTypeMapper! mapper) -> Npgsql.TypeMapping.INpgsqlTypeMapper! +YBNpgsql.NpgsqlNodaTimeExtensions +static YBNpgsql.NpgsqlNodaTimeExtensions.UseNodaTime(this YBNpgsql.TypeMapping.INpgsqlTypeMapper! mapper) -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! diff --git a/src/Npgsql.NodaTime/PublicAPI.Unshipped.txt b/src/Npgsql.NodaTime/PublicAPI.Unshipped.txt index f1ab4e3c0c..1ac64b772a 100644 --- a/src/Npgsql.NodaTime/PublicAPI.Unshipped.txt +++ b/src/Npgsql.NodaTime/PublicAPI.Unshipped.txt @@ -1,2 +1,2 @@ #nullable enable -static Npgsql.NpgsqlNodaTimeExtensions.UseNodaTime(this TMapper mapper) -> TMapper +static YBNpgsql.NpgsqlNodaTimeExtensions.UseNodaTime(this TMapper mapper) -> TMapper diff --git a/src/Npgsql.NodaTime/README.md b/src/Npgsql.NodaTime/README.md index d24070920b..4f93b36f03 100644 --- a/src/Npgsql.NodaTime/README.md +++ b/src/Npgsql.NodaTime/README.md @@ -1,11 +1,11 @@ -Npgsql is the open source .NET data provider for PostgreSQL. It allows you to connect and interact with PostgreSQL server using .NET. +NpgsqlYugabyteDB is the open source .NET data provider for YugabyteDB. It allows you to connect and interact with YugabyteDB server using .NET. -This package is an Npgsql plugin which allows you to use the [NodaTime](https://nodatime.org) date/time library when interacting with PostgreSQL; this provides a better and safer API for dealing with date and time data. +This package is an NpgsqlYugabyteDB plugin which allows you to use the [NodaTime](https://nodatime.org) date/time library when interacting with YugabyteDB; this provides a better and safer API for dealing with date and time data. -To use the NodaTime plugin, add a dependency on this package and create a NpgsqlDataSource. Once this is done, you can use NodaTime types when interacting with PostgreSQL, just as you would use e.g. `DateTime`: +To use the NodaTime plugin, add a dependency on this package and create a NpgsqlDataSource. Once this is done, you can use NodaTime types when interacting with YugabyteDB, just as you would use e.g. `DateTime`: ```csharp -using Npgsql; +using YBNpgsql; var dataSourceBuilder = new NpgsqlDataSourceBuilder(ConnectionString); diff --git a/src/Npgsql.OpenTelemetry/MeterProviderBuilderExtensions.cs b/src/Npgsql.OpenTelemetry/MeterProviderBuilderExtensions.cs index 90f81c4cc3..1ef75466b7 100644 --- a/src/Npgsql.OpenTelemetry/MeterProviderBuilderExtensions.cs +++ b/src/Npgsql.OpenTelemetry/MeterProviderBuilderExtensions.cs @@ -2,7 +2,7 @@ using OpenTelemetry.Metrics; // ReSharper disable once CheckNamespace -namespace Npgsql; +namespace YBNpgsql; /// /// Extension method for setting up Npgsql OpenTelemetry metrics. diff --git a/src/Npgsql.OpenTelemetry/TracerProviderBuilderExtensions.cs b/src/Npgsql.OpenTelemetry/TracerProviderBuilderExtensions.cs index 1568d2d080..a3d245739f 100644 --- a/src/Npgsql.OpenTelemetry/TracerProviderBuilderExtensions.cs +++ b/src/Npgsql.OpenTelemetry/TracerProviderBuilderExtensions.cs @@ -2,7 +2,7 @@ using OpenTelemetry.Trace; // ReSharper disable once CheckNamespace -namespace Npgsql; +namespace YBNpgsql; /// /// Extension method for setting up Npgsql OpenTelemetry tracing. diff --git a/src/Npgsql.SourceGenerators/EmbeddedResource.cs b/src/Npgsql.SourceGenerators/EmbeddedResource.cs index 6f019d3962..00bfe3200a 100644 --- a/src/Npgsql.SourceGenerators/EmbeddedResource.cs +++ b/src/Npgsql.SourceGenerators/EmbeddedResource.cs @@ -2,7 +2,7 @@ using System.IO; using System.Reflection; -namespace Npgsql.SourceGenerators; +namespace YBNpgsql.SourceGenerators; static class EmbeddedResource { diff --git a/src/Npgsql.SourceGenerators/NpgsqlConnectionStringBuilder.snbtxt b/src/Npgsql.SourceGenerators/NpgsqlConnectionStringBuilder.snbtxt index 9ad343124c..0f77f29a22 100644 --- a/src/Npgsql.SourceGenerators/NpgsqlConnectionStringBuilder.snbtxt +++ b/src/Npgsql.SourceGenerators/NpgsqlConnectionStringBuilder.snbtxt @@ -6,7 +6,7 @@ using System.Collections.Generic; #pragma warning disable RS0016 // Add public types and members to the declared API #pragma warning disable CS0618 // Member is obsolete -namespace Npgsql +namespace YBNpgsql { public sealed partial class NpgsqlConnectionStringBuilder { diff --git a/src/Npgsql.SourceGenerators/NpgsqlConnectionStringBuilderSourceGenerator.cs b/src/Npgsql.SourceGenerators/NpgsqlConnectionStringBuilderSourceGenerator.cs index 665789e74e..b77f1816b2 100644 --- a/src/Npgsql.SourceGenerators/NpgsqlConnectionStringBuilderSourceGenerator.cs +++ b/src/Npgsql.SourceGenerators/NpgsqlConnectionStringBuilderSourceGenerator.cs @@ -6,7 +6,7 @@ using Microsoft.CodeAnalysis.Text; using Scriban; -namespace Npgsql.SourceGenerators; +namespace YBNpgsql.SourceGenerators; [Generator] public class NpgsqlConnectionStringBuilderSourceGenerator : ISourceGenerator @@ -23,16 +23,16 @@ public void Initialize(GeneratorInitializationContext context) {} public void Execute(GeneratorExecutionContext context) { - if (context.Compilation.Assembly.GetTypeByMetadataName("Npgsql.NpgsqlConnectionStringBuilder") is not { } type) + if (context.Compilation.Assembly.GetTypeByMetadataName("YBNpgsql.NpgsqlConnectionStringBuilder") is not { } type) return; - if (context.Compilation.Assembly.GetTypeByMetadataName("Npgsql.NpgsqlConnectionStringPropertyAttribute") is not + if (context.Compilation.Assembly.GetTypeByMetadataName("YBNpgsql.NpgsqlConnectionStringPropertyAttribute") is not { } connectionStringPropertyAttribute) { context.ReportDiagnostic(Diagnostic.Create( InternalError, location: null, - "Could not find Npgsql.NpgsqlConnectionStringPropertyAttribute")); + "Could not find YBNpgsql.NpgsqlConnectionStringPropertyAttribute")); return; } diff --git a/src/Npgsql/BackendMessages/AuthenticationMessages.cs b/src/Npgsql/BackendMessages/AuthenticationMessages.cs index c52da80d33..06d5315b61 100644 --- a/src/Npgsql/BackendMessages/AuthenticationMessages.cs +++ b/src/Npgsql/BackendMessages/AuthenticationMessages.cs @@ -1,9 +1,9 @@ using System; using System.Collections.Generic; using Microsoft.Extensions.Logging; -using Npgsql.Internal; +using YBNpgsql.Internal; -namespace Npgsql.BackendMessages; +namespace YBNpgsql.BackendMessages; abstract class AuthenticationRequestMessage : IBackendMessage { diff --git a/src/Npgsql/BackendMessages/BackendKeyDataMessage.cs b/src/Npgsql/BackendMessages/BackendKeyDataMessage.cs index 2140048c38..85569202af 100644 --- a/src/Npgsql/BackendMessages/BackendKeyDataMessage.cs +++ b/src/Npgsql/BackendMessages/BackendKeyDataMessage.cs @@ -1,6 +1,6 @@ -using Npgsql.Internal; +using YBNpgsql.Internal; -namespace Npgsql.BackendMessages; +namespace YBNpgsql.BackendMessages; sealed class BackendKeyDataMessage : IBackendMessage { diff --git a/src/Npgsql/BackendMessages/BindCompleteMessage.cs b/src/Npgsql/BackendMessages/BindCompleteMessage.cs index f6dbfce1bb..f23cb0a0b1 100644 --- a/src/Npgsql/BackendMessages/BindCompleteMessage.cs +++ b/src/Npgsql/BackendMessages/BindCompleteMessage.cs @@ -1,4 +1,4 @@ -namespace Npgsql.BackendMessages; +namespace YBNpgsql.BackendMessages; sealed class BindCompleteMessage : IBackendMessage { diff --git a/src/Npgsql/BackendMessages/CloseCompletedMessage.cs b/src/Npgsql/BackendMessages/CloseCompletedMessage.cs index 9443fd3e97..dc276f6883 100644 --- a/src/Npgsql/BackendMessages/CloseCompletedMessage.cs +++ b/src/Npgsql/BackendMessages/CloseCompletedMessage.cs @@ -1,4 +1,4 @@ -namespace Npgsql.BackendMessages; +namespace YBNpgsql.BackendMessages; sealed class CloseCompletedMessage : IBackendMessage { diff --git a/src/Npgsql/BackendMessages/CommandCompleteMessage.cs b/src/Npgsql/BackendMessages/CommandCompleteMessage.cs index 98154d1a7e..691414e947 100644 --- a/src/Npgsql/BackendMessages/CommandCompleteMessage.cs +++ b/src/Npgsql/BackendMessages/CommandCompleteMessage.cs @@ -1,8 +1,8 @@ using System; using System.Buffers.Text; -using Npgsql.Internal; +using YBNpgsql.Internal; -namespace Npgsql.BackendMessages; +namespace YBNpgsql.BackendMessages; sealed class CommandCompleteMessage : IBackendMessage { diff --git a/src/Npgsql/BackendMessages/CopyMessages.cs b/src/Npgsql/BackendMessages/CopyMessages.cs index e7d4d6935c..7dc418a51e 100644 --- a/src/Npgsql/BackendMessages/CopyMessages.cs +++ b/src/Npgsql/BackendMessages/CopyMessages.cs @@ -1,8 +1,8 @@ using System; using System.Collections.Generic; -using Npgsql.Internal; +using YBNpgsql.Internal; -namespace Npgsql.BackendMessages; +namespace YBNpgsql.BackendMessages; abstract class CopyResponseMessageBase : IBackendMessage { diff --git a/src/Npgsql/BackendMessages/DataRowMessage.cs b/src/Npgsql/BackendMessages/DataRowMessage.cs index b4fddf9789..135a0f92ba 100644 --- a/src/Npgsql/BackendMessages/DataRowMessage.cs +++ b/src/Npgsql/BackendMessages/DataRowMessage.cs @@ -1,4 +1,4 @@ -namespace Npgsql.BackendMessages; +namespace YBNpgsql.BackendMessages; /// /// DataRow is special in that it does not parse the actual contents of the backend message, diff --git a/src/Npgsql/BackendMessages/EmptyQueryMessage.cs b/src/Npgsql/BackendMessages/EmptyQueryMessage.cs index ef190f3678..a9ac2b54cb 100644 --- a/src/Npgsql/BackendMessages/EmptyQueryMessage.cs +++ b/src/Npgsql/BackendMessages/EmptyQueryMessage.cs @@ -1,4 +1,4 @@ -namespace Npgsql.BackendMessages; +namespace YBNpgsql.BackendMessages; sealed class EmptyQueryMessage : IBackendMessage { diff --git a/src/Npgsql/BackendMessages/ErrorOrNoticeMessage.cs b/src/Npgsql/BackendMessages/ErrorOrNoticeMessage.cs index 8a22139a94..8e377bbcc6 100644 --- a/src/Npgsql/BackendMessages/ErrorOrNoticeMessage.cs +++ b/src/Npgsql/BackendMessages/ErrorOrNoticeMessage.cs @@ -1,8 +1,8 @@ using System; using Microsoft.Extensions.Logging; -using Npgsql.Internal; +using YBNpgsql.Internal; -namespace Npgsql.BackendMessages; +namespace YBNpgsql.BackendMessages; [Serializable] sealed class ErrorOrNoticeMessage diff --git a/src/Npgsql/BackendMessages/NoDataMessage.cs b/src/Npgsql/BackendMessages/NoDataMessage.cs index 884d5c4d5e..37a5dc2a4f 100644 --- a/src/Npgsql/BackendMessages/NoDataMessage.cs +++ b/src/Npgsql/BackendMessages/NoDataMessage.cs @@ -1,4 +1,4 @@ -namespace Npgsql.BackendMessages; +namespace YBNpgsql.BackendMessages; sealed class NoDataMessage : IBackendMessage { diff --git a/src/Npgsql/BackendMessages/ParameterDescriptionMessage.cs b/src/Npgsql/BackendMessages/ParameterDescriptionMessage.cs index 16c4687da5..f20d51dbbf 100644 --- a/src/Npgsql/BackendMessages/ParameterDescriptionMessage.cs +++ b/src/Npgsql/BackendMessages/ParameterDescriptionMessage.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; -using Npgsql.Internal; +using YBNpgsql.Internal; -namespace Npgsql.BackendMessages; +namespace YBNpgsql.BackendMessages; sealed class ParameterDescriptionMessage : IBackendMessage { diff --git a/src/Npgsql/BackendMessages/ParseCompleteMessage.cs b/src/Npgsql/BackendMessages/ParseCompleteMessage.cs index bb011f821a..1347b74368 100644 --- a/src/Npgsql/BackendMessages/ParseCompleteMessage.cs +++ b/src/Npgsql/BackendMessages/ParseCompleteMessage.cs @@ -1,4 +1,4 @@ -namespace Npgsql.BackendMessages; +namespace YBNpgsql.BackendMessages; sealed class ParseCompleteMessage : IBackendMessage { diff --git a/src/Npgsql/BackendMessages/PortalSuspendedMessage.cs b/src/Npgsql/BackendMessages/PortalSuspendedMessage.cs index 5da91ea831..5c7f8ef0bd 100644 --- a/src/Npgsql/BackendMessages/PortalSuspendedMessage.cs +++ b/src/Npgsql/BackendMessages/PortalSuspendedMessage.cs @@ -1,4 +1,4 @@ -namespace Npgsql.BackendMessages; +namespace YBNpgsql.BackendMessages; sealed class PortalSuspendedMessage : IBackendMessage { diff --git a/src/Npgsql/BackendMessages/ReadyForQueryMessage.cs b/src/Npgsql/BackendMessages/ReadyForQueryMessage.cs index 4d7225c422..5f8dcea807 100644 --- a/src/Npgsql/BackendMessages/ReadyForQueryMessage.cs +++ b/src/Npgsql/BackendMessages/ReadyForQueryMessage.cs @@ -1,6 +1,6 @@ -using Npgsql.Internal; +using YBNpgsql.Internal; -namespace Npgsql.BackendMessages; +namespace YBNpgsql.BackendMessages; sealed class ReadyForQueryMessage : IBackendMessage { diff --git a/src/Npgsql/BackendMessages/RowDescriptionMessage.cs b/src/Npgsql/BackendMessages/RowDescriptionMessage.cs index fd04ddfdaf..536ac88543 100644 --- a/src/Npgsql/BackendMessages/RowDescriptionMessage.cs +++ b/src/Npgsql/BackendMessages/RowDescriptionMessage.cs @@ -4,12 +4,12 @@ using System.Globalization; using System.Runtime.CompilerServices; using System.Threading; -using Npgsql.Internal; -using Npgsql.Internal.Postgres; -using Npgsql.PostgresTypes; -using Npgsql.Replication.PgOutput.Messages; +using YBNpgsql.Internal; +using YBNpgsql.Internal.Postgres; +using YBNpgsql.PostgresTypes; +using YBNpgsql.Replication.PgOutput.Messages; -namespace Npgsql.BackendMessages; +namespace YBNpgsql.BackendMessages; readonly struct ColumnInfo(PgConverterInfo converterInfo, DataFormat dataFormat, bool asObject) { diff --git a/src/Npgsql/ClusterAwareDataSource.cs b/src/Npgsql/ClusterAwareDataSource.cs new file mode 100644 index 0000000000..e94e8e4519 --- /dev/null +++ b/src/Npgsql/ClusterAwareDataSource.cs @@ -0,0 +1,872 @@ +using System; +using System.Collections; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.Diagnostics; +using System.Diagnostics.CodeAnalysis; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.Extensions.Logging; +using YBNpgsql.Internal; +using YBNpgsql.Util; + +namespace YBNpgsql; + +/// +/// For Uniform Load Balancing +/// +public class ClusterAwareDataSource: NpgsqlDataSource +{ + private static ClusterAwareDataSource? instance; + /// + /// Contains the connection pool + /// + protected static List _pools = new List(); + internal List Pools => _pools; + /// + /// Map of yb_server hosts + /// + protected Dictionary? _hostsToNodeTypeMap = null; + // volatile int _roundRobinIndex = -1; + /// + /// Stores the last time yb_servers() was called + /// + protected DateTime _lastServerFetchTime = new DateTime(0); + readonly double REFRESH_LIST_SECONDS; + readonly int MAX_REFRESH_INTERVAL = 600; + /// + /// List of unreachable hosts + /// + protected static List unreachableHostsIndices = new List(); + + /// + /// List of unreachable hosts + /// + protected static List unreachableHosts = new List(); + /// + /// Stores a boolean value for which IP Address is to be used - Public or Private + /// True = Private IPs + /// False = Public IPs + /// + protected bool? UseHostColumn = null; + + /// + /// Stores if better node is available or not + /// + protected bool HasBetterNode = false; + + /// + /// Stores a map of pool to number of connections made to the pool for the Primary nodes + /// Key = Pool + /// Value = Number of Connections to that pool + /// + protected static Dictionary poolToNumConnMapPrimary = new Dictionary(); + + /// + /// Stores a map of pool to number of connections for the Read Replica nodes + /// Key = Pool + /// Value = Number of Connections to that pool + /// + protected static Dictionary poolToNumConnMapRR = new Dictionary(); + + /// + /// Stores a map of host to their priority + /// + protected static Dictionary hostToPriorityMap = new Dictionary(); + + /// + /// Stores a map of host to their priority + /// + protected static Dictionary priorityToPoolIndexMap = new Dictionary(); + + /// + /// Connection settings + /// + protected NpgsqlConnectionStringBuilder settings; + internal NpgsqlDataSourceConfiguration dataSourceConfig; + + /// + /// List of initial hosts for control connections + /// + protected List? initialHosts; + + /// + /// Lock object + /// + protected static readonly object lockObject = new object(); + + /// + /// Key of primary placement in the allowedPlacementMap + /// + protected readonly int PRIMARY_PLACEMENTS = 1; + /// + /// Key of first fallback placement in the allowedPlacementMap + /// + protected readonly int FIRST_FALLBACK = 2; + /// + /// Key for placements not mentioned in the Toplology Keys in the allowedPlacementMap + /// + protected readonly int REST_OF_CLUSTER = 11; + /// + /// Maximum value of priority of fallback placements possible + /// + protected readonly int MAX_PREFERENCE_VALUE = 10; + /// + /// list of nodes' public IPs + /// + protected Dictionary currentPublicIps = new Dictionary(); + + /// + /// Contains a dictionary of private IPs for fallback + /// Key = Fallback priority level + /// Value = Dictionary (IP , nodeType) + /// + protected ConcurrentDictionary> fallbackPrivateIPs; + /// + /// Contains a dictionary of public IPs for fallback + /// Key = Fallback priority leve + /// Value = Dictionary (IP , nodeType) + /// + protected ConcurrentDictionary> fallbackPublicIPs; + + /// + /// To set refresh value explicitly + /// + protected internal static bool forceRefresh = false; + + /// + /// Logger instance + /// + protected readonly ILogger _connectionLogger; + internal ClusterAwareDataSource(NpgsqlConnectionStringBuilder settings, NpgsqlDataSourceConfiguration dataSourceConfig, bool useClusterAwareDataSource) + : base(settings, dataSourceConfig) + { + fallbackPrivateIPs = new ConcurrentDictionary>(); + fallbackPublicIPs = new ConcurrentDictionary>(); + this.settings = settings; + this.dataSourceConfig = dataSourceConfig; + REFRESH_LIST_SECONDS = settings.YBServersRefreshInterval > 0 && settings.YBServersRefreshInterval < MAX_REFRESH_INTERVAL + ? this.settings.YBServersRefreshInterval + : 300; + initialHosts = Settings.Host?.Split(',').ToList(); + _connectionLogger = LoggingConfiguration.ConnectionLogger; + Debug.Assert(initialHosts != null, nameof(initialHosts) + " != null"); + if(useClusterAwareDataSource) + { + instance = this; + foreach (var host in initialHosts.ToList()) + { + try + { + var controlSettings = settings; + controlSettings.Host = host.ToString(); + NpgsqlDataSource control = new UnpooledDataSource(controlSettings, dataSourceConfig); + NpgsqlConnection controlConnection = NpgsqlConnection.FromDataSource(control); + controlConnection.Open(); + lock (lockObject) + { + _hostsToNodeTypeMap = GetCurrentServers(controlConnection); + } + CreatePool(_hostsToNodeTypeMap); + controlConnection.Close(); + break; + } + catch (Exception) + { + _connectionLogger.LogDebug("Could not connect to host: {host}", host); + initialHosts.Remove(host); + if (initialHosts.Count == 0) + { + _connectionLogger.LogError("Failed to make Control Connection. No suitable host found"); + throw; + } + } + + } + } + + } + + + /// + /// Returns the current instance + /// + /// + internal static ClusterAwareDataSource? GetInstance() + { + return instance; + } + + /// + /// Create a new pool + /// + protected virtual void CreatePool(Dictionary hostsmap) + { + lock (lockObject) + { + _hostsToNodeTypeMap = hostsmap; + foreach(var host in _hostsToNodeTypeMap) + { + var flag = 0; + foreach (var pool in _pools) + { + if (host.Key.Equals(pool.Settings.Host, StringComparison.OrdinalIgnoreCase)) + { + flag = 1; + break; + } + } + + if (flag == 1) + continue; + var poolSettings = settings.Clone(); + poolSettings.Host = host.Key; + _connectionLogger.LogDebug("Adding {host} to connection pool", poolSettings.Host); + NpgsqlDataSource poolnew = settings.Pooling? new PoolingDataSource(poolSettings, dataSourceConfig): new UnpooledDataSource(poolSettings, dataSourceConfig); + _pools.Add(poolnew); + if (host.Value.Equals("primary", StringComparison.OrdinalIgnoreCase)) + { + poolToNumConnMapPrimary[poolnew] = 0; + } + else if (host.Value.Equals("read_replica", StringComparison.OrdinalIgnoreCase)) + { + poolToNumConnMapRR[poolnew] = 0; + } + } + } + } + + /// + /// Checks if a higher priority node is available + /// + /// + /// + protected virtual bool HasBetterNodeAvailable(int poolindex) + { + return false; + } + + /// + /// Returns the connection count of a server + /// + /// + public static int GetLoad(string server) + { + foreach (var pool in poolToNumConnMapPrimary) + { + if (pool.Key.Settings.Host != null && pool.Key.Settings.Host.Equals(server, StringComparison.OrdinalIgnoreCase)) + { + return pool.Value; + } + } + foreach (var pool in poolToNumConnMapRR) + { + if (pool.Key.Settings.Host != null && pool.Key.Settings.Host.Equals(server, StringComparison.OrdinalIgnoreCase)) + { + return pool.Value; + } + } + + return 0; + } + + /// + /// gets the list of hosts + /// + /// + protected Dictionary GetCurrentServers(NpgsqlConnection conn) + { + NpgsqlCommand QUERY_SERVER = new NpgsqlCommand("Select * from yb_servers()",conn); + NpgsqlDataReader reader = QUERY_SERVER.ExecuteReader(); + _lastServerFetchTime = DateTime.Now; + Dictionary currentPrivateIps = new Dictionary(); + Dictionary currentPublicIps = new Dictionary(); + var hostConnectedTo = conn.Host; + + Debug.Assert(hostConnectedTo != null, nameof(hostConnectedTo) + " != null"); + var isIpv6Addresses = hostConnectedTo.Contains(":"); + if (isIpv6Addresses) { + hostConnectedTo = hostConnectedTo.Replace("[", "").Replace("]", ""); + } + while (reader.Read()) + { + var host = reader.GetString(reader.GetOrdinal("host")); + var publicHost = reader.GetString(reader.GetOrdinal("public_ip")); + var nodeType = reader.GetString(reader.GetOrdinal("node_type")); + currentPrivateIps[host] = nodeType; + currentPublicIps[publicHost] = nodeType; + if (hostConnectedTo.Equals(host)) + { + UseHostColumn = true; + } else if (hostConnectedTo.Equals(publicHost)) { + UseHostColumn = false; + } + } + return GetPrivateOrPublicServers(currentPrivateIps, currentPublicIps); + } + + /// + /// Returns a list of private or public IPs based on the value of useHostColumn variable + /// + /// + /// + /// + protected Dictionary GetPrivateOrPublicServers(Dictionary privateHosts, Dictionary publicHosts) { + if (UseHostColumn == null) { + if (!publicHosts.Any()) + { + UseHostColumn = true; + } + + return privateHosts; + } + var currentHosts = (bool)UseHostColumn ? privateHosts : publicHosts; + return currentHosts; + } + void UpdateConnectionMap(int poolIndex, int incDec) + { + NpgsqlDataSource currPool = null!; + if (poolIndex >= 0 && poolIndex < _pools.Count) + { + currPool = _pools[poolIndex]; + } + else + { + _connectionLogger.LogWarning("Poolindex not found in pools map"); + return; + } + lock (lockObject) + { + int currentCount; + + if (poolToNumConnMapPrimary.ContainsKey(currPool)) + { + currentCount = poolToNumConnMapPrimary[currPool]; + poolToNumConnMapPrimary[currPool] += incDec; + _connectionLogger.LogTrace("Updated the current count for {host} from {currentCount} to {newCount}", + _pools[poolIndex].Settings.Host, currentCount, poolToNumConnMapPrimary[currPool]); + } + else if (poolToNumConnMapRR.ContainsKey(currPool)) + { + currentCount = poolToNumConnMapRR[currPool]; + poolToNumConnMapRR[currPool] += incDec; + _connectionLogger.LogTrace("Updated the current count for {host} from {currentCount} to {newCount}", + _pools[poolIndex].Settings.Host, currentCount, poolToNumConnMapRR[currPool]); + } + } + } + + internal override (int Total, int Idle, int Busy) Statistics { get; } + + internal override bool Refresh() + { + _connectionLogger.LogDebug("Refreshing connection"); + Debug.Assert(initialHosts != null, nameof(initialHosts) + " != null"); + if (_hostsToNodeTypeMap != null && _hostsToNodeTypeMap.Count != 0) + { + initialHosts.AddRange(_hostsToNodeTypeMap.Keys); + } + + initialHosts = initialHosts.Distinct().ToList(); + foreach (var host in initialHosts.ToList()) + { + try + { + var controlSettings = settings; + controlSettings.Host = host.ToString(); + NpgsqlDataSource control = new UnpooledDataSource(controlSettings, dataSourceConfig); + NpgsqlConnection controlConnection = NpgsqlConnection.FromDataSource(control); + controlConnection.Open(); + _hostsToNodeTypeMap = GetCurrentServers(controlConnection); + CreatePool(_hostsToNodeTypeMap); + controlConnection.Close(); + break; + } + catch (Exception) + { + _connectionLogger.LogDebug("Failed to connect to {host}", host); + initialHosts.Remove(host); + if (initialHosts.Count == 0) + { + _connectionLogger.LogError("Failed to create control connection. No suitable host found"); + throw; + } + + } + + } + unreachableHostsIndices.Clear(); + unreachableHosts.Clear(); + return true; + } + + internal override async ValueTask Get(NpgsqlConnection conn, NpgsqlTimeout timeout, bool async, + CancellationToken cancellationToken) + { + NpgsqlConnector? connector = null; + var exceptions = new List(); + connector = await getConnector(conn, timeout,async, cancellationToken, exceptions).ConfigureAwait(false); + + if (this is TopologyAwareDataSource) + { + exceptions.Clear(); + Dictionary? hosts; + Dictionary? public_ip; + if (connector == null) + { + for (var i = FIRST_FALLBACK; i <= MAX_PREFERENCE_VALUE; i++) + { + _connectionLogger.LogDebug("Attempting Fallback: {fallback}", i); + fallbackPrivateIPs.TryGetValue(i, out hosts); + fallbackPublicIPs.TryGetValue(i, out public_ip); + if (hosts != null) + { + exceptions.Clear(); + CreatePool(fallbackPrivateIPs[i]); + connector = await getConnector(conn, timeout,async, cancellationToken, exceptions).ConfigureAwait(false); + if (connector != null) + break; + } + else if (public_ip != null) + { + exceptions.Clear(); + CreatePool(fallbackPublicIPs[i]); + connector = await getConnector(conn, timeout,async, cancellationToken, exceptions).ConfigureAwait(false); + if (connector != null) + break; + } + } + } + + if (connector == null) + { + if (settings.FallBackToTopologyKeysOnly) + throw NoSuitableHostsException(exceptions); + fallbackPrivateIPs.TryGetValue(REST_OF_CLUSTER, out hosts); + fallbackPublicIPs.TryGetValue(REST_OF_CLUSTER, out public_ip); + if (hosts != null) + { + exceptions.Clear(); + CreatePool(fallbackPrivateIPs[REST_OF_CLUSTER]); + connector = await getConnector(conn, timeout,async, cancellationToken, exceptions).ConfigureAwait(false); + } + else if (public_ip != null) + { + exceptions.Clear(); + CreatePool(fallbackPublicIPs[REST_OF_CLUSTER]); + connector = await getConnector(conn, timeout,async, cancellationToken, exceptions).ConfigureAwait(false); + } + } + } + + if (connector != null) + { + return connector; + } + _connectionLogger.LogDebug("Failed to apply Load balance. Trying normal connection"); + conn.Settings.LoadBalanceHosts = LoadBalanceHosts.False; + connector = await getConnector(conn, timeout,async, cancellationToken, exceptions).ConfigureAwait(false); + return connector ?? throw NoSuitableHostsException(exceptions); + } + + async Task getConnector(int chosenHostPriority, int priority, NpgsqlConnection conn, NpgsqlTimeout timeout, bool async, + CancellationToken cancellationToken, List exceptions) + { + if (priority == chosenHostPriority) + return null; + NpgsqlConnector? connector = null; + var poolIndex = -1; + if (priorityToPoolIndexMap.ContainsKey(priority)) + { + poolIndex = priorityToPoolIndexMap[priority]; + } + + if (poolIndex == -1) + return null; + UpdateConnectionMap(poolIndex, 1); + var timeoutPerHost = timeout.IsSet ? timeout.CheckAndGetTimeLeft() : TimeSpan.Zero; + var preferredType = GetTargetSessionAttributes(conn); + var checkUnpreferred = preferredType is TargetSessionAttributes.PreferPrimary or TargetSessionAttributes.PreferStandby; + connector = await TryGetIdleOrNew(conn, timeoutPerHost, async, preferredType, IsPreferred, poolIndex, exceptions, cancellationToken).ConfigureAwait(false) ?? + (checkUnpreferred ? + await TryGetIdleOrNew(conn, timeoutPerHost, async, preferredType, IsOnline, poolIndex, exceptions, cancellationToken).ConfigureAwait(false) + : null) ?? + await TryGet(conn, timeoutPerHost, async, preferredType, IsPreferred, poolIndex, exceptions, cancellationToken).ConfigureAwait(false) ?? + (checkUnpreferred ? + await TryGet(conn, timeoutPerHost, async, preferredType, IsOnline, poolIndex, exceptions, cancellationToken).ConfigureAwait(false) + : null); + if (connector == null) + { + UpdateConnectionMap(poolIndex, -1); + priority++; + connector = await getConnector(chosenHostPriority, priority, conn, timeout, async, cancellationToken, exceptions) + .ConfigureAwait(false); + } + + if (connector != null) + { + var host = _pools[poolIndex].Settings.Host; + if (host != null && unreachableHosts.Contains(host)) + { + unreachableHosts.Remove(host); + } + } + return connector; + } + + async Task getConnector(NpgsqlConnection conn, NpgsqlTimeout timeout, bool async, + CancellationToken cancellationToken, List exceptions) + { + NpgsqlConnector? connector = null; + for (var i = 0; i < _pools.Count; i++) + { + CheckDisposed(); + + var poolIndex = conn.Settings.LoadBalanceHosts != LoadBalanceHosts.False ? GetRoundRobinIndex() : -2; + if (poolIndex == -1) + return null; + if (poolIndex != -2) { + var chosenHost = _pools[poolIndex].Settings.Host; + _connectionLogger.LogDebug("Chosen Host: {host}", chosenHost); + HasBetterNode = HasBetterNodeAvailable(poolIndex); + if (HasBetterNode) + { + _connectionLogger.LogDebug("A better node is available"); + var chosenHostPriority = 1; + if (chosenHost != null && hostToPriorityMap.ContainsKey(chosenHost)) + { + chosenHostPriority = hostToPriorityMap[chosenHost]; + } + + connector = await getConnector(chosenHostPriority, 1, conn, timeout, async, cancellationToken, exceptions).ConfigureAwait(false); + if (connector == null) + { + HasBetterNode = false; + } + else + { + UpdateConnectionMap(poolIndex, -1); + return connector; + } + } + } + + var timeoutPerHost = timeout.IsSet ? timeout.CheckAndGetTimeLeft() : TimeSpan.Zero; + var preferredType = GetTargetSessionAttributes(conn); + var checkUnpreferred = preferredType is TargetSessionAttributes.PreferPrimary or TargetSessionAttributes.PreferStandby; + + connector = await TryGetIdleOrNew(conn, timeoutPerHost, async, preferredType, IsPreferred, poolIndex, exceptions, cancellationToken).ConfigureAwait(false) ?? + (checkUnpreferred ? + await TryGetIdleOrNew(conn, timeoutPerHost, async, preferredType, IsOnline, poolIndex, exceptions, cancellationToken).ConfigureAwait(false) + : null) ?? + await TryGet(conn, timeoutPerHost, async, preferredType, IsPreferred, poolIndex, exceptions, cancellationToken).ConfigureAwait(false) ?? + (checkUnpreferred ? + await TryGet(conn, timeoutPerHost, async, preferredType, IsOnline, poolIndex, exceptions, cancellationToken).ConfigureAwait(false) + : null); + if (connector != null) + { + break; + } + unreachableHostsIndices.Add(poolIndex); + var settingsHost = _pools[poolIndex].Settings.Host; + if (settingsHost != null) unreachableHosts.Add(settingsHost); + // poolToNumConnMap.Remove(poolIndex); + var pool = _pools[poolIndex]; + if (poolToNumConnMapPrimary.ContainsKey(pool)) + poolToNumConnMapPrimary.Remove(pool); + else if (poolToNumConnMapRR.ContainsKey(pool)) + poolToNumConnMapRR.Remove(pool); + UpdateConnectionMap(poolIndex, -1); + } + + return connector; + + } + + + + internal override bool TryGetIdleConnector([NotNullWhen(true)] out NpgsqlConnector? connector) + => throw new NpgsqlException("Npgsql bug: trying to get an idle connector from " + nameof(ClusterAwareDataSource)); + + internal override ValueTask OpenNewConnector(NpgsqlConnection conn, NpgsqlTimeout timeout, bool async, CancellationToken cancellationToken) => throw new NotImplementedException(); + + internal override void Return(NpgsqlConnector connector) + { + var host = connector.Host; + var poolIndex = -1; + for (var i = 0; i < _pools.Count; i++) + { + if (host.Equals(_pools[i].Settings.Host, StringComparison.OrdinalIgnoreCase)) + { + poolIndex = i; + break; + } + } + UpdateConnectionMap(poolIndex, -1); + } + + /// + public override void Clear() + { + foreach (var pool in _pools) + pool.Clear(); + } + + internal override bool OwnsConnectors { get; } + + static bool IsPreferred(DatabaseState state, TargetSessionAttributes preferredType) + => state switch + { + DatabaseState.Offline => false, + DatabaseState.Unknown => true, // We will check compatibility again after refreshing the database state + + DatabaseState.PrimaryReadWrite when preferredType is + TargetSessionAttributes.Primary or + TargetSessionAttributes.PreferPrimary or + TargetSessionAttributes.ReadWrite + => true, + + DatabaseState.PrimaryReadOnly when preferredType is + TargetSessionAttributes.Primary or + TargetSessionAttributes.PreferPrimary or + TargetSessionAttributes.ReadOnly + => true, + + DatabaseState.Standby when preferredType is + TargetSessionAttributes.Standby or + TargetSessionAttributes.PreferStandby or + TargetSessionAttributes.ReadOnly + => true, + + _ => preferredType == TargetSessionAttributes.Any + }; + + static bool IsOnline(DatabaseState state, TargetSessionAttributes preferredType) + { + Debug.Assert(preferredType is TargetSessionAttributes.PreferPrimary or TargetSessionAttributes.PreferStandby); + return state != DatabaseState.Offline; + } + + /// + /// Exception when no suitable host is available to connect to + /// + /// + /// + protected static NpgsqlException NoSuitableHostsException(IList exceptions) + => exceptions.Count == 0 + ? new NpgsqlException("No suitable host was found.") + : exceptions[0] is PostgresException firstException && + exceptions.All(x => x is PostgresException ex && ex.SqlState == firstException.SqlState) + ? firstException + : new NpgsqlException("Unable to connect to a suitable host. Check inner exception for more details.", + new AggregateException(exceptions)); + + internal override bool NeedsRefresh() + { + if (forceRefresh) + return true; + var currentTime = DateTime.Now; + var diff = (currentTime - _lastServerFetchTime).TotalSeconds; + return (diff > REFRESH_LIST_SECONDS); + } + + int GetRoundRobinIndex() + { + Dictionary? poolToNumConnMap = null; + if (settings.LoadBalanceHosts == LoadBalanceHosts.OnlyPrimary || settings.LoadBalanceHosts == LoadBalanceHosts.PreferPrimary) + { + poolToNumConnMap = poolToNumConnMapPrimary; + } + else if (settings.LoadBalanceHosts == LoadBalanceHosts.OnlyRR || settings.LoadBalanceHosts == LoadBalanceHosts.PreferRR) + { + poolToNumConnMap = poolToNumConnMapRR; + } + else if (settings.LoadBalanceHosts == LoadBalanceHosts.Any || settings.LoadBalanceHosts == LoadBalanceHosts.True) + { + poolToNumConnMap = poolToNumConnMapPrimary.Concat(poolToNumConnMapRR).ToDictionary(pair => pair.Key, pair => pair.Value); + } + + var PoolIndex = -1; + lock(lockObject) + { + Debug.Assert(poolToNumConnMap != null, nameof(poolToNumConnMap) + " = null"); + PoolIndex = getHosts(poolToNumConnMap); + if (PoolIndex != -1) + { + return PoolIndex; + } + + if (settings.LoadBalanceHosts == LoadBalanceHosts.PreferPrimary) + { + PoolIndex = getHosts(poolToNumConnMapRR); + return PoolIndex; + } + + if (settings.LoadBalanceHosts == LoadBalanceHosts.PreferRR) + { + PoolIndex = getHosts(poolToNumConnMapPrimary); + return PoolIndex; + } + + return -1; + } + } + + int getHosts(Dictionary poolToNumConnMap) + { + var PoolIndex = -1; + Debug.Assert(poolToNumConnMap != null, nameof(poolToNumConnMap) + " != null"); + for (var i = 0; i < poolToNumConnMap.Count; i++) + { + var random = new Random(); + var Pool = poolToNumConnMap.Aggregate((l, r) => + { + if (l.Value < r.Value) return l; + if (l.Value > r.Value) return r; + + // If values are equal, randomly select between l and r + return random.Next(2) == 0 ? l : r; + }).Key; + + PoolIndex = _pools.IndexOf(Pool); + if (!unreachableHostsIndices.Contains(PoolIndex)) + { + UpdateConnectionMap(PoolIndex, 1); + return PoolIndex; + } + + } + + return PoolIndex; + } + + static TargetSessionAttributes GetTargetSessionAttributes(NpgsqlConnection connection) + => connection.Settings.TargetSessionAttributesParsed ?? + (PostgresEnvironment.TargetSessionAttributes is { } s + ? NpgsqlConnectionStringBuilder.ParseTargetSessionAttributes(s) + : TargetSessionAttributes.Any); + + async ValueTask TryGetIdleOrNew( + NpgsqlConnection conn, + TimeSpan timeoutPerHost, + bool async, + TargetSessionAttributes preferredType, Func stateValidator, + int poolIndex, + IList exceptions, + CancellationToken cancellationToken) + { + var pools = _pools; + NpgsqlDataSource pool; + if (poolIndex != -2) + { + pool = pools[poolIndex]; + } + else + { + pool = settings.Pooling? new PoolingDataSource(Settings, dataSourceConfig): new UnpooledDataSource(Settings, dataSourceConfig); + } + var databaseState = pool.GetDatabaseState(); + NpgsqlConnector? connector = null; + try + { + if (pool.TryGetIdleConnector(out connector)) + { + if (databaseState == DatabaseState.Unknown) + { + databaseState = await connector.QueryDatabaseState(new NpgsqlTimeout(timeoutPerHost), async, cancellationToken).ConfigureAwait(false); + Debug.Assert(databaseState != DatabaseState.Unknown); + if (!stateValidator(databaseState, preferredType)) + { + pool.Return(connector); + return null; + } + } + return connector; + } + else + { + connector = await pool.OpenNewConnector(conn, new NpgsqlTimeout(timeoutPerHost), async, cancellationToken).ConfigureAwait(false); + if (connector is not null) + { + if (databaseState == DatabaseState.Unknown) + { + // While opening a new connector we might have refreshed the database state, check again + databaseState = pool.GetDatabaseState(); + if (databaseState == DatabaseState.Unknown) + databaseState = await connector.QueryDatabaseState(new NpgsqlTimeout(timeoutPerHost), async, cancellationToken).ConfigureAwait(false); + Debug.Assert(databaseState != DatabaseState.Unknown); + if (!stateValidator(databaseState, preferredType)) + { + pool.Return(connector); + return null; + } + } + return connector; + } + } + } + catch (Exception ex) + { + exceptions.Add(ex); + if (connector is not null) + pool.Return(connector); + } + + return null; + } + + async ValueTask TryGet( + NpgsqlConnection conn, + TimeSpan timeoutPerHost, + bool async, + TargetSessionAttributes preferredType, + Func stateValidator, + int poolIndex, + IList exceptions, + CancellationToken cancellationToken) + { + var pools = _pools; + NpgsqlDataSource pool; + if (poolIndex != -2) + { + pool = pools[poolIndex]; + } + else + { + pool = settings.Pooling? new PoolingDataSource(Settings, dataSourceConfig): new UnpooledDataSource(Settings, dataSourceConfig); + } + var databaseState = pool.GetDatabaseState(); + NpgsqlConnector? connector = null; + + try + { + connector = await pool.Get(conn, new NpgsqlTimeout(timeoutPerHost), async, cancellationToken).ConfigureAwait(false); + if (databaseState == DatabaseState.Unknown) + { + // Get might have opened a new physical connection and refreshed the database state, check again + databaseState = pool.GetDatabaseState(); + if (databaseState == DatabaseState.Unknown) + databaseState = await connector.QueryDatabaseState(new NpgsqlTimeout(timeoutPerHost), async, cancellationToken).ConfigureAwait(false); + + Debug.Assert(databaseState != DatabaseState.Unknown); + if (!stateValidator(databaseState, preferredType)) + { + pool.Return(connector); + return null; + } + } + + return connector; + } + catch (Exception ex) + { + exceptions.Add(ex); + if (connector is not null) + pool.Return(connector); + } + + return null; + } + +} diff --git a/src/Npgsql/Common.cs b/src/Npgsql/Common.cs index 4a6d72757b..b00a52ce34 100644 --- a/src/Npgsql/Common.cs +++ b/src/Npgsql/Common.cs @@ -1,4 +1,4 @@ -namespace Npgsql; +namespace YBNpgsql; /// /// Base class for all classes which represent a message sent by the PostgreSQL backend. diff --git a/src/Npgsql/DatabaseState.cs b/src/Npgsql/DatabaseState.cs index d8f6dfd4f1..ba9214e26f 100644 --- a/src/Npgsql/DatabaseState.cs +++ b/src/Npgsql/DatabaseState.cs @@ -1,4 +1,4 @@ -namespace Npgsql; +namespace YBNpgsql; enum DatabaseState : byte { diff --git a/src/Npgsql/ICancelable.cs b/src/Npgsql/ICancelable.cs index 460f17c171..0c4aa6620f 100644 --- a/src/Npgsql/ICancelable.cs +++ b/src/Npgsql/ICancelable.cs @@ -1,7 +1,7 @@ using System; using System.Threading.Tasks; -namespace Npgsql; +namespace YBNpgsql; interface ICancelable : IDisposable, IAsyncDisposable { diff --git a/src/Npgsql/Internal/AdoSerializerHelpers.cs b/src/Npgsql/Internal/AdoSerializerHelpers.cs index 177114f78d..216c70e4e0 100644 --- a/src/Npgsql/Internal/AdoSerializerHelpers.cs +++ b/src/Npgsql/Internal/AdoSerializerHelpers.cs @@ -1,10 +1,10 @@ using System; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; -using Npgsql.Internal.Postgres; -using NpgsqlTypes; +using YBNpgsql.Internal.Postgres; +using YBNpgsqlTypes; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; static class AdoSerializerHelpers { diff --git a/src/Npgsql/Internal/BufferRequirements.cs b/src/Npgsql/Internal/BufferRequirements.cs index 14ffabc52b..a3967ae122 100644 --- a/src/Npgsql/Internal/BufferRequirements.cs +++ b/src/Npgsql/Internal/BufferRequirements.cs @@ -1,7 +1,7 @@ using System; using System.Diagnostics.CodeAnalysis; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; [Experimental(NpgsqlDiagnostics.ConvertersExperimental)] public readonly struct BufferRequirements : IEquatable diff --git a/src/Npgsql/Internal/ChainTypeInfoResolver.cs b/src/Npgsql/Internal/ChainTypeInfoResolver.cs index 4c7f56e454..8e1c399bc7 100644 --- a/src/Npgsql/Internal/ChainTypeInfoResolver.cs +++ b/src/Npgsql/Internal/ChainTypeInfoResolver.cs @@ -1,8 +1,8 @@ using System; using System.Collections.Generic; -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; sealed class ChainTypeInfoResolver(IEnumerable resolvers) : IPgTypeInfoResolver { diff --git a/src/Npgsql/Internal/Composites/Metadata/CompositeBuilder.cs b/src/Npgsql/Internal/Composites/Metadata/CompositeBuilder.cs index 0917dfd834..31c1bc5741 100644 --- a/src/Npgsql/Internal/Composites/Metadata/CompositeBuilder.cs +++ b/src/Npgsql/Internal/Composites/Metadata/CompositeBuilder.cs @@ -1,9 +1,9 @@ using System; using System.Buffers; using System.Collections.Generic; -using Npgsql.Util; +using YBNpgsql.Util; -namespace Npgsql.Internal.Composites; +namespace YBNpgsql.Internal.Composites; abstract class CompositeBuilder(StrongBox[] tempBoxes, IReadOnlyList fields) { diff --git a/src/Npgsql/Internal/Composites/Metadata/CompositeFieldInfo.cs b/src/Npgsql/Internal/Composites/Metadata/CompositeFieldInfo.cs index 080d31ea68..c1e4668aeb 100644 --- a/src/Npgsql/Internal/Composites/Metadata/CompositeFieldInfo.cs +++ b/src/Npgsql/Internal/Composites/Metadata/CompositeFieldInfo.cs @@ -2,10 +2,10 @@ using System.Runtime.CompilerServices; using System.Threading; using System.Threading.Tasks; -using Npgsql.Internal.Postgres; -using Npgsql.Util; +using YBNpgsql.Internal.Postgres; +using YBNpgsql.Util; -namespace Npgsql.Internal.Composites; +namespace YBNpgsql.Internal.Composites; abstract class CompositeFieldInfo { diff --git a/src/Npgsql/Internal/Composites/Metadata/CompositeInfo.cs b/src/Npgsql/Internal/Composites/Metadata/CompositeInfo.cs index f1e291cf53..6f124a96cb 100644 --- a/src/Npgsql/Internal/Composites/Metadata/CompositeInfo.cs +++ b/src/Npgsql/Internal/Composites/Metadata/CompositeInfo.cs @@ -1,8 +1,8 @@ using System; using System.Collections.Generic; -using Npgsql.Util; +using YBNpgsql.Util; -namespace Npgsql.Internal.Composites; +namespace YBNpgsql.Internal.Composites; sealed class CompositeInfo { diff --git a/src/Npgsql/Internal/Composites/ReflectionCompositeInfoFactory.cs b/src/Npgsql/Internal/Composites/ReflectionCompositeInfoFactory.cs index c520c4fdf9..9a308106cb 100644 --- a/src/Npgsql/Internal/Composites/ReflectionCompositeInfoFactory.cs +++ b/src/Npgsql/Internal/Composites/ReflectionCompositeInfoFactory.cs @@ -5,12 +5,12 @@ using System.Linq; using System.Linq.Expressions; using System.Reflection; -using Npgsql.Internal.Postgres; -using Npgsql.PostgresTypes; -using Npgsql.Util; -using NpgsqlTypes; +using YBNpgsql.Internal.Postgres; +using YBNpgsql.PostgresTypes; +using YBNpgsql.Util; +using YBNpgsqlTypes; -namespace Npgsql.Internal.Composites; +namespace YBNpgsql.Internal.Composites; [RequiresDynamicCode("Serializing arbitrary types can require creating new generic types or methods. This may not work when AOT compiling.")] static class ReflectionCompositeInfoFactory diff --git a/src/Npgsql/Internal/Converters/ArrayConverter.cs b/src/Npgsql/Internal/Converters/ArrayConverter.cs index 262f748651..19de8bf247 100644 --- a/src/Npgsql/Internal/Converters/ArrayConverter.cs +++ b/src/Npgsql/Internal/Converters/ArrayConverter.cs @@ -6,9 +6,9 @@ using System.Runtime.CompilerServices; using System.Threading; using System.Threading.Tasks; -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; struct Indices { diff --git a/src/Npgsql/Internal/Converters/AsyncHelpers.cs b/src/Npgsql/Internal/Converters/AsyncHelpers.cs index ddd03a24be..13d161a485 100644 --- a/src/Npgsql/Internal/Converters/AsyncHelpers.cs +++ b/src/Npgsql/Internal/Converters/AsyncHelpers.cs @@ -4,7 +4,7 @@ using System.Threading; using System.Threading.Tasks; -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; static class AsyncHelpers { diff --git a/src/Npgsql/Internal/Converters/BitStringConverters.cs b/src/Npgsql/Internal/Converters/BitStringConverters.cs index d0d6327a20..8af1513774 100644 --- a/src/Npgsql/Internal/Converters/BitStringConverters.cs +++ b/src/Npgsql/Internal/Converters/BitStringConverters.cs @@ -6,10 +6,10 @@ using System.Text; using System.Threading; using System.Threading.Tasks; -using Npgsql.Internal.Postgres; -using static Npgsql.Internal.Converters.BitStringHelpers; +using YBNpgsql.Internal.Postgres; +using static YBNpgsql.Internal.Converters.BitStringHelpers; -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; file static class BitStringHelpers { diff --git a/src/Npgsql/Internal/Converters/CastingConverter.cs b/src/Npgsql/Internal/Converters/CastingConverter.cs index a2b83fd94c..a779d54817 100644 --- a/src/Npgsql/Internal/Converters/CastingConverter.cs +++ b/src/Npgsql/Internal/Converters/CastingConverter.cs @@ -2,9 +2,9 @@ using System.Diagnostics.CodeAnalysis; using System.Threading; using System.Threading.Tasks; -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; /// A converter to map strongly typed apis onto boxed converter results to produce a strongly typed converter over T. sealed class CastingConverter(PgConverter effectiveConverter) diff --git a/src/Npgsql/Internal/Converters/CompositeConverter.cs b/src/Npgsql/Internal/Converters/CompositeConverter.cs index 2c985b647c..0a8d19df98 100644 --- a/src/Npgsql/Internal/Converters/CompositeConverter.cs +++ b/src/Npgsql/Internal/Converters/CompositeConverter.cs @@ -2,9 +2,9 @@ using System.Buffers; using System.Threading; using System.Threading.Tasks; -using Npgsql.Internal.Composites; +using YBNpgsql.Internal.Composites; -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class CompositeConverter : PgStreamingConverter where T : notnull { diff --git a/src/Npgsql/Internal/Converters/EnumConverter.cs b/src/Npgsql/Internal/Converters/EnumConverter.cs index 12f85992f0..1d5c95adec 100644 --- a/src/Npgsql/Internal/Converters/EnumConverter.cs +++ b/src/Npgsql/Internal/Converters/EnumConverter.cs @@ -3,7 +3,7 @@ using System.Diagnostics.CodeAnalysis; using System.Text; -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors)] sealed class EnumConverter : PgBufferedConverter where TEnum : struct, Enum diff --git a/src/Npgsql/Internal/Converters/FullTextSearch/TsQueryConverter.cs b/src/Npgsql/Internal/Converters/FullTextSearch/TsQueryConverter.cs index 9e88fbe8f1..ea1e6a7fb8 100644 --- a/src/Npgsql/Internal/Converters/FullTextSearch/TsQueryConverter.cs +++ b/src/Npgsql/Internal/Converters/FullTextSearch/TsQueryConverter.cs @@ -4,11 +4,11 @@ using System.Text; using System.Threading; using System.Threading.Tasks; -using NpgsqlTypes; -using static NpgsqlTypes.NpgsqlTsQuery.NodeKind; +using YBNpgsqlTypes; +using static YBNpgsqlTypes.NpgsqlTsQuery.NodeKind; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class TsQueryConverter(Encoding encoding) : PgStreamingConverter where T : NpgsqlTsQuery diff --git a/src/Npgsql/Internal/Converters/FullTextSearch/TsVectorConverter.cs b/src/Npgsql/Internal/Converters/FullTextSearch/TsVectorConverter.cs index 04b16b80f5..195f4f20ea 100644 --- a/src/Npgsql/Internal/Converters/FullTextSearch/TsVectorConverter.cs +++ b/src/Npgsql/Internal/Converters/FullTextSearch/TsVectorConverter.cs @@ -3,10 +3,10 @@ using System.Text; using System.Threading; using System.Threading.Tasks; -using NpgsqlTypes; +using YBNpgsqlTypes; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class TsVectorConverter(Encoding encoding) : PgStreamingConverter { diff --git a/src/Npgsql/Internal/Converters/Geometric/BoxConverter.cs b/src/Npgsql/Internal/Converters/Geometric/BoxConverter.cs index 4a7578afba..8d6031f574 100644 --- a/src/Npgsql/Internal/Converters/Geometric/BoxConverter.cs +++ b/src/Npgsql/Internal/Converters/Geometric/BoxConverter.cs @@ -1,7 +1,7 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class BoxConverter : PgBufferedConverter { diff --git a/src/Npgsql/Internal/Converters/Geometric/CircleConverter.cs b/src/Npgsql/Internal/Converters/Geometric/CircleConverter.cs index 51eea75814..4ac4c68776 100644 --- a/src/Npgsql/Internal/Converters/Geometric/CircleConverter.cs +++ b/src/Npgsql/Internal/Converters/Geometric/CircleConverter.cs @@ -1,7 +1,7 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class CircleConverter : PgBufferedConverter { diff --git a/src/Npgsql/Internal/Converters/Geometric/LineConverter.cs b/src/Npgsql/Internal/Converters/Geometric/LineConverter.cs index 17d89909b9..708f79b1f9 100644 --- a/src/Npgsql/Internal/Converters/Geometric/LineConverter.cs +++ b/src/Npgsql/Internal/Converters/Geometric/LineConverter.cs @@ -1,7 +1,7 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class LineConverter : PgBufferedConverter { diff --git a/src/Npgsql/Internal/Converters/Geometric/LineSegmentConverter.cs b/src/Npgsql/Internal/Converters/Geometric/LineSegmentConverter.cs index 117a108379..55ce08a05d 100644 --- a/src/Npgsql/Internal/Converters/Geometric/LineSegmentConverter.cs +++ b/src/Npgsql/Internal/Converters/Geometric/LineSegmentConverter.cs @@ -1,7 +1,7 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class LineSegmentConverter : PgBufferedConverter { diff --git a/src/Npgsql/Internal/Converters/Geometric/PathConverter.cs b/src/Npgsql/Internal/Converters/Geometric/PathConverter.cs index 0481037254..a50817bea9 100644 --- a/src/Npgsql/Internal/Converters/Geometric/PathConverter.cs +++ b/src/Npgsql/Internal/Converters/Geometric/PathConverter.cs @@ -1,10 +1,10 @@ using System.Diagnostics; using System.Threading; using System.Threading.Tasks; -using NpgsqlTypes; +using YBNpgsqlTypes; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class PathConverter : PgStreamingConverter { diff --git a/src/Npgsql/Internal/Converters/Geometric/PointConverter.cs b/src/Npgsql/Internal/Converters/Geometric/PointConverter.cs index 03e84c05bd..73713fbb75 100644 --- a/src/Npgsql/Internal/Converters/Geometric/PointConverter.cs +++ b/src/Npgsql/Internal/Converters/Geometric/PointConverter.cs @@ -1,7 +1,7 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class PointConverter : PgBufferedConverter { diff --git a/src/Npgsql/Internal/Converters/Geometric/PolygonConverter.cs b/src/Npgsql/Internal/Converters/Geometric/PolygonConverter.cs index 9a889b4323..fcae0f0cd0 100644 --- a/src/Npgsql/Internal/Converters/Geometric/PolygonConverter.cs +++ b/src/Npgsql/Internal/Converters/Geometric/PolygonConverter.cs @@ -1,9 +1,9 @@ using System.Threading; using System.Threading.Tasks; -using NpgsqlTypes; +using YBNpgsqlTypes; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class PolygonConverter : PgStreamingConverter { diff --git a/src/Npgsql/Internal/Converters/HstoreConverter.cs b/src/Npgsql/Internal/Converters/HstoreConverter.cs index f9514450f7..caa963020e 100644 --- a/src/Npgsql/Internal/Converters/HstoreConverter.cs +++ b/src/Npgsql/Internal/Converters/HstoreConverter.cs @@ -5,7 +5,7 @@ using System.Threading; using System.Threading.Tasks; -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class HstoreConverter(Encoding encoding, Func>, T>? convert = null) : PgStreamingConverter diff --git a/src/Npgsql/Internal/Converters/Internal/InternalCharConverter.cs b/src/Npgsql/Internal/Converters/Internal/InternalCharConverter.cs index 5d00a26dcb..8e34987b2b 100644 --- a/src/Npgsql/Internal/Converters/Internal/InternalCharConverter.cs +++ b/src/Npgsql/Internal/Converters/Internal/InternalCharConverter.cs @@ -2,7 +2,7 @@ using System.Numerics; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class InternalCharConverter : PgBufferedConverter #if NET7_0_OR_GREATER diff --git a/src/Npgsql/Internal/Converters/Internal/PgLsnConverter.cs b/src/Npgsql/Internal/Converters/Internal/PgLsnConverter.cs index 96730c857a..4a107e7a15 100644 --- a/src/Npgsql/Internal/Converters/Internal/PgLsnConverter.cs +++ b/src/Npgsql/Internal/Converters/Internal/PgLsnConverter.cs @@ -1,7 +1,7 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class PgLsnConverter : PgBufferedConverter { diff --git a/src/Npgsql/Internal/Converters/Internal/TidConverter.cs b/src/Npgsql/Internal/Converters/Internal/TidConverter.cs index 747d98fe17..6893abb9f9 100644 --- a/src/Npgsql/Internal/Converters/Internal/TidConverter.cs +++ b/src/Npgsql/Internal/Converters/Internal/TidConverter.cs @@ -1,7 +1,7 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class TidConverter : PgBufferedConverter { diff --git a/src/Npgsql/Internal/Converters/Internal/UInt32Converter.cs b/src/Npgsql/Internal/Converters/Internal/UInt32Converter.cs index 92061b1fd2..a73c911ff1 100644 --- a/src/Npgsql/Internal/Converters/Internal/UInt32Converter.cs +++ b/src/Npgsql/Internal/Converters/Internal/UInt32Converter.cs @@ -1,5 +1,5 @@ // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class UInt32Converter : PgBufferedConverter { diff --git a/src/Npgsql/Internal/Converters/Internal/UInt64Converter.cs b/src/Npgsql/Internal/Converters/Internal/UInt64Converter.cs index fcf5e3695a..3b13ef2768 100644 --- a/src/Npgsql/Internal/Converters/Internal/UInt64Converter.cs +++ b/src/Npgsql/Internal/Converters/Internal/UInt64Converter.cs @@ -1,5 +1,5 @@ // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class UInt64Converter : PgBufferedConverter { diff --git a/src/Npgsql/Internal/Converters/Internal/VoidConverter.cs b/src/Npgsql/Internal/Converters/Internal/VoidConverter.cs index 45b48df5b5..f839fe069d 100644 --- a/src/Npgsql/Internal/Converters/Internal/VoidConverter.cs +++ b/src/Npgsql/Internal/Converters/Internal/VoidConverter.cs @@ -1,6 +1,6 @@ using System; -namespace Npgsql.Internal.Converters.Internal; +namespace YBNpgsql.Internal.Converters.Internal; // Void is not a value so we read it as a null reference, not a DBNull. sealed class VoidConverter : PgBufferedConverter diff --git a/src/Npgsql/Internal/Converters/JsonConverter.cs b/src/Npgsql/Internal/Converters/JsonConverter.cs index 77157875b3..64db8bd2aa 100644 --- a/src/Npgsql/Internal/Converters/JsonConverter.cs +++ b/src/Npgsql/Internal/Converters/JsonConverter.cs @@ -9,7 +9,7 @@ using System.Threading; using System.Threading.Tasks; -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class JsonConverter : PgStreamingConverter where T: TBase? { diff --git a/src/Npgsql/Internal/Converters/MoneyConverter.cs b/src/Npgsql/Internal/Converters/MoneyConverter.cs index 8443acedc3..dfe6294d4f 100644 --- a/src/Npgsql/Internal/Converters/MoneyConverter.cs +++ b/src/Npgsql/Internal/Converters/MoneyConverter.cs @@ -1,7 +1,7 @@ using System; using System.Numerics; -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class MoneyConverter : PgBufferedConverter #if NET7_0_OR_GREATER diff --git a/src/Npgsql/Internal/Converters/MultirangeConverter.cs b/src/Npgsql/Internal/Converters/MultirangeConverter.cs index 36ae35a11c..ddbb255e04 100644 --- a/src/Npgsql/Internal/Converters/MultirangeConverter.cs +++ b/src/Npgsql/Internal/Converters/MultirangeConverter.cs @@ -5,7 +5,7 @@ using System.Threading; using System.Threading.Tasks; -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class MultirangeConverter : PgStreamingConverter where T : IList diff --git a/src/Npgsql/Internal/Converters/Networking/IPAddressConverter.cs b/src/Npgsql/Internal/Converters/Networking/IPAddressConverter.cs index 707bcd016b..641addfab2 100644 --- a/src/Npgsql/Internal/Converters/Networking/IPAddressConverter.cs +++ b/src/Npgsql/Internal/Converters/Networking/IPAddressConverter.cs @@ -2,7 +2,7 @@ using System.Net.Sockets; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class IPAddressConverter : PgBufferedConverter { diff --git a/src/Npgsql/Internal/Converters/Networking/IPNetworkConverter.cs b/src/Npgsql/Internal/Converters/Networking/IPNetworkConverter.cs index 0371fb32a9..8358fe6b67 100644 --- a/src/Npgsql/Internal/Converters/Networking/IPNetworkConverter.cs +++ b/src/Npgsql/Internal/Converters/Networking/IPNetworkConverter.cs @@ -3,7 +3,7 @@ using System.Net; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class IPNetworkConverter : PgBufferedConverter { diff --git a/src/Npgsql/Internal/Converters/Networking/MacaddrConverter.cs b/src/Npgsql/Internal/Converters/Networking/MacaddrConverter.cs index d9c2aa46e8..f103d8960b 100644 --- a/src/Npgsql/Internal/Converters/Networking/MacaddrConverter.cs +++ b/src/Npgsql/Internal/Converters/Networking/MacaddrConverter.cs @@ -3,7 +3,7 @@ using System.Net.NetworkInformation; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class MacaddrConverter(bool macaddr8) : PgBufferedConverter { diff --git a/src/Npgsql/Internal/Converters/Networking/NpgsqlCidrConverter.cs b/src/Npgsql/Internal/Converters/Networking/NpgsqlCidrConverter.cs index c3cd43c227..18d083a11e 100644 --- a/src/Npgsql/Internal/Converters/Networking/NpgsqlCidrConverter.cs +++ b/src/Npgsql/Internal/Converters/Networking/NpgsqlCidrConverter.cs @@ -1,7 +1,7 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class NpgsqlCidrConverter : PgBufferedConverter { diff --git a/src/Npgsql/Internal/Converters/Networking/NpgsqlInetConverter.cs b/src/Npgsql/Internal/Converters/Networking/NpgsqlInetConverter.cs index ea0066c9de..2542db2e29 100644 --- a/src/Npgsql/Internal/Converters/Networking/NpgsqlInetConverter.cs +++ b/src/Npgsql/Internal/Converters/Networking/NpgsqlInetConverter.cs @@ -2,10 +2,10 @@ using System.Diagnostics; using System.Net; using System.Net.Sockets; -using NpgsqlTypes; +using YBNpgsqlTypes; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class NpgsqlInetConverter : PgBufferedConverter { diff --git a/src/Npgsql/Internal/Converters/NullableConverter.cs b/src/Npgsql/Internal/Converters/NullableConverter.cs index 57a12e005f..9903e20244 100644 --- a/src/Npgsql/Internal/Converters/NullableConverter.cs +++ b/src/Npgsql/Internal/Converters/NullableConverter.cs @@ -1,9 +1,9 @@ using System.Diagnostics.CodeAnalysis; using System.Threading; using System.Threading.Tasks; -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; // NULL writing is always responsibility of the caller writing the length, so there is not much we do here. /// Special value converter to be able to use struct converters as System.Nullable converters, it delegates all behavior to the effective converter. diff --git a/src/Npgsql/Internal/Converters/ObjectConverter.cs b/src/Npgsql/Internal/Converters/ObjectConverter.cs index 394f7a8a4c..548b366adf 100644 --- a/src/Npgsql/Internal/Converters/ObjectConverter.cs +++ b/src/Npgsql/Internal/Converters/ObjectConverter.cs @@ -1,9 +1,9 @@ using System; using System.Threading; using System.Threading.Tasks; -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; sealed class ObjectConverter(PgSerializerOptions options, PgTypeId pgTypeId) : PgStreamingConverter(customDbNullPredicate: true) { diff --git a/src/Npgsql/Internal/Converters/PolymorphicConverterResolver.cs b/src/Npgsql/Internal/Converters/PolymorphicConverterResolver.cs index 7cf355d103..999ee845e6 100644 --- a/src/Npgsql/Internal/Converters/PolymorphicConverterResolver.cs +++ b/src/Npgsql/Internal/Converters/PolymorphicConverterResolver.cs @@ -1,9 +1,9 @@ using System; using System.Collections.Concurrent; using System.Collections.Generic; -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; abstract class PolymorphicConverterResolver(PgTypeId pgTypeId) : PgConverterResolver { diff --git a/src/Npgsql/Internal/Converters/Primitive/BoolConverter.cs b/src/Npgsql/Internal/Converters/Primitive/BoolConverter.cs index 196877ad0e..4cd077a2a3 100644 --- a/src/Npgsql/Internal/Converters/Primitive/BoolConverter.cs +++ b/src/Npgsql/Internal/Converters/Primitive/BoolConverter.cs @@ -1,5 +1,5 @@ // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class BoolConverter : PgBufferedConverter { diff --git a/src/Npgsql/Internal/Converters/Primitive/ByteaConverters.cs b/src/Npgsql/Internal/Converters/Primitive/ByteaConverters.cs index fce9fa93bd..32d98c4813 100644 --- a/src/Npgsql/Internal/Converters/Primitive/ByteaConverters.cs +++ b/src/Npgsql/Internal/Converters/Primitive/ByteaConverters.cs @@ -7,7 +7,7 @@ using System.Threading.Tasks; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; abstract class ByteaConverters : PgStreamingConverter { diff --git a/src/Npgsql/Internal/Converters/Primitive/DoubleConverter.cs b/src/Npgsql/Internal/Converters/Primitive/DoubleConverter.cs index 74a56d06ae..ae5cad6135 100644 --- a/src/Npgsql/Internal/Converters/Primitive/DoubleConverter.cs +++ b/src/Npgsql/Internal/Converters/Primitive/DoubleConverter.cs @@ -2,7 +2,7 @@ using System.Numerics; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class DoubleConverter : PgBufferedConverter #if NET7_0_OR_GREATER diff --git a/src/Npgsql/Internal/Converters/Primitive/GuidUuidConverter.cs b/src/Npgsql/Internal/Converters/Primitive/GuidUuidConverter.cs index 596deedfce..cd6d92041d 100644 --- a/src/Npgsql/Internal/Converters/Primitive/GuidUuidConverter.cs +++ b/src/Npgsql/Internal/Converters/Primitive/GuidUuidConverter.cs @@ -2,7 +2,7 @@ using System.Buffers.Binary; using System.Runtime.InteropServices; -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class GuidUuidConverter : PgBufferedConverter { diff --git a/src/Npgsql/Internal/Converters/Primitive/Int2Converter.cs b/src/Npgsql/Internal/Converters/Primitive/Int2Converter.cs index e54658d925..4cda06e24f 100644 --- a/src/Npgsql/Internal/Converters/Primitive/Int2Converter.cs +++ b/src/Npgsql/Internal/Converters/Primitive/Int2Converter.cs @@ -2,7 +2,7 @@ using System.Numerics; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class Int2Converter : PgBufferedConverter #if NET7_0_OR_GREATER diff --git a/src/Npgsql/Internal/Converters/Primitive/Int4Converter.cs b/src/Npgsql/Internal/Converters/Primitive/Int4Converter.cs index 1831ca9b1e..a1e4b9a362 100644 --- a/src/Npgsql/Internal/Converters/Primitive/Int4Converter.cs +++ b/src/Npgsql/Internal/Converters/Primitive/Int4Converter.cs @@ -2,7 +2,7 @@ using System.Numerics; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class Int4Converter : PgBufferedConverter #if NET7_0_OR_GREATER diff --git a/src/Npgsql/Internal/Converters/Primitive/Int8Converter.cs b/src/Npgsql/Internal/Converters/Primitive/Int8Converter.cs index b422816244..1220e058e4 100644 --- a/src/Npgsql/Internal/Converters/Primitive/Int8Converter.cs +++ b/src/Npgsql/Internal/Converters/Primitive/Int8Converter.cs @@ -2,7 +2,7 @@ using System.Numerics; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class Int8Converter : PgBufferedConverter #if NET7_0_OR_GREATER diff --git a/src/Npgsql/Internal/Converters/Primitive/NumericConverters.cs b/src/Npgsql/Internal/Converters/Primitive/NumericConverters.cs index c43e90a1f7..67d4ee7679 100644 --- a/src/Npgsql/Internal/Converters/Primitive/NumericConverters.cs +++ b/src/Npgsql/Internal/Converters/Primitive/NumericConverters.cs @@ -5,7 +5,7 @@ using System.Threading.Tasks; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class BigIntegerNumericConverter : PgStreamingConverter { diff --git a/src/Npgsql/Internal/Converters/Primitive/PgMoney.cs b/src/Npgsql/Internal/Converters/Primitive/PgMoney.cs index dc8755de1f..8f5d96a4d3 100644 --- a/src/Npgsql/Internal/Converters/Primitive/PgMoney.cs +++ b/src/Npgsql/Internal/Converters/Primitive/PgMoney.cs @@ -2,7 +2,7 @@ using System.Diagnostics; using System.Runtime.InteropServices; -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; readonly struct PgMoney { diff --git a/src/Npgsql/Internal/Converters/Primitive/PgNumeric.cs b/src/Npgsql/Internal/Converters/Primitive/PgNumeric.cs index 299dd9b419..3225d735fc 100644 --- a/src/Npgsql/Internal/Converters/Primitive/PgNumeric.cs +++ b/src/Npgsql/Internal/Converters/Primitive/PgNumeric.cs @@ -4,9 +4,9 @@ using System.Diagnostics; using System.Numerics; using System.Runtime.InteropServices; -using static Npgsql.Internal.Converters.PgNumeric.Builder; +using static YBNpgsql.Internal.Converters.PgNumeric.Builder; -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; readonly struct PgNumeric(ArraySegment digits, short weight, short sign, short scale) { diff --git a/src/Npgsql/Internal/Converters/Primitive/RealConverter.cs b/src/Npgsql/Internal/Converters/Primitive/RealConverter.cs index b47e641aa5..93b69319ea 100644 --- a/src/Npgsql/Internal/Converters/Primitive/RealConverter.cs +++ b/src/Npgsql/Internal/Converters/Primitive/RealConverter.cs @@ -2,7 +2,7 @@ using System.Numerics; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class RealConverter : PgBufferedConverter #if NET7_0_OR_GREATER diff --git a/src/Npgsql/Internal/Converters/Primitive/TextConverters.cs b/src/Npgsql/Internal/Converters/Primitive/TextConverters.cs index e1ef7f714a..c25f438d3d 100644 --- a/src/Npgsql/Internal/Converters/Primitive/TextConverters.cs +++ b/src/Npgsql/Internal/Converters/Primitive/TextConverters.cs @@ -9,7 +9,7 @@ using System.Threading.Tasks; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; abstract class StringBasedTextConverter(Encoding encoding) : PgStreamingConverter { diff --git a/src/Npgsql/Internal/Converters/RangeConverter.cs b/src/Npgsql/Internal/Converters/RangeConverter.cs index c378d830f7..e07176051d 100644 --- a/src/Npgsql/Internal/Converters/RangeConverter.cs +++ b/src/Npgsql/Internal/Converters/RangeConverter.cs @@ -2,9 +2,9 @@ using System.Diagnostics; using System.Threading; using System.Threading.Tasks; -using NpgsqlTypes; +using YBNpgsqlTypes; -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class RangeConverter : PgStreamingConverter> { diff --git a/src/Npgsql/Internal/Converters/RecordConverter.cs b/src/Npgsql/Internal/Converters/RecordConverter.cs index 05eabcf7cd..62d88eaf71 100644 --- a/src/Npgsql/Internal/Converters/RecordConverter.cs +++ b/src/Npgsql/Internal/Converters/RecordConverter.cs @@ -1,9 +1,9 @@ using System; using System.Threading; using System.Threading.Tasks; -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class RecordConverter(PgSerializerOptions options, Func? factory = null) : PgStreamingConverter { diff --git a/src/Npgsql/Internal/Converters/Temporal/DateConverters.cs b/src/Npgsql/Internal/Converters/Temporal/DateConverters.cs index 807e2528d2..728898ef38 100644 --- a/src/Npgsql/Internal/Converters/Temporal/DateConverters.cs +++ b/src/Npgsql/Internal/Converters/Temporal/DateConverters.cs @@ -1,8 +1,8 @@ using System; -using Npgsql.Properties; +using YBNpgsql.Properties; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class DateTimeDateConverter(bool dateTimeInfinityConversions) : PgBufferedConverter { diff --git a/src/Npgsql/Internal/Converters/Temporal/DateTimeConverterResolver.cs b/src/Npgsql/Internal/Converters/Temporal/DateTimeConverterResolver.cs index 6ae5a783a1..8a5fb156fc 100644 --- a/src/Npgsql/Internal/Converters/Temporal/DateTimeConverterResolver.cs +++ b/src/Npgsql/Internal/Converters/Temporal/DateTimeConverterResolver.cs @@ -1,11 +1,11 @@ using System; using System.Collections.Generic; -using Npgsql.Internal.Postgres; -using Npgsql.Properties; -using NpgsqlTypes; +using YBNpgsql.Internal.Postgres; +using YBNpgsql.Properties; +using YBNpgsqlTypes; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class DateTimeConverterResolver : PgConverterResolver { diff --git a/src/Npgsql/Internal/Converters/Temporal/DateTimeConverters.cs b/src/Npgsql/Internal/Converters/Temporal/DateTimeConverters.cs index 389c2ec021..3e8c9b20c6 100644 --- a/src/Npgsql/Internal/Converters/Temporal/DateTimeConverters.cs +++ b/src/Npgsql/Internal/Converters/Temporal/DateTimeConverters.cs @@ -1,7 +1,7 @@ using System; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class DateTimeConverter(bool dateTimeInfinityConversions, DateTimeKind kind) : PgBufferedConverter { diff --git a/src/Npgsql/Internal/Converters/Temporal/IntervalConverters.cs b/src/Npgsql/Internal/Converters/Temporal/IntervalConverters.cs index 1e1cbe9df2..b2de553360 100644 --- a/src/Npgsql/Internal/Converters/Temporal/IntervalConverters.cs +++ b/src/Npgsql/Internal/Converters/Temporal/IntervalConverters.cs @@ -1,8 +1,8 @@ using System; -using NpgsqlTypes; +using YBNpgsqlTypes; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class TimeSpanIntervalConverter : PgBufferedConverter { diff --git a/src/Npgsql/Internal/Converters/Temporal/LegacyDateTimeConverter.cs b/src/Npgsql/Internal/Converters/Temporal/LegacyDateTimeConverter.cs index 8bcca02db1..88c320e995 100644 --- a/src/Npgsql/Internal/Converters/Temporal/LegacyDateTimeConverter.cs +++ b/src/Npgsql/Internal/Converters/Temporal/LegacyDateTimeConverter.cs @@ -1,6 +1,6 @@ using System; -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class LegacyDateTimeConverter(bool dateTimeInfinityConversions, bool timestamp) : PgBufferedConverter { diff --git a/src/Npgsql/Internal/Converters/Temporal/PgTimestamp.cs b/src/Npgsql/Internal/Converters/Temporal/PgTimestamp.cs index 6a44ccbdc9..92be02803f 100644 --- a/src/Npgsql/Internal/Converters/Temporal/PgTimestamp.cs +++ b/src/Npgsql/Internal/Converters/Temporal/PgTimestamp.cs @@ -1,6 +1,6 @@ using System; -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; static class PgTimestamp { diff --git a/src/Npgsql/Internal/Converters/Temporal/TimeConverters.cs b/src/Npgsql/Internal/Converters/Temporal/TimeConverters.cs index b93a878032..389c7370d1 100644 --- a/src/Npgsql/Internal/Converters/Temporal/TimeConverters.cs +++ b/src/Npgsql/Internal/Converters/Temporal/TimeConverters.cs @@ -1,7 +1,7 @@ using System; // ReSharper disable once CheckNamespace -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class TimeSpanTimeConverter : PgBufferedConverter { diff --git a/src/Npgsql/Internal/Converters/VersionPrefixedTextConverter.cs b/src/Npgsql/Internal/Converters/VersionPrefixedTextConverter.cs index 8dc981a47e..2e81568c27 100644 --- a/src/Npgsql/Internal/Converters/VersionPrefixedTextConverter.cs +++ b/src/Npgsql/Internal/Converters/VersionPrefixedTextConverter.cs @@ -3,7 +3,7 @@ using System.Threading; using System.Threading.Tasks; -namespace Npgsql.Internal.Converters; +namespace YBNpgsql.Internal.Converters; sealed class VersionPrefixedTextConverter(byte versionPrefix, PgConverter textConverter) : PgStreamingConverter(textConverter.DbNullPredicateKind is DbNullPredicate.Custom) diff --git a/src/Npgsql/Internal/DataFormat.cs b/src/Npgsql/Internal/DataFormat.cs index c52b418b7d..b35dce846a 100644 --- a/src/Npgsql/Internal/DataFormat.cs +++ b/src/Npgsql/Internal/DataFormat.cs @@ -2,7 +2,7 @@ using System.Diagnostics; using System.Diagnostics.CodeAnalysis; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; [Experimental(NpgsqlDiagnostics.ConvertersExperimental)] public enum DataFormat : byte diff --git a/src/Npgsql/Internal/DynamicTypeInfoResolver.cs b/src/Npgsql/Internal/DynamicTypeInfoResolver.cs index 91af319207..a5b37ea52d 100644 --- a/src/Npgsql/Internal/DynamicTypeInfoResolver.cs +++ b/src/Npgsql/Internal/DynamicTypeInfoResolver.cs @@ -1,9 +1,9 @@ using System; using System.Diagnostics.CodeAnalysis; -using Npgsql.Internal.Postgres; -using Npgsql.PostgresTypes; +using YBNpgsql.Internal.Postgres; +using YBNpgsql.PostgresTypes; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; [Experimental(NpgsqlDiagnostics.ConvertersExperimental)] #if NET9_0_OR_GREATER diff --git a/src/Npgsql/Internal/INpgsqlDatabaseInfoFactory.cs b/src/Npgsql/Internal/INpgsqlDatabaseInfoFactory.cs index ea3f0ad525..37d6629109 100644 --- a/src/Npgsql/Internal/INpgsqlDatabaseInfoFactory.cs +++ b/src/Npgsql/Internal/INpgsqlDatabaseInfoFactory.cs @@ -1,8 +1,8 @@ using System.Diagnostics.CodeAnalysis; using System.Threading.Tasks; -using Npgsql.Util; +using YBNpgsql.Util; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; /// /// A factory which get generate instances of , which describe a database diff --git a/src/Npgsql/Internal/IPgTypeInfoResolver.cs b/src/Npgsql/Internal/IPgTypeInfoResolver.cs index b7b3ddc9ec..be346d7ca8 100644 --- a/src/Npgsql/Internal/IPgTypeInfoResolver.cs +++ b/src/Npgsql/Internal/IPgTypeInfoResolver.cs @@ -1,8 +1,8 @@ using System; using System.Diagnostics.CodeAnalysis; -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; /// /// An Npgsql resolver for type info. Used by Npgsql to read and write values to PostgreSQL. diff --git a/src/Npgsql/Internal/IntegratedSecurityHandler.cs b/src/Npgsql/Internal/IntegratedSecurityHandler.cs index 2b2f2f1bb9..751beada78 100644 --- a/src/Npgsql/Internal/IntegratedSecurityHandler.cs +++ b/src/Npgsql/Internal/IntegratedSecurityHandler.cs @@ -2,9 +2,9 @@ using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.Logging; -using Npgsql.Properties; +using YBNpgsql.Properties; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; class IntegratedSecurityHandler { diff --git a/src/Npgsql/Internal/NpgsqlConnector.Auth.cs b/src/Npgsql/Internal/NpgsqlConnector.Auth.cs index 59564f5361..b8a781c11d 100644 --- a/src/Npgsql/Internal/NpgsqlConnector.Auth.cs +++ b/src/Npgsql/Internal/NpgsqlConnector.Auth.cs @@ -8,11 +8,11 @@ using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.Logging; -using Npgsql.BackendMessages; -using Npgsql.Util; -using static Npgsql.Util.Statics; +using YBNpgsql.BackendMessages; +using YBNpgsql.Util; +using static YBNpgsql.Util.Statics; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; partial class NpgsqlConnector { diff --git a/src/Npgsql/Internal/NpgsqlConnector.FrontendMessages.cs b/src/Npgsql/Internal/NpgsqlConnector.FrontendMessages.cs index 9e0fd45dd3..f5cf5241e4 100644 --- a/src/Npgsql/Internal/NpgsqlConnector.FrontendMessages.cs +++ b/src/Npgsql/Internal/NpgsqlConnector.FrontendMessages.cs @@ -5,7 +5,7 @@ using System.Threading; using System.Threading.Tasks; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; partial class NpgsqlConnector { diff --git a/src/Npgsql/Internal/NpgsqlConnector.OldAuth.cs b/src/Npgsql/Internal/NpgsqlConnector.OldAuth.cs index 91aec10660..609ca016e8 100644 --- a/src/Npgsql/Internal/NpgsqlConnector.OldAuth.cs +++ b/src/Npgsql/Internal/NpgsqlConnector.OldAuth.cs @@ -6,10 +6,10 @@ using System.Text; using System.Threading; using System.Threading.Tasks; -using Npgsql.BackendMessages; -using static Npgsql.Util.Statics; +using YBNpgsql.BackendMessages; +using static YBNpgsql.Util.Statics; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; partial class NpgsqlConnector diff --git a/src/Npgsql/Internal/NpgsqlConnector.cs b/src/Npgsql/Internal/NpgsqlConnector.cs index 0136a2789d..cf30c9901d 100644 --- a/src/Npgsql/Internal/NpgsqlConnector.cs +++ b/src/Npgsql/Internal/NpgsqlConnector.cs @@ -17,13 +17,13 @@ using System.Threading; using System.Threading.Channels; using System.Threading.Tasks; -using Npgsql.BackendMessages; -using Npgsql.Util; -using static Npgsql.Util.Statics; +using YBNpgsql.BackendMessages; +using YBNpgsql.Util; +using static YBNpgsql.Util.Statics; using Microsoft.Extensions.Logging; -using Npgsql.Properties; +using YBNpgsql.Properties; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; /// /// Represents a connection to a PostgreSQL backend. Unlike NpgsqlConnection objects, which are @@ -2273,7 +2273,7 @@ void GenerateResetMessage() { var sb = new StringBuilder("SET SESSION AUTHORIZATION DEFAULT;RESET ALL;"); _resetWithoutDeallocateResponseCount = 2; - if (DatabaseInfo.SupportsCloseAll) + if (DatabaseInfo.SupportsCloseAll && Settings.EnableCloseAll) { sb.Append("CLOSE ALL;"); _resetWithoutDeallocateResponseCount++; @@ -2288,12 +2288,12 @@ void GenerateResetMessage() sb.Append("SELECT pg_advisory_unlock_all();"); _resetWithoutDeallocateResponseCount += 2; } - if (DatabaseInfo.SupportsDiscardSequences) + if (DatabaseInfo.SupportsDiscardSequences && Settings.EnableDiscardSequences) { sb.Append("DISCARD SEQUENCES;"); _resetWithoutDeallocateResponseCount++; } - if (DatabaseInfo.SupportsDiscardTemp) + if (DatabaseInfo.SupportsDiscardTemp && Settings.EnableDiscardTemp) { sb.Append("DISCARD TEMP"); _resetWithoutDeallocateResponseCount++; @@ -2363,7 +2363,8 @@ internal async Task Reset(bool async) { // There are no prepared statements. // We simply send DISCARD ALL which is more efficient than sending the above messages separately - PrependInternalMessage(PregeneratedMessages.DiscardAll, 2); + if (Settings.EnableDiscardAll) + PrependInternalMessage(PregeneratedMessages.DiscardAll, 2); } } diff --git a/src/Npgsql/Internal/NpgsqlDatabaseInfo.cs b/src/Npgsql/Internal/NpgsqlDatabaseInfo.cs index 7e3aebe237..cc6c063b5d 100644 --- a/src/Npgsql/Internal/NpgsqlDatabaseInfo.cs +++ b/src/Npgsql/Internal/NpgsqlDatabaseInfo.cs @@ -2,11 +2,11 @@ using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.Threading.Tasks; -using Npgsql.Internal.Postgres; -using Npgsql.PostgresTypes; -using Npgsql.Util; +using YBNpgsql.Internal.Postgres; +using YBNpgsql.PostgresTypes; +using YBNpgsql.Util; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; /// /// Base class for implementations which provide information about PostgreSQL and PostgreSQL-like databases diff --git a/src/Npgsql/Internal/NpgsqlReadBuffer.Stream.cs b/src/Npgsql/Internal/NpgsqlReadBuffer.Stream.cs index 95b6c712f8..b3e15ec562 100644 --- a/src/Npgsql/Internal/NpgsqlReadBuffer.Stream.cs +++ b/src/Npgsql/Internal/NpgsqlReadBuffer.Stream.cs @@ -4,7 +4,7 @@ using System.Threading; using System.Threading.Tasks; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; sealed partial class NpgsqlReadBuffer { diff --git a/src/Npgsql/Internal/NpgsqlReadBuffer.cs b/src/Npgsql/Internal/NpgsqlReadBuffer.cs index a9b094efc2..d1b2e1ccc3 100644 --- a/src/Npgsql/Internal/NpgsqlReadBuffer.cs +++ b/src/Npgsql/Internal/NpgsqlReadBuffer.cs @@ -9,10 +9,10 @@ using System.Text; using System.Threading; using System.Threading.Tasks; -using Npgsql.Util; +using YBNpgsql.Util; using static System.Threading.Timeout; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; /// /// A buffer used by Npgsql to read data from the socket efficiently. diff --git a/src/Npgsql/Internal/NpgsqlWriteBuffer.cs b/src/Npgsql/Internal/NpgsqlWriteBuffer.cs index 821bb7e6b1..6d4e42ac2f 100644 --- a/src/Npgsql/Internal/NpgsqlWriteBuffer.cs +++ b/src/Npgsql/Internal/NpgsqlWriteBuffer.cs @@ -7,10 +7,10 @@ using System.Text; using System.Threading; using System.Threading.Tasks; -using Npgsql.Util; +using YBNpgsql.Util; using static System.Threading.Timeout; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; /// /// A buffer used by Npgsql to write data to the socket efficiently. diff --git a/src/Npgsql/Internal/PgBufferedConverter.cs b/src/Npgsql/Internal/PgBufferedConverter.cs index beced6d589..8351d3c0c8 100644 --- a/src/Npgsql/Internal/PgBufferedConverter.cs +++ b/src/Npgsql/Internal/PgBufferedConverter.cs @@ -3,7 +3,7 @@ using System.Threading; using System.Threading.Tasks; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; [Experimental(NpgsqlDiagnostics.ConvertersExperimental)] public abstract class PgBufferedConverter(bool customDbNullPredicate = false) : PgConverter(customDbNullPredicate) diff --git a/src/Npgsql/Internal/PgComposingConverterResolver.cs b/src/Npgsql/Internal/PgComposingConverterResolver.cs index 543ef8bdbd..e6412ec379 100644 --- a/src/Npgsql/Internal/PgComposingConverterResolver.cs +++ b/src/Npgsql/Internal/PgComposingConverterResolver.cs @@ -1,9 +1,9 @@ using System; using System.Collections.Concurrent; using System.Collections.Generic; -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; abstract class PgComposingConverterResolver : PgConverterResolver { diff --git a/src/Npgsql/Internal/PgConverter.cs b/src/Npgsql/Internal/PgConverter.cs index 627c4dc979..adc535da75 100644 --- a/src/Npgsql/Internal/PgConverter.cs +++ b/src/Npgsql/Internal/PgConverter.cs @@ -6,7 +6,7 @@ using System.Threading; using System.Threading.Tasks; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; [Experimental(NpgsqlDiagnostics.ConvertersExperimental)] public abstract class PgConverter diff --git a/src/Npgsql/Internal/PgConverterResolver.cs b/src/Npgsql/Internal/PgConverterResolver.cs index 5fbe699017..95408163e8 100644 --- a/src/Npgsql/Internal/PgConverterResolver.cs +++ b/src/Npgsql/Internal/PgConverterResolver.cs @@ -1,8 +1,8 @@ using System; using System.Diagnostics.CodeAnalysis; -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; [Experimental(NpgsqlDiagnostics.ConvertersExperimental)] public abstract class PgConverterResolver diff --git a/src/Npgsql/Internal/PgReader.cs b/src/Npgsql/Internal/PgReader.cs index 7fbaa695cd..0282a03e8e 100644 --- a/src/Npgsql/Internal/PgReader.cs +++ b/src/Npgsql/Internal/PgReader.cs @@ -8,7 +8,7 @@ using System.Threading; using System.Threading.Tasks; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; [Experimental(NpgsqlDiagnostics.ConvertersExperimental)] public class PgReader diff --git a/src/Npgsql/Internal/PgSerializerOptions.cs b/src/Npgsql/Internal/PgSerializerOptions.cs index 052404da5c..e7a25a4e23 100644 --- a/src/Npgsql/Internal/PgSerializerOptions.cs +++ b/src/Npgsql/Internal/PgSerializerOptions.cs @@ -2,11 +2,11 @@ using System.Diagnostics.CodeAnalysis; using System.IO; using System.Text; -using Npgsql.Internal.Postgres; -using Npgsql.NameTranslation; -using Npgsql.PostgresTypes; +using YBNpgsql.Internal.Postgres; +using YBNpgsql.NameTranslation; +using YBNpgsql.PostgresTypes; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; [Experimental(NpgsqlDiagnostics.ConvertersExperimental)] public sealed class PgSerializerOptions diff --git a/src/Npgsql/Internal/PgStreamingConverter.cs b/src/Npgsql/Internal/PgStreamingConverter.cs index 951e940fd8..49e1d3de21 100644 --- a/src/Npgsql/Internal/PgStreamingConverter.cs +++ b/src/Npgsql/Internal/PgStreamingConverter.cs @@ -5,7 +5,7 @@ using System.Threading; using System.Threading.Tasks; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; [Experimental(NpgsqlDiagnostics.ConvertersExperimental)] public abstract class PgStreamingConverter(bool customDbNullPredicate = false) : PgConverter(customDbNullPredicate) diff --git a/src/Npgsql/Internal/PgTypeInfo.cs b/src/Npgsql/Internal/PgTypeInfo.cs index 836cd941b8..c6b2bdb333 100644 --- a/src/Npgsql/Internal/PgTypeInfo.cs +++ b/src/Npgsql/Internal/PgTypeInfo.cs @@ -1,8 +1,8 @@ using System; using System.Diagnostics.CodeAnalysis; -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; [Experimental(NpgsqlDiagnostics.ConvertersExperimental)] public class PgTypeInfo diff --git a/src/Npgsql/Internal/PgTypeInfoResolverChainBuilder.cs b/src/Npgsql/Internal/PgTypeInfoResolverChainBuilder.cs index f83fa384f4..068bbc5683 100644 --- a/src/Npgsql/Internal/PgTypeInfoResolverChainBuilder.cs +++ b/src/Npgsql/Internal/PgTypeInfoResolverChainBuilder.cs @@ -2,7 +2,7 @@ using System.Collections; using System.Collections.Generic; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; struct PgTypeInfoResolverChainBuilder { diff --git a/src/Npgsql/Internal/PgTypeInfoResolverFactory.cs b/src/Npgsql/Internal/PgTypeInfoResolverFactory.cs index 9392e2c840..7cc7341658 100644 --- a/src/Npgsql/Internal/PgTypeInfoResolverFactory.cs +++ b/src/Npgsql/Internal/PgTypeInfoResolverFactory.cs @@ -1,6 +1,6 @@ using System.Diagnostics.CodeAnalysis; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; [Experimental(NpgsqlDiagnostics.ConvertersExperimental)] public abstract class PgTypeInfoResolverFactory diff --git a/src/Npgsql/Internal/PgWriter.cs b/src/Npgsql/Internal/PgWriter.cs index 8dd0a9ba9f..f225524f56 100644 --- a/src/Npgsql/Internal/PgWriter.cs +++ b/src/Npgsql/Internal/PgWriter.cs @@ -9,9 +9,9 @@ using System.Text; using System.Threading; using System.Threading.Tasks; -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; enum FlushMode { diff --git a/src/Npgsql/Internal/Postgres/DataTypeName.cs b/src/Npgsql/Internal/Postgres/DataTypeName.cs index c5b223f866..fe060b72ba 100644 --- a/src/Npgsql/Internal/Postgres/DataTypeName.cs +++ b/src/Npgsql/Internal/Postgres/DataTypeName.cs @@ -2,7 +2,7 @@ using System.Diagnostics; using System.Diagnostics.CodeAnalysis; -namespace Npgsql.Internal.Postgres; +namespace YBNpgsql.Internal.Postgres; /// /// Represents the fully-qualified name of a PostgreSQL type. diff --git a/src/Npgsql/Internal/Postgres/DataTypeNames.cs b/src/Npgsql/Internal/Postgres/DataTypeNames.cs index 275bcb9937..12468f4756 100644 --- a/src/Npgsql/Internal/Postgres/DataTypeNames.cs +++ b/src/Npgsql/Internal/Postgres/DataTypeNames.cs @@ -1,6 +1,6 @@ -using static Npgsql.Internal.Postgres.DataTypeName; +using static YBNpgsql.Internal.Postgres.DataTypeName; -namespace Npgsql.Internal.Postgres; +namespace YBNpgsql.Internal.Postgres; /// /// Well-known PostgreSQL data type names. diff --git a/src/Npgsql/Internal/Postgres/Field.cs b/src/Npgsql/Internal/Postgres/Field.cs index abd74a0bc7..df6e479472 100644 --- a/src/Npgsql/Internal/Postgres/Field.cs +++ b/src/Npgsql/Internal/Postgres/Field.cs @@ -1,6 +1,6 @@ using System.Diagnostics.CodeAnalysis; -namespace Npgsql.Internal.Postgres; +namespace YBNpgsql.Internal.Postgres; /// Base field type shared between tables and composites. [Experimental(NpgsqlDiagnostics.ConvertersExperimental)] diff --git a/src/Npgsql/Internal/Postgres/Oid.cs b/src/Npgsql/Internal/Postgres/Oid.cs index 8c01e65ff7..7a74faf845 100644 --- a/src/Npgsql/Internal/Postgres/Oid.cs +++ b/src/Npgsql/Internal/Postgres/Oid.cs @@ -1,7 +1,7 @@ using System; using System.Diagnostics.CodeAnalysis; -namespace Npgsql.Internal.Postgres; +namespace YBNpgsql.Internal.Postgres; [Experimental(NpgsqlDiagnostics.ConvertersExperimental)] public readonly struct Oid(uint value) : IEquatable diff --git a/src/Npgsql/Internal/Postgres/PgTypeId.cs b/src/Npgsql/Internal/Postgres/PgTypeId.cs index ee5ffb9d41..d2133e3d5e 100644 --- a/src/Npgsql/Internal/Postgres/PgTypeId.cs +++ b/src/Npgsql/Internal/Postgres/PgTypeId.cs @@ -1,7 +1,7 @@ using System; using System.Diagnostics.CodeAnalysis; -namespace Npgsql.Internal.Postgres; +namespace YBNpgsql.Internal.Postgres; /// /// A discriminated union of and . diff --git a/src/Npgsql/Internal/ResolverFactories/AdoTypeInfoResolverFactory.Multirange.cs b/src/Npgsql/Internal/ResolverFactories/AdoTypeInfoResolverFactory.Multirange.cs index f76ed3a457..139635a3e0 100644 --- a/src/Npgsql/Internal/ResolverFactories/AdoTypeInfoResolverFactory.Multirange.cs +++ b/src/Npgsql/Internal/ResolverFactories/AdoTypeInfoResolverFactory.Multirange.cs @@ -1,12 +1,12 @@ using System; using System.Collections.Generic; -using Npgsql.Internal.Converters; -using Npgsql.Internal.Postgres; -using Npgsql.Util; -using NpgsqlTypes; -using static Npgsql.Internal.PgConverterFactory; +using YBNpgsql.Internal.Converters; +using YBNpgsql.Internal.Postgres; +using YBNpgsql.Util; +using YBNpgsqlTypes; +using static YBNpgsql.Internal.PgConverterFactory; -namespace Npgsql.Internal.ResolverFactories; +namespace YBNpgsql.Internal.ResolverFactories; sealed partial class AdoTypeInfoResolverFactory { diff --git a/src/Npgsql/Internal/ResolverFactories/AdoTypeInfoResolverFactory.Range.cs b/src/Npgsql/Internal/ResolverFactories/AdoTypeInfoResolverFactory.Range.cs index 74a9028423..0b405a1304 100644 --- a/src/Npgsql/Internal/ResolverFactories/AdoTypeInfoResolverFactory.Range.cs +++ b/src/Npgsql/Internal/ResolverFactories/AdoTypeInfoResolverFactory.Range.cs @@ -1,12 +1,12 @@ using System; using System.Numerics; -using Npgsql.Internal.Converters; -using Npgsql.Internal.Postgres; -using Npgsql.Util; -using NpgsqlTypes; -using static Npgsql.Internal.PgConverterFactory; +using YBNpgsql.Internal.Converters; +using YBNpgsql.Internal.Postgres; +using YBNpgsql.Util; +using YBNpgsqlTypes; +using static YBNpgsql.Internal.PgConverterFactory; -namespace Npgsql.Internal.ResolverFactories; +namespace YBNpgsql.Internal.ResolverFactories; sealed partial class AdoTypeInfoResolverFactory { diff --git a/src/Npgsql/Internal/ResolverFactories/AdoTypeInfoResolverFactory.cs b/src/Npgsql/Internal/ResolverFactories/AdoTypeInfoResolverFactory.cs index b2a39db34b..25544cc31b 100644 --- a/src/Npgsql/Internal/ResolverFactories/AdoTypeInfoResolverFactory.cs +++ b/src/Npgsql/Internal/ResolverFactories/AdoTypeInfoResolverFactory.cs @@ -3,14 +3,14 @@ using System.Collections.Generic; using System.Collections.Specialized; using System.IO; -using Npgsql.Internal.Converters; -using Npgsql.Internal.Converters.Internal; -using Npgsql.Internal.Postgres; -using Npgsql.PostgresTypes; -using Npgsql.Util; -using NpgsqlTypes; - -namespace Npgsql.Internal.ResolverFactories; +using YBNpgsql.Internal.Converters; +using YBNpgsql.Internal.Converters.Internal; +using YBNpgsql.Internal.Postgres; +using YBNpgsql.PostgresTypes; +using YBNpgsql.Util; +using YBNpgsqlTypes; + +namespace YBNpgsql.Internal.ResolverFactories; sealed partial class AdoTypeInfoResolverFactory : PgTypeInfoResolverFactory { diff --git a/src/Npgsql/Internal/ResolverFactories/ExtraConversionsTypeInfoResolverFactory.cs b/src/Npgsql/Internal/ResolverFactories/ExtraConversionsTypeInfoResolverFactory.cs index 9b5de89736..8b98d44617 100644 --- a/src/Npgsql/Internal/ResolverFactories/ExtraConversionsTypeInfoResolverFactory.cs +++ b/src/Npgsql/Internal/ResolverFactories/ExtraConversionsTypeInfoResolverFactory.cs @@ -1,10 +1,10 @@ using System; using System.Collections.Immutable; using System.Numerics; -using Npgsql.Internal.Converters; -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal.Converters; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.Internal.ResolverFactories; +namespace YBNpgsql.Internal.ResolverFactories; sealed class ExtraConversionResolverFactory : PgTypeInfoResolverFactory { diff --git a/src/Npgsql/Internal/ResolverFactories/FullTextSearchTypeInfoResolverFactory.cs b/src/Npgsql/Internal/ResolverFactories/FullTextSearchTypeInfoResolverFactory.cs index 272824ad2d..cc09b83aae 100644 --- a/src/Npgsql/Internal/ResolverFactories/FullTextSearchTypeInfoResolverFactory.cs +++ b/src/Npgsql/Internal/ResolverFactories/FullTextSearchTypeInfoResolverFactory.cs @@ -1,10 +1,10 @@ using System; -using Npgsql.Internal.Converters; -using Npgsql.Internal.Postgres; -using Npgsql.Properties; -using NpgsqlTypes; +using YBNpgsql.Internal.Converters; +using YBNpgsql.Internal.Postgres; +using YBNpgsql.Properties; +using YBNpgsqlTypes; -namespace Npgsql.Internal.ResolverFactories; +namespace YBNpgsql.Internal.ResolverFactories; sealed class FullTextSearchTypeInfoResolverFactory : PgTypeInfoResolverFactory { diff --git a/src/Npgsql/Internal/ResolverFactories/GeometricTypeInfoResolverFactory.cs b/src/Npgsql/Internal/ResolverFactories/GeometricTypeInfoResolverFactory.cs index a365434f54..c652e970b5 100644 --- a/src/Npgsql/Internal/ResolverFactories/GeometricTypeInfoResolverFactory.cs +++ b/src/Npgsql/Internal/ResolverFactories/GeometricTypeInfoResolverFactory.cs @@ -1,9 +1,9 @@ using System; -using Npgsql.Internal.Converters; -using Npgsql.Internal.Postgres; -using NpgsqlTypes; +using YBNpgsql.Internal.Converters; +using YBNpgsql.Internal.Postgres; +using YBNpgsqlTypes; -namespace Npgsql.Internal.ResolverFactories; +namespace YBNpgsql.Internal.ResolverFactories; sealed class GeometricTypeInfoResolverFactory : PgTypeInfoResolverFactory { diff --git a/src/Npgsql/Internal/ResolverFactories/JsonDynamicTypeInfoResolverFactory.cs b/src/Npgsql/Internal/ResolverFactories/JsonDynamicTypeInfoResolverFactory.cs index 6384474cd7..359263bb4e 100644 --- a/src/Npgsql/Internal/ResolverFactories/JsonDynamicTypeInfoResolverFactory.cs +++ b/src/Npgsql/Internal/ResolverFactories/JsonDynamicTypeInfoResolverFactory.cs @@ -4,11 +4,11 @@ using System.Text.Json; using System.Text.Json.Nodes; using System.Text.Json.Serialization.Metadata; -using Npgsql.Internal.Converters; -using Npgsql.Internal.Postgres; -using Npgsql.Properties; +using YBNpgsql.Internal.Converters; +using YBNpgsql.Internal.Postgres; +using YBNpgsql.Properties; -namespace Npgsql.Internal.ResolverFactories; +namespace YBNpgsql.Internal.ResolverFactories; [RequiresUnreferencedCode("Json serializer may perform reflection on trimmed types.")] [RequiresDynamicCode("Serializing arbitrary types to json can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")] diff --git a/src/Npgsql/Internal/ResolverFactories/JsonTypeInfoResolverFactory.cs b/src/Npgsql/Internal/ResolverFactories/JsonTypeInfoResolverFactory.cs index 250e000022..2f16e9a163 100644 --- a/src/Npgsql/Internal/ResolverFactories/JsonTypeInfoResolverFactory.cs +++ b/src/Npgsql/Internal/ResolverFactories/JsonTypeInfoResolverFactory.cs @@ -1,10 +1,10 @@ using System; using System.Text.Json; using System.Text.Json.Serialization.Metadata; -using Npgsql.Internal.Converters; -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal.Converters; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.Internal.ResolverFactories; +namespace YBNpgsql.Internal.ResolverFactories; sealed class JsonTypeInfoResolverFactory(JsonSerializerOptions? serializerOptions = null) : PgTypeInfoResolverFactory { diff --git a/src/Npgsql/Internal/ResolverFactories/LTreeTypeInfoResolverFactory.cs b/src/Npgsql/Internal/ResolverFactories/LTreeTypeInfoResolverFactory.cs index 720d8ee78d..d817788ed9 100644 --- a/src/Npgsql/Internal/ResolverFactories/LTreeTypeInfoResolverFactory.cs +++ b/src/Npgsql/Internal/ResolverFactories/LTreeTypeInfoResolverFactory.cs @@ -1,9 +1,9 @@ using System; -using Npgsql.Internal.Converters; -using Npgsql.Internal.Postgres; -using Npgsql.Properties; +using YBNpgsql.Internal.Converters; +using YBNpgsql.Internal.Postgres; +using YBNpgsql.Properties; -namespace Npgsql.Internal.ResolverFactories; +namespace YBNpgsql.Internal.ResolverFactories; sealed class LTreeTypeInfoResolverFactory : PgTypeInfoResolverFactory { diff --git a/src/Npgsql/Internal/ResolverFactories/NetworkTypeInfoResolverFactory.cs b/src/Npgsql/Internal/ResolverFactories/NetworkTypeInfoResolverFactory.cs index 0a7ebaaa1b..f43f036a5c 100644 --- a/src/Npgsql/Internal/ResolverFactories/NetworkTypeInfoResolverFactory.cs +++ b/src/Npgsql/Internal/ResolverFactories/NetworkTypeInfoResolverFactory.cs @@ -1,11 +1,11 @@ using System; using System.Net; using System.Net.NetworkInformation; -using Npgsql.Internal.Converters; -using Npgsql.Internal.Postgres; -using NpgsqlTypes; +using YBNpgsql.Internal.Converters; +using YBNpgsql.Internal.Postgres; +using YBNpgsqlTypes; -namespace Npgsql.Internal.ResolverFactories; +namespace YBNpgsql.Internal.ResolverFactories; sealed class NetworkTypeInfoResolverFactory : PgTypeInfoResolverFactory { diff --git a/src/Npgsql/Internal/ResolverFactories/RecordTypeInfoResolverFactory.cs b/src/Npgsql/Internal/ResolverFactories/RecordTypeInfoResolverFactory.cs index eb7de18a1f..0ee564839c 100644 --- a/src/Npgsql/Internal/ResolverFactories/RecordTypeInfoResolverFactory.cs +++ b/src/Npgsql/Internal/ResolverFactories/RecordTypeInfoResolverFactory.cs @@ -1,9 +1,9 @@ using System; -using Npgsql.Internal.Converters; -using Npgsql.Internal.Postgres; -using Npgsql.Properties; +using YBNpgsql.Internal.Converters; +using YBNpgsql.Internal.Postgres; +using YBNpgsql.Properties; -namespace Npgsql.Internal.ResolverFactories; +namespace YBNpgsql.Internal.ResolverFactories; sealed class RecordTypeInfoResolverFactory : PgTypeInfoResolverFactory { diff --git a/src/Npgsql/Internal/ResolverFactories/TupledRecordTypeInfoResolverFactory.cs b/src/Npgsql/Internal/ResolverFactories/TupledRecordTypeInfoResolverFactory.cs index 7ee00d37a7..7e526988fa 100644 --- a/src/Npgsql/Internal/ResolverFactories/TupledRecordTypeInfoResolverFactory.cs +++ b/src/Npgsql/Internal/ResolverFactories/TupledRecordTypeInfoResolverFactory.cs @@ -1,10 +1,10 @@ using System; using System.Diagnostics.CodeAnalysis; using System.Reflection; -using Npgsql.Internal.Converters; -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal.Converters; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.Internal.ResolverFactories; +namespace YBNpgsql.Internal.ResolverFactories; [RequiresUnreferencedCode("Tupled record resolver may perform reflection on trimmed tuple types.")] [RequiresDynamicCode("Tupled records need to construct a generic converter for a statically unknown (value)tuple type.")] diff --git a/src/Npgsql/Internal/ResolverFactories/UnmappedTypeInfoResolverFactory.cs b/src/Npgsql/Internal/ResolverFactories/UnmappedTypeInfoResolverFactory.cs index d3dcabb467..794d4f8d7a 100644 --- a/src/Npgsql/Internal/ResolverFactories/UnmappedTypeInfoResolverFactory.cs +++ b/src/Npgsql/Internal/ResolverFactories/UnmappedTypeInfoResolverFactory.cs @@ -2,12 +2,12 @@ using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.Reflection; -using Npgsql.Internal.Converters; -using Npgsql.Internal.Postgres; -using Npgsql.PostgresTypes; -using NpgsqlTypes; +using YBNpgsql.Internal.Converters; +using YBNpgsql.Internal.Postgres; +using YBNpgsql.PostgresTypes; +using YBNpgsqlTypes; -namespace Npgsql.Internal.ResolverFactories; +namespace YBNpgsql.Internal.ResolverFactories; [RequiresUnreferencedCode("The use of unmapped enums, ranges or multiranges requires reflection usage which is incompatible with trimming.")] [RequiresDynamicCode("The use of unmapped enums, ranges or multiranges requires dynamic code usage which is incompatible with NativeAOT.")] diff --git a/src/Npgsql/Internal/ResolverFactories/UnsupportedTypeInfoResolver.cs b/src/Npgsql/Internal/ResolverFactories/UnsupportedTypeInfoResolver.cs index 2d47f86807..1eaf4e43f3 100644 --- a/src/Npgsql/Internal/ResolverFactories/UnsupportedTypeInfoResolver.cs +++ b/src/Npgsql/Internal/ResolverFactories/UnsupportedTypeInfoResolver.cs @@ -1,10 +1,10 @@ using System; using System.Collections; -using Npgsql.Internal.Postgres; -using Npgsql.PostgresTypes; -using Npgsql.Properties; +using YBNpgsql.Internal.Postgres; +using YBNpgsql.PostgresTypes; +using YBNpgsql.Properties; -namespace Npgsql.Internal.ResolverFactories; +namespace YBNpgsql.Internal.ResolverFactories; sealed class UnsupportedTypeInfoResolver : IPgTypeInfoResolver { diff --git a/src/Npgsql/Internal/Size.cs b/src/Npgsql/Internal/Size.cs index 299f2bb229..d6cacecbc9 100644 --- a/src/Npgsql/Internal/Size.cs +++ b/src/Npgsql/Internal/Size.cs @@ -2,7 +2,7 @@ using System.Diagnostics; using System.Diagnostics.CodeAnalysis; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; [Experimental(NpgsqlDiagnostics.ConvertersExperimental)] public enum SizeKind diff --git a/src/Npgsql/Internal/TransportSecurityHandler.cs b/src/Npgsql/Internal/TransportSecurityHandler.cs index 9945e80534..d879c11865 100644 --- a/src/Npgsql/Internal/TransportSecurityHandler.cs +++ b/src/Npgsql/Internal/TransportSecurityHandler.cs @@ -2,10 +2,10 @@ using System.Security.Cryptography.X509Certificates; using System.Threading; using System.Threading.Tasks; -using Npgsql.Properties; -using Npgsql.Util; +using YBNpgsql.Properties; +using YBNpgsql.Util; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; class TransportSecurityHandler { diff --git a/src/Npgsql/Internal/TypeInfoCache.cs b/src/Npgsql/Internal/TypeInfoCache.cs index 91a6de9295..bc64a3e02d 100644 --- a/src/Npgsql/Internal/TypeInfoCache.cs +++ b/src/Npgsql/Internal/TypeInfoCache.cs @@ -1,8 +1,8 @@ using System; using System.Collections.Concurrent; -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; sealed class TypeInfoCache(PgSerializerOptions options, bool validatePgTypeIds = true) where TPgTypeId : struct diff --git a/src/Npgsql/Internal/TypeInfoMapping.cs b/src/Npgsql/Internal/TypeInfoMapping.cs index afb5325590..9f26ee8795 100644 --- a/src/Npgsql/Internal/TypeInfoMapping.cs +++ b/src/Npgsql/Internal/TypeInfoMapping.cs @@ -4,12 +4,12 @@ using System.Diagnostics.CodeAnalysis; using System.Runtime.CompilerServices; using System.Text; -using Npgsql.Internal.Converters; -using Npgsql.Internal.Postgres; -using Npgsql.PostgresTypes; -using NpgsqlTypes; +using YBNpgsql.Internal.Converters; +using YBNpgsql.Internal.Postgres; +using YBNpgsql.PostgresTypes; +using YBNpgsqlTypes; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; /// /// diff --git a/src/Npgsql/Internal/ValueMetadata.cs b/src/Npgsql/Internal/ValueMetadata.cs index b71028c4a1..57d9c57dea 100644 --- a/src/Npgsql/Internal/ValueMetadata.cs +++ b/src/Npgsql/Internal/ValueMetadata.cs @@ -1,6 +1,6 @@ using System.Diagnostics.CodeAnalysis; -namespace Npgsql.Internal; +namespace YBNpgsql.Internal; [Experimental(NpgsqlDiagnostics.ConvertersExperimental)] public readonly struct ValueMetadata diff --git a/src/Npgsql/KerberosUsernameProvider.cs b/src/Npgsql/KerberosUsernameProvider.cs index 3afb326548..680ce89af5 100644 --- a/src/Npgsql/KerberosUsernameProvider.cs +++ b/src/Npgsql/KerberosUsernameProvider.cs @@ -5,7 +5,7 @@ using System.Threading.Tasks; using Microsoft.Extensions.Logging; -namespace Npgsql; +namespace YBNpgsql; /// /// Launches MIT Kerberos klist and parses out the default principal from it. diff --git a/src/Npgsql/LogMessages.cs b/src/Npgsql/LogMessages.cs index 8d5f471c27..dae08ca6cb 100644 --- a/src/Npgsql/LogMessages.cs +++ b/src/Npgsql/LogMessages.cs @@ -2,9 +2,9 @@ using System.Collections.Generic; using System.Data; using Microsoft.Extensions.Logging; -using NpgsqlTypes; +using YBNpgsqlTypes; -namespace Npgsql; +namespace YBNpgsql; // ReSharper disable InconsistentNaming #pragma warning disable SYSLIB1015 // Argument is not referenced from the logging message diff --git a/src/Npgsql/MetricsReporter.cs b/src/Npgsql/MetricsReporter.cs index 83b804c2f6..299fdc5e3b 100644 --- a/src/Npgsql/MetricsReporter.cs +++ b/src/Npgsql/MetricsReporter.cs @@ -1,6 +1,6 @@ using System; -namespace Npgsql; +namespace YBNpgsql; using System.Collections.Generic; using System.Diagnostics; diff --git a/src/Npgsql/MultiHostDataSourceWrapper.cs b/src/Npgsql/MultiHostDataSourceWrapper.cs index 3217ec95cf..c347e81bb8 100644 --- a/src/Npgsql/MultiHostDataSourceWrapper.cs +++ b/src/Npgsql/MultiHostDataSourceWrapper.cs @@ -1,11 +1,11 @@ -using Npgsql.Internal; -using Npgsql.Util; +using YBNpgsql.Internal; +using YBNpgsql.Util; using System.Diagnostics.CodeAnalysis; using System.Threading; using System.Threading.Tasks; using System.Transactions; -namespace Npgsql; +namespace YBNpgsql; sealed class MultiHostDataSourceWrapper(NpgsqlMultiHostDataSource wrappedSource, TargetSessionAttributes targetSessionAttributes) : NpgsqlDataSource(CloneSettingsForTargetSessionAttributes(wrappedSource.Settings, targetSessionAttributes), wrappedSource.Configuration) @@ -25,6 +25,13 @@ static NpgsqlConnectionStringBuilder CloneSettingsForTargetSessionAttributes( internal override (int Total, int Idle, int Busy) Statistics => wrappedSource.Statistics; + internal override bool NeedsRefresh() + { + return false; + } + + internal override bool Refresh() => throw new System.NotImplementedException(); + internal override ValueTask Get(NpgsqlConnection conn, NpgsqlTimeout timeout, bool async, CancellationToken cancellationToken) => wrappedSource.Get(conn, timeout, async, cancellationToken); internal override bool TryGetIdleConnector([NotNullWhen(true)] out NpgsqlConnector? connector) diff --git a/src/Npgsql/MultiplexingDataSource.cs b/src/Npgsql/MultiplexingDataSource.cs index 1d228e1f4c..63e42a5955 100644 --- a/src/Npgsql/MultiplexingDataSource.cs +++ b/src/Npgsql/MultiplexingDataSource.cs @@ -5,10 +5,10 @@ using System.Threading.Channels; using System.Threading.Tasks; using Microsoft.Extensions.Logging; -using Npgsql.Internal; -using Npgsql.Util; +using YBNpgsql.Internal; +using YBNpgsql.Util; -namespace Npgsql; +namespace YBNpgsql; sealed class MultiplexingDataSource : PoolingDataSource { diff --git a/src/Npgsql/NameTranslation/INpgsqlNameTranslator.cs b/src/Npgsql/NameTranslation/INpgsqlNameTranslator.cs index 1fa188a91e..5f027ecf67 100644 --- a/src/Npgsql/NameTranslation/INpgsqlNameTranslator.cs +++ b/src/Npgsql/NameTranslation/INpgsqlNameTranslator.cs @@ -1,4 +1,4 @@ -namespace Npgsql; +namespace YBNpgsql; /// /// A component which translates a CLR name (e.g. SomeClass) into a database name (e.g. some_class) diff --git a/src/Npgsql/NameTranslation/NpgsqlNullNameTranslator.cs b/src/Npgsql/NameTranslation/NpgsqlNullNameTranslator.cs index f754169a72..a5746005f3 100644 --- a/src/Npgsql/NameTranslation/NpgsqlNullNameTranslator.cs +++ b/src/Npgsql/NameTranslation/NpgsqlNullNameTranslator.cs @@ -1,6 +1,6 @@ using System; -namespace Npgsql.NameTranslation; +namespace YBNpgsql.NameTranslation; /// /// A name translator which preserves CLR names (e.g. SomeClass) when mapping names to the database. diff --git a/src/Npgsql/NameTranslation/NpgsqlSnakeCaseNameTranslator.cs b/src/Npgsql/NameTranslation/NpgsqlSnakeCaseNameTranslator.cs index 760ddb1e5a..66e6efa7aa 100644 --- a/src/Npgsql/NameTranslation/NpgsqlSnakeCaseNameTranslator.cs +++ b/src/Npgsql/NameTranslation/NpgsqlSnakeCaseNameTranslator.cs @@ -3,7 +3,7 @@ using System.Globalization; using System.Text; -namespace Npgsql.NameTranslation; +namespace YBNpgsql.NameTranslation; /// /// A name translator which converts standard CLR names (e.g. SomeClass) to snake-case database diff --git a/src/Npgsql/Npgsql.csproj b/src/Npgsql/Npgsql.csproj index 426eb06bcd..1f4c069a69 100644 --- a/src/Npgsql/Npgsql.csproj +++ b/src/Npgsql/Npgsql.csproj @@ -1,9 +1,11 @@  - Shay Rojansky;Nikita Kazmin;Brar Piening;Nino Floris;Yoh Deadfall;;Austin Drenski;Emil Lenngren;Francisco Figueiredo Jr.;Kenji Uno - Npgsql is the open source .NET data provider for PostgreSQL. - npgsql;postgresql;postgres;ado;ado.net;database;sql + NpgsqlYugabyteDB + Sfurti Sarah;Shay Rojansky;Nikita Kazmin;Brar Piening;Yoh Deadfall;;Austin Drenski;Emil Lenngren;Francisco Figueiredo Jr.;Kenji Uno + NpgsqlYugabyteDB is the open source .NET data provider for YugabyteDB. + npgsql;postgresql;postgres;ado;ado.net;database;sql;yugabyte + YBNpgsql README.md net6.0;net8.0 net8.0 diff --git a/src/Npgsql/NpgsqlActivitySource.cs b/src/Npgsql/NpgsqlActivitySource.cs index 667728a89a..8528da114e 100644 --- a/src/Npgsql/NpgsqlActivitySource.cs +++ b/src/Npgsql/NpgsqlActivitySource.cs @@ -1,11 +1,11 @@ -using Npgsql.Internal; +using YBNpgsql.Internal; using System; using System.Data; using System.Diagnostics; using System.Net; using System.Net.Sockets; -namespace Npgsql; +namespace YBNpgsql; static class NpgsqlActivitySource { diff --git a/src/Npgsql/NpgsqlBatch.cs b/src/Npgsql/NpgsqlBatch.cs index e692199e2b..9db0e9db8e 100644 --- a/src/Npgsql/NpgsqlBatch.cs +++ b/src/Npgsql/NpgsqlBatch.cs @@ -3,9 +3,9 @@ using System.Data.Common; using System.Threading; using System.Threading.Tasks; -using Npgsql.Internal; +using YBNpgsql.Internal; -namespace Npgsql; +namespace YBNpgsql; /// public class NpgsqlBatch : DbBatch diff --git a/src/Npgsql/NpgsqlBatchCommand.cs b/src/Npgsql/NpgsqlBatchCommand.cs index f25e8937b4..2aa6d7d840 100644 --- a/src/Npgsql/NpgsqlBatchCommand.cs +++ b/src/Npgsql/NpgsqlBatchCommand.cs @@ -5,10 +5,10 @@ using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Runtime.CompilerServices; -using Npgsql.BackendMessages; -using Npgsql.Internal; +using YBNpgsql.BackendMessages; +using YBNpgsql.Internal; -namespace Npgsql; +namespace YBNpgsql; /// public sealed class NpgsqlBatchCommand : DbBatchCommand diff --git a/src/Npgsql/NpgsqlBatchCommandCollection.cs b/src/Npgsql/NpgsqlBatchCommandCollection.cs index a79afa359b..cef1aff468 100644 --- a/src/Npgsql/NpgsqlBatchCommandCollection.cs +++ b/src/Npgsql/NpgsqlBatchCommandCollection.cs @@ -3,7 +3,7 @@ using System.Data.Common; using System.Diagnostics.CodeAnalysis; -namespace Npgsql; +namespace YBNpgsql; /// public class NpgsqlBatchCommandCollection : DbBatchCommandCollection, IList diff --git a/src/Npgsql/NpgsqlBinaryExporter.cs b/src/Npgsql/NpgsqlBinaryExporter.cs index f221056119..a8656c53ac 100644 --- a/src/Npgsql/NpgsqlBinaryExporter.cs +++ b/src/Npgsql/NpgsqlBinaryExporter.cs @@ -3,13 +3,13 @@ using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.Logging; -using Npgsql.BackendMessages; -using Npgsql.Internal; -using Npgsql.Internal.Postgres; -using NpgsqlTypes; -using static Npgsql.Util.Statics; +using YBNpgsql.BackendMessages; +using YBNpgsql.Internal; +using YBNpgsql.Internal.Postgres; +using YBNpgsqlTypes; +using static YBNpgsql.Util.Statics; -namespace Npgsql; +namespace YBNpgsql; /// /// Provides an API for a binary COPY TO operation, a high-performance data export mechanism from diff --git a/src/Npgsql/NpgsqlBinaryImporter.cs b/src/Npgsql/NpgsqlBinaryImporter.cs index 633d1bac15..911923692e 100644 --- a/src/Npgsql/NpgsqlBinaryImporter.cs +++ b/src/Npgsql/NpgsqlBinaryImporter.cs @@ -3,13 +3,13 @@ using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.Logging; -using Npgsql.BackendMessages; -using Npgsql.Internal; -using Npgsql.Internal.Postgres; -using NpgsqlTypes; -using static Npgsql.Util.Statics; +using YBNpgsql.BackendMessages; +using YBNpgsql.Internal; +using YBNpgsql.Internal.Postgres; +using YBNpgsqlTypes; +using static YBNpgsql.Util.Statics; -namespace Npgsql; +namespace YBNpgsql; /// /// Provides an API for a binary COPY FROM operation, a high-performance data import mechanism to diff --git a/src/Npgsql/NpgsqlCommand.cs b/src/Npgsql/NpgsqlCommand.cs index 012ce4cf56..05d0de6509 100644 --- a/src/Npgsql/NpgsqlCommand.cs +++ b/src/Npgsql/NpgsqlCommand.cs @@ -8,18 +8,18 @@ using System.Text; using System.Threading; using System.Threading.Tasks; -using Npgsql.BackendMessages; -using Npgsql.Util; -using NpgsqlTypes; -using static Npgsql.Util.Statics; +using YBNpgsql.BackendMessages; +using YBNpgsql.Util; +using YBNpgsqlTypes; +using static YBNpgsql.Util.Statics; using System.Diagnostics.CodeAnalysis; using System.Threading.Channels; using Microsoft.Extensions.Logging; -using Npgsql.Internal; -using Npgsql.Properties; +using YBNpgsql.Internal; +using YBNpgsql.Properties; using System.Collections; -namespace Npgsql; +namespace YBNpgsql; /// /// Represents a SQL statement or function (stored procedure) to execute diff --git a/src/Npgsql/NpgsqlCommandBuilder.cs b/src/Npgsql/NpgsqlCommandBuilder.cs index 9665b8356c..a86ff3292f 100644 --- a/src/Npgsql/NpgsqlCommandBuilder.cs +++ b/src/Npgsql/NpgsqlCommandBuilder.cs @@ -3,9 +3,9 @@ using System.Data.Common; using System.Diagnostics.CodeAnalysis; using System.Globalization; -using NpgsqlTypes; +using YBNpgsqlTypes; -namespace Npgsql; +namespace YBNpgsql; /// /// This class creates database commands for automatic insert, update and delete operations. diff --git a/src/Npgsql/NpgsqlConnection.cs b/src/Npgsql/NpgsqlConnection.cs index 74290d23f9..6f7d1c08f0 100644 --- a/src/Npgsql/NpgsqlConnection.cs +++ b/src/Npgsql/NpgsqlConnection.cs @@ -14,12 +14,12 @@ using System.Threading.Tasks; using System.Transactions; using Microsoft.Extensions.Logging; -using Npgsql.Internal; -using Npgsql.TypeMapping; -using Npgsql.Util; +using YBNpgsql.Internal; +using YBNpgsql.TypeMapping; +using YBNpgsql.Util; using IsolationLevel = System.Data.IsolationLevel; -namespace Npgsql; +namespace YBNpgsql; /// /// This class represents a connection to a PostgreSQL server. @@ -95,7 +95,7 @@ public INpgsqlTypeMapper TypeMapper /// /// The default TCP/IP port for PostgreSQL. /// - public const int DefaultPort = 5432; + public const int DefaultPort = 5433; /// /// Maximum value for connection timeout. @@ -171,12 +171,21 @@ internal static NpgsqlConnection FromDataSource(NpgsqlDataSource dataSource) void SetupDataSource() { // Fast path: a pool already corresponds to this exact version of the connection string. - if (PoolManager.Pools.TryGetValue(_connectionString, out _dataSource)) + if (PoolManager.Pools.TryGetValue(_connectionString, out _dataSource) && !_dataSource.NeedsRefresh()) { Settings = _dataSource.Settings; // Great, we already have a pool return; } + // A pool already corresponds to this version of string but also needs Refresh + + if (PoolManager.Pools.TryGetValue(_connectionString, out _dataSource) && _dataSource.NeedsRefresh()) + { + _dataSource.Refresh(); + Settings = _dataSource.Settings; // Great, we already have a pool + return; + } + // Connection string hasn't been seen before. Check for empty and parse (slow one-time path). if (_connectionString == string.Empty) { @@ -195,7 +204,7 @@ void SetupDataSource() // Note that we remove TargetSessionAttributes to make all connection strings that are otherwise identical point to the same pool. var canonical = settings.ConnectionStringForMultipleHosts; - if (PoolManager.Pools.TryGetValue(canonical, out _dataSource)) + if (PoolManager.Pools.TryGetValue(canonical, out _dataSource) && !_dataSource.NeedsRefresh()) { // If this is a multi-host data source and the user specified a TargetSessionAttributes, create a wrapper in front of the // MultiHostDataSource with that TargetSessionAttributes. @@ -208,6 +217,15 @@ void SetupDataSource() return; } + if (PoolManager.Pools.TryGetValue(canonical, out _dataSource) && _dataSource.NeedsRefresh()) + { + _dataSource.Refresh(); + // The pool was found, but only under the canonical key - we're using a different version + // for the first time. Map it via our own key for next time. + _dataSource = PoolManager.Pools.GetOrAdd(_connectionString, _dataSource); + return; + } + // Really unseen, need to create a new pool // The canonical pool is the 'base' pool so we need to set that up first. If someone beats us to it use what they put. // The connection string pool can either be added here or above, if it's added above we should just use that. @@ -323,7 +341,7 @@ async Task OpenAsync(bool async, CancellationToken cancellationToken) EnlistTransaction(enlistToTransaction); LogMessages.OpenedConnection(_connectionLogger, Host!, Port, Database, _userFacingConnectionString, connector.Id); - FullState = ConnectionState.Open; + FullState = ConnectionState.Open; } catch { @@ -894,6 +912,10 @@ async Task CloseAsync(bool async) } else { + if (_dataSource is ClusterAwareDataSource) + { + _dataSource.Return(connector); + } connector.Connection = null; connector.Return(); } diff --git a/src/Npgsql/NpgsqlConnectionStringBuilder.cs b/src/Npgsql/NpgsqlConnectionStringBuilder.cs index f662dd4a83..1dcdcde54d 100644 --- a/src/Npgsql/NpgsqlConnectionStringBuilder.cs +++ b/src/Npgsql/NpgsqlConnectionStringBuilder.cs @@ -6,10 +6,10 @@ using System.Data.Common; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; -using Npgsql.Internal; -using Npgsql.Replication; +using YBNpgsql.Internal; +using YBNpgsql.Replication; -namespace Npgsql; +namespace YBNpgsql; /// /// Provides a simple way to create and manage the contents of connection strings used by @@ -909,13 +909,13 @@ public string? TargetSessionAttributes { get => TargetSessionAttributesParsed switch { - Npgsql.TargetSessionAttributes.Any => "any", - Npgsql.TargetSessionAttributes.Primary => "primary", - Npgsql.TargetSessionAttributes.Standby => "standby", - Npgsql.TargetSessionAttributes.PreferPrimary => "prefer-primary", - Npgsql.TargetSessionAttributes.PreferStandby => "prefer-standby", - Npgsql.TargetSessionAttributes.ReadWrite => "read-write", - Npgsql.TargetSessionAttributes.ReadOnly => "read-only", + YBNpgsql.TargetSessionAttributes.Any => "any", + YBNpgsql.TargetSessionAttributes.Primary => "primary", + YBNpgsql.TargetSessionAttributes.Standby => "standby", + YBNpgsql.TargetSessionAttributes.PreferPrimary => "prefer-primary", + YBNpgsql.TargetSessionAttributes.PreferStandby => "prefer-standby", + YBNpgsql.TargetSessionAttributes.ReadWrite => "read-write", + YBNpgsql.TargetSessionAttributes.ReadOnly => "read-only", null => null, _ => throw new ArgumentException($"Unhandled enum value '{TargetSessionAttributesParsed}'") @@ -933,13 +933,13 @@ public string? TargetSessionAttributes internal static TargetSessionAttributes ParseTargetSessionAttributes(string s) => s switch { - "any" => Npgsql.TargetSessionAttributes.Any, - "primary" => Npgsql.TargetSessionAttributes.Primary, - "standby" => Npgsql.TargetSessionAttributes.Standby, - "prefer-primary" => Npgsql.TargetSessionAttributes.PreferPrimary, - "prefer-standby" => Npgsql.TargetSessionAttributes.PreferStandby, - "read-write" => Npgsql.TargetSessionAttributes.ReadWrite, - "read-only" => Npgsql.TargetSessionAttributes.ReadOnly, + "any" => YBNpgsql.TargetSessionAttributes.Any, + "primary" => YBNpgsql.TargetSessionAttributes.Primary, + "standby" => YBNpgsql.TargetSessionAttributes.Standby, + "prefer-primary" => YBNpgsql.TargetSessionAttributes.PreferPrimary, + "prefer-standby" => YBNpgsql.TargetSessionAttributes.PreferStandby, + "read-write" => YBNpgsql.TargetSessionAttributes.ReadWrite, + "read-only" => YBNpgsql.TargetSessionAttributes.ReadOnly, _ => throw new ArgumentException($"TargetSessionAttributes contains an invalid value '{s}'") }; @@ -951,7 +951,8 @@ internal static TargetSessionAttributes ParseTargetSessionAttributes(string s) [Description("Enables balancing between multiple hosts by round-robin.")] [DisplayName("Load Balance Hosts")] [NpgsqlConnectionStringProperty] - public bool LoadBalanceHosts + [DefaultValue(LoadBalanceHosts.False)] + public LoadBalanceHosts LoadBalanceHosts { get => _loadBalanceHosts; set @@ -960,7 +961,80 @@ public bool LoadBalanceHosts SetValue(nameof(LoadBalanceHosts), value); } } - bool _loadBalanceHosts; + LoadBalanceHosts _loadBalanceHosts; + + /// + /// Enables balancing between multiple hosts by round-robin in a specified topology + /// + [Category("Failover and load balancing")] + [Description("Enables balancing between multiple hosts by round-robin in a topology.")] + [DisplayName("Topology Keys")] + [NpgsqlConnectionStringProperty] + public string? TopologyKeys + { + get => _topologyKeys; + set + { + _topologyKeys = value; + SetValue(nameof(TopologyKeys), value); + } + } + string? _topologyKeys; + + /// + /// Sets the refresh interval for the yb_servers() + /// + [Category("Failover and load balancing")] + [Description("Sets the refresh interval for the yb_servers()")] + [DisplayName("YB Servers Refresh Interval")] + [NpgsqlConnectionStringProperty] + public double YBServersRefreshInterval + { + get => _ybServersRefreshInterval; + set + { + _ybServersRefreshInterval = value; + SetValue(nameof(YBServersRefreshInterval), value); + } + } + double _ybServersRefreshInterval; + + /// + /// Sets the reconnect time for failed hosts + /// + [Category("Failover and load balancing")] + [Description("Sets the reconnect time for failed hosts")] + [DisplayName("Failed Host Reconnect Delay Secs")] + [NpgsqlConnectionStringProperty] + public double FailedHostReconnectDelaySecs + { + get => _failedHostReconnectDelaySecs; + set + { + _failedHostReconnectDelaySecs = value; + SetValue(nameof(FailedHostReconnectDelaySecs), value); + } + } + double _failedHostReconnectDelaySecs; + + /// + /// If set to true the connections do not go to the rest of the cluster when all the nodes in region specified by topology keys are down + /// + [Category("Failover and load balancing")] + [Description("Determines if fallback should be done on rest of the cluster")] + [DisplayName("FallBack To Topology Keys Only")] + [DefaultValue(false)] + [NpgsqlConnectionStringProperty] + public bool FallBackToTopologyKeysOnly + { + get => _fallBackToTopologyKeysOnly; + set + { + _fallBackToTopologyKeysOnly = value; + SetValue(nameof(FallBackToTopologyKeysOnly), value); + } + } + bool _fallBackToTopologyKeysOnly; /// /// Controls for how long the host's cached state will be considered as valid. @@ -1359,6 +1433,86 @@ public ServerCompatibilityMode ServerCompatibilityMode } ServerCompatibilityMode _serverCompatibilityMode; + /// + /// Enables running the discard sequences sql during reset. + /// + [Category("Compatibility")] + [Description("Enables running the discard sequences sql during reset")] + [DisplayName("Enable Discard Sequences")] + [DefaultValue(true)] + [NpgsqlConnectionStringProperty] + public bool EnableDiscardSequences + { + get => _enablediscardsequences; + set + { + _enablediscardsequences = value; + SetValue(nameof(EnableDiscardSequences), value); + } + } + bool _enablediscardsequences; + + /// + /// Enables running the discard sequences sql during reset. + /// + [Category("Compatibility")] + [Description("Enables running the discard temp sql during reset")] + [DisplayName("Enable Discard Temp")] + [DefaultValue(true)] + [NpgsqlConnectionStringProperty] + public bool EnableDiscardTemp + { + get => _enablediscardtemp; + set + { + _enablediscardtemp = value; + SetValue(nameof(EnableDiscardTemp), value); + } + } + bool _enablediscardtemp; + + /// + /// Enables running the discard sequences sql during reset. + /// + [Category("Compatibility")] + [Description("Enables running the Close All sql during reset")] + [DisplayName("Enable Close All")] + [DefaultValue(true)] + [NpgsqlConnectionStringProperty] + public bool EnableCloseAll + { + get => _enablecloseall; + set + { + _enablecloseall = value; + SetValue(nameof(EnableCloseAll), value); + } + } + bool _enablecloseall; + + /// + /// Enables running the discard sequences sql during reset. + /// + [Category("Compatibility")] + [Description("Enables running the Discard All sql during reset")] + [DisplayName("Enable Discard All")] + [DefaultValue(true)] + [NpgsqlConnectionStringProperty] + public bool EnableDiscardAll + { + get => _enablediscardall; + set + { + _enablediscardall = value; + SetValue(nameof(EnableDiscardAll), value); + } + } + bool _enablediscardall; + + #endregion + + #region Properties - Obsolete + /// /// Whether to trust the server certificate without validating it. /// @@ -1418,7 +1572,7 @@ internal void PostProcessAndValidate() if (!Host.Contains(',')) { if (TargetSessionAttributesParsed is not null && - TargetSessionAttributesParsed != Npgsql.TargetSessionAttributes.Any) + TargetSessionAttributesParsed != YBNpgsql.TargetSessionAttributes.Any) { throw new NotSupportedException("Target Session Attributes other then Any is only supported with multiple hosts"); } @@ -1747,4 +1901,39 @@ enum ReplicationMode Logical } +/// +/// +/// +public enum LoadBalanceHosts +{ + /// + /// + /// + False, + /// + /// + /// + OnlyRR, + /// + /// + /// + OnlyPrimary, + /// + /// + /// + PreferRR, + /// + /// + /// + PreferPrimary, + /// + /// + /// + Any, + /// + /// + /// + True +} + #endregion diff --git a/src/Npgsql/NpgsqlDataAdapter.cs b/src/Npgsql/NpgsqlDataAdapter.cs index f98f4cca61..e98f24d1ec 100644 --- a/src/Npgsql/NpgsqlDataAdapter.cs +++ b/src/Npgsql/NpgsqlDataAdapter.cs @@ -5,7 +5,7 @@ using System.Threading; using System.Threading.Tasks; -namespace Npgsql; +namespace YBNpgsql; /// /// Represents the method that handles the events. diff --git a/src/Npgsql/NpgsqlDataReader.cs b/src/Npgsql/NpgsqlDataReader.cs index 4add2e970d..d40b283d13 100644 --- a/src/Npgsql/NpgsqlDataReader.cs +++ b/src/Npgsql/NpgsqlDataReader.cs @@ -13,15 +13,15 @@ using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.Logging; -using Npgsql.BackendMessages; -using Npgsql.Internal; -using Npgsql.Internal.Converters; -using Npgsql.PostgresTypes; -using Npgsql.Schema; -using NpgsqlTypes; -using static Npgsql.Util.Statics; - -namespace Npgsql; +using YBNpgsql.BackendMessages; +using YBNpgsql.Internal; +using YBNpgsql.Internal.Converters; +using YBNpgsql.PostgresTypes; +using YBNpgsql.Schema; +using YBNpgsqlTypes; +using static YBNpgsql.Util.Statics; + +namespace YBNpgsql; /// /// Reads a forward-only stream of rows from a data source. diff --git a/src/Npgsql/NpgsqlDataSource.cs b/src/Npgsql/NpgsqlDataSource.cs index ce6db8f843..bd66d6e230 100644 --- a/src/Npgsql/NpgsqlDataSource.cs +++ b/src/Npgsql/NpgsqlDataSource.cs @@ -8,12 +8,12 @@ using System.Threading.Tasks; using System.Transactions; using Microsoft.Extensions.Logging; -using Npgsql.Internal; -using Npgsql.Internal.ResolverFactories; -using Npgsql.Properties; -using Npgsql.Util; +using YBNpgsql.Internal; +using YBNpgsql.Internal.ResolverFactories; +using YBNpgsql.Properties; +using YBNpgsql.Util; -namespace Npgsql; +namespace YBNpgsql; /// public abstract class NpgsqlDataSource : DbDataSource @@ -390,6 +390,10 @@ async Task RefreshPassword() #endregion Password management + internal abstract bool NeedsRefresh(); + + internal abstract bool Refresh(); + internal abstract ValueTask Get( NpgsqlConnection conn, NpgsqlTimeout timeout, bool async, CancellationToken cancellationToken); diff --git a/src/Npgsql/NpgsqlDataSourceBatch.cs b/src/Npgsql/NpgsqlDataSourceBatch.cs index c5b44e9ff6..df7acb0f5a 100644 --- a/src/Npgsql/NpgsqlDataSourceBatch.cs +++ b/src/Npgsql/NpgsqlDataSourceBatch.cs @@ -2,9 +2,9 @@ using System.Data.Common; using System.Threading; using System.Threading.Tasks; -using Npgsql.Properties; +using YBNpgsql.Properties; -namespace Npgsql; +namespace YBNpgsql; sealed class NpgsqlDataSourceBatch : NpgsqlBatch { diff --git a/src/Npgsql/NpgsqlDataSourceBuilder.cs b/src/Npgsql/NpgsqlDataSourceBuilder.cs index a3b7779083..0aeccd4e3b 100644 --- a/src/Npgsql/NpgsqlDataSourceBuilder.cs +++ b/src/Npgsql/NpgsqlDataSourceBuilder.cs @@ -7,13 +7,13 @@ using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.Logging; -using Npgsql.Internal; -using Npgsql.Internal.ResolverFactories; -using Npgsql.NameTranslation; -using Npgsql.TypeMapping; -using NpgsqlTypes; +using YBNpgsql.Internal; +using YBNpgsql.Internal.ResolverFactories; +using YBNpgsql.NameTranslation; +using YBNpgsql.TypeMapping; +using YBNpgsqlTypes; -namespace Npgsql; +namespace YBNpgsql; /// /// Provides a simple API for configuring and creating an , from which database connections can be obtained. diff --git a/src/Npgsql/NpgsqlDataSourceCommand.cs b/src/Npgsql/NpgsqlDataSourceCommand.cs index d293194f66..016d3bd21c 100644 --- a/src/Npgsql/NpgsqlDataSourceCommand.cs +++ b/src/Npgsql/NpgsqlDataSourceCommand.cs @@ -3,9 +3,9 @@ using System.Data.Common; using System.Threading; using System.Threading.Tasks; -using Npgsql.Properties; +using YBNpgsql.Properties; -namespace Npgsql; +namespace YBNpgsql; sealed class NpgsqlDataSourceCommand : NpgsqlCommand { diff --git a/src/Npgsql/NpgsqlDataSourceConfiguration.cs b/src/Npgsql/NpgsqlDataSourceConfiguration.cs index 14c9b5804b..e0a1b1f7ac 100644 --- a/src/Npgsql/NpgsqlDataSourceConfiguration.cs +++ b/src/Npgsql/NpgsqlDataSourceConfiguration.cs @@ -2,9 +2,9 @@ using System.Net.Security; using System.Threading; using System.Threading.Tasks; -using Npgsql.Internal; +using YBNpgsql.Internal; -namespace Npgsql; +namespace YBNpgsql; sealed record NpgsqlDataSourceConfiguration(string? Name, NpgsqlLoggingConfiguration LoggingConfiguration, diff --git a/src/Npgsql/NpgsqlDiagnostics.cs b/src/Npgsql/NpgsqlDiagnostics.cs index 2037fec667..91ffc2c9fd 100644 --- a/src/Npgsql/NpgsqlDiagnostics.cs +++ b/src/Npgsql/NpgsqlDiagnostics.cs @@ -1,4 +1,4 @@ -namespace Npgsql; +namespace YBNpgsql; static class NpgsqlDiagnostics { diff --git a/src/Npgsql/NpgsqlEventId.cs b/src/Npgsql/NpgsqlEventId.cs index cf82ea063d..cc9d34e69e 100644 --- a/src/Npgsql/NpgsqlEventId.cs +++ b/src/Npgsql/NpgsqlEventId.cs @@ -1,4 +1,4 @@ -namespace Npgsql; +namespace YBNpgsql; #pragma warning disable CS1591 #pragma warning disable RS0016 diff --git a/src/Npgsql/NpgsqlEventSource.cs b/src/Npgsql/NpgsqlEventSource.cs index d50979bb64..b6c32816dd 100644 --- a/src/Npgsql/NpgsqlEventSource.cs +++ b/src/Npgsql/NpgsqlEventSource.cs @@ -4,7 +4,7 @@ using System.Threading; using System.Diagnostics.Tracing; -namespace Npgsql; +namespace YBNpgsql; sealed class NpgsqlEventSource : EventSource { diff --git a/src/Npgsql/NpgsqlException.cs b/src/Npgsql/NpgsqlException.cs index 91eb84adef..9a38a28b01 100644 --- a/src/Npgsql/NpgsqlException.cs +++ b/src/Npgsql/NpgsqlException.cs @@ -4,7 +4,7 @@ using System.Net.Sockets; using System.Runtime.Serialization; -namespace Npgsql; +namespace YBNpgsql; /// /// The exception that is thrown when server-related issues occur. diff --git a/src/Npgsql/NpgsqlFactory.cs b/src/Npgsql/NpgsqlFactory.cs index 15a1cd431e..d2cb6e3268 100644 --- a/src/Npgsql/NpgsqlFactory.cs +++ b/src/Npgsql/NpgsqlFactory.cs @@ -1,7 +1,7 @@ using System; using System.Data.Common; -namespace Npgsql; +namespace YBNpgsql; /// /// A factory to create instances of various Npgsql objects. diff --git a/src/Npgsql/NpgsqlLargeObjectManager.cs b/src/Npgsql/NpgsqlLargeObjectManager.cs index 2bc6c02751..393fdab710 100644 --- a/src/Npgsql/NpgsqlLargeObjectManager.cs +++ b/src/Npgsql/NpgsqlLargeObjectManager.cs @@ -1,11 +1,11 @@ using System; -using Npgsql.Util; +using YBNpgsql.Util; using System.Data; using System.Text; using System.Threading; using System.Threading.Tasks; -namespace Npgsql; +namespace YBNpgsql; /// /// Large object manager. This class can be used to store very large files in a PostgreSQL database. diff --git a/src/Npgsql/NpgsqlLargeObjectStream.cs b/src/Npgsql/NpgsqlLargeObjectStream.cs index 2f3c8b19b0..c3152b4eed 100644 --- a/src/Npgsql/NpgsqlLargeObjectStream.cs +++ b/src/Npgsql/NpgsqlLargeObjectStream.cs @@ -1,10 +1,10 @@ -using Npgsql.Util; +using YBNpgsql.Util; using System; using System.IO; using System.Threading; using System.Threading.Tasks; -namespace Npgsql; +namespace YBNpgsql; /// /// An interface to remotely control the seekable stream for an opened large object on a PostgreSQL server. diff --git a/src/Npgsql/NpgsqlLoggingConfiguration.cs b/src/Npgsql/NpgsqlLoggingConfiguration.cs index 745cf476cb..efcc5edc2a 100644 --- a/src/Npgsql/NpgsqlLoggingConfiguration.cs +++ b/src/Npgsql/NpgsqlLoggingConfiguration.cs @@ -1,7 +1,7 @@ using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; -namespace Npgsql; +namespace YBNpgsql; /// /// Configures Npgsql logging diff --git a/src/Npgsql/NpgsqlMetricsOptions.cs b/src/Npgsql/NpgsqlMetricsOptions.cs index b4da63dc7a..28a7631a23 100644 --- a/src/Npgsql/NpgsqlMetricsOptions.cs +++ b/src/Npgsql/NpgsqlMetricsOptions.cs @@ -1,4 +1,4 @@ -namespace Npgsql; +namespace YBNpgsql; /// /// Options to configure Npgsql's support for OpenTelemetry metrics. diff --git a/src/Npgsql/NpgsqlMultiHostDataSource.cs b/src/Npgsql/NpgsqlMultiHostDataSource.cs index 7236e7bb8b..61a6810133 100644 --- a/src/Npgsql/NpgsqlMultiHostDataSource.cs +++ b/src/Npgsql/NpgsqlMultiHostDataSource.cs @@ -1,5 +1,5 @@ -using Npgsql.Internal; -using Npgsql.Util; +using YBNpgsql.Internal; +using YBNpgsql.Util; using System; using System.Collections.Generic; using System.Diagnostics; @@ -9,7 +9,7 @@ using System.Threading.Tasks; using System.Transactions; -namespace Npgsql; +namespace YBNpgsql; /// /// An which manages connections for multiple hosts, is aware of their states (primary, secondary, @@ -285,6 +285,12 @@ static bool IsOnline(DatabaseState state, TargetSessionAttributes preferredType) return null; } + internal override bool NeedsRefresh() + { + return false; + } + internal override bool Refresh() => throw new NotImplementedException(); + internal override async ValueTask Get( NpgsqlConnection conn, NpgsqlTimeout timeout, @@ -295,7 +301,7 @@ internal override async ValueTask Get( var exceptions = new List(); - var poolIndex = conn.Settings.LoadBalanceHosts ? GetRoundRobinIndex() : 0; + var poolIndex = conn.Settings.LoadBalanceHosts == LoadBalanceHosts.True ? GetRoundRobinIndex() : 0; var timeoutPerHost = timeout.IsSet ? timeout.CheckAndGetTimeLeft() : TimeSpan.Zero; var preferredType = GetTargetSessionAttributes(conn); diff --git a/src/Npgsql/NpgsqlNestedDataReader.cs b/src/Npgsql/NpgsqlNestedDataReader.cs index b505fe04f0..6623ac25b0 100644 --- a/src/Npgsql/NpgsqlNestedDataReader.cs +++ b/src/Npgsql/NpgsqlNestedDataReader.cs @@ -1,5 +1,5 @@ -using Npgsql.Internal; -using Npgsql.PostgresTypes; +using YBNpgsql.Internal; +using YBNpgsql.PostgresTypes; using System; using System.Collections; using System.Collections.Generic; @@ -8,9 +8,9 @@ using System.Globalization; using System.IO; using System.Runtime.CompilerServices; -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal.Postgres; -namespace Npgsql; +namespace YBNpgsql; /// /// Reads a forward-only stream of rows from a nested data source. diff --git a/src/Npgsql/NpgsqlNotificationEventArgs.cs b/src/Npgsql/NpgsqlNotificationEventArgs.cs index 82e00b18a6..5ece5b3c5d 100644 --- a/src/Npgsql/NpgsqlNotificationEventArgs.cs +++ b/src/Npgsql/NpgsqlNotificationEventArgs.cs @@ -1,7 +1,7 @@ using System; -using Npgsql.Internal; +using YBNpgsql.Internal; -namespace Npgsql; +namespace YBNpgsql; /// /// Provides information on a PostgreSQL notification. Notifications are sent when your connection has registered for diff --git a/src/Npgsql/NpgsqlOperationInProgressException.cs b/src/Npgsql/NpgsqlOperationInProgressException.cs index 74e7e646ff..850f08435f 100644 --- a/src/Npgsql/NpgsqlOperationInProgressException.cs +++ b/src/Npgsql/NpgsqlOperationInProgressException.cs @@ -1,6 +1,6 @@ -using Npgsql.Internal; +using YBNpgsql.Internal; -namespace Npgsql; +namespace YBNpgsql; /// /// Thrown when trying to use a connection that is already busy performing some other operation. diff --git a/src/Npgsql/NpgsqlParameter.cs b/src/Npgsql/NpgsqlParameter.cs index 6273a9617a..1ba18854ae 100644 --- a/src/Npgsql/NpgsqlParameter.cs +++ b/src/Npgsql/NpgsqlParameter.cs @@ -8,14 +8,14 @@ using System.Runtime.CompilerServices; using System.Threading; using System.Threading.Tasks; -using Npgsql.Internal; -using Npgsql.Internal.Postgres; -using Npgsql.PostgresTypes; -using Npgsql.TypeMapping; -using Npgsql.Util; -using NpgsqlTypes; +using YBNpgsql.Internal; +using YBNpgsql.Internal.Postgres; +using YBNpgsql.PostgresTypes; +using YBNpgsql.TypeMapping; +using YBNpgsql.Util; +using YBNpgsqlTypes; -namespace Npgsql; +namespace YBNpgsql; /// /// This class represents a parameter to a command that will be sent to server @@ -93,7 +93,7 @@ public NpgsqlParameter(string? parameterName, object? value) /// Initializes a new instance of the class with the parameter name and the data type. /// /// The name of the parameter to map. - /// One of the values. + /// One of the values. public NpgsqlParameter(string? parameterName, NpgsqlDbType parameterType) : this(parameterName, parameterType, 0, string.Empty) { @@ -113,7 +113,7 @@ public NpgsqlParameter(string? parameterName, DbType parameterType) /// Initializes a new instance of the . /// /// The name of the parameter to map. - /// One of the values. + /// One of the values. /// The length of the parameter. public NpgsqlParameter(string? parameterName, NpgsqlDbType parameterType, int size) : this(parameterName, parameterType, size, string.Empty) @@ -135,7 +135,7 @@ public NpgsqlParameter(string? parameterName, DbType parameterType, int size) /// Initializes a new instance of the /// /// The name of the parameter to map. - /// One of the values. + /// One of the values. /// The length of the parameter. /// The name of the source column. public NpgsqlParameter(string? parameterName, NpgsqlDbType parameterType, int size, string? sourceColumn) @@ -169,7 +169,7 @@ public NpgsqlParameter(string? parameterName, DbType parameterType, int size, st /// Initializes a new instance of the . /// /// The name of the parameter to map. - /// One of the values. + /// One of the values. /// The length of the parameter. /// The name of the source column. /// One of the values. @@ -339,9 +339,9 @@ public sealed override DbType DbType } /// - /// Gets or sets the of the parameter. + /// Gets or sets the of the parameter. /// - /// One of the values. The default is . + /// One of the values. The default is . [DefaultValue(NpgsqlDbType.Unknown)] [Category("Data"), RefreshProperties(RefreshProperties.All)] [DbProviderSpecificTypeProperty(true)] diff --git a/src/Npgsql/NpgsqlParameterCollection.cs b/src/Npgsql/NpgsqlParameterCollection.cs index 8031fd7efc..a6f8188906 100644 --- a/src/Npgsql/NpgsqlParameterCollection.cs +++ b/src/Npgsql/NpgsqlParameterCollection.cs @@ -5,10 +5,10 @@ using System.Data.Common; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; -using Npgsql.Internal; -using NpgsqlTypes; +using YBNpgsql.Internal; +using YBNpgsqlTypes; -namespace Npgsql; +namespace YBNpgsql; /// /// Represents a collection of parameters relevant to a as well as their respective mappings to columns in diff --git a/src/Npgsql/NpgsqlParameter`.cs b/src/Npgsql/NpgsqlParameter`.cs index e50618a510..12f6773780 100644 --- a/src/Npgsql/NpgsqlParameter`.cs +++ b/src/Npgsql/NpgsqlParameter`.cs @@ -4,10 +4,10 @@ using System.Runtime.CompilerServices; using System.Threading; using System.Threading.Tasks; -using Npgsql.Internal; -using NpgsqlTypes; +using YBNpgsql.Internal; +using YBNpgsqlTypes; -namespace Npgsql; +namespace YBNpgsql; /// /// A generic version of which provides more type safety and diff --git a/src/Npgsql/NpgsqlRawCopyStream.cs b/src/Npgsql/NpgsqlRawCopyStream.cs index d7b818679a..49e0d13476 100644 --- a/src/Npgsql/NpgsqlRawCopyStream.cs +++ b/src/Npgsql/NpgsqlRawCopyStream.cs @@ -4,13 +4,13 @@ using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.Logging; -using Npgsql.BackendMessages; -using Npgsql.Internal; -using static Npgsql.Util.Statics; +using YBNpgsql.BackendMessages; +using YBNpgsql.Internal; +using static YBNpgsql.Util.Statics; #pragma warning disable 1591 -namespace Npgsql; +namespace YBNpgsql; /// /// Provides an API for a raw binary COPY operation, a high-performance data import/export mechanism to diff --git a/src/Npgsql/NpgsqlSchema.cs b/src/Npgsql/NpgsqlSchema.cs index 7ce5f3ec1d..f153da5214 100644 --- a/src/Npgsql/NpgsqlSchema.cs +++ b/src/Npgsql/NpgsqlSchema.cs @@ -6,11 +6,11 @@ using System.Text; using System.Threading; using System.Threading.Tasks; -using Npgsql.Internal; -using Npgsql.PostgresTypes; -using NpgsqlTypes; +using YBNpgsql.Internal; +using YBNpgsql.PostgresTypes; +using YBNpgsqlTypes; -namespace Npgsql; +namespace YBNpgsql; /// /// Provides the underlying mechanism for reading schema information. diff --git a/src/Npgsql/NpgsqlSlimDataSourceBuilder.cs b/src/Npgsql/NpgsqlSlimDataSourceBuilder.cs index 376e3bd7c9..8263d470b2 100644 --- a/src/Npgsql/NpgsqlSlimDataSourceBuilder.cs +++ b/src/Npgsql/NpgsqlSlimDataSourceBuilder.cs @@ -8,14 +8,14 @@ using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.Logging; -using Npgsql.Internal; -using Npgsql.Internal.ResolverFactories; -using Npgsql.NameTranslation; -using Npgsql.Properties; -using Npgsql.TypeMapping; -using NpgsqlTypes; +using YBNpgsql.Internal; +using YBNpgsql.Internal.ResolverFactories; +using YBNpgsql.NameTranslation; +using YBNpgsql.Properties; +using YBNpgsql.TypeMapping; +using YBNpgsqlTypes; -namespace Npgsql; +namespace YBNpgsql; /// /// Provides a simple API for configuring and creating an , from which database connections can be obtained. @@ -748,7 +748,17 @@ public NpgsqlDataSource Build() { var (connectionStringBuilder, config) = PrepareConfiguration(); - if (ConnectionStringBuilder.Host!.Contains(',')) + if (ConnectionStringBuilder.LoadBalanceHosts != LoadBalanceHosts.False && ConnectionStringBuilder.TopologyKeys != null) + { + return new TopologyAwareDataSource(ConnectionStringBuilder, config); + } + + if (ConnectionStringBuilder.LoadBalanceHosts != LoadBalanceHosts.False) + { + return new ClusterAwareDataSource(ConnectionStringBuilder, config, true); + } + + if (ConnectionStringBuilder.Host!.Contains(",")) { ValidateMultiHost(); diff --git a/src/Npgsql/NpgsqlSqlEventSource.cs b/src/Npgsql/NpgsqlSqlEventSource.cs index 1e37a2355f..b45f0bc20d 100644 --- a/src/Npgsql/NpgsqlSqlEventSource.cs +++ b/src/Npgsql/NpgsqlSqlEventSource.cs @@ -1,6 +1,6 @@ using System.Diagnostics.Tracing; -namespace Npgsql; +namespace YBNpgsql; sealed class NpgsqlSqlEventSource : EventSource { diff --git a/src/Npgsql/NpgsqlTracingOptionsBuilder.cs b/src/Npgsql/NpgsqlTracingOptionsBuilder.cs index 1da344553f..959838da41 100644 --- a/src/Npgsql/NpgsqlTracingOptionsBuilder.cs +++ b/src/Npgsql/NpgsqlTracingOptionsBuilder.cs @@ -1,7 +1,7 @@ using System; using System.Diagnostics; -namespace Npgsql; +namespace YBNpgsql; /// /// A builder to configure Npgsql's support for OpenTelemetry tracing. diff --git a/src/Npgsql/NpgsqlTransaction.cs b/src/Npgsql/NpgsqlTransaction.cs index 1beebd0924..6d31291a9b 100644 --- a/src/Npgsql/NpgsqlTransaction.cs +++ b/src/Npgsql/NpgsqlTransaction.cs @@ -5,9 +5,9 @@ using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.Logging; -using Npgsql.Internal; +using YBNpgsql.Internal; -namespace Npgsql; +namespace YBNpgsql; /// /// Represents a transaction to be made in a PostgreSQL database. This class cannot be inherited. diff --git a/src/Npgsql/NpgsqlTypeLoadingOptions.cs b/src/Npgsql/NpgsqlTypeLoadingOptions.cs index c031826675..d8a65e0c7e 100644 --- a/src/Npgsql/NpgsqlTypeLoadingOptions.cs +++ b/src/Npgsql/NpgsqlTypeLoadingOptions.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; -namespace Npgsql; +namespace YBNpgsql; /// /// Options for configuring Npgsql type loading. diff --git a/src/Npgsql/NpgsqlTypes/NpgsqlDbType.cs b/src/Npgsql/NpgsqlTypes/NpgsqlDbType.cs index 687ebf16b7..63718933da 100644 --- a/src/Npgsql/NpgsqlTypes/NpgsqlDbType.cs +++ b/src/Npgsql/NpgsqlTypes/NpgsqlDbType.cs @@ -1,13 +1,13 @@ using System; using System.Data; -using Npgsql; -using Npgsql.Internal.Postgres; -using static Npgsql.Util.Statics; +using YBNpgsql; +using YBNpgsql.Internal.Postgres; +using static YBNpgsql.Util.Statics; #pragma warning disable CA1720 // ReSharper disable once CheckNamespace -namespace NpgsqlTypes; +namespace YBNpgsqlTypes; /// /// Represents a PostgreSQL data type that can be written or read to the database. diff --git a/src/Npgsql/NpgsqlTypes/NpgsqlInterval.cs b/src/Npgsql/NpgsqlTypes/NpgsqlInterval.cs index f4b51ba4a9..659a25592b 100644 --- a/src/Npgsql/NpgsqlTypes/NpgsqlInterval.cs +++ b/src/Npgsql/NpgsqlTypes/NpgsqlInterval.cs @@ -1,7 +1,7 @@ using System; // ReSharper disable once CheckNamespace -namespace NpgsqlTypes; +namespace YBNpgsqlTypes; /// /// A raw representation of the PostgreSQL interval datatype. Use only when or NodaTime diff --git a/src/Npgsql/NpgsqlTypes/NpgsqlLogSequenceNumber.cs b/src/Npgsql/NpgsqlTypes/NpgsqlLogSequenceNumber.cs index b9fc6da358..3631441bcd 100644 --- a/src/Npgsql/NpgsqlTypes/NpgsqlLogSequenceNumber.cs +++ b/src/Npgsql/NpgsqlTypes/NpgsqlLogSequenceNumber.cs @@ -2,7 +2,7 @@ using System.Globalization; // ReSharper disable once CheckNamespace -namespace NpgsqlTypes; +namespace YBNpgsqlTypes; /// /// Wraps a PostgreSQL Write-Ahead Log Sequence Number (see: https://www.postgresql.org/docs/current/datatype-pg-lsn.html) diff --git a/src/Npgsql/NpgsqlTypes/NpgsqlRange.cs b/src/Npgsql/NpgsqlTypes/NpgsqlRange.cs index b447cb5df7..dfec06d50f 100644 --- a/src/Npgsql/NpgsqlTypes/NpgsqlRange.cs +++ b/src/Npgsql/NpgsqlTypes/NpgsqlRange.cs @@ -5,7 +5,7 @@ using System.Text; // ReSharper disable once CheckNamespace -namespace NpgsqlTypes; +namespace YBNpgsqlTypes; /// /// Represents a PostgreSQL range type. diff --git a/src/Npgsql/NpgsqlTypes/NpgsqlTsQuery.cs b/src/Npgsql/NpgsqlTypes/NpgsqlTsQuery.cs index bb1629705c..663eaf6b12 100644 --- a/src/Npgsql/NpgsqlTypes/NpgsqlTsQuery.cs +++ b/src/Npgsql/NpgsqlTypes/NpgsqlTsQuery.cs @@ -4,7 +4,7 @@ // ReSharper disable once CheckNamespace -namespace NpgsqlTypes; +namespace YBNpgsqlTypes; /// /// Represents a PostgreSQL tsquery. This is the base class for the diff --git a/src/Npgsql/NpgsqlTypes/NpgsqlTsVector.cs b/src/Npgsql/NpgsqlTypes/NpgsqlTsVector.cs index 2cf1bcb3f7..c7bd88c6ef 100644 --- a/src/Npgsql/NpgsqlTypes/NpgsqlTsVector.cs +++ b/src/Npgsql/NpgsqlTypes/NpgsqlTsVector.cs @@ -4,7 +4,7 @@ using System.Text; // ReSharper disable once CheckNamespace -namespace NpgsqlTypes; +namespace YBNpgsqlTypes; /// /// Represents a PostgreSQL tsvector. diff --git a/src/Npgsql/NpgsqlTypes/NpgsqlTypes.cs b/src/Npgsql/NpgsqlTypes/NpgsqlTypes.cs index 493be99dea..0c11771cfc 100644 --- a/src/Npgsql/NpgsqlTypes/NpgsqlTypes.cs +++ b/src/Npgsql/NpgsqlTypes/NpgsqlTypes.cs @@ -5,11 +5,12 @@ using System.Net; using System.Net.Sockets; using System.Text; +using YBNpgsql.Util; #pragma warning disable 1591 // ReSharper disable once CheckNamespace -namespace NpgsqlTypes; +namespace YBNpgsqlTypes; /// /// Represents a PostgreSQL point type. diff --git a/src/Npgsql/NpgsqlTypes/PgNameAttribute.cs b/src/Npgsql/NpgsqlTypes/PgNameAttribute.cs index 48cbc955e4..3a55fafbdf 100644 --- a/src/Npgsql/NpgsqlTypes/PgNameAttribute.cs +++ b/src/Npgsql/NpgsqlTypes/PgNameAttribute.cs @@ -1,7 +1,7 @@ using System; // ReSharper disable once CheckNamespace -namespace NpgsqlTypes; +namespace YBNpgsqlTypes; /// /// Indicates that this property or field corresponds to a PostgreSQL field with the specified name diff --git a/src/Npgsql/PgPassFile.cs b/src/Npgsql/PgPassFile.cs index 364d2b7409..e5fecdd9e3 100644 --- a/src/Npgsql/PgPassFile.cs +++ b/src/Npgsql/PgPassFile.cs @@ -3,7 +3,7 @@ using System.IO; using System.Text; -namespace Npgsql; +namespace YBNpgsql; /// /// Represents a .pgpass file, which contains passwords for noninteractive connections diff --git a/src/Npgsql/PoolManager.cs b/src/Npgsql/PoolManager.cs index d1086b5196..34d4b187eb 100644 --- a/src/Npgsql/PoolManager.cs +++ b/src/Npgsql/PoolManager.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Concurrent; -namespace Npgsql; +namespace YBNpgsql; /// /// Provides lookup for a pool based on a connection string. diff --git a/src/Npgsql/PoolingDataSource.cs b/src/Npgsql/PoolingDataSource.cs index 46861a5c5e..6910ee60da 100644 --- a/src/Npgsql/PoolingDataSource.cs +++ b/src/Npgsql/PoolingDataSource.cs @@ -7,10 +7,10 @@ using System.Threading.Tasks; using System.Transactions; using Microsoft.Extensions.Logging; -using Npgsql.Internal; -using Npgsql.Util; +using YBNpgsql.Internal; +using YBNpgsql.Util; -namespace Npgsql; +namespace YBNpgsql; class PoolingDataSource : NpgsqlDataSource { @@ -111,6 +111,12 @@ internal PoolingDataSource( } static SemaphoreSlim SyncOverAsyncSemaphore { get; } = new(Math.Max(1, Environment.ProcessorCount / 2)); + internal override bool NeedsRefresh() + { + return false; + } + + internal override bool Refresh() => throw new NotImplementedException(); internal sealed override ValueTask Get( NpgsqlConnection conn, NpgsqlTimeout timeout, bool async, CancellationToken cancellationToken) diff --git a/src/Npgsql/PostgresDatabaseInfo.cs b/src/Npgsql/PostgresDatabaseInfo.cs index 6cd4f2a5fe..0396aa8d6b 100644 --- a/src/Npgsql/PostgresDatabaseInfo.cs +++ b/src/Npgsql/PostgresDatabaseInfo.cs @@ -6,16 +6,16 @@ using System.Threading.Tasks; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; -using Npgsql.BackendMessages; -using Npgsql.Internal; -using Npgsql.PostgresTypes; -using Npgsql.Util; -using static Npgsql.Util.Statics; +using YBNpgsql.BackendMessages; +using YBNpgsql.Internal; +using YBNpgsql.PostgresTypes; +using YBNpgsql.Util; +using static YBNpgsql.Util.Statics; // ReSharper disable StringLiteralTypo // ReSharper disable CommentTypo -namespace Npgsql; +namespace YBNpgsql; /// /// The default implementation of , for standard PostgreSQL databases.. @@ -62,7 +62,10 @@ class PostgresDatabaseInfo : NpgsqlDatabaseInfo // Note that UNLISTEN is only needed for the reset message, but those don't get generated for Redshift anyway because e.g. DISCARD // isn't supported there either. So the IsRedshift check isn't actually used, but is here for completeness. /// - public override bool SupportsUnlisten => Version.IsGreaterOrEqual(6, 4) && !IsRedshift; + public override bool SupportsUnlisten => false; + + /// + public override bool SupportsAdvisoryLocks => false; /// /// True if the 'pg_enum' table includes the 'enumsortorder' column; otherwise, false. diff --git a/src/Npgsql/PostgresEnvironment.cs b/src/Npgsql/PostgresEnvironment.cs index bacdd9bfde..7067a6fa9c 100644 --- a/src/Npgsql/PostgresEnvironment.cs +++ b/src/Npgsql/PostgresEnvironment.cs @@ -2,7 +2,7 @@ using System.IO; using System.Runtime.InteropServices; -namespace Npgsql; +namespace YBNpgsql; static class PostgresEnvironment { diff --git a/src/Npgsql/PostgresErrorCodes.cs b/src/Npgsql/PostgresErrorCodes.cs index 98d878e12b..e58fb2245e 100644 --- a/src/Npgsql/PostgresErrorCodes.cs +++ b/src/Npgsql/PostgresErrorCodes.cs @@ -2,7 +2,7 @@ using System; -namespace Npgsql; +namespace YBNpgsql; /// /// Provides constants for PostgreSQL error codes. diff --git a/src/Npgsql/PostgresException.cs b/src/Npgsql/PostgresException.cs index a157f0ab87..b36c53b66d 100644 --- a/src/Npgsql/PostgresException.cs +++ b/src/Npgsql/PostgresException.cs @@ -3,10 +3,10 @@ using System.Runtime.Serialization; using System.Text; using Microsoft.Extensions.Logging; -using Npgsql.BackendMessages; -using Npgsql.Internal; +using YBNpgsql.BackendMessages; +using YBNpgsql.Internal; -namespace Npgsql; +namespace YBNpgsql; /// /// The exception that is thrown when the PostgreSQL backend reports errors (e.g. query diff --git a/src/Npgsql/PostgresMinimalDatabaseInfo.cs b/src/Npgsql/PostgresMinimalDatabaseInfo.cs index ed2ef15e81..45005bceff 100644 --- a/src/Npgsql/PostgresMinimalDatabaseInfo.cs +++ b/src/Npgsql/PostgresMinimalDatabaseInfo.cs @@ -1,11 +1,11 @@ using System.Collections.Generic; using System.Threading.Tasks; -using Npgsql.Internal; -using Npgsql.Internal.Postgres; -using Npgsql.PostgresTypes; -using Npgsql.Util; +using YBNpgsql.Internal; +using YBNpgsql.Internal.Postgres; +using YBNpgsql.PostgresTypes; +using YBNpgsql.Util; -namespace Npgsql; +namespace YBNpgsql; sealed class PostgresMinimalDatabaseInfoFactory : INpgsqlDatabaseInfoFactory { diff --git a/src/Npgsql/PostgresNotice.cs b/src/Npgsql/PostgresNotice.cs index 6ed9c7f98d..9fe1750d50 100644 --- a/src/Npgsql/PostgresNotice.cs +++ b/src/Npgsql/PostgresNotice.cs @@ -1,9 +1,9 @@ using System; using Microsoft.Extensions.Logging; -using Npgsql.BackendMessages; -using Npgsql.Internal; +using YBNpgsql.BackendMessages; +using YBNpgsql.Internal; -namespace Npgsql; +namespace YBNpgsql; /// /// PostgreSQL notices are non-critical messages generated by PostgreSQL, either as a result of a user query diff --git a/src/Npgsql/PostgresTypes/PostgresArrayType.cs b/src/Npgsql/PostgresTypes/PostgresArrayType.cs index 2f46d31cf2..33b6b124aa 100644 --- a/src/Npgsql/PostgresTypes/PostgresArrayType.cs +++ b/src/Npgsql/PostgresTypes/PostgresArrayType.cs @@ -1,6 +1,6 @@ -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.PostgresTypes; +namespace YBNpgsql.PostgresTypes; /// /// Represents a PostgreSQL array data type, which can hold several multiple values in a single column. diff --git a/src/Npgsql/PostgresTypes/PostgresBaseType.cs b/src/Npgsql/PostgresTypes/PostgresBaseType.cs index 11c289b1a8..c52fdbbde8 100644 --- a/src/Npgsql/PostgresTypes/PostgresBaseType.cs +++ b/src/Npgsql/PostgresTypes/PostgresBaseType.cs @@ -1,7 +1,7 @@  -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.PostgresTypes; +namespace YBNpgsql.PostgresTypes; /// /// Represents a PostgreSQL base data type, which is a simple scalar value. diff --git a/src/Npgsql/PostgresTypes/PostgresCompositeType.cs b/src/Npgsql/PostgresTypes/PostgresCompositeType.cs index 1663b01ebd..d7fbae1a4f 100644 --- a/src/Npgsql/PostgresTypes/PostgresCompositeType.cs +++ b/src/Npgsql/PostgresTypes/PostgresCompositeType.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.PostgresTypes; +namespace YBNpgsql.PostgresTypes; /// /// Represents a PostgreSQL composite data type, which can hold multiple fields of varying types in a single column. diff --git a/src/Npgsql/PostgresTypes/PostgresDomainType.cs b/src/Npgsql/PostgresTypes/PostgresDomainType.cs index cab9323015..a2638a9f4a 100644 --- a/src/Npgsql/PostgresTypes/PostgresDomainType.cs +++ b/src/Npgsql/PostgresTypes/PostgresDomainType.cs @@ -1,6 +1,6 @@ -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.PostgresTypes; +namespace YBNpgsql.PostgresTypes; /// /// Represents a PostgreSQL domain type. diff --git a/src/Npgsql/PostgresTypes/PostgresEnumType.cs b/src/Npgsql/PostgresTypes/PostgresEnumType.cs index 2422cb07a2..2fa1aa054a 100644 --- a/src/Npgsql/PostgresTypes/PostgresEnumType.cs +++ b/src/Npgsql/PostgresTypes/PostgresEnumType.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.PostgresTypes; +namespace YBNpgsql.PostgresTypes; /// /// Represents a PostgreSQL enum data type. diff --git a/src/Npgsql/PostgresTypes/PostgresFacets.cs b/src/Npgsql/PostgresTypes/PostgresFacets.cs index 4c88724965..1c1d4cc70d 100644 --- a/src/Npgsql/PostgresTypes/PostgresFacets.cs +++ b/src/Npgsql/PostgresTypes/PostgresFacets.cs @@ -1,7 +1,7 @@ using System; using System.Text; -namespace Npgsql.PostgresTypes; +namespace YBNpgsql.PostgresTypes; readonly struct PostgresFacets : IEquatable { diff --git a/src/Npgsql/PostgresTypes/PostgresMultirangeType.cs b/src/Npgsql/PostgresTypes/PostgresMultirangeType.cs index 2769df87f8..3bacfa0c9c 100644 --- a/src/Npgsql/PostgresTypes/PostgresMultirangeType.cs +++ b/src/Npgsql/PostgresTypes/PostgresMultirangeType.cs @@ -1,6 +1,6 @@ -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.PostgresTypes; +namespace YBNpgsql.PostgresTypes; /// /// Represents a PostgreSQL multirange data type. diff --git a/src/Npgsql/PostgresTypes/PostgresRangeType.cs b/src/Npgsql/PostgresTypes/PostgresRangeType.cs index a26a71afae..f614763594 100644 --- a/src/Npgsql/PostgresTypes/PostgresRangeType.cs +++ b/src/Npgsql/PostgresTypes/PostgresRangeType.cs @@ -1,6 +1,6 @@ -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.PostgresTypes; +namespace YBNpgsql.PostgresTypes; /// /// Represents a PostgreSQL range data type. diff --git a/src/Npgsql/PostgresTypes/PostgresType.cs b/src/Npgsql/PostgresTypes/PostgresType.cs index 1182588c8c..d933b48111 100644 --- a/src/Npgsql/PostgresTypes/PostgresType.cs +++ b/src/Npgsql/PostgresTypes/PostgresType.cs @@ -1,7 +1,7 @@ using System; -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.PostgresTypes; +namespace YBNpgsql.PostgresTypes; /// /// Represents a PostgreSQL data type, such as int4 or text, as discovered from pg_type. diff --git a/src/Npgsql/PostgresTypes/PostgresTypeKind.cs b/src/Npgsql/PostgresTypes/PostgresTypeKind.cs index 03330f9050..5ecc823449 100644 --- a/src/Npgsql/PostgresTypes/PostgresTypeKind.cs +++ b/src/Npgsql/PostgresTypes/PostgresTypeKind.cs @@ -1,4 +1,4 @@ -namespace Npgsql.PostgresTypes; +namespace YBNpgsql.PostgresTypes; enum PostgresTypeKind { diff --git a/src/Npgsql/PostgresTypes/PostgresUnknownType.cs b/src/Npgsql/PostgresTypes/PostgresUnknownType.cs index 2955295000..c5da4e49c7 100644 --- a/src/Npgsql/PostgresTypes/PostgresUnknownType.cs +++ b/src/Npgsql/PostgresTypes/PostgresUnknownType.cs @@ -1,4 +1,4 @@ -namespace Npgsql.PostgresTypes; +namespace YBNpgsql.PostgresTypes; /// /// Represents a PostgreSQL data type that isn't known to Npgsql and cannot be handled. diff --git a/src/Npgsql/PregeneratedMessages.cs b/src/Npgsql/PregeneratedMessages.cs index 54c736b64c..328d3fde1f 100644 --- a/src/Npgsql/PregeneratedMessages.cs +++ b/src/Npgsql/PregeneratedMessages.cs @@ -1,9 +1,9 @@ using System.IO; using System.Text; -using Npgsql.Internal; -using Npgsql.Util; +using YBNpgsql.Internal; +using YBNpgsql.Util; -namespace Npgsql; +namespace YBNpgsql; static class PregeneratedMessages { diff --git a/src/Npgsql/PreparedStatement.cs b/src/Npgsql/PreparedStatement.cs index 5a5a877eb2..d83e7343f5 100644 --- a/src/Npgsql/PreparedStatement.cs +++ b/src/Npgsql/PreparedStatement.cs @@ -2,10 +2,10 @@ using System.Collections.Generic; using System.Diagnostics; using System.Text; -using Npgsql.BackendMessages; -using Npgsql.Internal.Postgres; +using YBNpgsql.BackendMessages; +using YBNpgsql.Internal.Postgres; -namespace Npgsql; +namespace YBNpgsql; /// /// Internally represents a statement has been prepared, is in the process of being prepared, or is a diff --git a/src/Npgsql/PreparedStatementManager.cs b/src/Npgsql/PreparedStatementManager.cs index 8f80223753..d4ae5acfb0 100644 --- a/src/Npgsql/PreparedStatementManager.cs +++ b/src/Npgsql/PreparedStatementManager.cs @@ -3,9 +3,9 @@ using System.Diagnostics; using System.Text; using Microsoft.Extensions.Logging; -using Npgsql.Internal; +using YBNpgsql.Internal; -namespace Npgsql; +namespace YBNpgsql; sealed class PreparedStatementManager { diff --git a/src/Npgsql/PreparedTextReader.cs b/src/Npgsql/PreparedTextReader.cs index 4831850684..d3d5c941ad 100644 --- a/src/Npgsql/PreparedTextReader.cs +++ b/src/Npgsql/PreparedTextReader.cs @@ -2,9 +2,9 @@ using System.IO; using System.Threading; using System.Threading.Tasks; -using Npgsql.Internal; +using YBNpgsql.Internal; -namespace Npgsql; +namespace YBNpgsql; sealed class PreparedTextReader : TextReader { diff --git a/src/Npgsql/Properties/NpgsqlStrings.Designer.cs b/src/Npgsql/Properties/NpgsqlStrings.Designer.cs index 7f6fca99cd..c76aff55c4 100644 --- a/src/Npgsql/Properties/NpgsqlStrings.Designer.cs +++ b/src/Npgsql/Properties/NpgsqlStrings.Designer.cs @@ -7,7 +7,7 @@ // //------------------------------------------------------------------------------ -namespace Npgsql.Properties { +namespace YBNpgsql.Properties { using System; diff --git a/src/Npgsql/PublicAPI.Shipped.txt b/src/Npgsql/PublicAPI.Shipped.txt index 3ec604ddc0..a62eb38e47 100644 --- a/src/Npgsql/PublicAPI.Shipped.txt +++ b/src/Npgsql/PublicAPI.Shipped.txt @@ -1,1938 +1,1966 @@ #nullable enable -abstract Npgsql.Replication.PgOutput.Messages.UpdateMessage.NewRow.get -> Npgsql.Replication.PgOutput.ReplicationTuple! -abstract NpgsqlTypes.NpgsqlTsQuery.Equals(NpgsqlTypes.NpgsqlTsQuery? other) -> bool -const Npgsql.NpgsqlConnection.DefaultPort = 5432 -> int -const Npgsql.PostgresErrorCodes.ActiveSqlTransaction = "25001" -> string! -const Npgsql.PostgresErrorCodes.AdminShutdown = "57P01" -> string! -const Npgsql.PostgresErrorCodes.AmbiguousAlias = "42P09" -> string! -const Npgsql.PostgresErrorCodes.AmbiguousColumn = "42702" -> string! -const Npgsql.PostgresErrorCodes.AmbiguousFunction = "42725" -> string! -const Npgsql.PostgresErrorCodes.AmbiguousParameter = "42P08" -> string! -const Npgsql.PostgresErrorCodes.ArraySubscriptError = "2202E" -> string! -const Npgsql.PostgresErrorCodes.AssertFailure = "P0004" -> string! -const Npgsql.PostgresErrorCodes.BadCopyFileFormat = "22P04" -> string! -const Npgsql.PostgresErrorCodes.BranchTransactionAlreadyActive = "25002" -> string! -const Npgsql.PostgresErrorCodes.CannotCoerce = "42846" -> string! -const Npgsql.PostgresErrorCodes.CannotConnectNow = "57P03" -> string! -const Npgsql.PostgresErrorCodes.CantChangeRuntimeParam = "55P02" -> string! -const Npgsql.PostgresErrorCodes.CardinalityViolation = "21000" -> string! -const Npgsql.PostgresErrorCodes.CaseNotFound = "20000" -> string! -const Npgsql.PostgresErrorCodes.CharacterNotInRepertoire = "22021" -> string! -const Npgsql.PostgresErrorCodes.CheckViolation = "23514" -> string! -const Npgsql.PostgresErrorCodes.CollationMismatch = "42P21" -> string! -const Npgsql.PostgresErrorCodes.ConfigFileError = "F0000" -> string! -const Npgsql.PostgresErrorCodes.ConfigurationLimitExceeded = "53400" -> string! -const Npgsql.PostgresErrorCodes.ConnectionDoesNotExist = "08003" -> string! -const Npgsql.PostgresErrorCodes.ConnectionException = "08000" -> string! -const Npgsql.PostgresErrorCodes.ConnectionFailure = "08006" -> string! -const Npgsql.PostgresErrorCodes.ContainingSqlNotPermittedExternalRoutineException = "38001" -> string! -const Npgsql.PostgresErrorCodes.CrashShutdown = "57P02" -> string! -const Npgsql.PostgresErrorCodes.DatabaseDropped = "57P04" -> string! -const Npgsql.PostgresErrorCodes.DataCorrupted = "XX001" -> string! -const Npgsql.PostgresErrorCodes.DataException = "22000" -> string! -const Npgsql.PostgresErrorCodes.DatatypeMismatch = "42804" -> string! -const Npgsql.PostgresErrorCodes.DatetimeFieldOverflow = "22008" -> string! -const Npgsql.PostgresErrorCodes.DeadlockDetected = "40P01" -> string! -const Npgsql.PostgresErrorCodes.DependentObjectsStillExist = "2BP01" -> string! -const Npgsql.PostgresErrorCodes.DependentPrivilegeDescriptorsStillExist = "2B000" -> string! -const Npgsql.PostgresErrorCodes.DeprecatedFeatureWarning = "01P01" -> string! -const Npgsql.PostgresErrorCodes.DiagnosticsException = "0Z000" -> string! -const Npgsql.PostgresErrorCodes.DiskFull = "53100" -> string! -const Npgsql.PostgresErrorCodes.DivisionByZero = "22012" -> string! -const Npgsql.PostgresErrorCodes.DuplicateAlias = "42712" -> string! -const Npgsql.PostgresErrorCodes.DuplicateColumn = "42701" -> string! -const Npgsql.PostgresErrorCodes.DuplicateCursor = "42P03" -> string! -const Npgsql.PostgresErrorCodes.DuplicateDatabase = "42P04" -> string! -const Npgsql.PostgresErrorCodes.DuplicateFile = "58P02" -> string! -const Npgsql.PostgresErrorCodes.DuplicateFunction = "42723" -> string! -const Npgsql.PostgresErrorCodes.DuplicateObject = "42710" -> string! -const Npgsql.PostgresErrorCodes.DuplicatePreparedStatement = "42P05" -> string! -const Npgsql.PostgresErrorCodes.DuplicateSchema = "42P06" -> string! -const Npgsql.PostgresErrorCodes.DuplicateTable = "42P07" -> string! -const Npgsql.PostgresErrorCodes.DynamicResultSetsReturnedWarning = "0100C" -> string! -const Npgsql.PostgresErrorCodes.ErrorInAssignment = "22005" -> string! -const Npgsql.PostgresErrorCodes.EscapeCharacterConflict = "2200B" -> string! -const Npgsql.PostgresErrorCodes.EventTriggerProtocolViolatedExternalRoutineInvocationException = "39P03" -> string! -const Npgsql.PostgresErrorCodes.ExclusionViolation = "23P01" -> string! -const Npgsql.PostgresErrorCodes.ExternalRoutineException = "38000" -> string! -const Npgsql.PostgresErrorCodes.ExternalRoutineInvocationException = "39000" -> string! -const Npgsql.PostgresErrorCodes.FdwColumnNameNotFound = "HV005" -> string! -const Npgsql.PostgresErrorCodes.FdwDynamicParameterValueNeeded = "HV002" -> string! -const Npgsql.PostgresErrorCodes.FdwError = "HV000" -> string! -const Npgsql.PostgresErrorCodes.FdwFunctionSequenceError = "HV010" -> string! -const Npgsql.PostgresErrorCodes.FdwInconsistentDescriptorInformation = "HV021" -> string! -const Npgsql.PostgresErrorCodes.FdwInvalidAttributeValue = "HV024" -> string! -const Npgsql.PostgresErrorCodes.FdwInvalidColumnName = "HV007" -> string! -const Npgsql.PostgresErrorCodes.FdwInvalidColumnNumber = "HV008" -> string! -const Npgsql.PostgresErrorCodes.FdwInvalidDataType = "HV004" -> string! -const Npgsql.PostgresErrorCodes.FdwInvalidDataTypeDescriptors = "HV006" -> string! -const Npgsql.PostgresErrorCodes.FdwInvalidDescriptorFieldIdentifier = "HV091" -> string! -const Npgsql.PostgresErrorCodes.FdwInvalidHandle = "HV00B" -> string! -const Npgsql.PostgresErrorCodes.FdwInvalidOptionIndex = "HV00C" -> string! -const Npgsql.PostgresErrorCodes.FdwInvalidOptionName = "HV00D" -> string! -const Npgsql.PostgresErrorCodes.FdwInvalidStringFormat = "HV00A" -> string! -const Npgsql.PostgresErrorCodes.FdwInvalidStringLengthOrBufferLength = "HV090" -> string! -const Npgsql.PostgresErrorCodes.FdwInvalidUseOfNullPointer = "HV009" -> string! -const Npgsql.PostgresErrorCodes.FdwNoSchemas = "HV00P" -> string! -const Npgsql.PostgresErrorCodes.FdwOptionNameNotFound = "HV00J" -> string! -const Npgsql.PostgresErrorCodes.FdwOutOfMemory = "HV001" -> string! -const Npgsql.PostgresErrorCodes.FdwReplyHandle = "HV00K" -> string! -const Npgsql.PostgresErrorCodes.FdwSchemaNotFound = "HV00Q" -> string! -const Npgsql.PostgresErrorCodes.FdwTableNotFound = "HV00R" -> string! -const Npgsql.PostgresErrorCodes.FdwTooManyHandles = "HV014" -> string! -const Npgsql.PostgresErrorCodes.FdwUnableToCreateExecution = "HV00L" -> string! -const Npgsql.PostgresErrorCodes.FdwUnableToCreateReply = "HV00M" -> string! -const Npgsql.PostgresErrorCodes.FdwUnableToEstablishConnection = "HV00N" -> string! -const Npgsql.PostgresErrorCodes.FeatureNotSupported = "0A000" -> string! -const Npgsql.PostgresErrorCodes.FloatingPointException = "22P01" -> string! -const Npgsql.PostgresErrorCodes.ForeignKeyViolation = "23503" -> string! -const Npgsql.PostgresErrorCodes.FunctionExecutedNoReturnStatementSqlRoutineException = "2F005" -> string! -const Npgsql.PostgresErrorCodes.GroupingError = "42803" -> string! -const Npgsql.PostgresErrorCodes.HeldCursorRequiresSameIsolationLevel = "25008" -> string! -const Npgsql.PostgresErrorCodes.IdleSessionTimeout = "57P05" -> string! -const Npgsql.PostgresErrorCodes.ImplicitZeroBitPaddingWarning = "01008" -> string! -const Npgsql.PostgresErrorCodes.InappropriateAccessModeForBranchTransaction = "25003" -> string! -const Npgsql.PostgresErrorCodes.InappropriateIsolationLevelForBranchTransaction = "25004" -> string! -const Npgsql.PostgresErrorCodes.IndeterminateCollation = "42P22" -> string! -const Npgsql.PostgresErrorCodes.IndeterminateDatatype = "42P18" -> string! -const Npgsql.PostgresErrorCodes.IndexCorrupted = "XX002" -> string! -const Npgsql.PostgresErrorCodes.IndicatorOverflow = "22022" -> string! -const Npgsql.PostgresErrorCodes.InFailedSqlTransaction = "25P02" -> string! -const Npgsql.PostgresErrorCodes.InsufficientPrivilege = "42501" -> string! -const Npgsql.PostgresErrorCodes.InsufficientResources = "53000" -> string! -const Npgsql.PostgresErrorCodes.IntegrityConstraintViolation = "23000" -> string! -const Npgsql.PostgresErrorCodes.InternalError = "XX000" -> string! -const Npgsql.PostgresErrorCodes.IntervalFieldOverflow = "22015" -> string! -const Npgsql.PostgresErrorCodes.InvalidArgumentForLogarithm = "2201E" -> string! -const Npgsql.PostgresErrorCodes.InvalidArgumentForNthValueFunction = "22016" -> string! -const Npgsql.PostgresErrorCodes.InvalidArgumentForNtileFunction = "22014" -> string! -const Npgsql.PostgresErrorCodes.InvalidArgumentForPowerFunction = "2201F" -> string! -const Npgsql.PostgresErrorCodes.InvalidArgumentForWidthBucketFunction = "2201G" -> string! -const Npgsql.PostgresErrorCodes.InvalidAuthorizationSpecification = "28000" -> string! -const Npgsql.PostgresErrorCodes.InvalidBinaryRepresentation = "22P03" -> string! -const Npgsql.PostgresErrorCodes.InvalidCatalogName = "3D000" -> string! -const Npgsql.PostgresErrorCodes.InvalidCharacterValueForCast = "22018" -> string! -const Npgsql.PostgresErrorCodes.InvalidColumnDefinition = "42611" -> string! -const Npgsql.PostgresErrorCodes.InvalidColumnReference = "42P10" -> string! -const Npgsql.PostgresErrorCodes.InvalidCursorDefinition = "42P11" -> string! -const Npgsql.PostgresErrorCodes.InvalidCursorName = "34000" -> string! -const Npgsql.PostgresErrorCodes.InvalidCursorState = "24000" -> string! -const Npgsql.PostgresErrorCodes.InvalidDatabaseDefinition = "42P12" -> string! -const Npgsql.PostgresErrorCodes.InvalidDatetimeFormat = "22007" -> string! -const Npgsql.PostgresErrorCodes.InvalidEscapeCharacter = "22019" -> string! -const Npgsql.PostgresErrorCodes.InvalidEscapeOctet = "2200D" -> string! -const Npgsql.PostgresErrorCodes.InvalidEscapeSequence = "22025" -> string! -const Npgsql.PostgresErrorCodes.InvalidForeignKey = "42830" -> string! -const Npgsql.PostgresErrorCodes.InvalidFunctionDefinition = "42P13" -> string! -const Npgsql.PostgresErrorCodes.InvalidGrantOperation = "0LP01" -> string! -const Npgsql.PostgresErrorCodes.InvalidGrantor = "0L000" -> string! -const Npgsql.PostgresErrorCodes.InvalidIndicatorParameterValue = "22010" -> string! -const Npgsql.PostgresErrorCodes.InvalidLocatorSpecification = "0F001" -> string! -const Npgsql.PostgresErrorCodes.InvalidName = "42602" -> string! -const Npgsql.PostgresErrorCodes.InvalidObjectDefinition = "42P17" -> string! -const Npgsql.PostgresErrorCodes.InvalidParameterValue = "22023" -> string! -const Npgsql.PostgresErrorCodes.InvalidPassword = "28P01" -> string! -const Npgsql.PostgresErrorCodes.InvalidPreparedStatementDefinition = "42P14" -> string! -const Npgsql.PostgresErrorCodes.InvalidRecursion = "42P19" -> string! -const Npgsql.PostgresErrorCodes.InvalidRegularExpression = "2201B" -> string! -const Npgsql.PostgresErrorCodes.InvalidRoleSpecification = "0P000" -> string! -const Npgsql.PostgresErrorCodes.InvalidRowCountInLimitClause = "2201W" -> string! -const Npgsql.PostgresErrorCodes.InvalidRowCountInResultOffsetClause = "2201X" -> string! -const Npgsql.PostgresErrorCodes.InvalidSavepointSpecification = "3B001" -> string! -const Npgsql.PostgresErrorCodes.InvalidSchemaDefinition = "42P15" -> string! -const Npgsql.PostgresErrorCodes.InvalidSchemaName = "3F000" -> string! -const Npgsql.PostgresErrorCodes.InvalidSqlStatementName = "26000" -> string! -const Npgsql.PostgresErrorCodes.InvalidSqlstateReturnedExternalRoutineInvocationException = "39001" -> string! -const Npgsql.PostgresErrorCodes.InvalidTableDefinition = "42P16" -> string! -const Npgsql.PostgresErrorCodes.InvalidTablesampleArgument = "2202H" -> string! -const Npgsql.PostgresErrorCodes.InvalidTablesampleRepeat = "2202G" -> string! -const Npgsql.PostgresErrorCodes.InvalidTextRepresentation = "22P02" -> string! -const Npgsql.PostgresErrorCodes.InvalidTimeZoneDisplacementValue = "22009" -> string! -const Npgsql.PostgresErrorCodes.InvalidTransactionInitiation = "0B000" -> string! -const Npgsql.PostgresErrorCodes.InvalidTransactionState = "25000" -> string! -const Npgsql.PostgresErrorCodes.InvalidTransactionTermination = "2D000" -> string! -const Npgsql.PostgresErrorCodes.InvalidUseOfEscapeCharacter = "2200C" -> string! -const Npgsql.PostgresErrorCodes.InvalidXmlComment = "2200S" -> string! -const Npgsql.PostgresErrorCodes.InvalidXmlContent = "2200N" -> string! -const Npgsql.PostgresErrorCodes.InvalidXmlDocument = "2200M" -> string! -const Npgsql.PostgresErrorCodes.InvalidXmlProcessingInstruction = "2200T" -> string! -const Npgsql.PostgresErrorCodes.IoError = "58030" -> string! -const Npgsql.PostgresErrorCodes.LocatorException = "0F000" -> string! -const Npgsql.PostgresErrorCodes.LockFileExists = "F0001" -> string! -const Npgsql.PostgresErrorCodes.LockNotAvailable = "55P03" -> string! -const Npgsql.PostgresErrorCodes.ModifyingSqlDataNotPermittedExternalRoutineException = "38002" -> string! -const Npgsql.PostgresErrorCodes.ModifyingSqlDataNotPermittedSqlRoutineException = "2F002" -> string! -const Npgsql.PostgresErrorCodes.MostSpecificTypeMismatch = "2200G" -> string! -const Npgsql.PostgresErrorCodes.NameTooLong = "42622" -> string! -const Npgsql.PostgresErrorCodes.NoActiveSqlTransaction = "25P01" -> string! -const Npgsql.PostgresErrorCodes.NoActiveSqlTransactionForBranchTransaction = "25005" -> string! -const Npgsql.PostgresErrorCodes.NoAdditionalDynamicResultSetsReturned = "02001" -> string! -const Npgsql.PostgresErrorCodes.NoData = "02000" -> string! -const Npgsql.PostgresErrorCodes.NoDataFound = "P0002" -> string! -const Npgsql.PostgresErrorCodes.NonstandardUseOfEscapeCharacter = "22P06" -> string! -const Npgsql.PostgresErrorCodes.NotAnXmlDocument = "2200L" -> string! -const Npgsql.PostgresErrorCodes.NotNullViolation = "23502" -> string! -const Npgsql.PostgresErrorCodes.NullValueEliminatedInSetFunctionWarning = "01003" -> string! -const Npgsql.PostgresErrorCodes.NullValueNoIndicatorParameter = "22002" -> string! -const Npgsql.PostgresErrorCodes.NullValueNotAllowed = "22004" -> string! -const Npgsql.PostgresErrorCodes.NullValueNotAllowedExternalRoutineInvocationException = "39004" -> string! -const Npgsql.PostgresErrorCodes.NumericValueOutOfRange = "22003" -> string! -const Npgsql.PostgresErrorCodes.ObjectInUse = "55006" -> string! -const Npgsql.PostgresErrorCodes.ObjectNotInPrerequisiteState = "55000" -> string! -const Npgsql.PostgresErrorCodes.OperatorIntervention = "57000" -> string! -const Npgsql.PostgresErrorCodes.OutOfMemory = "53200" -> string! -const Npgsql.PostgresErrorCodes.PlpgsqlError = "P0000" -> string! -const Npgsql.PostgresErrorCodes.PrivilegeNotGrantedWarning = "01007" -> string! -const Npgsql.PostgresErrorCodes.PrivilegeNotRevokedWarning = "01006" -> string! -const Npgsql.PostgresErrorCodes.ProgramLimitExceeded = "54000" -> string! -const Npgsql.PostgresErrorCodes.ProhibitedSqlStatementAttemptedExternalRoutineException = "38003" -> string! -const Npgsql.PostgresErrorCodes.ProhibitedSqlStatementAttemptedSqlRoutineException = "2F003" -> string! -const Npgsql.PostgresErrorCodes.ProtocolViolation = "08P01" -> string! -const Npgsql.PostgresErrorCodes.QueryCanceled = "57014" -> string! -const Npgsql.PostgresErrorCodes.RaiseException = "P0001" -> string! -const Npgsql.PostgresErrorCodes.ReadingSqlDataNotPermittedExternalRoutineException = "38004" -> string! -const Npgsql.PostgresErrorCodes.ReadingSqlDataNotPermittedSqlRoutineException = "2F004" -> string! -const Npgsql.PostgresErrorCodes.ReadOnlySqlTransaction = "25006" -> string! -const Npgsql.PostgresErrorCodes.ReservedName = "42939" -> string! -const Npgsql.PostgresErrorCodes.RestrictViolation = "23001" -> string! -const Npgsql.PostgresErrorCodes.SavepointException = "3B000" -> string! -const Npgsql.PostgresErrorCodes.SchemaAndDataStatementMixingNotSupported = "25007" -> string! -const Npgsql.PostgresErrorCodes.SerializationFailure = "40001" -> string! -const Npgsql.PostgresErrorCodes.SnapshotFailure = "72000" -> string! -const Npgsql.PostgresErrorCodes.SqlClientUnableToEstablishSqlConnection = "08001" -> string! -const Npgsql.PostgresErrorCodes.SqlRoutineException = "2F000" -> string! -const Npgsql.PostgresErrorCodes.SqlServerRejectedEstablishmentOfSqlConnection = "08004" -> string! -const Npgsql.PostgresErrorCodes.SqlStatementNotYetComplete = "03000" -> string! -const Npgsql.PostgresErrorCodes.SrfProtocolViolatedExternalRoutineInvocationException = "39P02" -> string! -const Npgsql.PostgresErrorCodes.StackedDiagnosticsAccessedWithoutActiveHandler = "0Z002" -> string! -const Npgsql.PostgresErrorCodes.StatementCompletionUnknown = "40003" -> string! -const Npgsql.PostgresErrorCodes.StatementTooComplex = "54001" -> string! -const Npgsql.PostgresErrorCodes.StringDataLengthMismatch = "22026" -> string! -const Npgsql.PostgresErrorCodes.StringDataRightTruncation = "22001" -> string! -const Npgsql.PostgresErrorCodes.StringDataRightTruncationWarning = "01004" -> string! -const Npgsql.PostgresErrorCodes.SubstringError = "22011" -> string! -const Npgsql.PostgresErrorCodes.SuccessfulCompletion = "00000" -> string! -const Npgsql.PostgresErrorCodes.SyntaxError = "42601" -> string! -const Npgsql.PostgresErrorCodes.SyntaxErrorOrAccessRuleViolation = "42000" -> string! -const Npgsql.PostgresErrorCodes.SystemError = "58000" -> string! -const Npgsql.PostgresErrorCodes.TooManyArguments = "54023" -> string! -const Npgsql.PostgresErrorCodes.TooManyColumns = "54011" -> string! -const Npgsql.PostgresErrorCodes.TooManyConnections = "53300" -> string! -const Npgsql.PostgresErrorCodes.TooManyRows = "P0003" -> string! -const Npgsql.PostgresErrorCodes.TransactionIntegrityConstraintViolation = "40002" -> string! -const Npgsql.PostgresErrorCodes.TransactionResolutionUnknown = "08007" -> string! -const Npgsql.PostgresErrorCodes.TransactionRollback = "40000" -> string! -const Npgsql.PostgresErrorCodes.TriggeredActionException = "09000" -> string! -const Npgsql.PostgresErrorCodes.TriggeredDataChangeViolation = "27000" -> string! -const Npgsql.PostgresErrorCodes.TriggerProtocolViolatedExternalRoutineInvocationException = "39P01" -> string! -const Npgsql.PostgresErrorCodes.TrimError = "22027" -> string! -const Npgsql.PostgresErrorCodes.UndefinedColumn = "42703" -> string! -const Npgsql.PostgresErrorCodes.UndefinedFile = "58P01" -> string! -const Npgsql.PostgresErrorCodes.UndefinedFunction = "42883" -> string! -const Npgsql.PostgresErrorCodes.UndefinedObject = "42704" -> string! -const Npgsql.PostgresErrorCodes.UndefinedParameter = "42P02" -> string! -const Npgsql.PostgresErrorCodes.UndefinedTable = "42P01" -> string! -const Npgsql.PostgresErrorCodes.UniqueViolation = "23505" -> string! -const Npgsql.PostgresErrorCodes.UnterminatedCString = "22024" -> string! -const Npgsql.PostgresErrorCodes.UntranslatableCharacter = "22P05" -> string! -const Npgsql.PostgresErrorCodes.Warning = "01000" -> string! -const Npgsql.PostgresErrorCodes.WindowingError = "42P20" -> string! -const Npgsql.PostgresErrorCodes.WithCheckOptionViolation = "44000" -> string! -const Npgsql.PostgresErrorCodes.WrongObjectType = "42809" -> string! -const Npgsql.PostgresErrorCodes.ZeroLengthCharacterString = "2200F" -> string! -Npgsql.ArrayNullabilityMode -Npgsql.ArrayNullabilityMode.Always = 1 -> Npgsql.ArrayNullabilityMode -Npgsql.ArrayNullabilityMode.Never = 0 -> Npgsql.ArrayNullabilityMode -Npgsql.ArrayNullabilityMode.PerInstance = 2 -> Npgsql.ArrayNullabilityMode -Npgsql.BackendMessages.FieldDescription -Npgsql.BackendMessages.FieldDescription.TypeModifier.get -> int -Npgsql.BackendMessages.FieldDescription.TypeModifier.set -> void -Npgsql.BackendMessages.FieldDescription.TypeSize.get -> short -Npgsql.BackendMessages.FieldDescription.TypeSize.set -> void -Npgsql.ChannelBinding -Npgsql.ChannelBinding.Disable = 0 -> Npgsql.ChannelBinding -Npgsql.ChannelBinding.Prefer = 1 -> Npgsql.ChannelBinding -Npgsql.ChannelBinding.Require = 2 -> Npgsql.ChannelBinding -Npgsql.INpgsqlNameTranslator -Npgsql.INpgsqlNameTranslator.TranslateMemberName(string! clrName) -> string! -Npgsql.INpgsqlNameTranslator.TranslateTypeName(string! clrName) -> string! -Npgsql.NameTranslation.NpgsqlNullNameTranslator -Npgsql.NameTranslation.NpgsqlNullNameTranslator.NpgsqlNullNameTranslator() -> void -Npgsql.NameTranslation.NpgsqlNullNameTranslator.TranslateMemberName(string! clrName) -> string! -Npgsql.NameTranslation.NpgsqlNullNameTranslator.TranslateTypeName(string! clrName) -> string! -Npgsql.NameTranslation.NpgsqlSnakeCaseNameTranslator -Npgsql.NameTranslation.NpgsqlSnakeCaseNameTranslator.NpgsqlSnakeCaseNameTranslator(bool legacyMode, System.Globalization.CultureInfo? culture = null) -> void -Npgsql.NameTranslation.NpgsqlSnakeCaseNameTranslator.NpgsqlSnakeCaseNameTranslator(System.Globalization.CultureInfo? culture = null) -> void -Npgsql.NameTranslation.NpgsqlSnakeCaseNameTranslator.TranslateMemberName(string! clrName) -> string! -Npgsql.NameTranslation.NpgsqlSnakeCaseNameTranslator.TranslateTypeName(string! clrName) -> string! -Npgsql.NoticeEventHandler -Npgsql.NotificationEventHandler -Npgsql.NpgsqlBatch -Npgsql.NpgsqlBatch.BatchCommands.get -> Npgsql.NpgsqlBatchCommandCollection! -Npgsql.NpgsqlBatch.Connection.get -> Npgsql.NpgsqlConnection? -Npgsql.NpgsqlBatch.Connection.set -> void -Npgsql.NpgsqlBatch.CreateBatchCommand() -> Npgsql.NpgsqlBatchCommand! -Npgsql.NpgsqlBatch.EnableErrorBarriers.get -> bool -Npgsql.NpgsqlBatch.EnableErrorBarriers.set -> void -Npgsql.NpgsqlBatch.ExecuteReader(System.Data.CommandBehavior behavior = System.Data.CommandBehavior.Default) -> Npgsql.NpgsqlDataReader! -Npgsql.NpgsqlBatch.ExecuteReaderAsync(System.Data.CommandBehavior behavior, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlBatch.ExecuteReaderAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlBatch.NpgsqlBatch(Npgsql.NpgsqlConnection? connection = null, Npgsql.NpgsqlTransaction? transaction = null) -> void -Npgsql.NpgsqlBatch.Transaction.get -> Npgsql.NpgsqlTransaction? -Npgsql.NpgsqlBatch.Transaction.set -> void -Npgsql.NpgsqlBatchCommand -Npgsql.NpgsqlBatchCommand.AppendErrorBarrier.get -> bool? -Npgsql.NpgsqlBatchCommand.AppendErrorBarrier.set -> void -Npgsql.NpgsqlBatchCommand.NpgsqlBatchCommand() -> void -Npgsql.NpgsqlBatchCommand.NpgsqlBatchCommand(string! commandText) -> void -Npgsql.NpgsqlBatchCommand.OID.get -> uint -Npgsql.NpgsqlBatchCommand.Parameters.get -> Npgsql.NpgsqlParameterCollection! -Npgsql.NpgsqlBatchCommand.Rows.get -> ulong -Npgsql.NpgsqlBatchCommand.StatementType.get -> Npgsql.StatementType -Npgsql.NpgsqlBatchCommandCollection -Npgsql.NpgsqlBatchCommandCollection.Add(Npgsql.NpgsqlBatchCommand! item) -> void -Npgsql.NpgsqlBatchCommandCollection.Contains(Npgsql.NpgsqlBatchCommand! item) -> bool -Npgsql.NpgsqlBatchCommandCollection.CopyTo(Npgsql.NpgsqlBatchCommand![]! array, int arrayIndex) -> void -Npgsql.NpgsqlBatchCommandCollection.IndexOf(Npgsql.NpgsqlBatchCommand! item) -> int -Npgsql.NpgsqlBatchCommandCollection.Insert(int index, Npgsql.NpgsqlBatchCommand! item) -> void -Npgsql.NpgsqlBatchCommandCollection.Remove(Npgsql.NpgsqlBatchCommand! item) -> bool -Npgsql.NpgsqlBatchCommandCollection.this[int index].get -> Npgsql.NpgsqlBatchCommand! -Npgsql.NpgsqlBatchCommandCollection.this[int index].set -> void -Npgsql.NpgsqlBinaryExporter -Npgsql.NpgsqlBinaryExporter.Cancel() -> void -Npgsql.NpgsqlBinaryExporter.CancelAsync() -> System.Threading.Tasks.Task! -Npgsql.NpgsqlBinaryExporter.Dispose() -> void -Npgsql.NpgsqlBinaryExporter.DisposeAsync() -> System.Threading.Tasks.ValueTask -Npgsql.NpgsqlBinaryExporter.IsNull.get -> bool -Npgsql.NpgsqlBinaryExporter.Read() -> T -Npgsql.NpgsqlBinaryExporter.Read(NpgsqlTypes.NpgsqlDbType type) -> T -Npgsql.NpgsqlBinaryExporter.ReadAsync(NpgsqlTypes.NpgsqlDbType type, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask -Npgsql.NpgsqlBinaryExporter.ReadAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask -Npgsql.NpgsqlBinaryExporter.Skip() -> void -Npgsql.NpgsqlBinaryExporter.SkipAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlBinaryExporter.StartRow() -> int -Npgsql.NpgsqlBinaryExporter.StartRowAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask -Npgsql.NpgsqlBinaryExporter.Timeout.set -> void -Npgsql.NpgsqlBinaryImporter -Npgsql.NpgsqlBinaryImporter.Close() -> void -Npgsql.NpgsqlBinaryImporter.CloseAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask -Npgsql.NpgsqlBinaryImporter.Complete() -> ulong -Npgsql.NpgsqlBinaryImporter.CompleteAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask -Npgsql.NpgsqlBinaryImporter.Dispose() -> void -Npgsql.NpgsqlBinaryImporter.DisposeAsync() -> System.Threading.Tasks.ValueTask -Npgsql.NpgsqlBinaryImporter.StartRow() -> void -Npgsql.NpgsqlBinaryImporter.StartRowAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlBinaryImporter.Timeout.set -> void -Npgsql.NpgsqlBinaryImporter.Write(T value) -> void -Npgsql.NpgsqlBinaryImporter.Write(T value, NpgsqlTypes.NpgsqlDbType npgsqlDbType) -> void -Npgsql.NpgsqlBinaryImporter.Write(T value, string! dataTypeName) -> void -Npgsql.NpgsqlBinaryImporter.WriteAsync(T value, NpgsqlTypes.NpgsqlDbType npgsqlDbType, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlBinaryImporter.WriteAsync(T value, string! dataTypeName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlBinaryImporter.WriteAsync(T value, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlBinaryImporter.WriteNull() -> void -Npgsql.NpgsqlBinaryImporter.WriteNullAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlBinaryImporter.WriteRow(params object?[]! values) -> void -Npgsql.NpgsqlBinaryImporter.WriteRowAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken), params object?[]! values) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlCommand -Npgsql.NpgsqlCommand.AllResultTypesAreUnknown.get -> bool -Npgsql.NpgsqlCommand.AllResultTypesAreUnknown.set -> void -Npgsql.NpgsqlCommand.Connection.get -> Npgsql.NpgsqlConnection? -Npgsql.NpgsqlCommand.Connection.set -> void -Npgsql.NpgsqlCommand.CreateParameter() -> Npgsql.NpgsqlParameter! -Npgsql.NpgsqlCommand.Disposed -> System.EventHandler? -Npgsql.NpgsqlCommand.ExecuteReader(System.Data.CommandBehavior behavior = System.Data.CommandBehavior.Default) -> Npgsql.NpgsqlDataReader! -Npgsql.NpgsqlCommand.ExecuteReaderAsync(System.Data.CommandBehavior behavior, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlCommand.ExecuteReaderAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlCommand.IsPrepared.get -> bool -Npgsql.NpgsqlCommand.NpgsqlCommand() -> void -Npgsql.NpgsqlCommand.NpgsqlCommand(string? cmdText) -> void -Npgsql.NpgsqlCommand.NpgsqlCommand(string? cmdText, Npgsql.NpgsqlConnection? connection) -> void -Npgsql.NpgsqlCommand.NpgsqlCommand(string? cmdText, Npgsql.NpgsqlConnection? connection, Npgsql.NpgsqlTransaction? transaction) -> void -Npgsql.NpgsqlCommand.Parameters.get -> Npgsql.NpgsqlParameterCollection! -Npgsql.NpgsqlCommand.Statements.get -> System.Collections.Generic.IReadOnlyList! -Npgsql.NpgsqlCommand.Transaction.get -> Npgsql.NpgsqlTransaction? -Npgsql.NpgsqlCommand.Transaction.set -> void -Npgsql.NpgsqlCommand.UnknownResultTypeList.get -> bool[]? -Npgsql.NpgsqlCommand.UnknownResultTypeList.set -> void -Npgsql.NpgsqlCommand.Unprepare() -> void -Npgsql.NpgsqlCommand.UnprepareAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlCommandBuilder -Npgsql.NpgsqlCommandBuilder.GetDeleteCommand() -> Npgsql.NpgsqlCommand! -Npgsql.NpgsqlCommandBuilder.GetDeleteCommand(bool useColumnsForParameterNames) -> Npgsql.NpgsqlCommand! -Npgsql.NpgsqlCommandBuilder.GetInsertCommand() -> Npgsql.NpgsqlCommand! -Npgsql.NpgsqlCommandBuilder.GetInsertCommand(bool useColumnsForParameterNames) -> Npgsql.NpgsqlCommand! -Npgsql.NpgsqlCommandBuilder.GetUpdateCommand() -> Npgsql.NpgsqlCommand! -Npgsql.NpgsqlCommandBuilder.GetUpdateCommand(bool useColumnsForParameterNames) -> Npgsql.NpgsqlCommand! -Npgsql.NpgsqlCommandBuilder.NpgsqlCommandBuilder() -> void -Npgsql.NpgsqlCommandBuilder.NpgsqlCommandBuilder(Npgsql.NpgsqlDataAdapter? adapter) -> void -Npgsql.NpgsqlConnection -Npgsql.NpgsqlConnection.BeginBinaryExport(string! copyToCommand) -> Npgsql.NpgsqlBinaryExporter! -Npgsql.NpgsqlConnection.BeginBinaryExportAsync(string! copyToCommand, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlConnection.BeginBinaryImport(string! copyFromCommand) -> Npgsql.NpgsqlBinaryImporter! -Npgsql.NpgsqlConnection.BeginBinaryImportAsync(string! copyFromCommand, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlConnection.BeginRawBinaryCopy(string! copyCommand) -> Npgsql.NpgsqlRawCopyStream! -Npgsql.NpgsqlConnection.BeginRawBinaryCopyAsync(string! copyCommand, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlConnection.BeginTextExport(string! copyToCommand) -> System.IO.TextReader! -Npgsql.NpgsqlConnection.BeginTextExportAsync(string! copyToCommand, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlConnection.BeginTextImport(string! copyFromCommand) -> System.IO.TextWriter! -Npgsql.NpgsqlConnection.BeginTextImportAsync(string! copyFromCommand, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlConnection.BeginTransaction() -> Npgsql.NpgsqlTransaction! -Npgsql.NpgsqlConnection.BeginTransaction(System.Data.IsolationLevel level) -> Npgsql.NpgsqlTransaction! -Npgsql.NpgsqlConnection.BeginTransactionAsync(System.Data.IsolationLevel level, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask -Npgsql.NpgsqlConnection.BeginTransactionAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask -Npgsql.NpgsqlConnection.CloneWith(string! connectionString) -> Npgsql.NpgsqlConnection! -Npgsql.NpgsqlConnection.CommandTimeout.get -> int -Npgsql.NpgsqlConnection.CreateBatch() -> Npgsql.NpgsqlBatch! -Npgsql.NpgsqlConnection.CreateCommand() -> Npgsql.NpgsqlCommand! -Npgsql.NpgsqlConnection.Disposed -> System.EventHandler? -Npgsql.NpgsqlConnection.FullState.get -> System.Data.ConnectionState -Npgsql.NpgsqlConnection.HasIntegerDateTimes.get -> bool -Npgsql.NpgsqlConnection.Host.get -> string? -Npgsql.NpgsqlConnection.Notice -> Npgsql.NoticeEventHandler? -Npgsql.NpgsqlConnection.Notification -> Npgsql.NotificationEventHandler? -Npgsql.NpgsqlConnection.NpgsqlConnection() -> void -Npgsql.NpgsqlConnection.NpgsqlConnection(string? connectionString) -> void -Npgsql.NpgsqlConnection.Port.get -> int -Npgsql.NpgsqlConnection.PostgresParameters.get -> System.Collections.Generic.IReadOnlyDictionary! -Npgsql.NpgsqlConnection.PostgreSqlVersion.get -> System.Version! -Npgsql.NpgsqlConnection.ProcessID.get -> int -Npgsql.NpgsqlConnection.ProvideClientCertificatesCallback.get -> Npgsql.ProvideClientCertificatesCallback? -Npgsql.NpgsqlConnection.ProvideClientCertificatesCallback.set -> void -Npgsql.NpgsqlConnection.ProvidePasswordCallback.get -> Npgsql.ProvidePasswordCallback? -Npgsql.NpgsqlConnection.ProvidePasswordCallback.set -> void -Npgsql.NpgsqlConnection.ReloadTypes() -> void -Npgsql.NpgsqlConnection.ReloadTypesAsync() -> System.Threading.Tasks.Task! -Npgsql.NpgsqlConnection.Timezone.get -> string! -Npgsql.NpgsqlConnection.TypeMapper.get -> Npgsql.TypeMapping.INpgsqlTypeMapper! -Npgsql.NpgsqlConnection.UnprepareAll() -> void -Npgsql.NpgsqlConnection.UserCertificateValidationCallback.get -> System.Net.Security.RemoteCertificateValidationCallback? -Npgsql.NpgsqlConnection.UserCertificateValidationCallback.set -> void -Npgsql.NpgsqlConnection.UserName.get -> string? -Npgsql.NpgsqlConnection.Wait() -> void -Npgsql.NpgsqlConnection.Wait(int timeout) -> bool -Npgsql.NpgsqlConnection.Wait(System.TimeSpan timeout) -> bool -Npgsql.NpgsqlConnection.WaitAsync(int timeout, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlConnection.WaitAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlConnection.WaitAsync(System.TimeSpan timeout, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlConnectionStringBuilder -Npgsql.NpgsqlConnectionStringBuilder.Add(System.Collections.Generic.KeyValuePair item) -> void -Npgsql.NpgsqlConnectionStringBuilder.ApplicationName.get -> string? -Npgsql.NpgsqlConnectionStringBuilder.ApplicationName.set -> void -Npgsql.NpgsqlConnectionStringBuilder.ArrayNullabilityMode.get -> Npgsql.ArrayNullabilityMode -Npgsql.NpgsqlConnectionStringBuilder.ArrayNullabilityMode.set -> void -Npgsql.NpgsqlConnectionStringBuilder.AutoPrepareMinUsages.get -> int -Npgsql.NpgsqlConnectionStringBuilder.AutoPrepareMinUsages.set -> void -Npgsql.NpgsqlConnectionStringBuilder.CancellationTimeout.get -> int -Npgsql.NpgsqlConnectionStringBuilder.CancellationTimeout.set -> void -Npgsql.NpgsqlConnectionStringBuilder.ChannelBinding.get -> Npgsql.ChannelBinding -Npgsql.NpgsqlConnectionStringBuilder.ChannelBinding.set -> void -Npgsql.NpgsqlConnectionStringBuilder.CheckCertificateRevocation.get -> bool -Npgsql.NpgsqlConnectionStringBuilder.CheckCertificateRevocation.set -> void -Npgsql.NpgsqlConnectionStringBuilder.ClientEncoding.get -> string? -Npgsql.NpgsqlConnectionStringBuilder.ClientEncoding.set -> void -Npgsql.NpgsqlConnectionStringBuilder.CommandTimeout.get -> int -Npgsql.NpgsqlConnectionStringBuilder.CommandTimeout.set -> void -Npgsql.NpgsqlConnectionStringBuilder.ConnectionIdleLifetime.get -> int -Npgsql.NpgsqlConnectionStringBuilder.ConnectionIdleLifetime.set -> void -Npgsql.NpgsqlConnectionStringBuilder.ConnectionLifetime.get -> int -Npgsql.NpgsqlConnectionStringBuilder.ConnectionLifetime.set -> void -Npgsql.NpgsqlConnectionStringBuilder.ConnectionPruningInterval.get -> int -Npgsql.NpgsqlConnectionStringBuilder.ConnectionPruningInterval.set -> void -Npgsql.NpgsqlConnectionStringBuilder.Contains(System.Collections.Generic.KeyValuePair item) -> bool -Npgsql.NpgsqlConnectionStringBuilder.CopyTo(System.Collections.Generic.KeyValuePair[]! array, int arrayIndex) -> void -Npgsql.NpgsqlConnectionStringBuilder.Database.get -> string? -Npgsql.NpgsqlConnectionStringBuilder.Database.set -> void -Npgsql.NpgsqlConnectionStringBuilder.Encoding.get -> string! -Npgsql.NpgsqlConnectionStringBuilder.Encoding.set -> void -Npgsql.NpgsqlConnectionStringBuilder.Enlist.get -> bool -Npgsql.NpgsqlConnectionStringBuilder.Enlist.set -> void -Npgsql.NpgsqlConnectionStringBuilder.GetEnumerator() -> System.Collections.Generic.IEnumerator>! -Npgsql.NpgsqlConnectionStringBuilder.Host.get -> string? -Npgsql.NpgsqlConnectionStringBuilder.Host.set -> void -Npgsql.NpgsqlConnectionStringBuilder.HostRecheckSeconds.get -> int -Npgsql.NpgsqlConnectionStringBuilder.HostRecheckSeconds.set -> void -Npgsql.NpgsqlConnectionStringBuilder.IncludeErrorDetail.get -> bool -Npgsql.NpgsqlConnectionStringBuilder.IncludeErrorDetail.set -> void -Npgsql.NpgsqlConnectionStringBuilder.IncludeRealm.get -> bool -Npgsql.NpgsqlConnectionStringBuilder.IncludeRealm.set -> void -Npgsql.NpgsqlConnectionStringBuilder.InternalCommandTimeout.get -> int -Npgsql.NpgsqlConnectionStringBuilder.InternalCommandTimeout.set -> void -Npgsql.NpgsqlConnectionStringBuilder.KeepAlive.get -> int -Npgsql.NpgsqlConnectionStringBuilder.KeepAlive.set -> void -Npgsql.NpgsqlConnectionStringBuilder.KerberosServiceName.get -> string! -Npgsql.NpgsqlConnectionStringBuilder.KerberosServiceName.set -> void -Npgsql.NpgsqlConnectionStringBuilder.Keys.get -> System.Collections.Generic.ICollection! -Npgsql.NpgsqlConnectionStringBuilder.LoadBalanceHosts.get -> bool -Npgsql.NpgsqlConnectionStringBuilder.LoadBalanceHosts.set -> void -Npgsql.NpgsqlConnectionStringBuilder.LoadTableComposites.get -> bool -Npgsql.NpgsqlConnectionStringBuilder.LoadTableComposites.set -> void -Npgsql.NpgsqlConnectionStringBuilder.LogParameters.get -> bool -Npgsql.NpgsqlConnectionStringBuilder.LogParameters.set -> void -Npgsql.NpgsqlConnectionStringBuilder.MaxAutoPrepare.get -> int -Npgsql.NpgsqlConnectionStringBuilder.MaxAutoPrepare.set -> void -Npgsql.NpgsqlConnectionStringBuilder.MaxPoolSize.get -> int -Npgsql.NpgsqlConnectionStringBuilder.MaxPoolSize.set -> void -Npgsql.NpgsqlConnectionStringBuilder.MinPoolSize.get -> int -Npgsql.NpgsqlConnectionStringBuilder.MinPoolSize.set -> void -Npgsql.NpgsqlConnectionStringBuilder.Multiplexing.get -> bool -Npgsql.NpgsqlConnectionStringBuilder.Multiplexing.set -> void -Npgsql.NpgsqlConnectionStringBuilder.NoResetOnClose.get -> bool -Npgsql.NpgsqlConnectionStringBuilder.NoResetOnClose.set -> void -Npgsql.NpgsqlConnectionStringBuilder.NpgsqlConnectionStringBuilder() -> void -Npgsql.NpgsqlConnectionStringBuilder.NpgsqlConnectionStringBuilder(bool useOdbcRules) -> void -Npgsql.NpgsqlConnectionStringBuilder.NpgsqlConnectionStringBuilder(string? connectionString) -> void -Npgsql.NpgsqlConnectionStringBuilder.Options.get -> string? -Npgsql.NpgsqlConnectionStringBuilder.Options.set -> void -Npgsql.NpgsqlConnectionStringBuilder.Passfile.get -> string? -Npgsql.NpgsqlConnectionStringBuilder.Passfile.set -> void -Npgsql.NpgsqlConnectionStringBuilder.Password.get -> string? -Npgsql.NpgsqlConnectionStringBuilder.Password.set -> void -Npgsql.NpgsqlConnectionStringBuilder.PersistSecurityInfo.get -> bool -Npgsql.NpgsqlConnectionStringBuilder.PersistSecurityInfo.set -> void -Npgsql.NpgsqlConnectionStringBuilder.Pooling.get -> bool -Npgsql.NpgsqlConnectionStringBuilder.Pooling.set -> void -Npgsql.NpgsqlConnectionStringBuilder.Port.get -> int -Npgsql.NpgsqlConnectionStringBuilder.Port.set -> void -Npgsql.NpgsqlConnectionStringBuilder.ReadBufferSize.get -> int -Npgsql.NpgsqlConnectionStringBuilder.ReadBufferSize.set -> void -Npgsql.NpgsqlConnectionStringBuilder.Remove(System.Collections.Generic.KeyValuePair item) -> bool -Npgsql.NpgsqlConnectionStringBuilder.RootCertificate.get -> string? -Npgsql.NpgsqlConnectionStringBuilder.RootCertificate.set -> void -Npgsql.NpgsqlConnectionStringBuilder.SearchPath.get -> string? -Npgsql.NpgsqlConnectionStringBuilder.SearchPath.set -> void -Npgsql.NpgsqlConnectionStringBuilder.ServerCompatibilityMode.get -> Npgsql.ServerCompatibilityMode -Npgsql.NpgsqlConnectionStringBuilder.ServerCompatibilityMode.set -> void -Npgsql.NpgsqlConnectionStringBuilder.SocketReceiveBufferSize.get -> int -Npgsql.NpgsqlConnectionStringBuilder.SocketReceiveBufferSize.set -> void -Npgsql.NpgsqlConnectionStringBuilder.SocketSendBufferSize.get -> int -Npgsql.NpgsqlConnectionStringBuilder.SocketSendBufferSize.set -> void -Npgsql.NpgsqlConnectionStringBuilder.SslCertificate.get -> string? -Npgsql.NpgsqlConnectionStringBuilder.SslCertificate.set -> void -Npgsql.NpgsqlConnectionStringBuilder.SslKey.get -> string? -Npgsql.NpgsqlConnectionStringBuilder.SslKey.set -> void -Npgsql.NpgsqlConnectionStringBuilder.SslMode.get -> Npgsql.SslMode -Npgsql.NpgsqlConnectionStringBuilder.SslMode.set -> void -Npgsql.NpgsqlConnectionStringBuilder.SslPassword.get -> string? -Npgsql.NpgsqlConnectionStringBuilder.SslPassword.set -> void -Npgsql.NpgsqlConnectionStringBuilder.TargetSessionAttributes.get -> string? -Npgsql.NpgsqlConnectionStringBuilder.TargetSessionAttributes.set -> void -Npgsql.NpgsqlConnectionStringBuilder.TcpKeepAlive.get -> bool -Npgsql.NpgsqlConnectionStringBuilder.TcpKeepAlive.set -> void -Npgsql.NpgsqlConnectionStringBuilder.TcpKeepAliveInterval.get -> int -Npgsql.NpgsqlConnectionStringBuilder.TcpKeepAliveInterval.set -> void -Npgsql.NpgsqlConnectionStringBuilder.TcpKeepAliveTime.get -> int -Npgsql.NpgsqlConnectionStringBuilder.TcpKeepAliveTime.set -> void -Npgsql.NpgsqlConnectionStringBuilder.Timeout.get -> int -Npgsql.NpgsqlConnectionStringBuilder.Timeout.set -> void -Npgsql.NpgsqlConnectionStringBuilder.Timezone.get -> string? -Npgsql.NpgsqlConnectionStringBuilder.Timezone.set -> void -Npgsql.NpgsqlConnectionStringBuilder.TrustServerCertificate.get -> bool -Npgsql.NpgsqlConnectionStringBuilder.TrustServerCertificate.set -> void -Npgsql.NpgsqlConnectionStringBuilder.Username.get -> string? -Npgsql.NpgsqlConnectionStringBuilder.Username.set -> void -Npgsql.NpgsqlConnectionStringBuilder.Values.get -> System.Collections.Generic.ICollection! -Npgsql.NpgsqlConnectionStringBuilder.WriteBufferSize.get -> int -Npgsql.NpgsqlConnectionStringBuilder.WriteBufferSize.set -> void -Npgsql.NpgsqlConnectionStringBuilder.WriteCoalescingBufferThresholdBytes.get -> int -Npgsql.NpgsqlConnectionStringBuilder.WriteCoalescingBufferThresholdBytes.set -> void -Npgsql.NpgsqlCopyTextReader -Npgsql.NpgsqlCopyTextReader.Cancel() -> void -Npgsql.NpgsqlCopyTextReader.CancelAsync() -> System.Threading.Tasks.Task! -Npgsql.NpgsqlCopyTextReader.DisposeAsync() -> System.Threading.Tasks.ValueTask -Npgsql.NpgsqlCopyTextWriter -Npgsql.NpgsqlCopyTextWriter.Cancel() -> void -Npgsql.NpgsqlCopyTextWriter.CancelAsync() -> System.Threading.Tasks.Task! -Npgsql.NpgsqlDataAdapter -Npgsql.NpgsqlDataAdapter.DeleteCommand.get -> Npgsql.NpgsqlCommand? -Npgsql.NpgsqlDataAdapter.DeleteCommand.set -> void -Npgsql.NpgsqlDataAdapter.InsertCommand.get -> Npgsql.NpgsqlCommand? -Npgsql.NpgsqlDataAdapter.InsertCommand.set -> void -Npgsql.NpgsqlDataAdapter.NpgsqlDataAdapter() -> void -Npgsql.NpgsqlDataAdapter.NpgsqlDataAdapter(Npgsql.NpgsqlCommand! selectCommand) -> void -Npgsql.NpgsqlDataAdapter.NpgsqlDataAdapter(string! selectCommandText, Npgsql.NpgsqlConnection! selectConnection) -> void -Npgsql.NpgsqlDataAdapter.NpgsqlDataAdapter(string! selectCommandText, string! selectConnectionString) -> void -Npgsql.NpgsqlDataAdapter.RowUpdated -> Npgsql.NpgsqlRowUpdatedEventHandler? -Npgsql.NpgsqlDataAdapter.RowUpdating -> Npgsql.NpgsqlRowUpdatingEventHandler? -Npgsql.NpgsqlDataAdapter.SelectCommand.get -> Npgsql.NpgsqlCommand? -Npgsql.NpgsqlDataAdapter.SelectCommand.set -> void -Npgsql.NpgsqlDataAdapter.UpdateCommand.get -> Npgsql.NpgsqlCommand? -Npgsql.NpgsqlDataAdapter.UpdateCommand.set -> void -Npgsql.NpgsqlDataReader -Npgsql.NpgsqlDataReader.GetColumnSchema() -> System.Collections.ObjectModel.ReadOnlyCollection! -Npgsql.NpgsqlDataReader.GetColumnSchemaAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task!>! -Npgsql.NpgsqlDataReader.GetData(int ordinal) -> Npgsql.NpgsqlNestedDataReader! -Npgsql.NpgsqlDataReader.GetDataTypeOID(int ordinal) -> uint -Npgsql.NpgsqlDataReader.GetPostgresType(int ordinal) -> Npgsql.PostgresTypes.PostgresType! -Npgsql.NpgsqlDataReader.GetStreamAsync(int ordinal, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlDataReader.GetTextReaderAsync(int ordinal, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlDataReader.GetTimeSpan(int ordinal) -> System.TimeSpan -Npgsql.NpgsqlDataReader.IsOnRow.get -> bool -Npgsql.NpgsqlDataReader.ReaderClosed -> System.EventHandler? -Npgsql.NpgsqlDataReader.Rows.get -> ulong -Npgsql.NpgsqlDataReader.Statements.get -> System.Collections.Generic.IReadOnlyList! -Npgsql.NpgsqlDataSource -Npgsql.NpgsqlDataSource.CreateBatch() -> Npgsql.NpgsqlBatch! -Npgsql.NpgsqlDataSource.CreateCommand(string? commandText = null) -> Npgsql.NpgsqlCommand! -Npgsql.NpgsqlDataSource.CreateConnection() -> Npgsql.NpgsqlConnection! -Npgsql.NpgsqlDataSource.OpenConnection() -> Npgsql.NpgsqlConnection! -Npgsql.NpgsqlDataSource.OpenConnectionAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask -Npgsql.NpgsqlDataSource.Password.set -> void -Npgsql.NpgsqlDataSourceBuilder -Npgsql.NpgsqlDataSourceBuilder.AddTypeInfoResolverFactory(Npgsql.Internal.PgTypeInfoResolverFactory! factory) -> void -Npgsql.NpgsqlDataSourceBuilder.Build() -> Npgsql.NpgsqlDataSource! -Npgsql.NpgsqlDataSourceBuilder.BuildMultiHost() -> Npgsql.NpgsqlMultiHostDataSource! -Npgsql.NpgsqlDataSourceBuilder.ConfigureJsonOptions(System.Text.Json.JsonSerializerOptions! serializerOptions) -> Npgsql.NpgsqlDataSourceBuilder! -Npgsql.NpgsqlDataSourceBuilder.ConnectionString.get -> string! -Npgsql.NpgsqlDataSourceBuilder.ConnectionStringBuilder.get -> Npgsql.NpgsqlConnectionStringBuilder! -Npgsql.NpgsqlDataSourceBuilder.DefaultNameTranslator.get -> Npgsql.INpgsqlNameTranslator! -Npgsql.NpgsqlDataSourceBuilder.DefaultNameTranslator.set -> void -Npgsql.NpgsqlDataSourceBuilder.EnableDynamicJson(System.Type![]? jsonbClrTypes = null, System.Type![]? jsonClrTypes = null) -> Npgsql.NpgsqlDataSourceBuilder! -Npgsql.NpgsqlDataSourceBuilder.EnableParameterLogging(bool parameterLoggingEnabled = true) -> Npgsql.NpgsqlDataSourceBuilder! -Npgsql.NpgsqlDataSourceBuilder.EnableRecordsAsTuples() -> Npgsql.NpgsqlDataSourceBuilder! -Npgsql.NpgsqlDataSourceBuilder.EnableUnmappedTypes() -> Npgsql.NpgsqlDataSourceBuilder! -Npgsql.NpgsqlDataSourceBuilder.MapComposite(System.Type! clrType, string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> Npgsql.TypeMapping.INpgsqlTypeMapper! -Npgsql.NpgsqlDataSourceBuilder.MapComposite(string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> Npgsql.TypeMapping.INpgsqlTypeMapper! -Npgsql.NpgsqlDataSourceBuilder.MapEnum(System.Type! clrType, string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> Npgsql.TypeMapping.INpgsqlTypeMapper! -Npgsql.NpgsqlDataSourceBuilder.MapEnum(string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> Npgsql.TypeMapping.INpgsqlTypeMapper! -Npgsql.NpgsqlDataSourceBuilder.Name.get -> string? -Npgsql.NpgsqlDataSourceBuilder.Name.set -> void -Npgsql.NpgsqlDataSourceBuilder.NpgsqlDataSourceBuilder(string? connectionString = null) -> void -Npgsql.NpgsqlDataSourceBuilder.UnmapComposite(System.Type! clrType, string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> bool -Npgsql.NpgsqlDataSourceBuilder.UnmapComposite(string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> bool -Npgsql.NpgsqlDataSourceBuilder.UnmapEnum(System.Type! clrType, string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> bool -Npgsql.NpgsqlDataSourceBuilder.UnmapEnum(string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> bool -Npgsql.NpgsqlDataSourceBuilder.UseClientCertificate(System.Security.Cryptography.X509Certificates.X509Certificate? clientCertificate) -> Npgsql.NpgsqlDataSourceBuilder! -Npgsql.NpgsqlDataSourceBuilder.UseClientCertificates(System.Security.Cryptography.X509Certificates.X509CertificateCollection? clientCertificates) -> Npgsql.NpgsqlDataSourceBuilder! -Npgsql.NpgsqlDataSourceBuilder.UseClientCertificatesCallback(System.Action? clientCertificatesCallback) -> Npgsql.NpgsqlDataSourceBuilder! -Npgsql.NpgsqlDataSourceBuilder.UseLoggerFactory(Microsoft.Extensions.Logging.ILoggerFactory? loggerFactory) -> Npgsql.NpgsqlDataSourceBuilder! -Npgsql.NpgsqlDataSourceBuilder.UsePasswordProvider(System.Func? passwordProvider, System.Func>? passwordProviderAsync) -> Npgsql.NpgsqlDataSourceBuilder! -Npgsql.NpgsqlDataSourceBuilder.UsePeriodicPasswordProvider(System.Func>? passwordProvider, System.TimeSpan successRefreshInterval, System.TimeSpan failureRefreshInterval) -> Npgsql.NpgsqlDataSourceBuilder! -Npgsql.NpgsqlDataSourceBuilder.UsePhysicalConnectionInitializer(System.Action? connectionInitializer, System.Func? connectionInitializerAsync) -> Npgsql.NpgsqlDataSourceBuilder! -Npgsql.NpgsqlDataSourceBuilder.UseRootCertificate(System.Security.Cryptography.X509Certificates.X509Certificate2? rootCertificate) -> Npgsql.NpgsqlDataSourceBuilder! -Npgsql.NpgsqlDataSourceBuilder.UseRootCertificateCallback(System.Func? rootCertificateCallback) -> Npgsql.NpgsqlDataSourceBuilder! -Npgsql.NpgsqlDataSourceBuilder.UseUserCertificateValidationCallback(System.Net.Security.RemoteCertificateValidationCallback! userCertificateValidationCallback) -> Npgsql.NpgsqlDataSourceBuilder! -Npgsql.NpgsqlException -Npgsql.NpgsqlException.BatchCommand.get -> Npgsql.NpgsqlBatchCommand? -Npgsql.NpgsqlException.BatchCommand.set -> void -Npgsql.NpgsqlException.NpgsqlException() -> void -Npgsql.NpgsqlException.NpgsqlException(string? message) -> void -Npgsql.NpgsqlException.NpgsqlException(string? message, System.Exception? innerException) -> void -Npgsql.NpgsqlException.NpgsqlException(System.Runtime.Serialization.SerializationInfo! info, System.Runtime.Serialization.StreamingContext context) -> void -Npgsql.NpgsqlFactory -Npgsql.NpgsqlFactory.GetService(System.Type! serviceType) -> object? -Npgsql.NpgsqlLargeObjectManager -Npgsql.NpgsqlLargeObjectManager.Create(uint preferredOid = 0) -> uint -Npgsql.NpgsqlLargeObjectManager.CreateAsync(uint preferredOid, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlLargeObjectManager.ExportRemote(uint oid, string! path) -> void -Npgsql.NpgsqlLargeObjectManager.ExportRemoteAsync(uint oid, string! path, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlLargeObjectManager.Has64BitSupport.get -> bool -Npgsql.NpgsqlLargeObjectManager.ImportRemote(string! path, uint oid = 0) -> void -Npgsql.NpgsqlLargeObjectManager.ImportRemoteAsync(string! path, uint oid, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlLargeObjectManager.MaxTransferBlockSize.get -> int -Npgsql.NpgsqlLargeObjectManager.MaxTransferBlockSize.set -> void -Npgsql.NpgsqlLargeObjectManager.NpgsqlLargeObjectManager(Npgsql.NpgsqlConnection! connection) -> void -Npgsql.NpgsqlLargeObjectManager.OpenRead(uint oid) -> Npgsql.NpgsqlLargeObjectStream! -Npgsql.NpgsqlLargeObjectManager.OpenReadAsync(uint oid, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlLargeObjectManager.OpenReadWrite(uint oid) -> Npgsql.NpgsqlLargeObjectStream! -Npgsql.NpgsqlLargeObjectManager.OpenReadWriteAsync(uint oid, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlLargeObjectManager.Unlink(uint oid) -> void -Npgsql.NpgsqlLargeObjectManager.UnlinkAsync(uint oid, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlLargeObjectStream -Npgsql.NpgsqlLargeObjectStream.GetLengthAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlLargeObjectStream.Has64BitSupport.get -> bool -Npgsql.NpgsqlLargeObjectStream.SeekAsync(long offset, System.IO.SeekOrigin origin, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlLargeObjectStream.SetLength(long value, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlLoggingConfiguration -Npgsql.NpgsqlMultiHostDataSource -Npgsql.NpgsqlMultiHostDataSource.ClearDatabaseStates() -> void -Npgsql.NpgsqlMultiHostDataSource.CreateConnection(Npgsql.TargetSessionAttributes targetSessionAttributes) -> Npgsql.NpgsqlConnection! -Npgsql.NpgsqlMultiHostDataSource.OpenConnection(Npgsql.TargetSessionAttributes targetSessionAttributes) -> Npgsql.NpgsqlConnection! -Npgsql.NpgsqlMultiHostDataSource.OpenConnectionAsync(Npgsql.TargetSessionAttributes targetSessionAttributes, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask -Npgsql.NpgsqlMultiHostDataSource.WithTargetSession(Npgsql.TargetSessionAttributes targetSessionAttributes) -> Npgsql.NpgsqlDataSource! -Npgsql.NpgsqlNestedDataReader -Npgsql.NpgsqlNestedDataReader.GetData(int ordinal) -> Npgsql.NpgsqlNestedDataReader! -Npgsql.NpgsqlNoticeEventArgs -Npgsql.NpgsqlNoticeEventArgs.Notice.get -> Npgsql.PostgresNotice! -Npgsql.NpgsqlNotificationEventArgs -Npgsql.NpgsqlNotificationEventArgs.Channel.get -> string! -Npgsql.NpgsqlNotificationEventArgs.Payload.get -> string! -Npgsql.NpgsqlNotificationEventArgs.PID.get -> int -Npgsql.NpgsqlOperationInProgressException -Npgsql.NpgsqlOperationInProgressException.CommandInProgress.get -> Npgsql.NpgsqlCommand? -Npgsql.NpgsqlOperationInProgressException.NpgsqlOperationInProgressException(Npgsql.NpgsqlCommand! command) -> void -Npgsql.NpgsqlParameter -Npgsql.NpgsqlParameter.Clone() -> Npgsql.NpgsqlParameter! -Npgsql.NpgsqlParameter.Collection.get -> Npgsql.NpgsqlParameterCollection? -Npgsql.NpgsqlParameter.Collection.set -> void -Npgsql.NpgsqlParameter.DataTypeName.get -> string? -Npgsql.NpgsqlParameter.DataTypeName.set -> void -Npgsql.NpgsqlParameter.NpgsqlDbType.get -> NpgsqlTypes.NpgsqlDbType -Npgsql.NpgsqlParameter.NpgsqlDbType.set -> void -Npgsql.NpgsqlParameter.NpgsqlParameter() -> void -Npgsql.NpgsqlParameter.NpgsqlParameter(string! parameterName, NpgsqlTypes.NpgsqlDbType parameterType, int size, string? sourceColumn, System.Data.ParameterDirection direction, bool isNullable, byte precision, byte scale, System.Data.DataRowVersion sourceVersion, object! value) -> void -Npgsql.NpgsqlParameter.NpgsqlParameter(string! parameterName, System.Data.DbType parameterType, int size, string? sourceColumn, System.Data.ParameterDirection direction, bool isNullable, byte precision, byte scale, System.Data.DataRowVersion sourceVersion, object! value) -> void -Npgsql.NpgsqlParameter.NpgsqlParameter(string? parameterName, NpgsqlTypes.NpgsqlDbType parameterType) -> void -Npgsql.NpgsqlParameter.NpgsqlParameter(string? parameterName, NpgsqlTypes.NpgsqlDbType parameterType, int size) -> void -Npgsql.NpgsqlParameter.NpgsqlParameter(string? parameterName, NpgsqlTypes.NpgsqlDbType parameterType, int size, string? sourceColumn) -> void -Npgsql.NpgsqlParameter.NpgsqlParameter(string? parameterName, object? value) -> void -Npgsql.NpgsqlParameter.NpgsqlParameter(string? parameterName, System.Data.DbType parameterType) -> void -Npgsql.NpgsqlParameter.NpgsqlParameter(string? parameterName, System.Data.DbType parameterType, int size) -> void -Npgsql.NpgsqlParameter.NpgsqlParameter(string? parameterName, System.Data.DbType parameterType, int size, string? sourceColumn) -> void -Npgsql.NpgsqlParameter.NpgsqlValue.get -> object? -Npgsql.NpgsqlParameter.NpgsqlValue.set -> void -Npgsql.NpgsqlParameter.PostgresType.get -> Npgsql.PostgresTypes.PostgresType? -Npgsql.NpgsqlParameter.Precision.get -> byte -Npgsql.NpgsqlParameter.Precision.set -> void -Npgsql.NpgsqlParameter.Scale.get -> byte -Npgsql.NpgsqlParameter.Scale.set -> void -Npgsql.NpgsqlParameter -Npgsql.NpgsqlParameter.NpgsqlParameter() -> void -Npgsql.NpgsqlParameter.NpgsqlParameter(string! parameterName, NpgsqlTypes.NpgsqlDbType npgsqlDbType) -> void -Npgsql.NpgsqlParameter.NpgsqlParameter(string! parameterName, System.Data.DbType dbType) -> void -Npgsql.NpgsqlParameter.NpgsqlParameter(string! parameterName, T value) -> void -Npgsql.NpgsqlParameter.TypedValue.get -> T? -Npgsql.NpgsqlParameter.TypedValue.set -> void -Npgsql.NpgsqlParameterCollection -Npgsql.NpgsqlParameterCollection.Add(Npgsql.NpgsqlParameter! value) -> Npgsql.NpgsqlParameter! -Npgsql.NpgsqlParameterCollection.Add(string! parameterName, NpgsqlTypes.NpgsqlDbType parameterType) -> Npgsql.NpgsqlParameter! -Npgsql.NpgsqlParameterCollection.Add(string! parameterName, NpgsqlTypes.NpgsqlDbType parameterType, int size) -> Npgsql.NpgsqlParameter! -Npgsql.NpgsqlParameterCollection.Add(string! parameterName, NpgsqlTypes.NpgsqlDbType parameterType, int size, string! sourceColumn) -> Npgsql.NpgsqlParameter! -Npgsql.NpgsqlParameterCollection.AddWithValue(NpgsqlTypes.NpgsqlDbType parameterType, object! value) -> Npgsql.NpgsqlParameter! -Npgsql.NpgsqlParameterCollection.AddWithValue(object! value) -> Npgsql.NpgsqlParameter! -Npgsql.NpgsqlParameterCollection.AddWithValue(string! parameterName, NpgsqlTypes.NpgsqlDbType parameterType, int size, object! value) -> Npgsql.NpgsqlParameter! -Npgsql.NpgsqlParameterCollection.AddWithValue(string! parameterName, NpgsqlTypes.NpgsqlDbType parameterType, int size, string? sourceColumn, object! value) -> Npgsql.NpgsqlParameter! -Npgsql.NpgsqlParameterCollection.AddWithValue(string! parameterName, NpgsqlTypes.NpgsqlDbType parameterType, object! value) -> Npgsql.NpgsqlParameter! -Npgsql.NpgsqlParameterCollection.AddWithValue(string! parameterName, object! value) -> Npgsql.NpgsqlParameter! -Npgsql.NpgsqlParameterCollection.Contains(Npgsql.NpgsqlParameter! item) -> bool -Npgsql.NpgsqlParameterCollection.CopyTo(Npgsql.NpgsqlParameter![]! array, int arrayIndex) -> void -Npgsql.NpgsqlParameterCollection.IndexOf(Npgsql.NpgsqlParameter! item) -> int -Npgsql.NpgsqlParameterCollection.Insert(int index, Npgsql.NpgsqlParameter! item) -> void -Npgsql.NpgsqlParameterCollection.Remove(Npgsql.NpgsqlParameter! item) -> bool -Npgsql.NpgsqlParameterCollection.Remove(string! parameterName) -> void -Npgsql.NpgsqlParameterCollection.this[int index].get -> Npgsql.NpgsqlParameter! -Npgsql.NpgsqlParameterCollection.this[int index].set -> void -Npgsql.NpgsqlParameterCollection.this[string! parameterName].get -> Npgsql.NpgsqlParameter! -Npgsql.NpgsqlParameterCollection.this[string! parameterName].set -> void -Npgsql.NpgsqlParameterCollection.ToArray() -> Npgsql.NpgsqlParameter![]! -Npgsql.NpgsqlParameterCollection.TryGetValue(string! parameterName, out Npgsql.NpgsqlParameter? parameter) -> bool -Npgsql.NpgsqlRawCopyStream -Npgsql.NpgsqlRawCopyStream.Cancel() -> void -Npgsql.NpgsqlRawCopyStream.CancelAsync() -> System.Threading.Tasks.Task! -Npgsql.NpgsqlRowUpdatedEventArgs -Npgsql.NpgsqlRowUpdatedEventArgs.NpgsqlRowUpdatedEventArgs(System.Data.DataRow! dataRow, System.Data.IDbCommand? command, System.Data.StatementType statementType, System.Data.Common.DataTableMapping! tableMapping) -> void -Npgsql.NpgsqlRowUpdatedEventHandler -Npgsql.NpgsqlRowUpdatingEventArgs -Npgsql.NpgsqlRowUpdatingEventArgs.NpgsqlRowUpdatingEventArgs(System.Data.DataRow! dataRow, System.Data.IDbCommand? command, System.Data.StatementType statementType, System.Data.Common.DataTableMapping! tableMapping) -> void -Npgsql.NpgsqlRowUpdatingEventHandler -Npgsql.NpgsqlSlimDataSourceBuilder -Npgsql.NpgsqlSlimDataSourceBuilder.AddTypeInfoResolverFactory(Npgsql.Internal.PgTypeInfoResolverFactory! factory) -> void -Npgsql.NpgsqlSlimDataSourceBuilder.Build() -> Npgsql.NpgsqlDataSource! -Npgsql.NpgsqlSlimDataSourceBuilder.BuildMultiHost() -> Npgsql.NpgsqlMultiHostDataSource! -Npgsql.NpgsqlSlimDataSourceBuilder.ConfigureJsonOptions(System.Text.Json.JsonSerializerOptions! serializerOptions) -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.ConnectionString.get -> string! -Npgsql.NpgsqlSlimDataSourceBuilder.ConnectionStringBuilder.get -> Npgsql.NpgsqlConnectionStringBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.DefaultNameTranslator.get -> Npgsql.INpgsqlNameTranslator! -Npgsql.NpgsqlSlimDataSourceBuilder.DefaultNameTranslator.set -> void -Npgsql.NpgsqlSlimDataSourceBuilder.EnableArrays() -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.EnableDynamicJson(System.Type![]? jsonbClrTypes = null, System.Type![]? jsonClrTypes = null) -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.EnableExtraConversions() -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.EnableFullTextSearch() -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.EnableIntegratedSecurity() -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.EnableLTree() -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.EnableMultiranges() -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.EnableParameterLogging(bool parameterLoggingEnabled = true) -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.EnableRanges() -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.EnableRecords() -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.EnableRecordsAsTuples() -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.EnableTransportSecurity() -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.EnableUnmappedTypes() -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.MapComposite(System.Type! clrType, string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> Npgsql.TypeMapping.INpgsqlTypeMapper! -Npgsql.NpgsqlSlimDataSourceBuilder.MapComposite(string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> Npgsql.TypeMapping.INpgsqlTypeMapper! -Npgsql.NpgsqlSlimDataSourceBuilder.MapEnum(System.Type! clrType, string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> Npgsql.TypeMapping.INpgsqlTypeMapper! -Npgsql.NpgsqlSlimDataSourceBuilder.MapEnum(string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> Npgsql.TypeMapping.INpgsqlTypeMapper! -Npgsql.NpgsqlSlimDataSourceBuilder.Name.get -> string? -Npgsql.NpgsqlSlimDataSourceBuilder.Name.set -> void -Npgsql.NpgsqlSlimDataSourceBuilder.NpgsqlSlimDataSourceBuilder(string? connectionString = null) -> void -Npgsql.NpgsqlSlimDataSourceBuilder.UnmapComposite(System.Type! clrType, string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> bool -Npgsql.NpgsqlSlimDataSourceBuilder.UnmapComposite(string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> bool -Npgsql.NpgsqlSlimDataSourceBuilder.UnmapEnum(System.Type! clrType, string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> bool -Npgsql.NpgsqlSlimDataSourceBuilder.UnmapEnum(string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> bool -Npgsql.NpgsqlSlimDataSourceBuilder.UseClientCertificate(System.Security.Cryptography.X509Certificates.X509Certificate? clientCertificate) -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.UseClientCertificates(System.Security.Cryptography.X509Certificates.X509CertificateCollection? clientCertificates) -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.UseClientCertificatesCallback(System.Action? clientCertificatesCallback) -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.UseLoggerFactory(Microsoft.Extensions.Logging.ILoggerFactory? loggerFactory) -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.UsePasswordProvider(System.Func? passwordProvider, System.Func>? passwordProviderAsync) -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.UsePeriodicPasswordProvider(System.Func>? passwordProvider, System.TimeSpan successRefreshInterval, System.TimeSpan failureRefreshInterval) -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.UsePhysicalConnectionInitializer(System.Action? connectionInitializer, System.Func? connectionInitializerAsync) -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.UseRootCertificate(System.Security.Cryptography.X509Certificates.X509Certificate2? rootCertificate) -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.UseRootCertificateCallback(System.Func? rootCertificateCallback) -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.UseUserCertificateValidationCallback(System.Net.Security.RemoteCertificateValidationCallback! userCertificateValidationCallback) -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlTracingOptions -Npgsql.NpgsqlTracingOptions.NpgsqlTracingOptions() -> void -Npgsql.NpgsqlTransaction -Npgsql.NpgsqlTransaction.Connection.get -> Npgsql.NpgsqlConnection? -Npgsql.PostgresErrorCodes -Npgsql.PostgresException -Npgsql.PostgresException.ColumnName.get -> string? -Npgsql.PostgresException.ConstraintName.get -> string? -Npgsql.PostgresException.DataTypeName.get -> string? -Npgsql.PostgresException.Detail.get -> string? -Npgsql.PostgresException.File.get -> string? -Npgsql.PostgresException.Hint.get -> string? -Npgsql.PostgresException.InternalPosition.get -> int -Npgsql.PostgresException.InternalQuery.get -> string? -Npgsql.PostgresException.InvariantSeverity.get -> string! -Npgsql.PostgresException.Line.get -> string? -Npgsql.PostgresException.MessageText.get -> string! -Npgsql.PostgresException.Position.get -> int -Npgsql.PostgresException.PostgresException(string! messageText, string! severity, string! invariantSeverity, string! sqlState) -> void -Npgsql.PostgresException.PostgresException(string! messageText, string! severity, string! invariantSeverity, string! sqlState, string? detail = null, string? hint = null, int position = 0, int internalPosition = 0, string? internalQuery = null, string? where = null, string? schemaName = null, string? tableName = null, string? columnName = null, string? dataTypeName = null, string? constraintName = null, string? file = null, string? line = null, string? routine = null) -> void -Npgsql.PostgresException.Routine.get -> string? -Npgsql.PostgresException.SchemaName.get -> string? -Npgsql.PostgresException.Severity.get -> string! -Npgsql.PostgresException.TableName.get -> string? -Npgsql.PostgresException.Where.get -> string? -Npgsql.PostgresNotice -Npgsql.PostgresNotice.ColumnName.get -> string? -Npgsql.PostgresNotice.ColumnName.set -> void -Npgsql.PostgresNotice.ConstraintName.get -> string? -Npgsql.PostgresNotice.ConstraintName.set -> void -Npgsql.PostgresNotice.DataTypeName.get -> string? -Npgsql.PostgresNotice.DataTypeName.set -> void -Npgsql.PostgresNotice.Detail.get -> string? -Npgsql.PostgresNotice.Detail.set -> void -Npgsql.PostgresNotice.File.get -> string? -Npgsql.PostgresNotice.File.set -> void -Npgsql.PostgresNotice.Hint.get -> string? -Npgsql.PostgresNotice.Hint.set -> void -Npgsql.PostgresNotice.InternalPosition.get -> int -Npgsql.PostgresNotice.InternalPosition.set -> void -Npgsql.PostgresNotice.InternalQuery.get -> string? -Npgsql.PostgresNotice.InternalQuery.set -> void -Npgsql.PostgresNotice.InvariantSeverity.get -> string! -Npgsql.PostgresNotice.Line.get -> string? -Npgsql.PostgresNotice.Line.set -> void -Npgsql.PostgresNotice.MessageText.get -> string! -Npgsql.PostgresNotice.MessageText.set -> void -Npgsql.PostgresNotice.Position.get -> int -Npgsql.PostgresNotice.Position.set -> void -Npgsql.PostgresNotice.PostgresNotice(string! messageText, string! severity, string! invariantSeverity, string! sqlState, string? detail = null, string? hint = null, int position = 0, int internalPosition = 0, string? internalQuery = null, string? where = null, string? schemaName = null, string? tableName = null, string? columnName = null, string? dataTypeName = null, string? constraintName = null, string? file = null, string? line = null, string? routine = null) -> void -Npgsql.PostgresNotice.PostgresNotice(string! severity, string! invariantSeverity, string! sqlState, string! messageText) -> void -Npgsql.PostgresNotice.Routine.get -> string? -Npgsql.PostgresNotice.Routine.set -> void -Npgsql.PostgresNotice.SchemaName.get -> string? -Npgsql.PostgresNotice.SchemaName.set -> void -Npgsql.PostgresNotice.Severity.get -> string! -Npgsql.PostgresNotice.Severity.set -> void -Npgsql.PostgresNotice.SqlState.get -> string! -Npgsql.PostgresNotice.SqlState.set -> void -Npgsql.PostgresNotice.TableName.get -> string? -Npgsql.PostgresNotice.TableName.set -> void -Npgsql.PostgresNotice.Where.get -> string? -Npgsql.PostgresNotice.Where.set -> void -Npgsql.PostgresTypes.PostgresArrayType -Npgsql.PostgresTypes.PostgresArrayType.Element.get -> Npgsql.PostgresTypes.PostgresType! -Npgsql.PostgresTypes.PostgresArrayType.PostgresArrayType(string! ns, string! name, uint oid, Npgsql.PostgresTypes.PostgresType! elementPostgresType) -> void -Npgsql.PostgresTypes.PostgresBaseType -Npgsql.PostgresTypes.PostgresBaseType.PostgresBaseType(string! ns, string! name, uint oid) -> void -Npgsql.PostgresTypes.PostgresCompositeType -Npgsql.PostgresTypes.PostgresCompositeType.Field -Npgsql.PostgresTypes.PostgresCompositeType.Field.Name.get -> string! -Npgsql.PostgresTypes.PostgresCompositeType.Field.Type.get -> Npgsql.PostgresTypes.PostgresType! -Npgsql.PostgresTypes.PostgresCompositeType.Fields.get -> System.Collections.Generic.IReadOnlyList! -Npgsql.PostgresTypes.PostgresDomainType -Npgsql.PostgresTypes.PostgresDomainType.BaseType.get -> Npgsql.PostgresTypes.PostgresType! -Npgsql.PostgresTypes.PostgresDomainType.NotNull.get -> bool -Npgsql.PostgresTypes.PostgresDomainType.PostgresDomainType(string! ns, string! name, uint oid, Npgsql.PostgresTypes.PostgresType! baseType, bool notNull) -> void -Npgsql.PostgresTypes.PostgresEnumType -Npgsql.PostgresTypes.PostgresEnumType.Labels.get -> System.Collections.Generic.IReadOnlyList! -Npgsql.PostgresTypes.PostgresEnumType.PostgresEnumType(string! ns, string! name, uint oid) -> void -Npgsql.PostgresTypes.PostgresMultirangeType -Npgsql.PostgresTypes.PostgresMultirangeType.PostgresMultirangeType(string! ns, string! name, uint oid, Npgsql.PostgresTypes.PostgresRangeType! rangePostgresType) -> void -Npgsql.PostgresTypes.PostgresMultirangeType.Subrange.get -> Npgsql.PostgresTypes.PostgresRangeType! -Npgsql.PostgresTypes.PostgresRangeType -Npgsql.PostgresTypes.PostgresRangeType.Multirange.get -> Npgsql.PostgresTypes.PostgresMultirangeType? -Npgsql.PostgresTypes.PostgresRangeType.PostgresRangeType(string! ns, string! name, uint oid, Npgsql.PostgresTypes.PostgresType! subtypePostgresType) -> void -Npgsql.PostgresTypes.PostgresRangeType.Subtype.get -> Npgsql.PostgresTypes.PostgresType! -Npgsql.PostgresTypes.PostgresType -Npgsql.PostgresTypes.PostgresType.Array.get -> Npgsql.PostgresTypes.PostgresArrayType? -Npgsql.PostgresTypes.PostgresType.DisplayName.get -> string! -Npgsql.PostgresTypes.PostgresType.FullName.get -> string! -Npgsql.PostgresTypes.PostgresType.InternalName.get -> string! -Npgsql.PostgresTypes.PostgresType.Name.get -> string! -Npgsql.PostgresTypes.PostgresType.Namespace.get -> string! -Npgsql.PostgresTypes.PostgresType.OID.get -> uint -Npgsql.PostgresTypes.PostgresType.Range.get -> Npgsql.PostgresTypes.PostgresRangeType? -Npgsql.PostgresTypes.UnknownBackendType -Npgsql.ProvideClientCertificatesCallback -Npgsql.ProvidePasswordCallback -Npgsql.Replication.Internal.LogicalReplicationConnectionExtensions -Npgsql.Replication.Internal.LogicalReplicationSlot -Npgsql.Replication.Internal.LogicalReplicationSlot.ConsistentPoint.get -> NpgsqlTypes.NpgsqlLogSequenceNumber -Npgsql.Replication.Internal.LogicalReplicationSlot.LogicalReplicationSlot(string! outputPlugin, Npgsql.Replication.ReplicationSlotOptions replicationSlotOptions) -> void -Npgsql.Replication.Internal.LogicalReplicationSlot.OutputPlugin.get -> string! -Npgsql.Replication.Internal.LogicalReplicationSlot.SnapshotName.get -> string? -Npgsql.Replication.LogicalReplicationConnection -Npgsql.Replication.LogicalReplicationConnection.LogicalReplicationConnection() -> void -Npgsql.Replication.LogicalReplicationConnection.LogicalReplicationConnection(string? connectionString) -> void -Npgsql.Replication.LogicalSlotSnapshotInitMode -Npgsql.Replication.LogicalSlotSnapshotInitMode.Export = 0 -> Npgsql.Replication.LogicalSlotSnapshotInitMode -Npgsql.Replication.LogicalSlotSnapshotInitMode.NoExport = 2 -> Npgsql.Replication.LogicalSlotSnapshotInitMode -Npgsql.Replication.LogicalSlotSnapshotInitMode.Use = 1 -> Npgsql.Replication.LogicalSlotSnapshotInitMode -Npgsql.Replication.PgOutput.Messages.BeginMessage -Npgsql.Replication.PgOutput.Messages.BeginMessage.TransactionCommitTimestamp.get -> System.DateTime -Npgsql.Replication.PgOutput.Messages.BeginMessage.TransactionFinalLsn.get -> NpgsqlTypes.NpgsqlLogSequenceNumber -Npgsql.Replication.PgOutput.Messages.BeginPrepareMessage -Npgsql.Replication.PgOutput.Messages.CommitMessage -Npgsql.Replication.PgOutput.Messages.CommitMessage.CommitFlags -Npgsql.Replication.PgOutput.Messages.CommitMessage.CommitFlags.None = 0 -> Npgsql.Replication.PgOutput.Messages.CommitMessage.CommitFlags -Npgsql.Replication.PgOutput.Messages.CommitMessage.CommitLsn.get -> NpgsqlTypes.NpgsqlLogSequenceNumber -Npgsql.Replication.PgOutput.Messages.CommitMessage.Flags.get -> Npgsql.Replication.PgOutput.Messages.CommitMessage.CommitFlags -Npgsql.Replication.PgOutput.Messages.CommitMessage.TransactionCommitTimestamp.get -> System.DateTime -Npgsql.Replication.PgOutput.Messages.CommitMessage.TransactionEndLsn.get -> NpgsqlTypes.NpgsqlLogSequenceNumber -Npgsql.Replication.PgOutput.Messages.CommitPreparedMessage -Npgsql.Replication.PgOutput.Messages.CommitPreparedMessage.CommitPreparedEndLsn.get -> NpgsqlTypes.NpgsqlLogSequenceNumber -Npgsql.Replication.PgOutput.Messages.CommitPreparedMessage.CommitPreparedFlags -Npgsql.Replication.PgOutput.Messages.CommitPreparedMessage.CommitPreparedFlags.None = 0 -> Npgsql.Replication.PgOutput.Messages.CommitPreparedMessage.CommitPreparedFlags -Npgsql.Replication.PgOutput.Messages.CommitPreparedMessage.CommitPreparedLsn.get -> NpgsqlTypes.NpgsqlLogSequenceNumber -Npgsql.Replication.PgOutput.Messages.CommitPreparedMessage.Flags.get -> Npgsql.Replication.PgOutput.Messages.CommitPreparedMessage.CommitPreparedFlags -Npgsql.Replication.PgOutput.Messages.CommitPreparedMessage.TransactionCommitTimestamp.get -> System.DateTime -Npgsql.Replication.PgOutput.Messages.DefaultUpdateMessage -Npgsql.Replication.PgOutput.Messages.DeleteMessage -Npgsql.Replication.PgOutput.Messages.DeleteMessage.Relation.get -> Npgsql.Replication.PgOutput.Messages.RelationMessage! -Npgsql.Replication.PgOutput.Messages.FullDeleteMessage -Npgsql.Replication.PgOutput.Messages.FullDeleteMessage.OldRow.get -> Npgsql.Replication.PgOutput.ReplicationTuple! -Npgsql.Replication.PgOutput.Messages.FullUpdateMessage -Npgsql.Replication.PgOutput.Messages.FullUpdateMessage.OldRow.get -> Npgsql.Replication.PgOutput.ReplicationTuple! -Npgsql.Replication.PgOutput.Messages.IndexUpdateMessage -Npgsql.Replication.PgOutput.Messages.IndexUpdateMessage.Key.get -> Npgsql.Replication.PgOutput.ReplicationTuple! -Npgsql.Replication.PgOutput.Messages.InsertMessage -Npgsql.Replication.PgOutput.Messages.InsertMessage.NewRow.get -> Npgsql.Replication.PgOutput.ReplicationTuple! -Npgsql.Replication.PgOutput.Messages.InsertMessage.Relation.get -> Npgsql.Replication.PgOutput.Messages.RelationMessage! -Npgsql.Replication.PgOutput.Messages.KeyDeleteMessage -Npgsql.Replication.PgOutput.Messages.KeyDeleteMessage.Key.get -> Npgsql.Replication.PgOutput.ReplicationTuple! -Npgsql.Replication.PgOutput.Messages.LogicalDecodingMessage -Npgsql.Replication.PgOutput.Messages.LogicalDecodingMessage.Data.get -> System.IO.Stream! -Npgsql.Replication.PgOutput.Messages.LogicalDecodingMessage.Flags.get -> byte -Npgsql.Replication.PgOutput.Messages.LogicalDecodingMessage.MessageLsn.get -> NpgsqlTypes.NpgsqlLogSequenceNumber -Npgsql.Replication.PgOutput.Messages.LogicalDecodingMessage.Prefix.get -> string! -Npgsql.Replication.PgOutput.Messages.OriginMessage -Npgsql.Replication.PgOutput.Messages.OriginMessage.OriginCommitLsn.get -> NpgsqlTypes.NpgsqlLogSequenceNumber -Npgsql.Replication.PgOutput.Messages.OriginMessage.OriginName.get -> string! -Npgsql.Replication.PgOutput.Messages.PgOutputReplicationMessage -Npgsql.Replication.PgOutput.Messages.PgOutputReplicationMessage.PgOutputReplicationMessage() -> void -Npgsql.Replication.PgOutput.Messages.PreparedTransactionControlMessage -Npgsql.Replication.PgOutput.Messages.PreparedTransactionControlMessage.TransactionGid.get -> string! -Npgsql.Replication.PgOutput.Messages.PrepareMessage -Npgsql.Replication.PgOutput.Messages.PrepareMessage.Flags.get -> Npgsql.Replication.PgOutput.Messages.PrepareMessage.PrepareFlags -Npgsql.Replication.PgOutput.Messages.PrepareMessage.PrepareFlags -Npgsql.Replication.PgOutput.Messages.PrepareMessage.PrepareFlags.None = 0 -> Npgsql.Replication.PgOutput.Messages.PrepareMessage.PrepareFlags -Npgsql.Replication.PgOutput.Messages.PrepareMessageBase -Npgsql.Replication.PgOutput.Messages.PrepareMessageBase.PrepareEndLsn.get -> NpgsqlTypes.NpgsqlLogSequenceNumber -Npgsql.Replication.PgOutput.Messages.PrepareMessageBase.PrepareLsn.get -> NpgsqlTypes.NpgsqlLogSequenceNumber -Npgsql.Replication.PgOutput.Messages.PrepareMessageBase.TransactionPrepareTimestamp.get -> System.DateTime -Npgsql.Replication.PgOutput.Messages.RelationMessage -Npgsql.Replication.PgOutput.Messages.RelationMessage.Column -Npgsql.Replication.PgOutput.Messages.RelationMessage.Column.Column() -> void -Npgsql.Replication.PgOutput.Messages.RelationMessage.Column.ColumnFlags -Npgsql.Replication.PgOutput.Messages.RelationMessage.Column.ColumnFlags.None = 0 -> Npgsql.Replication.PgOutput.Messages.RelationMessage.Column.ColumnFlags -Npgsql.Replication.PgOutput.Messages.RelationMessage.Column.ColumnFlags.PartOfKey = 1 -> Npgsql.Replication.PgOutput.Messages.RelationMessage.Column.ColumnFlags -Npgsql.Replication.PgOutput.Messages.RelationMessage.Column.ColumnName.get -> string! -Npgsql.Replication.PgOutput.Messages.RelationMessage.Column.DataTypeId.get -> uint -Npgsql.Replication.PgOutput.Messages.RelationMessage.Column.Flags.get -> Npgsql.Replication.PgOutput.Messages.RelationMessage.Column.ColumnFlags -Npgsql.Replication.PgOutput.Messages.RelationMessage.Column.TypeModifier.get -> int -Npgsql.Replication.PgOutput.Messages.RelationMessage.Columns.get -> System.Collections.Generic.IReadOnlyList! -Npgsql.Replication.PgOutput.Messages.RelationMessage.Namespace.get -> string! -Npgsql.Replication.PgOutput.Messages.RelationMessage.RelationId.get -> uint -Npgsql.Replication.PgOutput.Messages.RelationMessage.RelationName.get -> string! -Npgsql.Replication.PgOutput.Messages.RelationMessage.ReplicaIdentity.get -> Npgsql.Replication.PgOutput.Messages.RelationMessage.ReplicaIdentitySetting -Npgsql.Replication.PgOutput.Messages.RelationMessage.ReplicaIdentitySetting -Npgsql.Replication.PgOutput.Messages.RelationMessage.ReplicaIdentitySetting.AllColumns = 102 -> Npgsql.Replication.PgOutput.Messages.RelationMessage.ReplicaIdentitySetting -Npgsql.Replication.PgOutput.Messages.RelationMessage.ReplicaIdentitySetting.Default = 100 -> Npgsql.Replication.PgOutput.Messages.RelationMessage.ReplicaIdentitySetting -Npgsql.Replication.PgOutput.Messages.RelationMessage.ReplicaIdentitySetting.IndexWithIndIsReplIdent = 105 -> Npgsql.Replication.PgOutput.Messages.RelationMessage.ReplicaIdentitySetting -Npgsql.Replication.PgOutput.Messages.RelationMessage.ReplicaIdentitySetting.Nothing = 110 -> Npgsql.Replication.PgOutput.Messages.RelationMessage.ReplicaIdentitySetting -Npgsql.Replication.PgOutput.Messages.RelationMessageColumn -Npgsql.Replication.PgOutput.Messages.RelationMessageColumn.ColumnName.get -> string! -Npgsql.Replication.PgOutput.Messages.RelationMessageColumn.DataTypeId.get -> uint -Npgsql.Replication.PgOutput.Messages.RelationMessageColumn.Flags.get -> byte -Npgsql.Replication.PgOutput.Messages.RelationMessageColumn.RelationMessageColumn() -> void -Npgsql.Replication.PgOutput.Messages.RelationMessageColumn.TypeModifier.get -> int -Npgsql.Replication.PgOutput.Messages.RollbackPreparedMessage -Npgsql.Replication.PgOutput.Messages.RollbackPreparedMessage.Flags.get -> Npgsql.Replication.PgOutput.Messages.RollbackPreparedMessage.RollbackPreparedFlags -Npgsql.Replication.PgOutput.Messages.RollbackPreparedMessage.PreparedTransactionEndLsn.get -> NpgsqlTypes.NpgsqlLogSequenceNumber -Npgsql.Replication.PgOutput.Messages.RollbackPreparedMessage.RollbackPreparedEndLsn.get -> NpgsqlTypes.NpgsqlLogSequenceNumber -Npgsql.Replication.PgOutput.Messages.RollbackPreparedMessage.RollbackPreparedFlags -Npgsql.Replication.PgOutput.Messages.RollbackPreparedMessage.RollbackPreparedFlags.None = 0 -> Npgsql.Replication.PgOutput.Messages.RollbackPreparedMessage.RollbackPreparedFlags -Npgsql.Replication.PgOutput.Messages.RollbackPreparedMessage.TransactionPrepareTimestamp.get -> System.DateTime -Npgsql.Replication.PgOutput.Messages.RollbackPreparedMessage.TransactionRollbackTimestamp.get -> System.DateTime -Npgsql.Replication.PgOutput.Messages.StreamAbortMessage -Npgsql.Replication.PgOutput.Messages.StreamAbortMessage.SubtransactionXid.get -> uint -Npgsql.Replication.PgOutput.Messages.StreamCommitMessage -Npgsql.Replication.PgOutput.Messages.StreamCommitMessage.CommitLsn.get -> NpgsqlTypes.NpgsqlLogSequenceNumber -Npgsql.Replication.PgOutput.Messages.StreamCommitMessage.Flags.get -> byte -Npgsql.Replication.PgOutput.Messages.StreamCommitMessage.TransactionCommitTimestamp.get -> System.DateTime -Npgsql.Replication.PgOutput.Messages.StreamCommitMessage.TransactionEndLsn.get -> NpgsqlTypes.NpgsqlLogSequenceNumber -Npgsql.Replication.PgOutput.Messages.StreamPrepareMessage -Npgsql.Replication.PgOutput.Messages.StreamPrepareMessage.Flags.get -> Npgsql.Replication.PgOutput.Messages.StreamPrepareMessage.StreamPrepareFlags -Npgsql.Replication.PgOutput.Messages.StreamPrepareMessage.StreamPrepareFlags -Npgsql.Replication.PgOutput.Messages.StreamPrepareMessage.StreamPrepareFlags.None = 0 -> Npgsql.Replication.PgOutput.Messages.StreamPrepareMessage.StreamPrepareFlags -Npgsql.Replication.PgOutput.Messages.StreamStartMessage -Npgsql.Replication.PgOutput.Messages.StreamStartMessage.StreamSegmentIndicator.get -> byte -Npgsql.Replication.PgOutput.Messages.StreamStopMessage -Npgsql.Replication.PgOutput.Messages.TransactionalMessage -Npgsql.Replication.PgOutput.Messages.TransactionalMessage.TransactionalMessage() -> void -Npgsql.Replication.PgOutput.Messages.TransactionalMessage.TransactionXid.get -> uint? -Npgsql.Replication.PgOutput.Messages.TransactionControlMessage -Npgsql.Replication.PgOutput.Messages.TransactionControlMessage.TransactionControlMessage() -> void -Npgsql.Replication.PgOutput.Messages.TransactionControlMessage.TransactionXid.get -> uint -Npgsql.Replication.PgOutput.Messages.TruncateMessage -Npgsql.Replication.PgOutput.Messages.TruncateMessage.Options.get -> Npgsql.Replication.PgOutput.Messages.TruncateMessage.TruncateOptions -Npgsql.Replication.PgOutput.Messages.TruncateMessage.Relations.get -> System.Collections.Generic.IReadOnlyList! -Npgsql.Replication.PgOutput.Messages.TruncateMessage.TruncateOptions -Npgsql.Replication.PgOutput.Messages.TruncateMessage.TruncateOptions.Cascade = 1 -> Npgsql.Replication.PgOutput.Messages.TruncateMessage.TruncateOptions -Npgsql.Replication.PgOutput.Messages.TruncateMessage.TruncateOptions.None = 0 -> Npgsql.Replication.PgOutput.Messages.TruncateMessage.TruncateOptions -Npgsql.Replication.PgOutput.Messages.TruncateMessage.TruncateOptions.RestartIdentity = 2 -> Npgsql.Replication.PgOutput.Messages.TruncateMessage.TruncateOptions -Npgsql.Replication.PgOutput.Messages.TypeMessage -Npgsql.Replication.PgOutput.Messages.TypeMessage.Name.get -> string! -Npgsql.Replication.PgOutput.Messages.TypeMessage.Namespace.get -> string! -Npgsql.Replication.PgOutput.Messages.TypeMessage.TypeId.get -> uint -Npgsql.Replication.PgOutput.Messages.UpdateMessage -Npgsql.Replication.PgOutput.Messages.UpdateMessage.Relation.get -> Npgsql.Replication.PgOutput.Messages.RelationMessage! -Npgsql.Replication.PgOutput.PgOutputReplicationOptions -Npgsql.Replication.PgOutput.PgOutputReplicationOptions.Binary.get -> bool? -Npgsql.Replication.PgOutput.PgOutputReplicationOptions.Equals(Npgsql.Replication.PgOutput.PgOutputReplicationOptions? other) -> bool -Npgsql.Replication.PgOutput.PgOutputReplicationOptions.Messages.get -> bool? -Npgsql.Replication.PgOutput.PgOutputReplicationOptions.PgOutputReplicationOptions(string! publicationName, ulong protocolVersion, bool? binary = null, bool? streaming = null, bool? messages = null, bool? twoPhase = null) -> void -Npgsql.Replication.PgOutput.PgOutputReplicationOptions.PgOutputReplicationOptions(System.Collections.Generic.IEnumerable! publicationNames, ulong protocolVersion, bool? binary = null, bool? streaming = null, bool? messages = null, bool? twoPhase = null) -> void -Npgsql.Replication.PgOutput.PgOutputReplicationOptions.ProtocolVersion.get -> ulong -Npgsql.Replication.PgOutput.PgOutputReplicationOptions.PublicationNames.get -> System.Collections.Generic.List! -Npgsql.Replication.PgOutput.PgOutputReplicationOptions.Streaming.get -> bool? -Npgsql.Replication.PgOutput.PgOutputReplicationOptions.TwoPhase.get -> bool? -Npgsql.Replication.PgOutput.PgOutputReplicationSlot -Npgsql.Replication.PgOutput.PgOutputReplicationSlot.PgOutputReplicationSlot(Npgsql.Replication.PgOutput.PgOutputReplicationSlot! slot) -> void -Npgsql.Replication.PgOutput.PgOutputReplicationSlot.PgOutputReplicationSlot(Npgsql.Replication.ReplicationSlotOptions options) -> void -Npgsql.Replication.PgOutput.PgOutputReplicationSlot.PgOutputReplicationSlot(string! slotName) -> void -Npgsql.Replication.PgOutput.ReplicationTuple -Npgsql.Replication.PgOutput.ReplicationTuple.NumColumns.get -> ushort -Npgsql.Replication.PgOutput.ReplicationValue -Npgsql.Replication.PgOutput.ReplicationValue.Get(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask -Npgsql.Replication.PgOutput.ReplicationValue.Get(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask -Npgsql.Replication.PgOutput.ReplicationValue.GetDataTypeName() -> string! -Npgsql.Replication.PgOutput.ReplicationValue.GetFieldType() -> System.Type! -Npgsql.Replication.PgOutput.ReplicationValue.GetPostgresType() -> Npgsql.PostgresTypes.PostgresType! -Npgsql.Replication.PgOutput.ReplicationValue.GetStream() -> System.IO.Stream! -Npgsql.Replication.PgOutput.ReplicationValue.GetTextReader() -> System.IO.TextReader! -Npgsql.Replication.PgOutput.ReplicationValue.IsDBNull.get -> bool -Npgsql.Replication.PgOutput.ReplicationValue.IsUnchangedToastedValue.get -> bool -Npgsql.Replication.PgOutput.ReplicationValue.Kind.get -> Npgsql.Replication.PgOutput.TupleDataKind -Npgsql.Replication.PgOutput.ReplicationValue.Length.get -> int -Npgsql.Replication.PgOutput.TupleDataKind -Npgsql.Replication.PgOutput.TupleDataKind.BinaryValue = 98 -> Npgsql.Replication.PgOutput.TupleDataKind -Npgsql.Replication.PgOutput.TupleDataKind.Null = 110 -> Npgsql.Replication.PgOutput.TupleDataKind -Npgsql.Replication.PgOutput.TupleDataKind.TextValue = 116 -> Npgsql.Replication.PgOutput.TupleDataKind -Npgsql.Replication.PgOutput.TupleDataKind.UnchangedToastedValue = 117 -> Npgsql.Replication.PgOutput.TupleDataKind -Npgsql.Replication.PgOutputConnectionExtensions -Npgsql.Replication.PhysicalReplicationConnection -Npgsql.Replication.PhysicalReplicationConnection.CreateReplicationSlot(string! slotName, bool isTemporary = false, bool reserveWal = false, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.Replication.PhysicalReplicationConnection.PhysicalReplicationConnection() -> void -Npgsql.Replication.PhysicalReplicationConnection.PhysicalReplicationConnection(string? connectionString) -> void -Npgsql.Replication.PhysicalReplicationConnection.ReadReplicationSlot(string! slotName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.Replication.PhysicalReplicationConnection.StartReplication(Npgsql.Replication.PhysicalReplicationSlot! slot, System.Threading.CancellationToken cancellationToken) -> System.Collections.Generic.IAsyncEnumerable! -Npgsql.Replication.PhysicalReplicationConnection.StartReplication(Npgsql.Replication.PhysicalReplicationSlot? slot, NpgsqlTypes.NpgsqlLogSequenceNumber walLocation, System.Threading.CancellationToken cancellationToken, uint timeline = 0) -> System.Collections.Generic.IAsyncEnumerable! -Npgsql.Replication.PhysicalReplicationConnection.StartReplication(NpgsqlTypes.NpgsqlLogSequenceNumber walLocation, System.Threading.CancellationToken cancellationToken, uint timeline = 0) -> System.Collections.Generic.IAsyncEnumerable! -Npgsql.Replication.PhysicalReplicationSlot -Npgsql.Replication.PhysicalReplicationSlot.PhysicalReplicationSlot(string! slotName, NpgsqlTypes.NpgsqlLogSequenceNumber? restartLsn = null, uint? restartTimeline = null) -> void -Npgsql.Replication.PhysicalReplicationSlot.RestartLsn.get -> NpgsqlTypes.NpgsqlLogSequenceNumber? -Npgsql.Replication.PhysicalReplicationSlot.RestartTimeline.get -> uint? -Npgsql.Replication.ReplicationConnection -Npgsql.Replication.ReplicationConnection.CommandTimeout.get -> System.TimeSpan -Npgsql.Replication.ReplicationConnection.CommandTimeout.set -> void -Npgsql.Replication.ReplicationConnection.ConnectionString.get -> string! -Npgsql.Replication.ReplicationConnection.ConnectionString.set -> void -Npgsql.Replication.ReplicationConnection.DisposeAsync() -> System.Threading.Tasks.ValueTask -Npgsql.Replication.ReplicationConnection.DropReplicationSlot(string! slotName, bool wait = false, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.Replication.ReplicationConnection.Encoding.get -> System.Text.Encoding! -Npgsql.Replication.ReplicationConnection.IdentifySystem(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.Replication.ReplicationConnection.LastAppliedLsn.get -> NpgsqlTypes.NpgsqlLogSequenceNumber -Npgsql.Replication.ReplicationConnection.LastAppliedLsn.set -> void -Npgsql.Replication.ReplicationConnection.LastFlushedLsn.get -> NpgsqlTypes.NpgsqlLogSequenceNumber -Npgsql.Replication.ReplicationConnection.LastFlushedLsn.set -> void -Npgsql.Replication.ReplicationConnection.LastReceivedLsn.get -> NpgsqlTypes.NpgsqlLogSequenceNumber -Npgsql.Replication.ReplicationConnection.Open(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.Replication.ReplicationConnection.PostgreSqlVersion.get -> System.Version! -Npgsql.Replication.ReplicationConnection.ProcessID.get -> int -Npgsql.Replication.ReplicationConnection.SendStatusUpdate(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.Replication.ReplicationConnection.ServerVersion.get -> string! -Npgsql.Replication.ReplicationConnection.SetReplicationStatus(NpgsqlTypes.NpgsqlLogSequenceNumber lastAppliedAndFlushedLsn) -> void -Npgsql.Replication.ReplicationConnection.Show(string! parameterName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.Replication.ReplicationConnection.TimelineHistory(uint tli, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.Replication.ReplicationConnection.WalReceiverStatusInterval.get -> System.TimeSpan -Npgsql.Replication.ReplicationConnection.WalReceiverStatusInterval.set -> void -Npgsql.Replication.ReplicationConnection.WalReceiverTimeout.get -> System.TimeSpan -Npgsql.Replication.ReplicationConnection.WalReceiverTimeout.set -> void -Npgsql.Replication.ReplicationMessage -Npgsql.Replication.ReplicationMessage.ReplicationMessage() -> void -Npgsql.Replication.ReplicationMessage.ServerClock.get -> System.DateTime -Npgsql.Replication.ReplicationMessage.WalEnd.get -> NpgsqlTypes.NpgsqlLogSequenceNumber -Npgsql.Replication.ReplicationMessage.WalStart.get -> NpgsqlTypes.NpgsqlLogSequenceNumber -Npgsql.Replication.ReplicationSlot -Npgsql.Replication.ReplicationSlot.Name.get -> string! -Npgsql.Replication.ReplicationSlotOptions -Npgsql.Replication.ReplicationSlotOptions.ConsistentPoint.get -> NpgsqlTypes.NpgsqlLogSequenceNumber -Npgsql.Replication.ReplicationSlotOptions.ReplicationSlotOptions() -> void -Npgsql.Replication.ReplicationSlotOptions.ReplicationSlotOptions(string! slotName, NpgsqlTypes.NpgsqlLogSequenceNumber consistentPoint) -> void -Npgsql.Replication.ReplicationSlotOptions.ReplicationSlotOptions(string! slotName, string? consistentPoint = null) -> void -Npgsql.Replication.ReplicationSlotOptions.SlotName.get -> string! -Npgsql.Replication.ReplicationSystemIdentification -Npgsql.Replication.ReplicationSystemIdentification.DbName.get -> string? -Npgsql.Replication.ReplicationSystemIdentification.SystemId.get -> string! -Npgsql.Replication.ReplicationSystemIdentification.Timeline.get -> uint -Npgsql.Replication.ReplicationSystemIdentification.XLogPos.get -> NpgsqlTypes.NpgsqlLogSequenceNumber -Npgsql.Replication.TestDecoding.TestDecodingData -Npgsql.Replication.TestDecoding.TestDecodingData.Clone() -> Npgsql.Replication.TestDecoding.TestDecodingData! -Npgsql.Replication.TestDecoding.TestDecodingData.Data.get -> string! -Npgsql.Replication.TestDecoding.TestDecodingData.TestDecodingData() -> void -Npgsql.Replication.TestDecoding.TestDecodingOptions -Npgsql.Replication.TestDecoding.TestDecodingOptions.Equals(Npgsql.Replication.TestDecoding.TestDecodingOptions? other) -> bool -Npgsql.Replication.TestDecoding.TestDecodingOptions.ForceBinary.get -> bool? -Npgsql.Replication.TestDecoding.TestDecodingOptions.IncludeRewrites.get -> bool? -Npgsql.Replication.TestDecoding.TestDecodingOptions.IncludeTimestamp.get -> bool? -Npgsql.Replication.TestDecoding.TestDecodingOptions.IncludeXids.get -> bool? -Npgsql.Replication.TestDecoding.TestDecodingOptions.OnlyLocal.get -> bool? -Npgsql.Replication.TestDecoding.TestDecodingOptions.SkipEmptyXacts.get -> bool? -Npgsql.Replication.TestDecoding.TestDecodingOptions.StreamChanges.get -> bool? -Npgsql.Replication.TestDecoding.TestDecodingOptions.TestDecodingOptions(bool? includeXids = null, bool? includeTimestamp = null, bool? forceBinary = null, bool? skipEmptyXacts = null, bool? onlyLocal = null, bool? includeRewrites = null, bool? streamChanges = null) -> void -Npgsql.Replication.TestDecoding.TestDecodingReplicationSlot -Npgsql.Replication.TestDecoding.TestDecodingReplicationSlot.TestDecodingReplicationSlot(Npgsql.Replication.ReplicationSlotOptions options) -> void -Npgsql.Replication.TestDecoding.TestDecodingReplicationSlot.TestDecodingReplicationSlot(string! slotName) -> void -Npgsql.Replication.TestDecodingConnectionExtensions -Npgsql.Replication.TimelineHistoryFile -Npgsql.Replication.TimelineHistoryFile.Content.get -> byte[]! -Npgsql.Replication.TimelineHistoryFile.FileName.get -> string! -Npgsql.Replication.TimelineHistoryFile.TimelineHistoryFile() -> void -Npgsql.Replication.XLogDataMessage -Npgsql.Replication.XLogDataMessage.Data.get -> System.IO.Stream! -Npgsql.Replication.XLogDataMessage.XLogDataMessage() -> void -Npgsql.Schema.NpgsqlDbColumn -Npgsql.Schema.NpgsqlDbColumn.AllowDBNull.get -> bool? -Npgsql.Schema.NpgsqlDbColumn.AllowDBNull.set -> void -Npgsql.Schema.NpgsqlDbColumn.BaseCatalogName.get -> string! -Npgsql.Schema.NpgsqlDbColumn.BaseCatalogName.set -> void -Npgsql.Schema.NpgsqlDbColumn.BaseColumnName.get -> string? -Npgsql.Schema.NpgsqlDbColumn.BaseColumnName.set -> void -Npgsql.Schema.NpgsqlDbColumn.BaseSchemaName.get -> string? -Npgsql.Schema.NpgsqlDbColumn.BaseSchemaName.set -> void -Npgsql.Schema.NpgsqlDbColumn.BaseServerName.get -> string! -Npgsql.Schema.NpgsqlDbColumn.BaseServerName.set -> void -Npgsql.Schema.NpgsqlDbColumn.BaseTableName.get -> string? -Npgsql.Schema.NpgsqlDbColumn.BaseTableName.set -> void -Npgsql.Schema.NpgsqlDbColumn.ColumnAttributeNumber.get -> short? -Npgsql.Schema.NpgsqlDbColumn.ColumnName.get -> string! -Npgsql.Schema.NpgsqlDbColumn.ColumnName.set -> void -Npgsql.Schema.NpgsqlDbColumn.ColumnOrdinal.get -> int? -Npgsql.Schema.NpgsqlDbColumn.ColumnOrdinal.set -> void -Npgsql.Schema.NpgsqlDbColumn.ColumnSize.get -> int? -Npgsql.Schema.NpgsqlDbColumn.ColumnSize.set -> void -Npgsql.Schema.NpgsqlDbColumn.DataType.get -> System.Type? -Npgsql.Schema.NpgsqlDbColumn.DataType.set -> void -Npgsql.Schema.NpgsqlDbColumn.DataTypeName.get -> string! -Npgsql.Schema.NpgsqlDbColumn.DataTypeName.set -> void -Npgsql.Schema.NpgsqlDbColumn.DefaultValue.get -> string? -Npgsql.Schema.NpgsqlDbColumn.IsAliased.get -> bool? -Npgsql.Schema.NpgsqlDbColumn.IsAliased.set -> void -Npgsql.Schema.NpgsqlDbColumn.IsAutoIncrement.get -> bool? -Npgsql.Schema.NpgsqlDbColumn.IsAutoIncrement.set -> void -Npgsql.Schema.NpgsqlDbColumn.IsIdentity.get -> bool? -Npgsql.Schema.NpgsqlDbColumn.IsIdentity.set -> void -Npgsql.Schema.NpgsqlDbColumn.IsKey.get -> bool? -Npgsql.Schema.NpgsqlDbColumn.IsKey.set -> void -Npgsql.Schema.NpgsqlDbColumn.IsLong.get -> bool? -Npgsql.Schema.NpgsqlDbColumn.IsLong.set -> void -Npgsql.Schema.NpgsqlDbColumn.IsReadOnly.get -> bool? -Npgsql.Schema.NpgsqlDbColumn.IsReadOnly.set -> void -Npgsql.Schema.NpgsqlDbColumn.IsUnique.get -> bool? -Npgsql.Schema.NpgsqlDbColumn.IsUnique.set -> void -Npgsql.Schema.NpgsqlDbColumn.NpgsqlDbColumn() -> void -Npgsql.Schema.NpgsqlDbColumn.NpgsqlDbType.get -> NpgsqlTypes.NpgsqlDbType? -Npgsql.Schema.NpgsqlDbColumn.NumericPrecision.get -> int? -Npgsql.Schema.NpgsqlDbColumn.NumericPrecision.set -> void -Npgsql.Schema.NpgsqlDbColumn.NumericScale.get -> int? -Npgsql.Schema.NpgsqlDbColumn.NumericScale.set -> void -Npgsql.Schema.NpgsqlDbColumn.PostgresType.get -> Npgsql.PostgresTypes.PostgresType! -Npgsql.Schema.NpgsqlDbColumn.TableOID.get -> uint -Npgsql.Schema.NpgsqlDbColumn.TypeOID.get -> uint -Npgsql.Schema.NpgsqlDbColumn.UdtAssemblyQualifiedName.get -> string? -Npgsql.Schema.NpgsqlDbColumn.UdtAssemblyQualifiedName.set -> void -Npgsql.ServerCompatibilityMode -Npgsql.ServerCompatibilityMode.None = 0 -> Npgsql.ServerCompatibilityMode -Npgsql.ServerCompatibilityMode.NoTypeLoading = 2 -> Npgsql.ServerCompatibilityMode -Npgsql.ServerCompatibilityMode.Redshift = 1 -> Npgsql.ServerCompatibilityMode -Npgsql.SslMode -Npgsql.SslMode.Allow = 1 -> Npgsql.SslMode -Npgsql.SslMode.Disable = 0 -> Npgsql.SslMode -Npgsql.SslMode.Prefer = 2 -> Npgsql.SslMode -Npgsql.SslMode.Require = 3 -> Npgsql.SslMode -Npgsql.SslMode.VerifyCA = 4 -> Npgsql.SslMode -Npgsql.SslMode.VerifyFull = 5 -> Npgsql.SslMode -Npgsql.StatementType -Npgsql.StatementType.Call = 11 -> Npgsql.StatementType -Npgsql.StatementType.Copy = 8 -> Npgsql.StatementType -Npgsql.StatementType.CreateTableAs = 5 -> Npgsql.StatementType -Npgsql.StatementType.Delete = 3 -> Npgsql.StatementType -Npgsql.StatementType.Fetch = 7 -> Npgsql.StatementType -Npgsql.StatementType.Insert = 2 -> Npgsql.StatementType -Npgsql.StatementType.Merge = 10 -> Npgsql.StatementType -Npgsql.StatementType.Move = 6 -> Npgsql.StatementType -Npgsql.StatementType.Other = 9 -> Npgsql.StatementType -Npgsql.StatementType.Select = 1 -> Npgsql.StatementType -Npgsql.StatementType.Unknown = 0 -> Npgsql.StatementType -Npgsql.StatementType.Update = 4 -> Npgsql.StatementType -Npgsql.TypeMapping.INpgsqlTypeMapper -Npgsql.TypeMapping.INpgsqlTypeMapper.AddTypeInfoResolverFactory(Npgsql.Internal.PgTypeInfoResolverFactory! factory) -> void -Npgsql.TypeMapping.INpgsqlTypeMapper.ConfigureJsonOptions(System.Text.Json.JsonSerializerOptions! serializerOptions) -> Npgsql.TypeMapping.INpgsqlTypeMapper! -Npgsql.TypeMapping.INpgsqlTypeMapper.DefaultNameTranslator.get -> Npgsql.INpgsqlNameTranslator! -Npgsql.TypeMapping.INpgsqlTypeMapper.DefaultNameTranslator.set -> void -Npgsql.TypeMapping.INpgsqlTypeMapper.EnableDynamicJson(System.Type![]? jsonbClrTypes = null, System.Type![]? jsonClrTypes = null) -> Npgsql.TypeMapping.INpgsqlTypeMapper! -Npgsql.TypeMapping.INpgsqlTypeMapper.EnableRecordsAsTuples() -> Npgsql.TypeMapping.INpgsqlTypeMapper! -Npgsql.TypeMapping.INpgsqlTypeMapper.EnableUnmappedTypes() -> Npgsql.TypeMapping.INpgsqlTypeMapper! -Npgsql.TypeMapping.INpgsqlTypeMapper.MapComposite(System.Type! clrType, string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> Npgsql.TypeMapping.INpgsqlTypeMapper! -Npgsql.TypeMapping.INpgsqlTypeMapper.MapComposite(string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> Npgsql.TypeMapping.INpgsqlTypeMapper! -Npgsql.TypeMapping.INpgsqlTypeMapper.MapEnum(System.Type! clrType, string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> Npgsql.TypeMapping.INpgsqlTypeMapper! -Npgsql.TypeMapping.INpgsqlTypeMapper.MapEnum(string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> Npgsql.TypeMapping.INpgsqlTypeMapper! -Npgsql.TypeMapping.INpgsqlTypeMapper.Reset() -> void -Npgsql.TypeMapping.INpgsqlTypeMapper.UnmapComposite(System.Type! clrType, string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> bool -Npgsql.TypeMapping.INpgsqlTypeMapper.UnmapComposite(string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> bool -Npgsql.TypeMapping.INpgsqlTypeMapper.UnmapEnum(System.Type! clrType, string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> bool -Npgsql.TypeMapping.INpgsqlTypeMapper.UnmapEnum(string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> bool -Npgsql.TypeMapping.UserTypeMapping -Npgsql.TypeMapping.UserTypeMapping.ClrType.get -> System.Type! -Npgsql.TypeMapping.UserTypeMapping.PgTypeName.get -> string! -Npgsql.Util.NpgsqlTimeout -Npgsql.Util.NpgsqlTimeout.NpgsqlTimeout() -> void -NpgsqlTypes.NpgsqlBox -NpgsqlTypes.NpgsqlBox.Bottom.get -> double -NpgsqlTypes.NpgsqlBox.Equals(NpgsqlTypes.NpgsqlBox other) -> bool -NpgsqlTypes.NpgsqlBox.Height.get -> double -NpgsqlTypes.NpgsqlBox.IsEmpty.get -> bool -NpgsqlTypes.NpgsqlBox.Left.get -> double -NpgsqlTypes.NpgsqlBox.LowerLeft.get -> NpgsqlTypes.NpgsqlPoint -NpgsqlTypes.NpgsqlBox.LowerLeft.set -> void -NpgsqlTypes.NpgsqlBox.NpgsqlBox() -> void -NpgsqlTypes.NpgsqlBox.NpgsqlBox(double top, double right, double bottom, double left) -> void -NpgsqlTypes.NpgsqlBox.NpgsqlBox(NpgsqlTypes.NpgsqlPoint upperRight, NpgsqlTypes.NpgsqlPoint lowerLeft) -> void -NpgsqlTypes.NpgsqlBox.Right.get -> double -NpgsqlTypes.NpgsqlBox.Top.get -> double -NpgsqlTypes.NpgsqlBox.UpperRight.get -> NpgsqlTypes.NpgsqlPoint -NpgsqlTypes.NpgsqlBox.UpperRight.set -> void -NpgsqlTypes.NpgsqlBox.Width.get -> double -NpgsqlTypes.NpgsqlCidr -NpgsqlTypes.NpgsqlCidr.Address.get -> System.Net.IPAddress! -NpgsqlTypes.NpgsqlCidr.Deconstruct(out System.Net.IPAddress! address, out byte netmask) -> void -NpgsqlTypes.NpgsqlCidr.Netmask.get -> byte -NpgsqlTypes.NpgsqlCidr.NpgsqlCidr() -> void -NpgsqlTypes.NpgsqlCidr.NpgsqlCidr(string! addr) -> void -NpgsqlTypes.NpgsqlCidr.NpgsqlCidr(System.Net.IPAddress! address, byte netmask) -> void -NpgsqlTypes.NpgsqlCircle -NpgsqlTypes.NpgsqlCircle.Center.get -> NpgsqlTypes.NpgsqlPoint -NpgsqlTypes.NpgsqlCircle.Center.set -> void -NpgsqlTypes.NpgsqlCircle.Equals(NpgsqlTypes.NpgsqlCircle other) -> bool -NpgsqlTypes.NpgsqlCircle.NpgsqlCircle() -> void -NpgsqlTypes.NpgsqlCircle.NpgsqlCircle(double x, double y, double radius) -> void -NpgsqlTypes.NpgsqlCircle.NpgsqlCircle(NpgsqlTypes.NpgsqlPoint center, double radius) -> void -NpgsqlTypes.NpgsqlCircle.Radius.get -> double -NpgsqlTypes.NpgsqlCircle.Radius.set -> void -NpgsqlTypes.NpgsqlCircle.X.get -> double -NpgsqlTypes.NpgsqlCircle.X.set -> void -NpgsqlTypes.NpgsqlCircle.Y.get -> double -NpgsqlTypes.NpgsqlCircle.Y.set -> void -NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Abstime = 33 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Array = -2147483648 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Bigint = 1 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.BigIntMultirange = 536870913 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.BigIntRange = 1073741825 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Bit = 25 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Boolean = 2 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Box = 3 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Bytea = 4 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Char = 6 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Cid = 43 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Cidr = 44 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Circle = 5 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Citext = 51 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Date = 7 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.DateMultirange = 536870919 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.DateRange = 1073741831 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Double = 8 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Geography = 55 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Geometry = 50 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Hstore = 37 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Inet = 24 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Int2Vector = 52 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Integer = 9 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.IntegerMultirange = 536870921 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.IntegerRange = 1073741833 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.InternalChar = 38 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Interval = 30 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Json = 35 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Jsonb = 36 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.JsonPath = 57 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Line = 10 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.LQuery = 61 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.LSeg = 11 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.LTree = 60 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.LTxtQuery = 62 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.MacAddr = 34 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.MacAddr8 = 54 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Money = 12 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Multirange = 536870912 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Name = 32 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Numeric = 13 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.NumericMultirange = 536870925 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.NumericRange = 1073741837 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Oid = 41 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Oidvector = 29 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Path = 14 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.PgLsn = 59 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Point = 15 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Polygon = 16 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Range = 1073741824 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Real = 17 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Refcursor = 23 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Regconfig = 56 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Regtype = 49 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Smallint = 18 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Text = 19 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Tid = 53 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Time = 20 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Timestamp = 21 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.TimestampMultirange = 536870933 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.TimestampRange = 1073741845 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.TimestampTz = 26 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.TimestampTzMultirange = 536870938 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.TimestampTzRange = 1073741850 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.TimeTz = 31 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.TsQuery = 46 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.TsVector = 45 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Unknown = 40 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Uuid = 27 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Varbit = 39 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Varchar = 22 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Xid = 42 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Xid8 = 64 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlDbType.Xml = 28 -> NpgsqlTypes.NpgsqlDbType -NpgsqlTypes.NpgsqlInet -NpgsqlTypes.NpgsqlInet.Address.get -> System.Net.IPAddress! -NpgsqlTypes.NpgsqlInet.Deconstruct(out System.Net.IPAddress! address, out byte netmask) -> void -NpgsqlTypes.NpgsqlInet.Netmask.get -> byte -NpgsqlTypes.NpgsqlInet.NpgsqlInet() -> void -NpgsqlTypes.NpgsqlInet.NpgsqlInet(string! addr) -> void -NpgsqlTypes.NpgsqlInet.NpgsqlInet(System.Net.IPAddress! address) -> void -NpgsqlTypes.NpgsqlInet.NpgsqlInet(System.Net.IPAddress! address, byte netmask) -> void -NpgsqlTypes.NpgsqlInterval -NpgsqlTypes.NpgsqlInterval.Days.get -> int -NpgsqlTypes.NpgsqlInterval.Equals(NpgsqlTypes.NpgsqlInterval other) -> bool -NpgsqlTypes.NpgsqlInterval.Months.get -> int -NpgsqlTypes.NpgsqlInterval.NpgsqlInterval() -> void -NpgsqlTypes.NpgsqlInterval.NpgsqlInterval(int months, int days, long time) -> void -NpgsqlTypes.NpgsqlInterval.Time.get -> long -NpgsqlTypes.NpgsqlLine -NpgsqlTypes.NpgsqlLine.A.get -> double -NpgsqlTypes.NpgsqlLine.A.set -> void -NpgsqlTypes.NpgsqlLine.B.get -> double -NpgsqlTypes.NpgsqlLine.B.set -> void -NpgsqlTypes.NpgsqlLine.C.get -> double -NpgsqlTypes.NpgsqlLine.C.set -> void -NpgsqlTypes.NpgsqlLine.Equals(NpgsqlTypes.NpgsqlLine other) -> bool -NpgsqlTypes.NpgsqlLine.NpgsqlLine() -> void -NpgsqlTypes.NpgsqlLine.NpgsqlLine(double a, double b, double c) -> void -NpgsqlTypes.NpgsqlLogSequenceNumber -NpgsqlTypes.NpgsqlLogSequenceNumber.CompareTo(NpgsqlTypes.NpgsqlLogSequenceNumber value) -> int -NpgsqlTypes.NpgsqlLogSequenceNumber.Equals(NpgsqlTypes.NpgsqlLogSequenceNumber other) -> bool -NpgsqlTypes.NpgsqlLogSequenceNumber.NpgsqlLogSequenceNumber() -> void -NpgsqlTypes.NpgsqlLogSequenceNumber.NpgsqlLogSequenceNumber(ulong value) -> void -NpgsqlTypes.NpgsqlLSeg -NpgsqlTypes.NpgsqlLSeg.End.get -> NpgsqlTypes.NpgsqlPoint -NpgsqlTypes.NpgsqlLSeg.End.set -> void -NpgsqlTypes.NpgsqlLSeg.Equals(NpgsqlTypes.NpgsqlLSeg other) -> bool -NpgsqlTypes.NpgsqlLSeg.NpgsqlLSeg() -> void -NpgsqlTypes.NpgsqlLSeg.NpgsqlLSeg(double startx, double starty, double endx, double endy) -> void -NpgsqlTypes.NpgsqlLSeg.NpgsqlLSeg(NpgsqlTypes.NpgsqlPoint start, NpgsqlTypes.NpgsqlPoint end) -> void -NpgsqlTypes.NpgsqlLSeg.Start.get -> NpgsqlTypes.NpgsqlPoint -NpgsqlTypes.NpgsqlLSeg.Start.set -> void -NpgsqlTypes.NpgsqlPath -NpgsqlTypes.NpgsqlPath.Add(NpgsqlTypes.NpgsqlPoint item) -> void -NpgsqlTypes.NpgsqlPath.Capacity.get -> int -NpgsqlTypes.NpgsqlPath.Clear() -> void -NpgsqlTypes.NpgsqlPath.Contains(NpgsqlTypes.NpgsqlPoint item) -> bool -NpgsqlTypes.NpgsqlPath.CopyTo(NpgsqlTypes.NpgsqlPoint[]! array, int arrayIndex) -> void -NpgsqlTypes.NpgsqlPath.Count.get -> int -NpgsqlTypes.NpgsqlPath.Equals(NpgsqlTypes.NpgsqlPath other) -> bool -NpgsqlTypes.NpgsqlPath.GetEnumerator() -> System.Collections.Generic.IEnumerator! -NpgsqlTypes.NpgsqlPath.IndexOf(NpgsqlTypes.NpgsqlPoint item) -> int -NpgsqlTypes.NpgsqlPath.Insert(int index, NpgsqlTypes.NpgsqlPoint item) -> void -NpgsqlTypes.NpgsqlPath.IsReadOnly.get -> bool -NpgsqlTypes.NpgsqlPath.NpgsqlPath() -> void -NpgsqlTypes.NpgsqlPath.NpgsqlPath(bool open) -> void -NpgsqlTypes.NpgsqlPath.NpgsqlPath(int capacity) -> void -NpgsqlTypes.NpgsqlPath.NpgsqlPath(int capacity, bool open) -> void -NpgsqlTypes.NpgsqlPath.NpgsqlPath(params NpgsqlTypes.NpgsqlPoint[]! points) -> void -NpgsqlTypes.NpgsqlPath.NpgsqlPath(System.Collections.Generic.IEnumerable! points) -> void -NpgsqlTypes.NpgsqlPath.NpgsqlPath(System.Collections.Generic.IEnumerable! points, bool open) -> void -NpgsqlTypes.NpgsqlPath.Open.get -> bool -NpgsqlTypes.NpgsqlPath.Open.set -> void -NpgsqlTypes.NpgsqlPath.Remove(NpgsqlTypes.NpgsqlPoint item) -> bool -NpgsqlTypes.NpgsqlPath.RemoveAt(int index) -> void -NpgsqlTypes.NpgsqlPath.this[int index].get -> NpgsqlTypes.NpgsqlPoint -NpgsqlTypes.NpgsqlPath.this[int index].set -> void -NpgsqlTypes.NpgsqlPoint -NpgsqlTypes.NpgsqlPoint.Equals(NpgsqlTypes.NpgsqlPoint other) -> bool -NpgsqlTypes.NpgsqlPoint.NpgsqlPoint() -> void -NpgsqlTypes.NpgsqlPoint.NpgsqlPoint(double x, double y) -> void -NpgsqlTypes.NpgsqlPoint.X.get -> double -NpgsqlTypes.NpgsqlPoint.X.set -> void -NpgsqlTypes.NpgsqlPoint.Y.get -> double -NpgsqlTypes.NpgsqlPoint.Y.set -> void -NpgsqlTypes.NpgsqlPolygon -NpgsqlTypes.NpgsqlPolygon.Add(NpgsqlTypes.NpgsqlPoint item) -> void -NpgsqlTypes.NpgsqlPolygon.Capacity.get -> int -NpgsqlTypes.NpgsqlPolygon.Clear() -> void -NpgsqlTypes.NpgsqlPolygon.Contains(NpgsqlTypes.NpgsqlPoint item) -> bool -NpgsqlTypes.NpgsqlPolygon.CopyTo(NpgsqlTypes.NpgsqlPoint[]! array, int arrayIndex) -> void -NpgsqlTypes.NpgsqlPolygon.Count.get -> int -NpgsqlTypes.NpgsqlPolygon.Equals(NpgsqlTypes.NpgsqlPolygon other) -> bool -NpgsqlTypes.NpgsqlPolygon.GetEnumerator() -> System.Collections.Generic.IEnumerator! -NpgsqlTypes.NpgsqlPolygon.IndexOf(NpgsqlTypes.NpgsqlPoint item) -> int -NpgsqlTypes.NpgsqlPolygon.Insert(int index, NpgsqlTypes.NpgsqlPoint item) -> void -NpgsqlTypes.NpgsqlPolygon.IsReadOnly.get -> bool -NpgsqlTypes.NpgsqlPolygon.NpgsqlPolygon() -> void -NpgsqlTypes.NpgsqlPolygon.NpgsqlPolygon(int capacity) -> void -NpgsqlTypes.NpgsqlPolygon.NpgsqlPolygon(params NpgsqlTypes.NpgsqlPoint[]! points) -> void -NpgsqlTypes.NpgsqlPolygon.NpgsqlPolygon(System.Collections.Generic.IEnumerable! points) -> void -NpgsqlTypes.NpgsqlPolygon.Remove(NpgsqlTypes.NpgsqlPoint item) -> bool -NpgsqlTypes.NpgsqlPolygon.RemoveAt(int index) -> void -NpgsqlTypes.NpgsqlPolygon.this[int index].get -> NpgsqlTypes.NpgsqlPoint -NpgsqlTypes.NpgsqlPolygon.this[int index].set -> void -NpgsqlTypes.NpgsqlRange -NpgsqlTypes.NpgsqlRange.Equals(NpgsqlTypes.NpgsqlRange other) -> bool -NpgsqlTypes.NpgsqlRange.IsEmpty.get -> bool -NpgsqlTypes.NpgsqlRange.LowerBound.get -> T -NpgsqlTypes.NpgsqlRange.LowerBoundInfinite.get -> bool -NpgsqlTypes.NpgsqlRange.LowerBoundIsInclusive.get -> bool -NpgsqlTypes.NpgsqlRange.NpgsqlRange() -> void -NpgsqlTypes.NpgsqlRange.NpgsqlRange(T lowerBound, bool lowerBoundIsInclusive, bool lowerBoundInfinite, T upperBound, bool upperBoundIsInclusive, bool upperBoundInfinite) -> void -NpgsqlTypes.NpgsqlRange.NpgsqlRange(T lowerBound, bool lowerBoundIsInclusive, T upperBound, bool upperBoundIsInclusive) -> void -NpgsqlTypes.NpgsqlRange.NpgsqlRange(T lowerBound, T upperBound) -> void -NpgsqlTypes.NpgsqlRange.RangeTypeConverter -NpgsqlTypes.NpgsqlRange.RangeTypeConverter.RangeTypeConverter() -> void -NpgsqlTypes.NpgsqlRange.UpperBound.get -> T -NpgsqlTypes.NpgsqlRange.UpperBoundInfinite.get -> bool -NpgsqlTypes.NpgsqlRange.UpperBoundIsInclusive.get -> bool -NpgsqlTypes.NpgsqlTid -NpgsqlTypes.NpgsqlTid.BlockNumber.get -> uint -NpgsqlTypes.NpgsqlTid.Equals(NpgsqlTypes.NpgsqlTid other) -> bool -NpgsqlTypes.NpgsqlTid.NpgsqlTid() -> void -NpgsqlTypes.NpgsqlTid.NpgsqlTid(uint blockNumber, ushort offsetNumber) -> void -NpgsqlTypes.NpgsqlTid.OffsetNumber.get -> ushort -NpgsqlTypes.NpgsqlTsQuery -NpgsqlTypes.NpgsqlTsQuery.Kind.get -> NpgsqlTypes.NpgsqlTsQuery.NodeKind -NpgsqlTypes.NpgsqlTsQuery.NodeKind -NpgsqlTypes.NpgsqlTsQuery.NodeKind.And = 2 -> NpgsqlTypes.NpgsqlTsQuery.NodeKind -NpgsqlTypes.NpgsqlTsQuery.NodeKind.Empty = -1 -> NpgsqlTypes.NpgsqlTsQuery.NodeKind -NpgsqlTypes.NpgsqlTsQuery.NodeKind.Lexeme = 0 -> NpgsqlTypes.NpgsqlTsQuery.NodeKind -NpgsqlTypes.NpgsqlTsQuery.NodeKind.Not = 1 -> NpgsqlTypes.NpgsqlTsQuery.NodeKind -NpgsqlTypes.NpgsqlTsQuery.NodeKind.Or = 3 -> NpgsqlTypes.NpgsqlTsQuery.NodeKind -NpgsqlTypes.NpgsqlTsQuery.NodeKind.Phrase = 4 -> NpgsqlTypes.NpgsqlTsQuery.NodeKind -NpgsqlTypes.NpgsqlTsQuery.NpgsqlTsQuery(NpgsqlTypes.NpgsqlTsQuery.NodeKind kind) -> void -NpgsqlTypes.NpgsqlTsQuery.Write(System.Text.StringBuilder! stringBuilder) -> void -NpgsqlTypes.NpgsqlTsQueryAnd -NpgsqlTypes.NpgsqlTsQueryAnd.NpgsqlTsQueryAnd(NpgsqlTypes.NpgsqlTsQuery! left, NpgsqlTypes.NpgsqlTsQuery! right) -> void -NpgsqlTypes.NpgsqlTsQueryBinOp -NpgsqlTypes.NpgsqlTsQueryBinOp.Left.get -> NpgsqlTypes.NpgsqlTsQuery! -NpgsqlTypes.NpgsqlTsQueryBinOp.Left.set -> void -NpgsqlTypes.NpgsqlTsQueryBinOp.NpgsqlTsQueryBinOp(NpgsqlTypes.NpgsqlTsQuery.NodeKind kind, NpgsqlTypes.NpgsqlTsQuery! left, NpgsqlTypes.NpgsqlTsQuery! right) -> void -NpgsqlTypes.NpgsqlTsQueryBinOp.Right.get -> NpgsqlTypes.NpgsqlTsQuery! -NpgsqlTypes.NpgsqlTsQueryBinOp.Right.set -> void -NpgsqlTypes.NpgsqlTsQueryEmpty -NpgsqlTypes.NpgsqlTsQueryEmpty.NpgsqlTsQueryEmpty() -> void -NpgsqlTypes.NpgsqlTsQueryFollowedBy -NpgsqlTypes.NpgsqlTsQueryFollowedBy.Distance.get -> short -NpgsqlTypes.NpgsqlTsQueryFollowedBy.Distance.set -> void -NpgsqlTypes.NpgsqlTsQueryFollowedBy.NpgsqlTsQueryFollowedBy(NpgsqlTypes.NpgsqlTsQuery! left, short distance, NpgsqlTypes.NpgsqlTsQuery! right) -> void -NpgsqlTypes.NpgsqlTsQueryLexeme -NpgsqlTypes.NpgsqlTsQueryLexeme.IsPrefixSearch.get -> bool -NpgsqlTypes.NpgsqlTsQueryLexeme.IsPrefixSearch.set -> void -NpgsqlTypes.NpgsqlTsQueryLexeme.NpgsqlTsQueryLexeme(string! text) -> void -NpgsqlTypes.NpgsqlTsQueryLexeme.NpgsqlTsQueryLexeme(string! text, NpgsqlTypes.NpgsqlTsQueryLexeme.Weight weights) -> void -NpgsqlTypes.NpgsqlTsQueryLexeme.NpgsqlTsQueryLexeme(string! text, NpgsqlTypes.NpgsqlTsQueryLexeme.Weight weights, bool isPrefixSearch) -> void -NpgsqlTypes.NpgsqlTsQueryLexeme.Text.get -> string! -NpgsqlTypes.NpgsqlTsQueryLexeme.Text.set -> void -NpgsqlTypes.NpgsqlTsQueryLexeme.Weight -NpgsqlTypes.NpgsqlTsQueryLexeme.Weight.A = 8 -> NpgsqlTypes.NpgsqlTsQueryLexeme.Weight -NpgsqlTypes.NpgsqlTsQueryLexeme.Weight.B = 4 -> NpgsqlTypes.NpgsqlTsQueryLexeme.Weight -NpgsqlTypes.NpgsqlTsQueryLexeme.Weight.C = 2 -> NpgsqlTypes.NpgsqlTsQueryLexeme.Weight -NpgsqlTypes.NpgsqlTsQueryLexeme.Weight.D = 1 -> NpgsqlTypes.NpgsqlTsQueryLexeme.Weight -NpgsqlTypes.NpgsqlTsQueryLexeme.Weight.None = 0 -> NpgsqlTypes.NpgsqlTsQueryLexeme.Weight -NpgsqlTypes.NpgsqlTsQueryLexeme.Weights.get -> NpgsqlTypes.NpgsqlTsQueryLexeme.Weight -NpgsqlTypes.NpgsqlTsQueryLexeme.Weights.set -> void -NpgsqlTypes.NpgsqlTsQueryNot -NpgsqlTypes.NpgsqlTsQueryNot.Child.get -> NpgsqlTypes.NpgsqlTsQuery! -NpgsqlTypes.NpgsqlTsQueryNot.Child.set -> void -NpgsqlTypes.NpgsqlTsQueryNot.NpgsqlTsQueryNot(NpgsqlTypes.NpgsqlTsQuery! child) -> void -NpgsqlTypes.NpgsqlTsQueryOr -NpgsqlTypes.NpgsqlTsQueryOr.NpgsqlTsQueryOr(NpgsqlTypes.NpgsqlTsQuery! left, NpgsqlTypes.NpgsqlTsQuery! right) -> void -NpgsqlTypes.NpgsqlTsVector -NpgsqlTypes.NpgsqlTsVector.Count.get -> int -NpgsqlTypes.NpgsqlTsVector.Equals(NpgsqlTypes.NpgsqlTsVector? other) -> bool -NpgsqlTypes.NpgsqlTsVector.GetEnumerator() -> System.Collections.Generic.IEnumerator! -NpgsqlTypes.NpgsqlTsVector.Lexeme -NpgsqlTypes.NpgsqlTsVector.Lexeme.Count.get -> int -NpgsqlTypes.NpgsqlTsVector.Lexeme.Equals(NpgsqlTypes.NpgsqlTsVector.Lexeme o) -> bool -NpgsqlTypes.NpgsqlTsVector.Lexeme.Lexeme() -> void -NpgsqlTypes.NpgsqlTsVector.Lexeme.Lexeme(string! text) -> void -NpgsqlTypes.NpgsqlTsVector.Lexeme.Lexeme(string! text, System.Collections.Generic.List? wordEntryPositions) -> void -NpgsqlTypes.NpgsqlTsVector.Lexeme.Text.get -> string! -NpgsqlTypes.NpgsqlTsVector.Lexeme.Text.set -> void -NpgsqlTypes.NpgsqlTsVector.Lexeme.this[int index].get -> NpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos -NpgsqlTypes.NpgsqlTsVector.Lexeme.Weight -NpgsqlTypes.NpgsqlTsVector.Lexeme.Weight.A = 3 -> NpgsqlTypes.NpgsqlTsVector.Lexeme.Weight -NpgsqlTypes.NpgsqlTsVector.Lexeme.Weight.B = 2 -> NpgsqlTypes.NpgsqlTsVector.Lexeme.Weight -NpgsqlTypes.NpgsqlTsVector.Lexeme.Weight.C = 1 -> NpgsqlTypes.NpgsqlTsVector.Lexeme.Weight -NpgsqlTypes.NpgsqlTsVector.Lexeme.Weight.D = 0 -> NpgsqlTypes.NpgsqlTsVector.Lexeme.Weight -NpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos -NpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos.Equals(NpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos o) -> bool -NpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos.Pos.get -> int -NpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos.Weight.get -> NpgsqlTypes.NpgsqlTsVector.Lexeme.Weight -NpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos.WordEntryPos() -> void -NpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos.WordEntryPos(int pos, NpgsqlTypes.NpgsqlTsVector.Lexeme.Weight weight = NpgsqlTypes.NpgsqlTsVector.Lexeme.Weight.D) -> void -NpgsqlTypes.NpgsqlTsVector.this[int index].get -> NpgsqlTypes.NpgsqlTsVector.Lexeme -NpgsqlTypes.PgNameAttribute -NpgsqlTypes.PgNameAttribute.PgName.get -> string! -NpgsqlTypes.PgNameAttribute.PgNameAttribute(string! pgName) -> void -override Npgsql.BackendMessages.FieldDescription.ToString() -> string! -override Npgsql.NpgsqlBatch.Cancel() -> void -override Npgsql.NpgsqlBatch.CreateDbBatchCommand() -> System.Data.Common.DbBatchCommand! -override Npgsql.NpgsqlBatch.DbBatchCommands.get -> System.Data.Common.DbBatchCommandCollection! -override Npgsql.NpgsqlBatch.DbConnection.get -> System.Data.Common.DbConnection? -override Npgsql.NpgsqlBatch.DbConnection.set -> void -override Npgsql.NpgsqlBatch.DbTransaction.get -> System.Data.Common.DbTransaction? -override Npgsql.NpgsqlBatch.DbTransaction.set -> void -override Npgsql.NpgsqlBatch.Dispose() -> void -override Npgsql.NpgsqlBatch.ExecuteDbDataReader(System.Data.CommandBehavior behavior) -> System.Data.Common.DbDataReader! -override Npgsql.NpgsqlBatch.ExecuteDbDataReaderAsync(System.Data.CommandBehavior behavior, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlBatch.ExecuteNonQuery() -> int -override Npgsql.NpgsqlBatch.ExecuteNonQueryAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlBatch.ExecuteScalar() -> object? -override Npgsql.NpgsqlBatch.ExecuteScalarAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlBatch.Prepare() -> void -override Npgsql.NpgsqlBatch.PrepareAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlBatch.Timeout.get -> int -override Npgsql.NpgsqlBatch.Timeout.set -> void -override Npgsql.NpgsqlBatchCommand.CanCreateParameter.get -> bool -override Npgsql.NpgsqlBatchCommand.CommandText.get -> string! -override Npgsql.NpgsqlBatchCommand.CommandText.set -> void -override Npgsql.NpgsqlBatchCommand.CommandType.get -> System.Data.CommandType -override Npgsql.NpgsqlBatchCommand.CommandType.set -> void -override Npgsql.NpgsqlBatchCommand.CreateParameter() -> Npgsql.NpgsqlParameter! -override Npgsql.NpgsqlBatchCommand.RecordsAffected.get -> int -override Npgsql.NpgsqlBatchCommand.ToString() -> string! -override Npgsql.NpgsqlBatchCommandCollection.Add(System.Data.Common.DbBatchCommand! item) -> void -override Npgsql.NpgsqlBatchCommandCollection.Clear() -> void -override Npgsql.NpgsqlBatchCommandCollection.Contains(System.Data.Common.DbBatchCommand! item) -> bool -override Npgsql.NpgsqlBatchCommandCollection.CopyTo(System.Data.Common.DbBatchCommand![]! array, int arrayIndex) -> void -override Npgsql.NpgsqlBatchCommandCollection.Count.get -> int -override Npgsql.NpgsqlBatchCommandCollection.GetEnumerator() -> System.Collections.Generic.IEnumerator! -override Npgsql.NpgsqlBatchCommandCollection.IndexOf(System.Data.Common.DbBatchCommand! item) -> int -override Npgsql.NpgsqlBatchCommandCollection.Insert(int index, System.Data.Common.DbBatchCommand! item) -> void -override Npgsql.NpgsqlBatchCommandCollection.IsReadOnly.get -> bool -override Npgsql.NpgsqlBatchCommandCollection.Remove(System.Data.Common.DbBatchCommand! item) -> bool -override Npgsql.NpgsqlBatchCommandCollection.RemoveAt(int index) -> void -override Npgsql.NpgsqlCommand.Cancel() -> void -override Npgsql.NpgsqlCommand.CommandText.get -> string! -override Npgsql.NpgsqlCommand.CommandText.set -> void -override Npgsql.NpgsqlCommand.CommandTimeout.get -> int -override Npgsql.NpgsqlCommand.CommandTimeout.set -> void -override Npgsql.NpgsqlCommand.CommandType.get -> System.Data.CommandType -override Npgsql.NpgsqlCommand.CommandType.set -> void -override Npgsql.NpgsqlCommand.CreateDbParameter() -> System.Data.Common.DbParameter! -override Npgsql.NpgsqlCommand.DbConnection.get -> System.Data.Common.DbConnection? -override Npgsql.NpgsqlCommand.DbConnection.set -> void -override Npgsql.NpgsqlCommand.DbParameterCollection.get -> System.Data.Common.DbParameterCollection! -override Npgsql.NpgsqlCommand.DbTransaction.get -> System.Data.Common.DbTransaction? -override Npgsql.NpgsqlCommand.DbTransaction.set -> void -override Npgsql.NpgsqlCommand.DesignTimeVisible.get -> bool -override Npgsql.NpgsqlCommand.DesignTimeVisible.set -> void -override Npgsql.NpgsqlCommand.Dispose(bool disposing) -> void -override Npgsql.NpgsqlCommand.ExecuteDbDataReader(System.Data.CommandBehavior behavior) -> System.Data.Common.DbDataReader! -override Npgsql.NpgsqlCommand.ExecuteDbDataReaderAsync(System.Data.CommandBehavior behavior, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlCommand.ExecuteNonQuery() -> int -override Npgsql.NpgsqlCommand.ExecuteNonQueryAsync(System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlCommand.ExecuteScalar() -> object? -override Npgsql.NpgsqlCommand.ExecuteScalarAsync(System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlCommand.Prepare() -> void -override Npgsql.NpgsqlCommand.PrepareAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlCommand.UpdatedRowSource.get -> System.Data.UpdateRowSource -override Npgsql.NpgsqlCommand.UpdatedRowSource.set -> void -override Npgsql.NpgsqlCommandBuilder.QuoteIdentifier(string! unquotedIdentifier) -> string! -override Npgsql.NpgsqlCommandBuilder.QuotePrefix.get -> string! -override Npgsql.NpgsqlCommandBuilder.QuotePrefix.set -> void -override Npgsql.NpgsqlCommandBuilder.QuoteSuffix.get -> string! -override Npgsql.NpgsqlCommandBuilder.QuoteSuffix.set -> void -override Npgsql.NpgsqlCommandBuilder.UnquoteIdentifier(string! quotedIdentifier) -> string! -override Npgsql.NpgsqlConnection.CanCreateBatch.get -> bool -override Npgsql.NpgsqlConnection.ChangeDatabase(string! dbName) -> void -override Npgsql.NpgsqlConnection.Close() -> void -override Npgsql.NpgsqlConnection.CloseAsync() -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlConnection.ConnectionString.get -> string! -override Npgsql.NpgsqlConnection.ConnectionString.set -> void -override Npgsql.NpgsqlConnection.ConnectionTimeout.get -> int -override Npgsql.NpgsqlConnection.Database.get -> string! -override Npgsql.NpgsqlConnection.DataSource.get -> string! -override Npgsql.NpgsqlConnection.DisposeAsync() -> System.Threading.Tasks.ValueTask -override Npgsql.NpgsqlConnection.EnlistTransaction(System.Transactions.Transaction? transaction) -> void -override Npgsql.NpgsqlConnection.GetSchema() -> System.Data.DataTable! -override Npgsql.NpgsqlConnection.GetSchema(string? collectionName) -> System.Data.DataTable! -override Npgsql.NpgsqlConnection.GetSchema(string? collectionName, string?[]? restrictions) -> System.Data.DataTable! -override Npgsql.NpgsqlConnection.GetSchemaAsync(string! collectionName, string?[]? restrictions, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlConnection.GetSchemaAsync(string! collectionName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlConnection.GetSchemaAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlConnection.Open() -> void -override Npgsql.NpgsqlConnection.OpenAsync(System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlConnection.ServerVersion.get -> string! -override Npgsql.NpgsqlConnection.State.get -> System.Data.ConnectionState -override Npgsql.NpgsqlConnectionStringBuilder.Clear() -> void -override Npgsql.NpgsqlConnectionStringBuilder.ContainsKey(string! keyword) -> bool -override Npgsql.NpgsqlConnectionStringBuilder.Equals(object? obj) -> bool -override Npgsql.NpgsqlConnectionStringBuilder.GetHashCode() -> int -override Npgsql.NpgsqlConnectionStringBuilder.Remove(string! keyword) -> bool -override Npgsql.NpgsqlConnectionStringBuilder.this[string! keyword].get -> object! -override Npgsql.NpgsqlConnectionStringBuilder.this[string! keyword].set -> void -override Npgsql.NpgsqlConnectionStringBuilder.TryGetValue(string! keyword, out object? value) -> bool -override Npgsql.NpgsqlDataReader.Close() -> void -override Npgsql.NpgsqlDataReader.CloseAsync() -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlDataReader.Depth.get -> int -override Npgsql.NpgsqlDataReader.DisposeAsync() -> System.Threading.Tasks.ValueTask -override Npgsql.NpgsqlDataReader.FieldCount.get -> int -override Npgsql.NpgsqlDataReader.GetBoolean(int ordinal) -> bool -override Npgsql.NpgsqlDataReader.GetByte(int ordinal) -> byte -override Npgsql.NpgsqlDataReader.GetBytes(int ordinal, long dataOffset, byte[]? buffer, int bufferOffset, int length) -> long -override Npgsql.NpgsqlDataReader.GetChar(int ordinal) -> char -override Npgsql.NpgsqlDataReader.GetChars(int ordinal, long dataOffset, char[]? buffer, int bufferOffset, int length) -> long -override Npgsql.NpgsqlDataReader.GetDataTypeName(int ordinal) -> string! -override Npgsql.NpgsqlDataReader.GetDateTime(int ordinal) -> System.DateTime -override Npgsql.NpgsqlDataReader.GetDecimal(int ordinal) -> decimal -override Npgsql.NpgsqlDataReader.GetDouble(int ordinal) -> double -override Npgsql.NpgsqlDataReader.GetEnumerator() -> System.Collections.IEnumerator! -override Npgsql.NpgsqlDataReader.GetFieldType(int ordinal) -> System.Type! -override Npgsql.NpgsqlDataReader.GetFieldValue(int ordinal) -> T -override Npgsql.NpgsqlDataReader.GetFieldValueAsync(int ordinal, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlDataReader.GetFloat(int ordinal) -> float -override Npgsql.NpgsqlDataReader.GetGuid(int ordinal) -> System.Guid -override Npgsql.NpgsqlDataReader.GetInt16(int ordinal) -> short -override Npgsql.NpgsqlDataReader.GetInt32(int ordinal) -> int -override Npgsql.NpgsqlDataReader.GetInt64(int ordinal) -> long -override Npgsql.NpgsqlDataReader.GetName(int ordinal) -> string! -override Npgsql.NpgsqlDataReader.GetOrdinal(string! name) -> int -override Npgsql.NpgsqlDataReader.GetSchemaTable() -> System.Data.DataTable? -override Npgsql.NpgsqlDataReader.GetSchemaTableAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlDataReader.GetStream(int ordinal) -> System.IO.Stream! -override Npgsql.NpgsqlDataReader.GetString(int ordinal) -> string! -override Npgsql.NpgsqlDataReader.GetTextReader(int ordinal) -> System.IO.TextReader! -override Npgsql.NpgsqlDataReader.GetValue(int ordinal) -> object! -override Npgsql.NpgsqlDataReader.GetValues(object![]! values) -> int -override Npgsql.NpgsqlDataReader.HasRows.get -> bool -override Npgsql.NpgsqlDataReader.IsClosed.get -> bool -override Npgsql.NpgsqlDataReader.IsDBNull(int ordinal) -> bool -override Npgsql.NpgsqlDataReader.IsDBNullAsync(int ordinal, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlDataReader.NextResult() -> bool -override Npgsql.NpgsqlDataReader.NextResultAsync(System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlDataReader.Read() -> bool -override Npgsql.NpgsqlDataReader.ReadAsync(System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlDataReader.RecordsAffected.get -> int -override Npgsql.NpgsqlDataReader.this[int ordinal].get -> object! -override Npgsql.NpgsqlDataReader.this[string! name].get -> object! -override Npgsql.NpgsqlDataSource.ConnectionString.get -> string! -override Npgsql.NpgsqlException.DbBatchCommand.get -> System.Data.Common.DbBatchCommand? -override Npgsql.NpgsqlException.IsTransient.get -> bool -override Npgsql.NpgsqlFactory.CanCreateBatch.get -> bool -override Npgsql.NpgsqlFactory.CanCreateCommandBuilder.get -> bool -override Npgsql.NpgsqlFactory.CanCreateDataAdapter.get -> bool -override Npgsql.NpgsqlFactory.CreateBatch() -> System.Data.Common.DbBatch! -override Npgsql.NpgsqlFactory.CreateBatchCommand() -> System.Data.Common.DbBatchCommand! -override Npgsql.NpgsqlFactory.CreateCommand() -> System.Data.Common.DbCommand! -override Npgsql.NpgsqlFactory.CreateCommandBuilder() -> System.Data.Common.DbCommandBuilder! -override Npgsql.NpgsqlFactory.CreateConnection() -> System.Data.Common.DbConnection! -override Npgsql.NpgsqlFactory.CreateConnectionStringBuilder() -> System.Data.Common.DbConnectionStringBuilder! -override Npgsql.NpgsqlFactory.CreateDataAdapter() -> System.Data.Common.DbDataAdapter! -override Npgsql.NpgsqlFactory.CreateDataSource(string! connectionString) -> System.Data.Common.DbDataSource! -override Npgsql.NpgsqlFactory.CreateParameter() -> System.Data.Common.DbParameter! -override Npgsql.NpgsqlLargeObjectStream.CanRead.get -> bool -override Npgsql.NpgsqlLargeObjectStream.CanSeek.get -> bool -override Npgsql.NpgsqlLargeObjectStream.CanTimeout.get -> bool -override Npgsql.NpgsqlLargeObjectStream.CanWrite.get -> bool -override Npgsql.NpgsqlLargeObjectStream.Close() -> void -override Npgsql.NpgsqlLargeObjectStream.Flush() -> void -override Npgsql.NpgsqlLargeObjectStream.Length.get -> long -override Npgsql.NpgsqlLargeObjectStream.Position.get -> long -override Npgsql.NpgsqlLargeObjectStream.Position.set -> void -override Npgsql.NpgsqlLargeObjectStream.Read(byte[]! buffer, int offset, int count) -> int -override Npgsql.NpgsqlLargeObjectStream.ReadAsync(byte[]! buffer, int offset, int count, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlLargeObjectStream.Seek(long offset, System.IO.SeekOrigin origin) -> long -override Npgsql.NpgsqlLargeObjectStream.SetLength(long value) -> void -override Npgsql.NpgsqlLargeObjectStream.Write(byte[]! buffer, int offset, int count) -> void -override Npgsql.NpgsqlLargeObjectStream.WriteAsync(byte[]! buffer, int offset, int count, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlNestedDataReader.Close() -> void -override Npgsql.NpgsqlNestedDataReader.Depth.get -> int -override Npgsql.NpgsqlNestedDataReader.FieldCount.get -> int -override Npgsql.NpgsqlNestedDataReader.GetBoolean(int ordinal) -> bool -override Npgsql.NpgsqlNestedDataReader.GetByte(int ordinal) -> byte -override Npgsql.NpgsqlNestedDataReader.GetBytes(int ordinal, long dataOffset, byte[]? buffer, int bufferOffset, int length) -> long -override Npgsql.NpgsqlNestedDataReader.GetChar(int ordinal) -> char -override Npgsql.NpgsqlNestedDataReader.GetChars(int ordinal, long dataOffset, char[]? buffer, int bufferOffset, int length) -> long -override Npgsql.NpgsqlNestedDataReader.GetDataTypeName(int ordinal) -> string! -override Npgsql.NpgsqlNestedDataReader.GetDateTime(int ordinal) -> System.DateTime -override Npgsql.NpgsqlNestedDataReader.GetDecimal(int ordinal) -> decimal -override Npgsql.NpgsqlNestedDataReader.GetDouble(int ordinal) -> double -override Npgsql.NpgsqlNestedDataReader.GetEnumerator() -> System.Collections.IEnumerator! -override Npgsql.NpgsqlNestedDataReader.GetFieldType(int ordinal) -> System.Type! -override Npgsql.NpgsqlNestedDataReader.GetFieldValue(int ordinal) -> T -override Npgsql.NpgsqlNestedDataReader.GetFloat(int ordinal) -> float -override Npgsql.NpgsqlNestedDataReader.GetGuid(int ordinal) -> System.Guid -override Npgsql.NpgsqlNestedDataReader.GetInt16(int ordinal) -> short -override Npgsql.NpgsqlNestedDataReader.GetInt32(int ordinal) -> int -override Npgsql.NpgsqlNestedDataReader.GetInt64(int ordinal) -> long -override Npgsql.NpgsqlNestedDataReader.GetName(int ordinal) -> string! -override Npgsql.NpgsqlNestedDataReader.GetOrdinal(string! name) -> int -override Npgsql.NpgsqlNestedDataReader.GetString(int ordinal) -> string! -override Npgsql.NpgsqlNestedDataReader.GetValue(int ordinal) -> object! -override Npgsql.NpgsqlNestedDataReader.GetValues(object![]! values) -> int -override Npgsql.NpgsqlNestedDataReader.HasRows.get -> bool -override Npgsql.NpgsqlNestedDataReader.IsClosed.get -> bool -override Npgsql.NpgsqlNestedDataReader.IsDBNull(int ordinal) -> bool -override Npgsql.NpgsqlNestedDataReader.NextResult() -> bool -override Npgsql.NpgsqlNestedDataReader.Read() -> bool -override Npgsql.NpgsqlNestedDataReader.RecordsAffected.get -> int -override Npgsql.NpgsqlNestedDataReader.this[int ordinal].get -> object! -override Npgsql.NpgsqlNestedDataReader.this[string! name].get -> object! -override Npgsql.NpgsqlParameter.ResetDbType() -> void -override Npgsql.NpgsqlParameter.Value.get -> object? -override Npgsql.NpgsqlParameter.Value.set -> void -override Npgsql.NpgsqlParameter.Value.get -> object? -override Npgsql.NpgsqlParameter.Value.set -> void -override Npgsql.NpgsqlParameterCollection.Add(object! value) -> int -override Npgsql.NpgsqlParameterCollection.AddRange(System.Array! values) -> void -override Npgsql.NpgsqlParameterCollection.Clear() -> void -override Npgsql.NpgsqlParameterCollection.Contains(object! value) -> bool -override Npgsql.NpgsqlParameterCollection.Contains(string! parameterName) -> bool -override Npgsql.NpgsqlParameterCollection.CopyTo(System.Array! array, int index) -> void -override Npgsql.NpgsqlParameterCollection.Count.get -> int -override Npgsql.NpgsqlParameterCollection.GetEnumerator() -> System.Collections.IEnumerator! -override Npgsql.NpgsqlParameterCollection.IndexOf(object! value) -> int -override Npgsql.NpgsqlParameterCollection.IndexOf(string! parameterName) -> int -override Npgsql.NpgsqlParameterCollection.Insert(int index, object! value) -> void -override Npgsql.NpgsqlParameterCollection.IsFixedSize.get -> bool -override Npgsql.NpgsqlParameterCollection.IsReadOnly.get -> bool -override Npgsql.NpgsqlParameterCollection.IsSynchronized.get -> bool -override Npgsql.NpgsqlParameterCollection.Remove(object! value) -> void -override Npgsql.NpgsqlParameterCollection.RemoveAt(int index) -> void -override Npgsql.NpgsqlParameterCollection.RemoveAt(string! parameterName) -> void -override Npgsql.NpgsqlParameterCollection.SyncRoot.get -> object! -override Npgsql.NpgsqlRawCopyStream.CanRead.get -> bool -override Npgsql.NpgsqlRawCopyStream.CanSeek.get -> bool -override Npgsql.NpgsqlRawCopyStream.CanTimeout.get -> bool -override Npgsql.NpgsqlRawCopyStream.CanWrite.get -> bool -override Npgsql.NpgsqlRawCopyStream.DisposeAsync() -> System.Threading.Tasks.ValueTask -override Npgsql.NpgsqlRawCopyStream.Flush() -> void -override Npgsql.NpgsqlRawCopyStream.FlushAsync(System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlRawCopyStream.Length.get -> long -override Npgsql.NpgsqlRawCopyStream.Position.get -> long -override Npgsql.NpgsqlRawCopyStream.Position.set -> void -override Npgsql.NpgsqlRawCopyStream.Read(byte[]! buffer, int offset, int count) -> int -override Npgsql.NpgsqlRawCopyStream.Read(System.Span span) -> int -override Npgsql.NpgsqlRawCopyStream.ReadAsync(byte[]! buffer, int offset, int count, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlRawCopyStream.ReadAsync(System.Memory buffer, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.ValueTask -override Npgsql.NpgsqlRawCopyStream.ReadTimeout.get -> int -override Npgsql.NpgsqlRawCopyStream.ReadTimeout.set -> void -override Npgsql.NpgsqlRawCopyStream.Seek(long offset, System.IO.SeekOrigin origin) -> long -override Npgsql.NpgsqlRawCopyStream.SetLength(long value) -> void -override Npgsql.NpgsqlRawCopyStream.Write(byte[]! buffer, int offset, int count) -> void -override Npgsql.NpgsqlRawCopyStream.Write(System.ReadOnlySpan buffer) -> void -override Npgsql.NpgsqlRawCopyStream.WriteAsync(byte[]! buffer, int offset, int count, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlRawCopyStream.WriteAsync(System.ReadOnlyMemory buffer, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask -override Npgsql.NpgsqlRawCopyStream.WriteTimeout.get -> int -override Npgsql.NpgsqlRawCopyStream.WriteTimeout.set -> void -override Npgsql.NpgsqlTransaction.Commit() -> void -override Npgsql.NpgsqlTransaction.CommitAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlTransaction.DisposeAsync() -> System.Threading.Tasks.ValueTask -override Npgsql.NpgsqlTransaction.IsolationLevel.get -> System.Data.IsolationLevel -override Npgsql.NpgsqlTransaction.Release(string! name) -> void -override Npgsql.NpgsqlTransaction.ReleaseAsync(string! name, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlTransaction.Rollback() -> void -override Npgsql.NpgsqlTransaction.Rollback(string! name) -> void -override Npgsql.NpgsqlTransaction.RollbackAsync(string! name, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlTransaction.RollbackAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlTransaction.Save(string! name) -> void -override Npgsql.NpgsqlTransaction.SaveAsync(string! name, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -override Npgsql.NpgsqlTransaction.SupportsSavepoints.get -> bool -override Npgsql.PostgresException.GetObjectData(System.Runtime.Serialization.SerializationInfo! info, System.Runtime.Serialization.StreamingContext context) -> void -override Npgsql.PostgresException.IsTransient.get -> bool -override Npgsql.PostgresException.SqlState.get -> string! -override Npgsql.PostgresException.ToString() -> string! -override Npgsql.PostgresTypes.PostgresCompositeType.Field.ToString() -> string! -override Npgsql.PostgresTypes.PostgresType.ToString() -> string! -override Npgsql.Replication.PgOutput.Messages.DefaultUpdateMessage.NewRow.get -> Npgsql.Replication.PgOutput.ReplicationTuple! -override Npgsql.Replication.PgOutput.Messages.FullUpdateMessage.NewRow.get -> Npgsql.Replication.PgOutput.ReplicationTuple! -override Npgsql.Replication.PgOutput.Messages.IndexUpdateMessage.NewRow.get -> Npgsql.Replication.PgOutput.ReplicationTuple! -override Npgsql.Replication.PgOutput.Messages.PgOutputReplicationMessage.ToString() -> string! -override Npgsql.Replication.PgOutput.PgOutputReplicationOptions.Equals(object? obj) -> bool -override Npgsql.Replication.PgOutput.PgOutputReplicationOptions.GetHashCode() -> int -override Npgsql.Replication.TestDecoding.TestDecodingData.ToString() -> string! -override Npgsql.Replication.TestDecoding.TestDecodingOptions.Equals(object? obj) -> bool -override Npgsql.Replication.TestDecoding.TestDecodingOptions.GetHashCode() -> int -override Npgsql.Schema.NpgsqlDbColumn.this[string! propertyName].get -> object? -override NpgsqlTypes.NpgsqlBox.Equals(object? obj) -> bool -override NpgsqlTypes.NpgsqlBox.GetHashCode() -> int -override NpgsqlTypes.NpgsqlBox.ToString() -> string! -override NpgsqlTypes.NpgsqlCidr.ToString() -> string! -override NpgsqlTypes.NpgsqlCircle.Equals(object? obj) -> bool -override NpgsqlTypes.NpgsqlCircle.GetHashCode() -> int -override NpgsqlTypes.NpgsqlCircle.ToString() -> string! -override NpgsqlTypes.NpgsqlInet.ToString() -> string! -override NpgsqlTypes.NpgsqlInterval.Equals(object? obj) -> bool -override NpgsqlTypes.NpgsqlInterval.GetHashCode() -> int -override NpgsqlTypes.NpgsqlLine.Equals(object? obj) -> bool -override NpgsqlTypes.NpgsqlLine.GetHashCode() -> int -override NpgsqlTypes.NpgsqlLine.ToString() -> string! -override NpgsqlTypes.NpgsqlLogSequenceNumber.Equals(object? obj) -> bool -override NpgsqlTypes.NpgsqlLogSequenceNumber.GetHashCode() -> int -override NpgsqlTypes.NpgsqlLogSequenceNumber.ToString() -> string! -override NpgsqlTypes.NpgsqlLSeg.Equals(object? obj) -> bool -override NpgsqlTypes.NpgsqlLSeg.GetHashCode() -> int -override NpgsqlTypes.NpgsqlLSeg.ToString() -> string! -override NpgsqlTypes.NpgsqlPath.Equals(object? obj) -> bool -override NpgsqlTypes.NpgsqlPath.GetHashCode() -> int -override NpgsqlTypes.NpgsqlPath.ToString() -> string! -override NpgsqlTypes.NpgsqlPoint.Equals(object? obj) -> bool -override NpgsqlTypes.NpgsqlPoint.GetHashCode() -> int -override NpgsqlTypes.NpgsqlPoint.ToString() -> string! -override NpgsqlTypes.NpgsqlPolygon.Equals(object? obj) -> bool -override NpgsqlTypes.NpgsqlPolygon.GetHashCode() -> int -override NpgsqlTypes.NpgsqlPolygon.ToString() -> string! -override NpgsqlTypes.NpgsqlRange.Equals(object? o) -> bool -override NpgsqlTypes.NpgsqlRange.GetHashCode() -> int -override NpgsqlTypes.NpgsqlRange.RangeTypeConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type! sourceType) -> bool -override NpgsqlTypes.NpgsqlRange.RangeTypeConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) -> bool -override NpgsqlTypes.NpgsqlRange.RangeTypeConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object! value) -> object? -override NpgsqlTypes.NpgsqlRange.RangeTypeConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type! destinationType) -> object? -override NpgsqlTypes.NpgsqlRange.ToString() -> string! -override NpgsqlTypes.NpgsqlTid.Equals(object? o) -> bool -override NpgsqlTypes.NpgsqlTid.GetHashCode() -> int -override NpgsqlTypes.NpgsqlTid.ToString() -> string! -override NpgsqlTypes.NpgsqlTsQuery.Equals(object? obj) -> bool -override NpgsqlTypes.NpgsqlTsQuery.GetHashCode() -> int -override NpgsqlTypes.NpgsqlTsQuery.ToString() -> string! -override NpgsqlTypes.NpgsqlTsQueryAnd.Equals(NpgsqlTypes.NpgsqlTsQuery? other) -> bool -override NpgsqlTypes.NpgsqlTsQueryAnd.GetHashCode() -> int -override NpgsqlTypes.NpgsqlTsQueryEmpty.Equals(NpgsqlTypes.NpgsqlTsQuery? other) -> bool -override NpgsqlTypes.NpgsqlTsQueryEmpty.GetHashCode() -> int -override NpgsqlTypes.NpgsqlTsQueryFollowedBy.Equals(NpgsqlTypes.NpgsqlTsQuery? other) -> bool -override NpgsqlTypes.NpgsqlTsQueryFollowedBy.GetHashCode() -> int -override NpgsqlTypes.NpgsqlTsQueryLexeme.Equals(NpgsqlTypes.NpgsqlTsQuery? other) -> bool -override NpgsqlTypes.NpgsqlTsQueryLexeme.GetHashCode() -> int -override NpgsqlTypes.NpgsqlTsQueryNot.Equals(NpgsqlTypes.NpgsqlTsQuery? other) -> bool -override NpgsqlTypes.NpgsqlTsQueryNot.GetHashCode() -> int -override NpgsqlTypes.NpgsqlTsQueryOr.Equals(NpgsqlTypes.NpgsqlTsQuery? other) -> bool -override NpgsqlTypes.NpgsqlTsQueryOr.GetHashCode() -> int -override NpgsqlTypes.NpgsqlTsVector.Equals(object? obj) -> bool -override NpgsqlTypes.NpgsqlTsVector.GetHashCode() -> int -override NpgsqlTypes.NpgsqlTsVector.Lexeme.Equals(object? o) -> bool -override NpgsqlTypes.NpgsqlTsVector.Lexeme.GetHashCode() -> int -override NpgsqlTypes.NpgsqlTsVector.Lexeme.ToString() -> string! -override NpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos.Equals(object? o) -> bool -override NpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos.GetHashCode() -> int -override NpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos.ToString() -> string! -override NpgsqlTypes.NpgsqlTsVector.ToString() -> string! -override sealed Npgsql.NpgsqlParameter.DbType.get -> System.Data.DbType -override sealed Npgsql.NpgsqlParameter.DbType.set -> void -override sealed Npgsql.NpgsqlParameter.Direction.get -> System.Data.ParameterDirection -override sealed Npgsql.NpgsqlParameter.Direction.set -> void -override sealed Npgsql.NpgsqlParameter.IsNullable.get -> bool -override sealed Npgsql.NpgsqlParameter.IsNullable.set -> void -override sealed Npgsql.NpgsqlParameter.ParameterName.get -> string! -override sealed Npgsql.NpgsqlParameter.ParameterName.set -> void -override sealed Npgsql.NpgsqlParameter.Size.get -> int -override sealed Npgsql.NpgsqlParameter.Size.set -> void -override sealed Npgsql.NpgsqlParameter.SourceColumn.get -> string! -override sealed Npgsql.NpgsqlParameter.SourceColumn.set -> void -override sealed Npgsql.NpgsqlParameter.SourceColumnNullMapping.get -> bool -override sealed Npgsql.NpgsqlParameter.SourceColumnNullMapping.set -> void -override sealed Npgsql.NpgsqlParameter.SourceVersion.get -> System.Data.DataRowVersion -override sealed Npgsql.NpgsqlParameter.SourceVersion.set -> void -static Npgsql.NameTranslation.NpgsqlSnakeCaseNameTranslator.ConvertToSnakeCase(string! name, System.Globalization.CultureInfo? culture = null) -> string! -static Npgsql.NpgsqlCommandBuilder.DeriveParameters(Npgsql.NpgsqlCommand! command) -> void -static Npgsql.NpgsqlConnection.ClearAllPools() -> void -static Npgsql.NpgsqlConnection.ClearPool(Npgsql.NpgsqlConnection! connection) -> void -static Npgsql.NpgsqlConnection.GlobalTypeMapper.get -> Npgsql.TypeMapping.INpgsqlTypeMapper! -static Npgsql.NpgsqlDataSource.Create(Npgsql.NpgsqlConnectionStringBuilder! connectionStringBuilder) -> Npgsql.NpgsqlDataSource! -static Npgsql.NpgsqlDataSource.Create(string! connectionString) -> Npgsql.NpgsqlDataSource! -static Npgsql.NpgsqlLoggingConfiguration.InitializeLogging(Microsoft.Extensions.Logging.ILoggerFactory! loggerFactory, bool parameterLoggingEnabled = false) -> void -static Npgsql.Replication.Internal.LogicalReplicationConnectionExtensions.CreateLogicalReplicationSlot(this Npgsql.Replication.LogicalReplicationConnection! connection, string! slotName, string! outputPlugin, bool isTemporary = false, Npgsql.Replication.LogicalSlotSnapshotInitMode? slotSnapshotInitMode = null, bool twoPhase = false, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -static Npgsql.Replication.Internal.LogicalReplicationConnectionExtensions.StartLogicalReplication(this Npgsql.Replication.LogicalReplicationConnection! connection, Npgsql.Replication.Internal.LogicalReplicationSlot! slot, System.Threading.CancellationToken cancellationToken, NpgsqlTypes.NpgsqlLogSequenceNumber? walLocation = null, System.Collections.Generic.IEnumerable>? options = null, bool bypassingStream = false) -> System.Collections.Generic.IAsyncEnumerable! -static Npgsql.Replication.PgOutputConnectionExtensions.CreatePgOutputReplicationSlot(this Npgsql.Replication.LogicalReplicationConnection! connection, string! slotName, bool temporarySlot = false, Npgsql.Replication.LogicalSlotSnapshotInitMode? slotSnapshotInitMode = null, bool twoPhase = false, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -static Npgsql.Replication.PgOutputConnectionExtensions.StartReplication(this Npgsql.Replication.LogicalReplicationConnection! connection, Npgsql.Replication.PgOutput.PgOutputReplicationSlot! slot, Npgsql.Replication.PgOutput.PgOutputReplicationOptions! options, System.Threading.CancellationToken cancellationToken, NpgsqlTypes.NpgsqlLogSequenceNumber? walLocation = null) -> System.Collections.Generic.IAsyncEnumerable! -static Npgsql.Replication.TestDecodingConnectionExtensions.CreateTestDecodingReplicationSlot(this Npgsql.Replication.LogicalReplicationConnection! connection, string! slotName, bool temporarySlot = false, Npgsql.Replication.LogicalSlotSnapshotInitMode? slotSnapshotInitMode = null, bool twoPhase = false, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -static Npgsql.Replication.TestDecodingConnectionExtensions.StartReplication(this Npgsql.Replication.LogicalReplicationConnection! connection, Npgsql.Replication.TestDecoding.TestDecodingReplicationSlot! slot, System.Threading.CancellationToken cancellationToken, Npgsql.Replication.TestDecoding.TestDecodingOptions? options = null, NpgsqlTypes.NpgsqlLogSequenceNumber? walLocation = null) -> System.Collections.Generic.IAsyncEnumerable! -static NpgsqlTypes.NpgsqlBox.operator !=(NpgsqlTypes.NpgsqlBox x, NpgsqlTypes.NpgsqlBox y) -> bool -static NpgsqlTypes.NpgsqlBox.operator ==(NpgsqlTypes.NpgsqlBox x, NpgsqlTypes.NpgsqlBox y) -> bool -static NpgsqlTypes.NpgsqlCidr.explicit operator System.Net.IPAddress!(NpgsqlTypes.NpgsqlCidr cidr) -> System.Net.IPAddress! -static NpgsqlTypes.NpgsqlCidr.implicit operator NpgsqlTypes.NpgsqlInet(NpgsqlTypes.NpgsqlCidr cidr) -> NpgsqlTypes.NpgsqlInet -static NpgsqlTypes.NpgsqlCircle.operator !=(NpgsqlTypes.NpgsqlCircle x, NpgsqlTypes.NpgsqlCircle y) -> bool -static NpgsqlTypes.NpgsqlCircle.operator ==(NpgsqlTypes.NpgsqlCircle x, NpgsqlTypes.NpgsqlCircle y) -> bool -static NpgsqlTypes.NpgsqlInet.explicit operator System.Net.IPAddress!(NpgsqlTypes.NpgsqlInet inet) -> System.Net.IPAddress! -static NpgsqlTypes.NpgsqlInet.implicit operator NpgsqlTypes.NpgsqlInet(System.Net.IPAddress! ip) -> NpgsqlTypes.NpgsqlInet -static NpgsqlTypes.NpgsqlLine.operator !=(NpgsqlTypes.NpgsqlLine x, NpgsqlTypes.NpgsqlLine y) -> bool -static NpgsqlTypes.NpgsqlLine.operator ==(NpgsqlTypes.NpgsqlLine x, NpgsqlTypes.NpgsqlLine y) -> bool -static NpgsqlTypes.NpgsqlLogSequenceNumber.explicit operator NpgsqlTypes.NpgsqlLogSequenceNumber(ulong value) -> NpgsqlTypes.NpgsqlLogSequenceNumber -static NpgsqlTypes.NpgsqlLogSequenceNumber.explicit operator ulong(NpgsqlTypes.NpgsqlLogSequenceNumber value) -> ulong -static NpgsqlTypes.NpgsqlLogSequenceNumber.Larger(NpgsqlTypes.NpgsqlLogSequenceNumber value1, NpgsqlTypes.NpgsqlLogSequenceNumber value2) -> NpgsqlTypes.NpgsqlLogSequenceNumber -static NpgsqlTypes.NpgsqlLogSequenceNumber.operator !=(NpgsqlTypes.NpgsqlLogSequenceNumber value1, NpgsqlTypes.NpgsqlLogSequenceNumber value2) -> bool -static NpgsqlTypes.NpgsqlLogSequenceNumber.operator +(NpgsqlTypes.NpgsqlLogSequenceNumber lsn, double nbytes) -> NpgsqlTypes.NpgsqlLogSequenceNumber -static NpgsqlTypes.NpgsqlLogSequenceNumber.operator -(NpgsqlTypes.NpgsqlLogSequenceNumber first, NpgsqlTypes.NpgsqlLogSequenceNumber second) -> ulong -static NpgsqlTypes.NpgsqlLogSequenceNumber.operator -(NpgsqlTypes.NpgsqlLogSequenceNumber lsn, double nbytes) -> NpgsqlTypes.NpgsqlLogSequenceNumber -static NpgsqlTypes.NpgsqlLogSequenceNumber.operator <(NpgsqlTypes.NpgsqlLogSequenceNumber value1, NpgsqlTypes.NpgsqlLogSequenceNumber value2) -> bool -static NpgsqlTypes.NpgsqlLogSequenceNumber.operator <=(NpgsqlTypes.NpgsqlLogSequenceNumber value1, NpgsqlTypes.NpgsqlLogSequenceNumber value2) -> bool -static NpgsqlTypes.NpgsqlLogSequenceNumber.operator ==(NpgsqlTypes.NpgsqlLogSequenceNumber value1, NpgsqlTypes.NpgsqlLogSequenceNumber value2) -> bool -static NpgsqlTypes.NpgsqlLogSequenceNumber.operator >(NpgsqlTypes.NpgsqlLogSequenceNumber value1, NpgsqlTypes.NpgsqlLogSequenceNumber value2) -> bool -static NpgsqlTypes.NpgsqlLogSequenceNumber.operator >=(NpgsqlTypes.NpgsqlLogSequenceNumber value1, NpgsqlTypes.NpgsqlLogSequenceNumber value2) -> bool -static NpgsqlTypes.NpgsqlLogSequenceNumber.Parse(string! s) -> NpgsqlTypes.NpgsqlLogSequenceNumber -static NpgsqlTypes.NpgsqlLogSequenceNumber.Parse(System.ReadOnlySpan s) -> NpgsqlTypes.NpgsqlLogSequenceNumber -static NpgsqlTypes.NpgsqlLogSequenceNumber.Smaller(NpgsqlTypes.NpgsqlLogSequenceNumber value1, NpgsqlTypes.NpgsqlLogSequenceNumber value2) -> NpgsqlTypes.NpgsqlLogSequenceNumber -static NpgsqlTypes.NpgsqlLogSequenceNumber.TryParse(string! s, out NpgsqlTypes.NpgsqlLogSequenceNumber result) -> bool -static NpgsqlTypes.NpgsqlLogSequenceNumber.TryParse(System.ReadOnlySpan s, out NpgsqlTypes.NpgsqlLogSequenceNumber result) -> bool -static NpgsqlTypes.NpgsqlLSeg.operator !=(NpgsqlTypes.NpgsqlLSeg x, NpgsqlTypes.NpgsqlLSeg y) -> bool -static NpgsqlTypes.NpgsqlLSeg.operator ==(NpgsqlTypes.NpgsqlLSeg x, NpgsqlTypes.NpgsqlLSeg y) -> bool -static NpgsqlTypes.NpgsqlPath.operator !=(NpgsqlTypes.NpgsqlPath x, NpgsqlTypes.NpgsqlPath y) -> bool -static NpgsqlTypes.NpgsqlPath.operator ==(NpgsqlTypes.NpgsqlPath x, NpgsqlTypes.NpgsqlPath y) -> bool -static NpgsqlTypes.NpgsqlPoint.operator !=(NpgsqlTypes.NpgsqlPoint x, NpgsqlTypes.NpgsqlPoint y) -> bool -static NpgsqlTypes.NpgsqlPoint.operator ==(NpgsqlTypes.NpgsqlPoint x, NpgsqlTypes.NpgsqlPoint y) -> bool -static NpgsqlTypes.NpgsqlPolygon.operator !=(NpgsqlTypes.NpgsqlPolygon x, NpgsqlTypes.NpgsqlPolygon y) -> bool -static NpgsqlTypes.NpgsqlPolygon.operator ==(NpgsqlTypes.NpgsqlPolygon x, NpgsqlTypes.NpgsqlPolygon y) -> bool -static NpgsqlTypes.NpgsqlRange.operator !=(NpgsqlTypes.NpgsqlRange x, NpgsqlTypes.NpgsqlRange y) -> bool -static NpgsqlTypes.NpgsqlRange.operator ==(NpgsqlTypes.NpgsqlRange x, NpgsqlTypes.NpgsqlRange y) -> bool -static NpgsqlTypes.NpgsqlRange.Parse(string! value) -> NpgsqlTypes.NpgsqlRange -static NpgsqlTypes.NpgsqlRange.RangeTypeConverter.Register() -> void -static NpgsqlTypes.NpgsqlTid.operator !=(NpgsqlTypes.NpgsqlTid left, NpgsqlTypes.NpgsqlTid right) -> bool -static NpgsqlTypes.NpgsqlTid.operator ==(NpgsqlTypes.NpgsqlTid left, NpgsqlTypes.NpgsqlTid right) -> bool -static NpgsqlTypes.NpgsqlTsQuery.operator !=(NpgsqlTypes.NpgsqlTsQuery? left, NpgsqlTypes.NpgsqlTsQuery? right) -> bool -static NpgsqlTypes.NpgsqlTsQuery.operator ==(NpgsqlTypes.NpgsqlTsQuery? left, NpgsqlTypes.NpgsqlTsQuery? right) -> bool -static NpgsqlTypes.NpgsqlTsQuery.Parse(string! value) -> NpgsqlTypes.NpgsqlTsQuery! -static NpgsqlTypes.NpgsqlTsVector.Lexeme.operator !=(NpgsqlTypes.NpgsqlTsVector.Lexeme left, NpgsqlTypes.NpgsqlTsVector.Lexeme right) -> bool -static NpgsqlTypes.NpgsqlTsVector.Lexeme.operator ==(NpgsqlTypes.NpgsqlTsVector.Lexeme left, NpgsqlTypes.NpgsqlTsVector.Lexeme right) -> bool -static NpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos.operator !=(NpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos left, NpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos right) -> bool -static NpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos.operator ==(NpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos left, NpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos right) -> bool -static NpgsqlTypes.NpgsqlTsVector.Parse(string! value) -> NpgsqlTypes.NpgsqlTsVector! -static readonly Npgsql.NpgsqlFactory.Instance -> Npgsql.NpgsqlFactory! -static readonly NpgsqlTypes.NpgsqlLogSequenceNumber.Invalid -> NpgsqlTypes.NpgsqlLogSequenceNumber -static readonly NpgsqlTypes.NpgsqlRange.Empty -> NpgsqlTypes.NpgsqlRange -virtual Npgsql.NpgsqlCommand.Clone() -> Npgsql.NpgsqlCommand! -virtual Npgsql.Replication.PgOutput.ReplicationTuple.GetAsyncEnumerator(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Collections.Generic.IAsyncEnumerator! +abstract YBNpgsql.Replication.PgOutput.Messages.UpdateMessage.NewRow.get -> YBNpgsql.Replication.PgOutput.ReplicationTuple! +abstract YBNpgsqlTypes.NpgsqlTsQuery.Equals(YBNpgsqlTypes.NpgsqlTsQuery? other) -> bool +const YBNpgsql.NpgsqlConnection.DefaultPort = 5433 -> int +const YBNpgsql.PostgresErrorCodes.ActiveSqlTransaction = "25001" -> string! +const YBNpgsql.PostgresErrorCodes.AdminShutdown = "57P01" -> string! +const YBNpgsql.PostgresErrorCodes.AmbiguousAlias = "42P09" -> string! +const YBNpgsql.PostgresErrorCodes.AmbiguousColumn = "42702" -> string! +const YBNpgsql.PostgresErrorCodes.AmbiguousFunction = "42725" -> string! +const YBNpgsql.PostgresErrorCodes.AmbiguousParameter = "42P08" -> string! +const YBNpgsql.PostgresErrorCodes.ArraySubscriptError = "2202E" -> string! +const YBNpgsql.PostgresErrorCodes.AssertFailure = "P0004" -> string! +const YBNpgsql.PostgresErrorCodes.BadCopyFileFormat = "22P04" -> string! +const YBNpgsql.PostgresErrorCodes.BranchTransactionAlreadyActive = "25002" -> string! +const YBNpgsql.PostgresErrorCodes.CannotCoerce = "42846" -> string! +const YBNpgsql.PostgresErrorCodes.CannotConnectNow = "57P03" -> string! +const YBNpgsql.PostgresErrorCodes.CantChangeRuntimeParam = "55P02" -> string! +const YBNpgsql.PostgresErrorCodes.CardinalityViolation = "21000" -> string! +const YBNpgsql.PostgresErrorCodes.CaseNotFound = "20000" -> string! +const YBNpgsql.PostgresErrorCodes.CharacterNotInRepertoire = "22021" -> string! +const YBNpgsql.PostgresErrorCodes.CheckViolation = "23514" -> string! +const YBNpgsql.PostgresErrorCodes.CollationMismatch = "42P21" -> string! +const YBNpgsql.PostgresErrorCodes.ConfigFileError = "F0000" -> string! +const YBNpgsql.PostgresErrorCodes.ConfigurationLimitExceeded = "53400" -> string! +const YBNpgsql.PostgresErrorCodes.ConnectionDoesNotExist = "08003" -> string! +const YBNpgsql.PostgresErrorCodes.ConnectionException = "08000" -> string! +const YBNpgsql.PostgresErrorCodes.ConnectionFailure = "08006" -> string! +const YBNpgsql.PostgresErrorCodes.ContainingSqlNotPermittedExternalRoutineException = "38001" -> string! +const YBNpgsql.PostgresErrorCodes.CrashShutdown = "57P02" -> string! +const YBNpgsql.PostgresErrorCodes.DatabaseDropped = "57P04" -> string! +const YBNpgsql.PostgresErrorCodes.DataCorrupted = "XX001" -> string! +const YBNpgsql.PostgresErrorCodes.DataException = "22000" -> string! +const YBNpgsql.PostgresErrorCodes.DatatypeMismatch = "42804" -> string! +const YBNpgsql.PostgresErrorCodes.DatetimeFieldOverflow = "22008" -> string! +const YBNpgsql.PostgresErrorCodes.DeadlockDetected = "40P01" -> string! +const YBNpgsql.PostgresErrorCodes.DependentObjectsStillExist = "2BP01" -> string! +const YBNpgsql.PostgresErrorCodes.DependentPrivilegeDescriptorsStillExist = "2B000" -> string! +const YBNpgsql.PostgresErrorCodes.DeprecatedFeatureWarning = "01P01" -> string! +const YBNpgsql.PostgresErrorCodes.DiagnosticsException = "0Z000" -> string! +const YBNpgsql.PostgresErrorCodes.DiskFull = "53100" -> string! +const YBNpgsql.PostgresErrorCodes.DivisionByZero = "22012" -> string! +const YBNpgsql.PostgresErrorCodes.DuplicateAlias = "42712" -> string! +const YBNpgsql.PostgresErrorCodes.DuplicateColumn = "42701" -> string! +const YBNpgsql.PostgresErrorCodes.DuplicateCursor = "42P03" -> string! +const YBNpgsql.PostgresErrorCodes.DuplicateDatabase = "42P04" -> string! +const YBNpgsql.PostgresErrorCodes.DuplicateFile = "58P02" -> string! +const YBNpgsql.PostgresErrorCodes.DuplicateFunction = "42723" -> string! +const YBNpgsql.PostgresErrorCodes.DuplicateObject = "42710" -> string! +const YBNpgsql.PostgresErrorCodes.DuplicatePreparedStatement = "42P05" -> string! +const YBNpgsql.PostgresErrorCodes.DuplicateSchema = "42P06" -> string! +const YBNpgsql.PostgresErrorCodes.DuplicateTable = "42P07" -> string! +const YBNpgsql.PostgresErrorCodes.DynamicResultSetsReturnedWarning = "0100C" -> string! +const YBNpgsql.PostgresErrorCodes.ErrorInAssignment = "22005" -> string! +const YBNpgsql.PostgresErrorCodes.EscapeCharacterConflict = "2200B" -> string! +const YBNpgsql.PostgresErrorCodes.EventTriggerProtocolViolatedExternalRoutineInvocationException = "39P03" -> string! +const YBNpgsql.PostgresErrorCodes.ExclusionViolation = "23P01" -> string! +const YBNpgsql.PostgresErrorCodes.ExternalRoutineException = "38000" -> string! +const YBNpgsql.PostgresErrorCodes.ExternalRoutineInvocationException = "39000" -> string! +const YBNpgsql.PostgresErrorCodes.FdwColumnNameNotFound = "HV005" -> string! +const YBNpgsql.PostgresErrorCodes.FdwDynamicParameterValueNeeded = "HV002" -> string! +const YBNpgsql.PostgresErrorCodes.FdwError = "HV000" -> string! +const YBNpgsql.PostgresErrorCodes.FdwFunctionSequenceError = "HV010" -> string! +const YBNpgsql.PostgresErrorCodes.FdwInconsistentDescriptorInformation = "HV021" -> string! +const YBNpgsql.PostgresErrorCodes.FdwInvalidAttributeValue = "HV024" -> string! +const YBNpgsql.PostgresErrorCodes.FdwInvalidColumnName = "HV007" -> string! +const YBNpgsql.PostgresErrorCodes.FdwInvalidColumnNumber = "HV008" -> string! +const YBNpgsql.PostgresErrorCodes.FdwInvalidDataType = "HV004" -> string! +const YBNpgsql.PostgresErrorCodes.FdwInvalidDataTypeDescriptors = "HV006" -> string! +const YBNpgsql.PostgresErrorCodes.FdwInvalidDescriptorFieldIdentifier = "HV091" -> string! +const YBNpgsql.PostgresErrorCodes.FdwInvalidHandle = "HV00B" -> string! +const YBNpgsql.PostgresErrorCodes.FdwInvalidOptionIndex = "HV00C" -> string! +const YBNpgsql.PostgresErrorCodes.FdwInvalidOptionName = "HV00D" -> string! +const YBNpgsql.PostgresErrorCodes.FdwInvalidStringFormat = "HV00A" -> string! +const YBNpgsql.PostgresErrorCodes.FdwInvalidStringLengthOrBufferLength = "HV090" -> string! +const YBNpgsql.PostgresErrorCodes.FdwInvalidUseOfNullPointer = "HV009" -> string! +const YBNpgsql.PostgresErrorCodes.FdwNoSchemas = "HV00P" -> string! +const YBNpgsql.PostgresErrorCodes.FdwOptionNameNotFound = "HV00J" -> string! +const YBNpgsql.PostgresErrorCodes.FdwOutOfMemory = "HV001" -> string! +const YBNpgsql.PostgresErrorCodes.FdwReplyHandle = "HV00K" -> string! +const YBNpgsql.PostgresErrorCodes.FdwSchemaNotFound = "HV00Q" -> string! +const YBNpgsql.PostgresErrorCodes.FdwTableNotFound = "HV00R" -> string! +const YBNpgsql.PostgresErrorCodes.FdwTooManyHandles = "HV014" -> string! +const YBNpgsql.PostgresErrorCodes.FdwUnableToCreateExecution = "HV00L" -> string! +const YBNpgsql.PostgresErrorCodes.FdwUnableToCreateReply = "HV00M" -> string! +const YBNpgsql.PostgresErrorCodes.FdwUnableToEstablishConnection = "HV00N" -> string! +const YBNpgsql.PostgresErrorCodes.FeatureNotSupported = "0A000" -> string! +const YBNpgsql.PostgresErrorCodes.FloatingPointException = "22P01" -> string! +const YBNpgsql.PostgresErrorCodes.ForeignKeyViolation = "23503" -> string! +const YBNpgsql.PostgresErrorCodes.FunctionExecutedNoReturnStatementSqlRoutineException = "2F005" -> string! +const YBNpgsql.PostgresErrorCodes.GroupingError = "42803" -> string! +const YBNpgsql.PostgresErrorCodes.HeldCursorRequiresSameIsolationLevel = "25008" -> string! +const YBNpgsql.PostgresErrorCodes.IdleSessionTimeout = "57P05" -> string! +const YBNpgsql.PostgresErrorCodes.ImplicitZeroBitPaddingWarning = "01008" -> string! +const YBNpgsql.PostgresErrorCodes.InappropriateAccessModeForBranchTransaction = "25003" -> string! +const YBNpgsql.PostgresErrorCodes.InappropriateIsolationLevelForBranchTransaction = "25004" -> string! +const YBNpgsql.PostgresErrorCodes.IndeterminateCollation = "42P22" -> string! +const YBNpgsql.PostgresErrorCodes.IndeterminateDatatype = "42P18" -> string! +const YBNpgsql.PostgresErrorCodes.IndexCorrupted = "XX002" -> string! +const YBNpgsql.PostgresErrorCodes.IndicatorOverflow = "22022" -> string! +const YBNpgsql.PostgresErrorCodes.InFailedSqlTransaction = "25P02" -> string! +const YBNpgsql.PostgresErrorCodes.InsufficientPrivilege = "42501" -> string! +const YBNpgsql.PostgresErrorCodes.InsufficientResources = "53000" -> string! +const YBNpgsql.PostgresErrorCodes.IntegrityConstraintViolation = "23000" -> string! +const YBNpgsql.PostgresErrorCodes.InternalError = "XX000" -> string! +const YBNpgsql.PostgresErrorCodes.IntervalFieldOverflow = "22015" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidArgumentForLogarithm = "2201E" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidArgumentForNthValueFunction = "22016" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidArgumentForNtileFunction = "22014" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidArgumentForPowerFunction = "2201F" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidArgumentForWidthBucketFunction = "2201G" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidAuthorizationSpecification = "28000" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidBinaryRepresentation = "22P03" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidCatalogName = "3D000" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidCharacterValueForCast = "22018" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidColumnDefinition = "42611" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidColumnReference = "42P10" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidCursorDefinition = "42P11" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidCursorName = "34000" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidCursorState = "24000" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidDatabaseDefinition = "42P12" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidDatetimeFormat = "22007" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidEscapeCharacter = "22019" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidEscapeOctet = "2200D" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidEscapeSequence = "22025" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidForeignKey = "42830" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidFunctionDefinition = "42P13" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidGrantOperation = "0LP01" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidGrantor = "0L000" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidIndicatorParameterValue = "22010" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidLocatorSpecification = "0F001" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidName = "42602" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidObjectDefinition = "42P17" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidParameterValue = "22023" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidPassword = "28P01" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidPreparedStatementDefinition = "42P14" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidRecursion = "42P19" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidRegularExpression = "2201B" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidRoleSpecification = "0P000" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidRowCountInLimitClause = "2201W" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidRowCountInResultOffsetClause = "2201X" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidSavepointSpecification = "3B001" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidSchemaDefinition = "42P15" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidSchemaName = "3F000" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidSqlStatementName = "26000" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidSqlstateReturnedExternalRoutineInvocationException = "39001" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidTableDefinition = "42P16" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidTablesampleArgument = "2202H" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidTablesampleRepeat = "2202G" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidTextRepresentation = "22P02" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidTimeZoneDisplacementValue = "22009" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidTransactionInitiation = "0B000" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidTransactionState = "25000" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidTransactionTermination = "2D000" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidUseOfEscapeCharacter = "2200C" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidXmlComment = "2200S" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidXmlContent = "2200N" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidXmlDocument = "2200M" -> string! +const YBNpgsql.PostgresErrorCodes.InvalidXmlProcessingInstruction = "2200T" -> string! +const YBNpgsql.PostgresErrorCodes.IoError = "58030" -> string! +const YBNpgsql.PostgresErrorCodes.LocatorException = "0F000" -> string! +const YBNpgsql.PostgresErrorCodes.LockFileExists = "F0001" -> string! +const YBNpgsql.PostgresErrorCodes.LockNotAvailable = "55P03" -> string! +const YBNpgsql.PostgresErrorCodes.ModifyingSqlDataNotPermittedExternalRoutineException = "38002" -> string! +const YBNpgsql.PostgresErrorCodes.ModifyingSqlDataNotPermittedSqlRoutineException = "2F002" -> string! +const YBNpgsql.PostgresErrorCodes.MostSpecificTypeMismatch = "2200G" -> string! +const YBNpgsql.PostgresErrorCodes.NameTooLong = "42622" -> string! +const YBNpgsql.PostgresErrorCodes.NoActiveSqlTransaction = "25P01" -> string! +const YBNpgsql.PostgresErrorCodes.NoActiveSqlTransactionForBranchTransaction = "25005" -> string! +const YBNpgsql.PostgresErrorCodes.NoAdditionalDynamicResultSetsReturned = "02001" -> string! +const YBNpgsql.PostgresErrorCodes.NoData = "02000" -> string! +const YBNpgsql.PostgresErrorCodes.NoDataFound = "P0002" -> string! +const YBNpgsql.PostgresErrorCodes.NonstandardUseOfEscapeCharacter = "22P06" -> string! +const YBNpgsql.PostgresErrorCodes.NotAnXmlDocument = "2200L" -> string! +const YBNpgsql.PostgresErrorCodes.NotNullViolation = "23502" -> string! +const YBNpgsql.PostgresErrorCodes.NullValueEliminatedInSetFunctionWarning = "01003" -> string! +const YBNpgsql.PostgresErrorCodes.NullValueNoIndicatorParameter = "22002" -> string! +const YBNpgsql.PostgresErrorCodes.NullValueNotAllowed = "22004" -> string! +const YBNpgsql.PostgresErrorCodes.NullValueNotAllowedExternalRoutineInvocationException = "39004" -> string! +const YBNpgsql.PostgresErrorCodes.NumericValueOutOfRange = "22003" -> string! +const YBNpgsql.PostgresErrorCodes.ObjectInUse = "55006" -> string! +const YBNpgsql.PostgresErrorCodes.ObjectNotInPrerequisiteState = "55000" -> string! +const YBNpgsql.PostgresErrorCodes.OperatorIntervention = "57000" -> string! +const YBNpgsql.PostgresErrorCodes.OutOfMemory = "53200" -> string! +const YBNpgsql.PostgresErrorCodes.PlpgsqlError = "P0000" -> string! +const YBNpgsql.PostgresErrorCodes.PrivilegeNotGrantedWarning = "01007" -> string! +const YBNpgsql.PostgresErrorCodes.PrivilegeNotRevokedWarning = "01006" -> string! +const YBNpgsql.PostgresErrorCodes.ProgramLimitExceeded = "54000" -> string! +const YBNpgsql.PostgresErrorCodes.ProhibitedSqlStatementAttemptedExternalRoutineException = "38003" -> string! +const YBNpgsql.PostgresErrorCodes.ProhibitedSqlStatementAttemptedSqlRoutineException = "2F003" -> string! +const YBNpgsql.PostgresErrorCodes.ProtocolViolation = "08P01" -> string! +const YBNpgsql.PostgresErrorCodes.QueryCanceled = "57014" -> string! +const YBNpgsql.PostgresErrorCodes.RaiseException = "P0001" -> string! +const YBNpgsql.PostgresErrorCodes.ReadingSqlDataNotPermittedExternalRoutineException = "38004" -> string! +const YBNpgsql.PostgresErrorCodes.ReadingSqlDataNotPermittedSqlRoutineException = "2F004" -> string! +const YBNpgsql.PostgresErrorCodes.ReadOnlySqlTransaction = "25006" -> string! +const YBNpgsql.PostgresErrorCodes.ReservedName = "42939" -> string! +const YBNpgsql.PostgresErrorCodes.RestrictViolation = "23001" -> string! +const YBNpgsql.PostgresErrorCodes.SavepointException = "3B000" -> string! +const YBNpgsql.PostgresErrorCodes.SchemaAndDataStatementMixingNotSupported = "25007" -> string! +const YBNpgsql.PostgresErrorCodes.SerializationFailure = "40001" -> string! +const YBNpgsql.PostgresErrorCodes.SnapshotFailure = "72000" -> string! +const YBNpgsql.PostgresErrorCodes.SqlClientUnableToEstablishSqlConnection = "08001" -> string! +const YBNpgsql.PostgresErrorCodes.SqlRoutineException = "2F000" -> string! +const YBNpgsql.PostgresErrorCodes.SqlServerRejectedEstablishmentOfSqlConnection = "08004" -> string! +const YBNpgsql.PostgresErrorCodes.SqlStatementNotYetComplete = "03000" -> string! +const YBNpgsql.PostgresErrorCodes.SrfProtocolViolatedExternalRoutineInvocationException = "39P02" -> string! +const YBNpgsql.PostgresErrorCodes.StackedDiagnosticsAccessedWithoutActiveHandler = "0Z002" -> string! +const YBNpgsql.PostgresErrorCodes.StatementCompletionUnknown = "40003" -> string! +const YBNpgsql.PostgresErrorCodes.StatementTooComplex = "54001" -> string! +const YBNpgsql.PostgresErrorCodes.StringDataLengthMismatch = "22026" -> string! +const YBNpgsql.PostgresErrorCodes.StringDataRightTruncation = "22001" -> string! +const YBNpgsql.PostgresErrorCodes.StringDataRightTruncationWarning = "01004" -> string! +const YBNpgsql.PostgresErrorCodes.SubstringError = "22011" -> string! +const YBNpgsql.PostgresErrorCodes.SuccessfulCompletion = "00000" -> string! +const YBNpgsql.PostgresErrorCodes.SyntaxError = "42601" -> string! +const YBNpgsql.PostgresErrorCodes.SyntaxErrorOrAccessRuleViolation = "42000" -> string! +const YBNpgsql.PostgresErrorCodes.SystemError = "58000" -> string! +const YBNpgsql.PostgresErrorCodes.TooManyArguments = "54023" -> string! +const YBNpgsql.PostgresErrorCodes.TooManyColumns = "54011" -> string! +const YBNpgsql.PostgresErrorCodes.TooManyConnections = "53300" -> string! +const YBNpgsql.PostgresErrorCodes.TooManyRows = "P0003" -> string! +const YBNpgsql.PostgresErrorCodes.TransactionIntegrityConstraintViolation = "40002" -> string! +const YBNpgsql.PostgresErrorCodes.TransactionResolutionUnknown = "08007" -> string! +const YBNpgsql.PostgresErrorCodes.TransactionRollback = "40000" -> string! +const YBNpgsql.PostgresErrorCodes.TriggeredActionException = "09000" -> string! +const YBNpgsql.PostgresErrorCodes.TriggeredDataChangeViolation = "27000" -> string! +const YBNpgsql.PostgresErrorCodes.TriggerProtocolViolatedExternalRoutineInvocationException = "39P01" -> string! +const YBNpgsql.PostgresErrorCodes.TrimError = "22027" -> string! +const YBNpgsql.PostgresErrorCodes.UndefinedColumn = "42703" -> string! +const YBNpgsql.PostgresErrorCodes.UndefinedFile = "58P01" -> string! +const YBNpgsql.PostgresErrorCodes.UndefinedFunction = "42883" -> string! +const YBNpgsql.PostgresErrorCodes.UndefinedObject = "42704" -> string! +const YBNpgsql.PostgresErrorCodes.UndefinedParameter = "42P02" -> string! +const YBNpgsql.PostgresErrorCodes.UndefinedTable = "42P01" -> string! +const YBNpgsql.PostgresErrorCodes.UniqueViolation = "23505" -> string! +const YBNpgsql.PostgresErrorCodes.UnterminatedCString = "22024" -> string! +const YBNpgsql.PostgresErrorCodes.UntranslatableCharacter = "22P05" -> string! +const YBNpgsql.PostgresErrorCodes.Warning = "01000" -> string! +const YBNpgsql.PostgresErrorCodes.WindowingError = "42P20" -> string! +const YBNpgsql.PostgresErrorCodes.WithCheckOptionViolation = "44000" -> string! +const YBNpgsql.PostgresErrorCodes.WrongObjectType = "42809" -> string! +const YBNpgsql.PostgresErrorCodes.ZeroLengthCharacterString = "2200F" -> string! +YBNpgsql.ArrayNullabilityMode +YBNpgsql.ArrayNullabilityMode.Always = 1 -> YBNpgsql.ArrayNullabilityMode +YBNpgsql.ArrayNullabilityMode.Never = 0 -> YBNpgsql.ArrayNullabilityMode +YBNpgsql.ArrayNullabilityMode.PerInstance = 2 -> YBNpgsql.ArrayNullabilityMode +YBNpgsql.BackendMessages.FieldDescription +YBNpgsql.BackendMessages.FieldDescription.TypeModifier.get -> int +YBNpgsql.BackendMessages.FieldDescription.TypeModifier.set -> void +YBNpgsql.BackendMessages.FieldDescription.TypeSize.get -> short +YBNpgsql.BackendMessages.FieldDescription.TypeSize.set -> void +YBNpgsql.ChannelBinding +YBNpgsql.ChannelBinding.Disable = 0 -> YBNpgsql.ChannelBinding +YBNpgsql.ChannelBinding.Prefer = 1 -> YBNpgsql.ChannelBinding +YBNpgsql.ChannelBinding.Require = 2 -> YBNpgsql.ChannelBinding +YBNpgsql.INpgsqlNameTranslator +YBNpgsql.INpgsqlNameTranslator.TranslateMemberName(string! clrName) -> string! +YBNpgsql.INpgsqlNameTranslator.TranslateTypeName(string! clrName) -> string! +YBNpgsql.NameTranslation.NpgsqlNullNameTranslator +YBNpgsql.NameTranslation.NpgsqlNullNameTranslator.NpgsqlNullNameTranslator() -> void +YBNpgsql.NameTranslation.NpgsqlNullNameTranslator.TranslateMemberName(string! clrName) -> string! +YBNpgsql.NameTranslation.NpgsqlNullNameTranslator.TranslateTypeName(string! clrName) -> string! +YBNpgsql.NameTranslation.NpgsqlSnakeCaseNameTranslator +YBNpgsql.NameTranslation.NpgsqlSnakeCaseNameTranslator.NpgsqlSnakeCaseNameTranslator(bool legacyMode, System.Globalization.CultureInfo? culture = null) -> void +YBNpgsql.NameTranslation.NpgsqlSnakeCaseNameTranslator.NpgsqlSnakeCaseNameTranslator(System.Globalization.CultureInfo? culture = null) -> void +YBNpgsql.NameTranslation.NpgsqlSnakeCaseNameTranslator.TranslateMemberName(string! clrName) -> string! +YBNpgsql.NameTranslation.NpgsqlSnakeCaseNameTranslator.TranslateTypeName(string! clrName) -> string! +YBNpgsql.NoticeEventHandler +YBNpgsql.NotificationEventHandler +YBNpgsql.NpgsqlBatch +YBNpgsql.NpgsqlBatch.BatchCommands.get -> YBNpgsql.NpgsqlBatchCommandCollection! +YBNpgsql.NpgsqlBatch.Connection.get -> YBNpgsql.NpgsqlConnection? +YBNpgsql.NpgsqlBatch.Connection.set -> void +YBNpgsql.NpgsqlBatch.CreateBatchCommand() -> YBNpgsql.NpgsqlBatchCommand! +YBNpgsql.NpgsqlBatch.EnableErrorBarriers.get -> bool +YBNpgsql.NpgsqlBatch.EnableErrorBarriers.set -> void +YBNpgsql.NpgsqlBatch.ExecuteReader(System.Data.CommandBehavior behavior = System.Data.CommandBehavior.Default) -> YBNpgsql.NpgsqlDataReader! +YBNpgsql.NpgsqlBatch.ExecuteReaderAsync(System.Data.CommandBehavior behavior, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlBatch.ExecuteReaderAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlBatch.NpgsqlBatch(YBNpgsql.NpgsqlConnection? connection = null, YBNpgsql.NpgsqlTransaction? transaction = null) -> void +YBNpgsql.NpgsqlBatch.Transaction.get -> YBNpgsql.NpgsqlTransaction? +YBNpgsql.NpgsqlBatch.Transaction.set -> void +YBNpgsql.NpgsqlBatchCommand +YBNpgsql.NpgsqlBatchCommand.AppendErrorBarrier.get -> bool? +YBNpgsql.NpgsqlBatchCommand.AppendErrorBarrier.set -> void +YBNpgsql.NpgsqlBatchCommand.NpgsqlBatchCommand() -> void +YBNpgsql.NpgsqlBatchCommand.NpgsqlBatchCommand(string! commandText) -> void +YBNpgsql.NpgsqlBatchCommand.OID.get -> uint +YBNpgsql.NpgsqlBatchCommand.Parameters.get -> YBNpgsql.NpgsqlParameterCollection! +YBNpgsql.NpgsqlBatchCommand.Rows.get -> ulong +YBNpgsql.NpgsqlBatchCommand.StatementType.get -> YBNpgsql.StatementType +YBNpgsql.NpgsqlBatchCommandCollection +YBNpgsql.NpgsqlBatchCommandCollection.Add(YBNpgsql.NpgsqlBatchCommand! item) -> void +YBNpgsql.NpgsqlBatchCommandCollection.Contains(YBNpgsql.NpgsqlBatchCommand! item) -> bool +YBNpgsql.NpgsqlBatchCommandCollection.CopyTo(YBNpgsql.NpgsqlBatchCommand![]! array, int arrayIndex) -> void +YBNpgsql.NpgsqlBatchCommandCollection.IndexOf(YBNpgsql.NpgsqlBatchCommand! item) -> int +YBNpgsql.NpgsqlBatchCommandCollection.Insert(int index, YBNpgsql.NpgsqlBatchCommand! item) -> void +YBNpgsql.NpgsqlBatchCommandCollection.Remove(YBNpgsql.NpgsqlBatchCommand! item) -> bool +YBNpgsql.NpgsqlBatchCommandCollection.this[int index].get -> YBNpgsql.NpgsqlBatchCommand! +YBNpgsql.NpgsqlBatchCommandCollection.this[int index].set -> void +YBNpgsql.NpgsqlBinaryExporter +YBNpgsql.NpgsqlBinaryExporter.Cancel() -> void +YBNpgsql.NpgsqlBinaryExporter.CancelAsync() -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlBinaryExporter.Dispose() -> void +YBNpgsql.NpgsqlBinaryExporter.DisposeAsync() -> System.Threading.Tasks.ValueTask +YBNpgsql.NpgsqlBinaryExporter.IsNull.get -> bool +YBNpgsql.NpgsqlBinaryExporter.Read() -> T +YBNpgsql.NpgsqlBinaryExporter.Read(YBNpgsqlTypes.NpgsqlDbType type) -> T +YBNpgsql.NpgsqlBinaryExporter.ReadAsync(YBNpgsqlTypes.NpgsqlDbType type, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask +YBNpgsql.NpgsqlBinaryExporter.ReadAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask +YBNpgsql.NpgsqlBinaryExporter.Skip() -> void +YBNpgsql.NpgsqlBinaryExporter.SkipAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlBinaryExporter.StartRow() -> int +YBNpgsql.NpgsqlBinaryExporter.StartRowAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask +YBNpgsql.NpgsqlBinaryExporter.Timeout.set -> void +YBNpgsql.NpgsqlBinaryImporter +YBNpgsql.NpgsqlBinaryImporter.Close() -> void +YBNpgsql.NpgsqlBinaryImporter.CloseAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask +YBNpgsql.NpgsqlBinaryImporter.Complete() -> ulong +YBNpgsql.NpgsqlBinaryImporter.CompleteAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask +YBNpgsql.NpgsqlBinaryImporter.Dispose() -> void +YBNpgsql.NpgsqlBinaryImporter.DisposeAsync() -> System.Threading.Tasks.ValueTask +YBNpgsql.NpgsqlBinaryImporter.StartRow() -> void +YBNpgsql.NpgsqlBinaryImporter.StartRowAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlBinaryImporter.Timeout.set -> void +YBNpgsql.NpgsqlBinaryImporter.Write(T value) -> void +YBNpgsql.NpgsqlBinaryImporter.Write(T value, YBNpgsqlTypes.NpgsqlDbType npgsqlDbType) -> void +YBNpgsql.NpgsqlBinaryImporter.Write(T value, string! dataTypeName) -> void +YBNpgsql.NpgsqlBinaryImporter.WriteAsync(T value, YBNpgsqlTypes.NpgsqlDbType npgsqlDbType, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlBinaryImporter.WriteAsync(T value, string! dataTypeName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlBinaryImporter.WriteAsync(T value, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlBinaryImporter.WriteNull() -> void +YBNpgsql.NpgsqlBinaryImporter.WriteNullAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlBinaryImporter.WriteRow(params object?[]! values) -> void +YBNpgsql.NpgsqlBinaryImporter.WriteRowAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken), params object?[]! values) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlCommand +YBNpgsql.NpgsqlCommand.AllResultTypesAreUnknown.get -> bool +YBNpgsql.NpgsqlCommand.AllResultTypesAreUnknown.set -> void +YBNpgsql.NpgsqlCommand.Connection.get -> YBNpgsql.NpgsqlConnection? +YBNpgsql.NpgsqlCommand.Connection.set -> void +YBNpgsql.NpgsqlCommand.CreateParameter() -> YBNpgsql.NpgsqlParameter! +YBNpgsql.NpgsqlCommand.Disposed -> System.EventHandler? +YBNpgsql.NpgsqlCommand.ExecuteReader(System.Data.CommandBehavior behavior = System.Data.CommandBehavior.Default) -> YBNpgsql.NpgsqlDataReader! +YBNpgsql.NpgsqlCommand.ExecuteReaderAsync(System.Data.CommandBehavior behavior, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlCommand.ExecuteReaderAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlCommand.IsPrepared.get -> bool +YBNpgsql.NpgsqlCommand.NpgsqlCommand() -> void +YBNpgsql.NpgsqlCommand.NpgsqlCommand(string? cmdText) -> void +YBNpgsql.NpgsqlCommand.NpgsqlCommand(string? cmdText, YBNpgsql.NpgsqlConnection? connection) -> void +YBNpgsql.NpgsqlCommand.NpgsqlCommand(string? cmdText, YBNpgsql.NpgsqlConnection? connection, YBNpgsql.NpgsqlTransaction? transaction) -> void +YBNpgsql.NpgsqlCommand.Parameters.get -> YBNpgsql.NpgsqlParameterCollection! +YBNpgsql.NpgsqlCommand.Statements.get -> System.Collections.Generic.IReadOnlyList! +YBNpgsql.NpgsqlCommand.Transaction.get -> YBNpgsql.NpgsqlTransaction? +YBNpgsql.NpgsqlCommand.Transaction.set -> void +YBNpgsql.NpgsqlCommand.UnknownResultTypeList.get -> bool[]? +YBNpgsql.NpgsqlCommand.UnknownResultTypeList.set -> void +YBNpgsql.NpgsqlCommand.Unprepare() -> void +YBNpgsql.NpgsqlCommand.UnprepareAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlCommandBuilder +YBNpgsql.NpgsqlCommandBuilder.GetDeleteCommand() -> YBNpgsql.NpgsqlCommand! +YBNpgsql.NpgsqlCommandBuilder.GetDeleteCommand(bool useColumnsForParameterNames) -> YBNpgsql.NpgsqlCommand! +YBNpgsql.NpgsqlCommandBuilder.GetInsertCommand() -> YBNpgsql.NpgsqlCommand! +YBNpgsql.NpgsqlCommandBuilder.GetInsertCommand(bool useColumnsForParameterNames) -> YBNpgsql.NpgsqlCommand! +YBNpgsql.NpgsqlCommandBuilder.GetUpdateCommand() -> YBNpgsql.NpgsqlCommand! +YBNpgsql.NpgsqlCommandBuilder.GetUpdateCommand(bool useColumnsForParameterNames) -> YBNpgsql.NpgsqlCommand! +YBNpgsql.NpgsqlCommandBuilder.NpgsqlCommandBuilder() -> void +YBNpgsql.NpgsqlCommandBuilder.NpgsqlCommandBuilder(YBNpgsql.NpgsqlDataAdapter? adapter) -> void +YBNpgsql.NpgsqlConnection +YBNpgsql.NpgsqlConnection.BeginBinaryExport(string! copyToCommand) -> YBNpgsql.NpgsqlBinaryExporter! +YBNpgsql.NpgsqlConnection.BeginBinaryExportAsync(string! copyToCommand, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlConnection.BeginBinaryImport(string! copyFromCommand) -> YBNpgsql.NpgsqlBinaryImporter! +YBNpgsql.NpgsqlConnection.BeginBinaryImportAsync(string! copyFromCommand, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlConnection.BeginRawBinaryCopy(string! copyCommand) -> YBNpgsql.NpgsqlRawCopyStream! +YBNpgsql.NpgsqlConnection.BeginRawBinaryCopyAsync(string! copyCommand, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlConnection.BeginTextExport(string! copyToCommand) -> System.IO.TextReader! +YBNpgsql.NpgsqlConnection.BeginTextExportAsync(string! copyToCommand, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlConnection.BeginTextImport(string! copyFromCommand) -> System.IO.TextWriter! +YBNpgsql.NpgsqlConnection.BeginTextImportAsync(string! copyFromCommand, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlConnection.BeginTransaction() -> YBNpgsql.NpgsqlTransaction! +YBNpgsql.NpgsqlConnection.BeginTransaction(System.Data.IsolationLevel level) -> YBNpgsql.NpgsqlTransaction! +YBNpgsql.NpgsqlConnection.BeginTransactionAsync(System.Data.IsolationLevel level, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask +YBNpgsql.NpgsqlConnection.BeginTransactionAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask +YBNpgsql.NpgsqlConnection.CloneWith(string! connectionString) -> YBNpgsql.NpgsqlConnection! +YBNpgsql.NpgsqlConnection.CommandTimeout.get -> int +YBNpgsql.NpgsqlConnection.CreateBatch() -> YBNpgsql.NpgsqlBatch! +YBNpgsql.NpgsqlConnection.CreateCommand() -> YBNpgsql.NpgsqlCommand! +YBNpgsql.NpgsqlConnection.Disposed -> System.EventHandler? +YBNpgsql.NpgsqlConnection.FullState.get -> System.Data.ConnectionState +YBNpgsql.NpgsqlConnection.HasIntegerDateTimes.get -> bool +YBNpgsql.NpgsqlConnection.Host.get -> string? +YBNpgsql.NpgsqlConnection.Notice -> YBNpgsql.NoticeEventHandler? +YBNpgsql.NpgsqlConnection.Notification -> YBNpgsql.NotificationEventHandler? +YBNpgsql.NpgsqlConnection.NpgsqlConnection() -> void +YBNpgsql.NpgsqlConnection.NpgsqlConnection(string? connectionString) -> void +YBNpgsql.NpgsqlConnection.Port.get -> int +YBNpgsql.NpgsqlConnection.PostgresParameters.get -> System.Collections.Generic.IReadOnlyDictionary! +YBNpgsql.NpgsqlConnection.PostgreSqlVersion.get -> System.Version! +YBNpgsql.NpgsqlConnection.ProcessID.get -> int +YBNpgsql.NpgsqlConnection.ProvideClientCertificatesCallback.get -> YBNpgsql.ProvideClientCertificatesCallback? +YBNpgsql.NpgsqlConnection.ProvideClientCertificatesCallback.set -> void +YBNpgsql.NpgsqlConnection.ProvidePasswordCallback.get -> YBNpgsql.ProvidePasswordCallback? +YBNpgsql.NpgsqlConnection.ProvidePasswordCallback.set -> void +YBNpgsql.NpgsqlConnection.ReloadTypes() -> void +YBNpgsql.NpgsqlConnection.ReloadTypesAsync() -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlConnection.Timezone.get -> string! +YBNpgsql.NpgsqlConnection.TypeMapper.get -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! +YBNpgsql.NpgsqlConnection.UnprepareAll() -> void +YBNpgsql.NpgsqlConnection.UserCertificateValidationCallback.get -> System.Net.Security.RemoteCertificateValidationCallback? +YBNpgsql.NpgsqlConnection.UserCertificateValidationCallback.set -> void +YBNpgsql.NpgsqlConnection.UserName.get -> string? +YBNpgsql.NpgsqlConnection.Wait() -> void +YBNpgsql.NpgsqlConnection.Wait(int timeout) -> bool +YBNpgsql.NpgsqlConnection.Wait(System.TimeSpan timeout) -> bool +YBNpgsql.NpgsqlConnection.WaitAsync(int timeout, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlConnection.WaitAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlConnection.WaitAsync(System.TimeSpan timeout, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlConnectionStringBuilder +YBNpgsql.NpgsqlConnectionStringBuilder.Add(System.Collections.Generic.KeyValuePair item) -> void +YBNpgsql.NpgsqlConnectionStringBuilder.ApplicationName.get -> string? +YBNpgsql.NpgsqlConnectionStringBuilder.ApplicationName.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.ArrayNullabilityMode.get -> YBNpgsql.ArrayNullabilityMode +YBNpgsql.NpgsqlConnectionStringBuilder.ArrayNullabilityMode.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.AutoPrepareMinUsages.get -> int +YBNpgsql.NpgsqlConnectionStringBuilder.AutoPrepareMinUsages.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.CancellationTimeout.get -> int +YBNpgsql.NpgsqlConnectionStringBuilder.CancellationTimeout.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.ChannelBinding.get -> YBNpgsql.ChannelBinding +YBNpgsql.NpgsqlConnectionStringBuilder.ChannelBinding.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.CheckCertificateRevocation.get -> bool +YBNpgsql.NpgsqlConnectionStringBuilder.CheckCertificateRevocation.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.ClientEncoding.get -> string? +YBNpgsql.NpgsqlConnectionStringBuilder.ClientEncoding.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.CommandTimeout.get -> int +YBNpgsql.NpgsqlConnectionStringBuilder.CommandTimeout.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.ConnectionIdleLifetime.get -> int +YBNpgsql.NpgsqlConnectionStringBuilder.ConnectionIdleLifetime.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.ConnectionLifetime.get -> int +YBNpgsql.NpgsqlConnectionStringBuilder.ConnectionLifetime.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.ConnectionPruningInterval.get -> int +YBNpgsql.NpgsqlConnectionStringBuilder.ConnectionPruningInterval.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.Contains(System.Collections.Generic.KeyValuePair item) -> bool +YBNpgsql.NpgsqlConnectionStringBuilder.CopyTo(System.Collections.Generic.KeyValuePair[]! array, int arrayIndex) -> void +YBNpgsql.NpgsqlConnectionStringBuilder.Database.get -> string? +YBNpgsql.NpgsqlConnectionStringBuilder.Database.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.Encoding.get -> string! +YBNpgsql.NpgsqlConnectionStringBuilder.Encoding.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.Enlist.get -> bool +YBNpgsql.NpgsqlConnectionStringBuilder.Enlist.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.GetEnumerator() -> System.Collections.Generic.IEnumerator>! +YBNpgsql.NpgsqlConnectionStringBuilder.Host.get -> string? +YBNpgsql.NpgsqlConnectionStringBuilder.Host.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.HostRecheckSeconds.get -> int +YBNpgsql.NpgsqlConnectionStringBuilder.HostRecheckSeconds.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.IncludeErrorDetail.get -> bool +YBNpgsql.NpgsqlConnectionStringBuilder.IncludeErrorDetail.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.IncludeRealm.get -> bool +YBNpgsql.NpgsqlConnectionStringBuilder.IncludeRealm.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.InternalCommandTimeout.get -> int +YBNpgsql.NpgsqlConnectionStringBuilder.InternalCommandTimeout.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.KeepAlive.get -> int +YBNpgsql.NpgsqlConnectionStringBuilder.KeepAlive.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.KerberosServiceName.get -> string! +YBNpgsql.NpgsqlConnectionStringBuilder.KerberosServiceName.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.Keys.get -> System.Collections.Generic.ICollection! +YBNpgsql.LoadBalanceHosts +YBNpgsql.LoadBalanceHosts.OnlyRR = 1 -> YBNpgsql.LoadBalanceHosts +YBNpgsql.LoadBalanceHosts.False = 0 -> YBNpgsql.LoadBalanceHosts +YBNpgsql.LoadBalanceHosts.OnlyPrimary = 2 -> YBNpgsql.LoadBalanceHosts +YBNpgsql.LoadBalanceHosts.PreferRR = 3 -> YBNpgsql.LoadBalanceHosts +YBNpgsql.LoadBalanceHosts.PreferPrimary = 4 -> YBNpgsql.LoadBalanceHosts +YBNpgsql.LoadBalanceHosts.Any = 5 -> YBNpgsql.LoadBalanceHosts +YBNpgsql.LoadBalanceHosts.True = 6 -> YBNpgsql.LoadBalanceHosts +YBNpgsql.NpgsqlConnectionStringBuilder.LoadBalanceHosts.get -> YBNpgsql.LoadBalanceHosts +YBNpgsql.NpgsqlConnectionStringBuilder.LoadBalanceHosts.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.LoadTableComposites.get -> bool +YBNpgsql.NpgsqlConnectionStringBuilder.LoadTableComposites.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.LogParameters.get -> bool +YBNpgsql.NpgsqlConnectionStringBuilder.LogParameters.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.MaxAutoPrepare.get -> int +YBNpgsql.NpgsqlConnectionStringBuilder.MaxAutoPrepare.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.MaxPoolSize.get -> int +YBNpgsql.NpgsqlConnectionStringBuilder.MaxPoolSize.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.MinPoolSize.get -> int +YBNpgsql.NpgsqlConnectionStringBuilder.MinPoolSize.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.Multiplexing.get -> bool +YBNpgsql.NpgsqlConnectionStringBuilder.Multiplexing.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.NoResetOnClose.get -> bool +YBNpgsql.NpgsqlConnectionStringBuilder.NoResetOnClose.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.NpgsqlConnectionStringBuilder() -> void +YBNpgsql.NpgsqlConnectionStringBuilder.NpgsqlConnectionStringBuilder(bool useOdbcRules) -> void +YBNpgsql.NpgsqlConnectionStringBuilder.NpgsqlConnectionStringBuilder(string? connectionString) -> void +YBNpgsql.NpgsqlConnectionStringBuilder.Options.get -> string? +YBNpgsql.NpgsqlConnectionStringBuilder.Options.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.Passfile.get -> string? +YBNpgsql.NpgsqlConnectionStringBuilder.Passfile.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.Password.get -> string? +YBNpgsql.NpgsqlConnectionStringBuilder.Password.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.PersistSecurityInfo.get -> bool +YBNpgsql.NpgsqlConnectionStringBuilder.PersistSecurityInfo.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.Pooling.get -> bool +YBNpgsql.NpgsqlConnectionStringBuilder.Pooling.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.Port.get -> int +YBNpgsql.NpgsqlConnectionStringBuilder.Port.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.ReadBufferSize.get -> int +YBNpgsql.NpgsqlConnectionStringBuilder.ReadBufferSize.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.Remove(System.Collections.Generic.KeyValuePair item) -> bool +YBNpgsql.NpgsqlConnectionStringBuilder.RootCertificate.get -> string? +YBNpgsql.NpgsqlConnectionStringBuilder.RootCertificate.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.SearchPath.get -> string? +YBNpgsql.NpgsqlConnectionStringBuilder.SearchPath.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.ServerCompatibilityMode.get -> YBNpgsql.ServerCompatibilityMode +YBNpgsql.NpgsqlConnectionStringBuilder.ServerCompatibilityMode.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.SocketReceiveBufferSize.get -> int +YBNpgsql.NpgsqlConnectionStringBuilder.SocketReceiveBufferSize.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.SocketSendBufferSize.get -> int +YBNpgsql.NpgsqlConnectionStringBuilder.SocketSendBufferSize.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.SslCertificate.get -> string? +YBNpgsql.NpgsqlConnectionStringBuilder.SslCertificate.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.SslKey.get -> string? +YBNpgsql.NpgsqlConnectionStringBuilder.SslKey.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.SslMode.get -> YBNpgsql.SslMode +YBNpgsql.NpgsqlConnectionStringBuilder.SslMode.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.SslPassword.get -> string? +YBNpgsql.NpgsqlConnectionStringBuilder.SslPassword.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.TargetSessionAttributes.get -> string? +YBNpgsql.NpgsqlConnectionStringBuilder.TargetSessionAttributes.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.TcpKeepAlive.get -> bool +YBNpgsql.NpgsqlConnectionStringBuilder.TcpKeepAlive.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.TcpKeepAliveInterval.get -> int +YBNpgsql.NpgsqlConnectionStringBuilder.TcpKeepAliveInterval.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.TcpKeepAliveTime.get -> int +YBNpgsql.NpgsqlConnectionStringBuilder.TcpKeepAliveTime.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.Timeout.get -> int +YBNpgsql.NpgsqlConnectionStringBuilder.Timeout.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.Timezone.get -> string? +YBNpgsql.NpgsqlConnectionStringBuilder.Timezone.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.TrustServerCertificate.get -> bool +YBNpgsql.NpgsqlConnectionStringBuilder.TrustServerCertificate.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.Username.get -> string? +YBNpgsql.NpgsqlConnectionStringBuilder.Username.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.Values.get -> System.Collections.Generic.ICollection! +YBNpgsql.NpgsqlConnectionStringBuilder.WriteBufferSize.get -> int +YBNpgsql.NpgsqlConnectionStringBuilder.WriteBufferSize.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.WriteCoalescingBufferThresholdBytes.get -> int +YBNpgsql.NpgsqlConnectionStringBuilder.WriteCoalescingBufferThresholdBytes.set -> void +YBNpgsql.NpgsqlCopyTextReader +YBNpgsql.NpgsqlCopyTextReader.Cancel() -> void +YBNpgsql.NpgsqlCopyTextReader.CancelAsync() -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlCopyTextReader.DisposeAsync() -> System.Threading.Tasks.ValueTask +YBNpgsql.NpgsqlCopyTextWriter +YBNpgsql.NpgsqlCopyTextWriter.Cancel() -> void +YBNpgsql.NpgsqlCopyTextWriter.CancelAsync() -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlDataAdapter +YBNpgsql.NpgsqlDataAdapter.DeleteCommand.get -> YBNpgsql.NpgsqlCommand? +YBNpgsql.NpgsqlDataAdapter.DeleteCommand.set -> void +YBNpgsql.NpgsqlDataAdapter.InsertCommand.get -> YBNpgsql.NpgsqlCommand? +YBNpgsql.NpgsqlDataAdapter.InsertCommand.set -> void +YBNpgsql.NpgsqlDataAdapter.NpgsqlDataAdapter() -> void +YBNpgsql.NpgsqlDataAdapter.NpgsqlDataAdapter(YBNpgsql.NpgsqlCommand! selectCommand) -> void +YBNpgsql.NpgsqlDataAdapter.NpgsqlDataAdapter(string! selectCommandText, YBNpgsql.NpgsqlConnection! selectConnection) -> void +YBNpgsql.NpgsqlDataAdapter.NpgsqlDataAdapter(string! selectCommandText, string! selectConnectionString) -> void +YBNpgsql.NpgsqlDataAdapter.RowUpdated -> YBNpgsql.NpgsqlRowUpdatedEventHandler? +YBNpgsql.NpgsqlDataAdapter.RowUpdating -> YBNpgsql.NpgsqlRowUpdatingEventHandler? +YBNpgsql.NpgsqlDataAdapter.SelectCommand.get -> YBNpgsql.NpgsqlCommand? +YBNpgsql.NpgsqlDataAdapter.SelectCommand.set -> void +YBNpgsql.NpgsqlDataAdapter.UpdateCommand.get -> YBNpgsql.NpgsqlCommand? +YBNpgsql.NpgsqlDataAdapter.UpdateCommand.set -> void +YBNpgsql.NpgsqlDataReader +YBNpgsql.NpgsqlDataReader.GetColumnSchema() -> System.Collections.ObjectModel.ReadOnlyCollection! +YBNpgsql.NpgsqlDataReader.GetColumnSchemaAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task!>! +YBNpgsql.NpgsqlDataReader.GetData(int ordinal) -> YBNpgsql.NpgsqlNestedDataReader! +YBNpgsql.NpgsqlDataReader.GetDataTypeOID(int ordinal) -> uint +YBNpgsql.NpgsqlDataReader.GetPostgresType(int ordinal) -> YBNpgsql.PostgresTypes.PostgresType! +YBNpgsql.NpgsqlDataReader.GetStreamAsync(int ordinal, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlDataReader.GetTextReaderAsync(int ordinal, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlDataReader.GetTimeSpan(int ordinal) -> System.TimeSpan +YBNpgsql.NpgsqlDataReader.IsOnRow.get -> bool +YBNpgsql.NpgsqlDataReader.ReaderClosed -> System.EventHandler? +YBNpgsql.NpgsqlDataReader.Rows.get -> ulong +YBNpgsql.NpgsqlDataReader.Statements.get -> System.Collections.Generic.IReadOnlyList! +YBNpgsql.NpgsqlDataSource +YBNpgsql.NpgsqlDataSource.CreateBatch() -> YBNpgsql.NpgsqlBatch! +YBNpgsql.NpgsqlDataSource.CreateCommand(string? commandText = null) -> YBNpgsql.NpgsqlCommand! +YBNpgsql.NpgsqlDataSource.CreateConnection() -> YBNpgsql.NpgsqlConnection! +YBNpgsql.NpgsqlDataSource.OpenConnection() -> YBNpgsql.NpgsqlConnection! +YBNpgsql.NpgsqlDataSource.OpenConnectionAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask +YBNpgsql.NpgsqlDataSource.Password.set -> void +YBNpgsql.NpgsqlDataSourceBuilder +YBNpgsql.NpgsqlDataSourceBuilder.AddTypeInfoResolverFactory(YBNpgsql.Internal.PgTypeInfoResolverFactory! factory) -> void +YBNpgsql.NpgsqlDataSourceBuilder.Build() -> YBNpgsql.NpgsqlDataSource! +YBNpgsql.NpgsqlDataSourceBuilder.BuildMultiHost() -> YBNpgsql.NpgsqlMultiHostDataSource! +YBNpgsql.NpgsqlDataSourceBuilder.ConfigureJsonOptions(System.Text.Json.JsonSerializerOptions! serializerOptions) -> YBNpgsql.NpgsqlDataSourceBuilder! +YBNpgsql.NpgsqlDataSourceBuilder.ConnectionString.get -> string! +YBNpgsql.NpgsqlDataSourceBuilder.ConnectionStringBuilder.get -> YBNpgsql.NpgsqlConnectionStringBuilder! +YBNpgsql.NpgsqlDataSourceBuilder.DefaultNameTranslator.get -> YBNpgsql.INpgsqlNameTranslator! +YBNpgsql.NpgsqlDataSourceBuilder.DefaultNameTranslator.set -> void +YBNpgsql.NpgsqlDataSourceBuilder.EnableDynamicJson(System.Type![]? jsonbClrTypes = null, System.Type![]? jsonClrTypes = null) -> YBNpgsql.NpgsqlDataSourceBuilder! +YBNpgsql.NpgsqlDataSourceBuilder.EnableParameterLogging(bool parameterLoggingEnabled = true) -> YBNpgsql.NpgsqlDataSourceBuilder! +YBNpgsql.NpgsqlDataSourceBuilder.EnableRecordsAsTuples() -> YBNpgsql.NpgsqlDataSourceBuilder! +YBNpgsql.NpgsqlDataSourceBuilder.EnableUnmappedTypes() -> YBNpgsql.NpgsqlDataSourceBuilder! +YBNpgsql.NpgsqlDataSourceBuilder.MapComposite(System.Type! clrType, string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! +YBNpgsql.NpgsqlDataSourceBuilder.MapComposite(string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! +YBNpgsql.NpgsqlDataSourceBuilder.MapEnum(System.Type! clrType, string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! +YBNpgsql.NpgsqlDataSourceBuilder.MapEnum(string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! +YBNpgsql.NpgsqlDataSourceBuilder.Name.get -> string? +YBNpgsql.NpgsqlDataSourceBuilder.Name.set -> void +YBNpgsql.NpgsqlDataSourceBuilder.NpgsqlDataSourceBuilder(string? connectionString = null) -> void +YBNpgsql.NpgsqlDataSourceBuilder.UnmapComposite(System.Type! clrType, string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> bool +YBNpgsql.NpgsqlDataSourceBuilder.UnmapComposite(string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> bool +YBNpgsql.NpgsqlDataSourceBuilder.UnmapEnum(System.Type! clrType, string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> bool +YBNpgsql.NpgsqlDataSourceBuilder.UnmapEnum(string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> bool +YBNpgsql.NpgsqlDataSourceBuilder.UseClientCertificate(System.Security.Cryptography.X509Certificates.X509Certificate? clientCertificate) -> YBNpgsql.NpgsqlDataSourceBuilder! +YBNpgsql.NpgsqlDataSourceBuilder.UseClientCertificates(System.Security.Cryptography.X509Certificates.X509CertificateCollection? clientCertificates) -> YBNpgsql.NpgsqlDataSourceBuilder! +YBNpgsql.NpgsqlDataSourceBuilder.UseClientCertificatesCallback(System.Action? clientCertificatesCallback) -> YBNpgsql.NpgsqlDataSourceBuilder! +YBNpgsql.NpgsqlDataSourceBuilder.UseLoggerFactory(Microsoft.Extensions.Logging.ILoggerFactory? loggerFactory) -> YBNpgsql.NpgsqlDataSourceBuilder! +YBNpgsql.NpgsqlDataSourceBuilder.UsePasswordProvider(System.Func? passwordProvider, System.Func>? passwordProviderAsync) -> YBNpgsql.NpgsqlDataSourceBuilder! +YBNpgsql.NpgsqlDataSourceBuilder.UsePeriodicPasswordProvider(System.Func>? passwordProvider, System.TimeSpan successRefreshInterval, System.TimeSpan failureRefreshInterval) -> YBNpgsql.NpgsqlDataSourceBuilder! +YBNpgsql.NpgsqlDataSourceBuilder.UsePhysicalConnectionInitializer(System.Action? connectionInitializer, System.Func? connectionInitializerAsync) -> YBNpgsql.NpgsqlDataSourceBuilder! +YBNpgsql.NpgsqlDataSourceBuilder.UseRootCertificate(System.Security.Cryptography.X509Certificates.X509Certificate2? rootCertificate) -> YBNpgsql.NpgsqlDataSourceBuilder! +YBNpgsql.NpgsqlDataSourceBuilder.UseRootCertificateCallback(System.Func? rootCertificateCallback) -> YBNpgsql.NpgsqlDataSourceBuilder! +YBNpgsql.NpgsqlDataSourceBuilder.UseUserCertificateValidationCallback(System.Net.Security.RemoteCertificateValidationCallback! userCertificateValidationCallback) -> YBNpgsql.NpgsqlDataSourceBuilder! +YBNpgsql.NpgsqlException +YBNpgsql.NpgsqlException.BatchCommand.get -> YBNpgsql.NpgsqlBatchCommand? +YBNpgsql.NpgsqlException.BatchCommand.set -> void +YBNpgsql.NpgsqlException.NpgsqlException() -> void +YBNpgsql.NpgsqlException.NpgsqlException(string? message) -> void +YBNpgsql.NpgsqlException.NpgsqlException(string? message, System.Exception? innerException) -> void +YBNpgsql.NpgsqlException.NpgsqlException(System.Runtime.Serialization.SerializationInfo! info, System.Runtime.Serialization.StreamingContext context) -> void +YBNpgsql.NpgsqlFactory +YBNpgsql.NpgsqlFactory.GetService(System.Type! serviceType) -> object? +YBNpgsql.NpgsqlLargeObjectManager +YBNpgsql.NpgsqlLargeObjectManager.Create(uint preferredOid = 0) -> uint +YBNpgsql.NpgsqlLargeObjectManager.CreateAsync(uint preferredOid, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlLargeObjectManager.ExportRemote(uint oid, string! path) -> void +YBNpgsql.NpgsqlLargeObjectManager.ExportRemoteAsync(uint oid, string! path, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlLargeObjectManager.Has64BitSupport.get -> bool +YBNpgsql.NpgsqlLargeObjectManager.ImportRemote(string! path, uint oid = 0) -> void +YBNpgsql.NpgsqlLargeObjectManager.ImportRemoteAsync(string! path, uint oid, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlLargeObjectManager.MaxTransferBlockSize.get -> int +YBNpgsql.NpgsqlLargeObjectManager.MaxTransferBlockSize.set -> void +YBNpgsql.NpgsqlLargeObjectManager.NpgsqlLargeObjectManager(YBNpgsql.NpgsqlConnection! connection) -> void +YBNpgsql.NpgsqlLargeObjectManager.OpenRead(uint oid) -> YBNpgsql.NpgsqlLargeObjectStream! +YBNpgsql.NpgsqlLargeObjectManager.OpenReadAsync(uint oid, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlLargeObjectManager.OpenReadWrite(uint oid) -> YBNpgsql.NpgsqlLargeObjectStream! +YBNpgsql.NpgsqlLargeObjectManager.OpenReadWriteAsync(uint oid, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlLargeObjectManager.Unlink(uint oid) -> void +YBNpgsql.NpgsqlLargeObjectManager.UnlinkAsync(uint oid, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlLargeObjectStream +YBNpgsql.NpgsqlLargeObjectStream.GetLengthAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlLargeObjectStream.Has64BitSupport.get -> bool +YBNpgsql.NpgsqlLargeObjectStream.SeekAsync(long offset, System.IO.SeekOrigin origin, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlLargeObjectStream.SetLength(long value, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlLoggingConfiguration +YBNpgsql.NpgsqlMultiHostDataSource +YBNpgsql.NpgsqlMultiHostDataSource.ClearDatabaseStates() -> void +YBNpgsql.NpgsqlMultiHostDataSource.CreateConnection(YBNpgsql.TargetSessionAttributes targetSessionAttributes) -> YBNpgsql.NpgsqlConnection! +YBNpgsql.NpgsqlMultiHostDataSource.OpenConnection(YBNpgsql.TargetSessionAttributes targetSessionAttributes) -> YBNpgsql.NpgsqlConnection! +YBNpgsql.NpgsqlMultiHostDataSource.OpenConnectionAsync(YBNpgsql.TargetSessionAttributes targetSessionAttributes, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask +YBNpgsql.NpgsqlMultiHostDataSource.WithTargetSession(YBNpgsql.TargetSessionAttributes targetSessionAttributes) -> YBNpgsql.NpgsqlDataSource! +YBNpgsql.NpgsqlNestedDataReader +YBNpgsql.NpgsqlNestedDataReader.GetData(int ordinal) -> YBNpgsql.NpgsqlNestedDataReader! +YBNpgsql.NpgsqlNoticeEventArgs +YBNpgsql.NpgsqlNoticeEventArgs.Notice.get -> YBNpgsql.PostgresNotice! +YBNpgsql.NpgsqlNotificationEventArgs +YBNpgsql.NpgsqlNotificationEventArgs.Channel.get -> string! +YBNpgsql.NpgsqlNotificationEventArgs.Payload.get -> string! +YBNpgsql.NpgsqlNotificationEventArgs.PID.get -> int +YBNpgsql.NpgsqlOperationInProgressException +YBNpgsql.NpgsqlOperationInProgressException.CommandInProgress.get -> YBNpgsql.NpgsqlCommand? +YBNpgsql.NpgsqlOperationInProgressException.NpgsqlOperationInProgressException(YBNpgsql.NpgsqlCommand! command) -> void +YBNpgsql.NpgsqlParameter +YBNpgsql.NpgsqlParameter.Clone() -> YBNpgsql.NpgsqlParameter! +YBNpgsql.NpgsqlParameter.Collection.get -> YBNpgsql.NpgsqlParameterCollection? +YBNpgsql.NpgsqlParameter.Collection.set -> void +YBNpgsql.NpgsqlParameter.DataTypeName.get -> string? +YBNpgsql.NpgsqlParameter.DataTypeName.set -> void +YBNpgsql.NpgsqlParameter.NpgsqlDbType.get -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsql.NpgsqlParameter.NpgsqlDbType.set -> void +YBNpgsql.NpgsqlParameter.NpgsqlParameter() -> void +YBNpgsql.NpgsqlParameter.NpgsqlParameter(string! parameterName, YBNpgsqlTypes.NpgsqlDbType parameterType, int size, string? sourceColumn, System.Data.ParameterDirection direction, bool isNullable, byte precision, byte scale, System.Data.DataRowVersion sourceVersion, object! value) -> void +YBNpgsql.NpgsqlParameter.NpgsqlParameter(string! parameterName, System.Data.DbType parameterType, int size, string? sourceColumn, System.Data.ParameterDirection direction, bool isNullable, byte precision, byte scale, System.Data.DataRowVersion sourceVersion, object! value) -> void +YBNpgsql.NpgsqlParameter.NpgsqlParameter(string? parameterName, YBNpgsqlTypes.NpgsqlDbType parameterType) -> void +YBNpgsql.NpgsqlParameter.NpgsqlParameter(string? parameterName, YBNpgsqlTypes.NpgsqlDbType parameterType, int size) -> void +YBNpgsql.NpgsqlParameter.NpgsqlParameter(string? parameterName, YBNpgsqlTypes.NpgsqlDbType parameterType, int size, string? sourceColumn) -> void +YBNpgsql.NpgsqlParameter.NpgsqlParameter(string? parameterName, object? value) -> void +YBNpgsql.NpgsqlParameter.NpgsqlParameter(string? parameterName, System.Data.DbType parameterType) -> void +YBNpgsql.NpgsqlParameter.NpgsqlParameter(string? parameterName, System.Data.DbType parameterType, int size) -> void +YBNpgsql.NpgsqlParameter.NpgsqlParameter(string? parameterName, System.Data.DbType parameterType, int size, string? sourceColumn) -> void +YBNpgsql.NpgsqlParameter.NpgsqlValue.get -> object? +YBNpgsql.NpgsqlParameter.NpgsqlValue.set -> void +YBNpgsql.NpgsqlParameter.PostgresType.get -> YBNpgsql.PostgresTypes.PostgresType? +YBNpgsql.NpgsqlParameter.Precision.get -> byte +YBNpgsql.NpgsqlParameter.Precision.set -> void +YBNpgsql.NpgsqlParameter.Scale.get -> byte +YBNpgsql.NpgsqlParameter.Scale.set -> void +YBNpgsql.NpgsqlParameter +YBNpgsql.NpgsqlParameter.NpgsqlParameter() -> void +YBNpgsql.NpgsqlParameter.NpgsqlParameter(string! parameterName, YBNpgsqlTypes.NpgsqlDbType npgsqlDbType) -> void +YBNpgsql.NpgsqlParameter.NpgsqlParameter(string! parameterName, System.Data.DbType dbType) -> void +YBNpgsql.NpgsqlParameter.NpgsqlParameter(string! parameterName, T value) -> void +YBNpgsql.NpgsqlParameter.TypedValue.get -> T? +YBNpgsql.NpgsqlParameter.TypedValue.set -> void +YBNpgsql.NpgsqlParameterCollection +YBNpgsql.NpgsqlParameterCollection.Add(YBNpgsql.NpgsqlParameter! value) -> YBNpgsql.NpgsqlParameter! +YBNpgsql.NpgsqlParameterCollection.Add(string! parameterName, YBNpgsqlTypes.NpgsqlDbType parameterType) -> YBNpgsql.NpgsqlParameter! +YBNpgsql.NpgsqlParameterCollection.Add(string! parameterName, YBNpgsqlTypes.NpgsqlDbType parameterType, int size) -> YBNpgsql.NpgsqlParameter! +YBNpgsql.NpgsqlParameterCollection.Add(string! parameterName, YBNpgsqlTypes.NpgsqlDbType parameterType, int size, string! sourceColumn) -> YBNpgsql.NpgsqlParameter! +YBNpgsql.NpgsqlParameterCollection.AddWithValue(YBNpgsqlTypes.NpgsqlDbType parameterType, object! value) -> YBNpgsql.NpgsqlParameter! +YBNpgsql.NpgsqlParameterCollection.AddWithValue(object! value) -> YBNpgsql.NpgsqlParameter! +YBNpgsql.NpgsqlParameterCollection.AddWithValue(string! parameterName, YBNpgsqlTypes.NpgsqlDbType parameterType, int size, object! value) -> YBNpgsql.NpgsqlParameter! +YBNpgsql.NpgsqlParameterCollection.AddWithValue(string! parameterName, YBNpgsqlTypes.NpgsqlDbType parameterType, int size, string? sourceColumn, object! value) -> YBNpgsql.NpgsqlParameter! +YBNpgsql.NpgsqlParameterCollection.AddWithValue(string! parameterName, YBNpgsqlTypes.NpgsqlDbType parameterType, object! value) -> YBNpgsql.NpgsqlParameter! +YBNpgsql.NpgsqlParameterCollection.AddWithValue(string! parameterName, object! value) -> YBNpgsql.NpgsqlParameter! +YBNpgsql.NpgsqlParameterCollection.Contains(YBNpgsql.NpgsqlParameter! item) -> bool +YBNpgsql.NpgsqlParameterCollection.CopyTo(YBNpgsql.NpgsqlParameter![]! array, int arrayIndex) -> void +YBNpgsql.NpgsqlParameterCollection.IndexOf(YBNpgsql.NpgsqlParameter! item) -> int +YBNpgsql.NpgsqlParameterCollection.Insert(int index, YBNpgsql.NpgsqlParameter! item) -> void +YBNpgsql.NpgsqlParameterCollection.Remove(YBNpgsql.NpgsqlParameter! item) -> bool +YBNpgsql.NpgsqlParameterCollection.Remove(string! parameterName) -> void +YBNpgsql.NpgsqlParameterCollection.this[int index].get -> YBNpgsql.NpgsqlParameter! +YBNpgsql.NpgsqlParameterCollection.this[int index].set -> void +YBNpgsql.NpgsqlParameterCollection.this[string! parameterName].get -> YBNpgsql.NpgsqlParameter! +YBNpgsql.NpgsqlParameterCollection.this[string! parameterName].set -> void +YBNpgsql.NpgsqlParameterCollection.ToArray() -> YBNpgsql.NpgsqlParameter![]! +YBNpgsql.NpgsqlParameterCollection.TryGetValue(string! parameterName, out YBNpgsql.NpgsqlParameter? parameter) -> bool +YBNpgsql.NpgsqlRawCopyStream +YBNpgsql.NpgsqlRawCopyStream.Cancel() -> void +YBNpgsql.NpgsqlRawCopyStream.CancelAsync() -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlRowUpdatedEventArgs +YBNpgsql.NpgsqlRowUpdatedEventArgs.NpgsqlRowUpdatedEventArgs(System.Data.DataRow! dataRow, System.Data.IDbCommand? command, System.Data.StatementType statementType, System.Data.Common.DataTableMapping! tableMapping) -> void +YBNpgsql.NpgsqlRowUpdatedEventHandler +YBNpgsql.NpgsqlRowUpdatingEventArgs +YBNpgsql.NpgsqlRowUpdatingEventArgs.NpgsqlRowUpdatingEventArgs(System.Data.DataRow! dataRow, System.Data.IDbCommand? command, System.Data.StatementType statementType, System.Data.Common.DataTableMapping! tableMapping) -> void +YBNpgsql.NpgsqlRowUpdatingEventHandler +YBNpgsql.NpgsqlSlimDataSourceBuilder +YBNpgsql.NpgsqlSlimDataSourceBuilder.AddTypeInfoResolverFactory(YBNpgsql.Internal.PgTypeInfoResolverFactory! factory) -> void +YBNpgsql.NpgsqlSlimDataSourceBuilder.Build() -> YBNpgsql.NpgsqlDataSource! +YBNpgsql.NpgsqlSlimDataSourceBuilder.BuildMultiHost() -> YBNpgsql.NpgsqlMultiHostDataSource! +YBNpgsql.NpgsqlSlimDataSourceBuilder.ConfigureJsonOptions(System.Text.Json.JsonSerializerOptions! serializerOptions) -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.ConnectionString.get -> string! +YBNpgsql.NpgsqlSlimDataSourceBuilder.ConnectionStringBuilder.get -> YBNpgsql.NpgsqlConnectionStringBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.DefaultNameTranslator.get -> YBNpgsql.INpgsqlNameTranslator! +YBNpgsql.NpgsqlSlimDataSourceBuilder.DefaultNameTranslator.set -> void +YBNpgsql.NpgsqlSlimDataSourceBuilder.EnableArrays() -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.EnableDynamicJson(System.Type![]? jsonbClrTypes = null, System.Type![]? jsonClrTypes = null) -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.EnableExtraConversions() -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.EnableFullTextSearch() -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.EnableIntegratedSecurity() -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.EnableLTree() -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.EnableMultiranges() -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.EnableParameterLogging(bool parameterLoggingEnabled = true) -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.EnableRanges() -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.EnableRecords() -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.EnableRecordsAsTuples() -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.EnableTransportSecurity() -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.EnableUnmappedTypes() -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.MapComposite(System.Type! clrType, string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! +YBNpgsql.NpgsqlSlimDataSourceBuilder.MapComposite(string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! +YBNpgsql.NpgsqlSlimDataSourceBuilder.MapEnum(System.Type! clrType, string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! +YBNpgsql.NpgsqlSlimDataSourceBuilder.MapEnum(string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! +YBNpgsql.NpgsqlSlimDataSourceBuilder.Name.get -> string? +YBNpgsql.NpgsqlSlimDataSourceBuilder.Name.set -> void +YBNpgsql.NpgsqlSlimDataSourceBuilder.NpgsqlSlimDataSourceBuilder(string? connectionString = null) -> void +YBNpgsql.NpgsqlSlimDataSourceBuilder.UnmapComposite(System.Type! clrType, string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> bool +YBNpgsql.NpgsqlSlimDataSourceBuilder.UnmapComposite(string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> bool +YBNpgsql.NpgsqlSlimDataSourceBuilder.UnmapEnum(System.Type! clrType, string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> bool +YBNpgsql.NpgsqlSlimDataSourceBuilder.UnmapEnum(string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> bool +YBNpgsql.NpgsqlSlimDataSourceBuilder.UseClientCertificate(System.Security.Cryptography.X509Certificates.X509Certificate? clientCertificate) -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.UseClientCertificates(System.Security.Cryptography.X509Certificates.X509CertificateCollection? clientCertificates) -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.UseClientCertificatesCallback(System.Action? clientCertificatesCallback) -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.UseLoggerFactory(Microsoft.Extensions.Logging.ILoggerFactory? loggerFactory) -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.UsePasswordProvider(System.Func? passwordProvider, System.Func>? passwordProviderAsync) -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.UsePeriodicPasswordProvider(System.Func>? passwordProvider, System.TimeSpan successRefreshInterval, System.TimeSpan failureRefreshInterval) -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.UsePhysicalConnectionInitializer(System.Action? connectionInitializer, System.Func? connectionInitializerAsync) -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.UseRootCertificate(System.Security.Cryptography.X509Certificates.X509Certificate2? rootCertificate) -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.UseRootCertificateCallback(System.Func? rootCertificateCallback) -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.UseUserCertificateValidationCallback(System.Net.Security.RemoteCertificateValidationCallback! userCertificateValidationCallback) -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlTracingOptions +YBNpgsql.NpgsqlTracingOptions.NpgsqlTracingOptions() -> void +YBNpgsql.NpgsqlTransaction +YBNpgsql.NpgsqlTransaction.Connection.get -> YBNpgsql.NpgsqlConnection? +YBNpgsql.PostgresErrorCodes +YBNpgsql.PostgresException +YBNpgsql.PostgresException.ColumnName.get -> string? +YBNpgsql.PostgresException.ConstraintName.get -> string? +YBNpgsql.PostgresException.DataTypeName.get -> string? +YBNpgsql.PostgresException.Detail.get -> string? +YBNpgsql.PostgresException.File.get -> string? +YBNpgsql.PostgresException.Hint.get -> string? +YBNpgsql.PostgresException.InternalPosition.get -> int +YBNpgsql.PostgresException.InternalQuery.get -> string? +YBNpgsql.PostgresException.InvariantSeverity.get -> string! +YBNpgsql.PostgresException.Line.get -> string? +YBNpgsql.PostgresException.MessageText.get -> string! +YBNpgsql.PostgresException.Position.get -> int +YBNpgsql.PostgresException.PostgresException(string! messageText, string! severity, string! invariantSeverity, string! sqlState) -> void +YBNpgsql.PostgresException.PostgresException(string! messageText, string! severity, string! invariantSeverity, string! sqlState, string? detail = null, string? hint = null, int position = 0, int internalPosition = 0, string? internalQuery = null, string? where = null, string? schemaName = null, string? tableName = null, string? columnName = null, string? dataTypeName = null, string? constraintName = null, string? file = null, string? line = null, string? routine = null) -> void +YBNpgsql.PostgresException.Routine.get -> string? +YBNpgsql.PostgresException.SchemaName.get -> string? +YBNpgsql.PostgresException.Severity.get -> string! +YBNpgsql.PostgresException.TableName.get -> string? +YBNpgsql.PostgresException.Where.get -> string? +YBNpgsql.PostgresNotice +YBNpgsql.PostgresNotice.ColumnName.get -> string? +YBNpgsql.PostgresNotice.ColumnName.set -> void +YBNpgsql.PostgresNotice.ConstraintName.get -> string? +YBNpgsql.PostgresNotice.ConstraintName.set -> void +YBNpgsql.PostgresNotice.DataTypeName.get -> string? +YBNpgsql.PostgresNotice.DataTypeName.set -> void +YBNpgsql.PostgresNotice.Detail.get -> string? +YBNpgsql.PostgresNotice.Detail.set -> void +YBNpgsql.PostgresNotice.File.get -> string? +YBNpgsql.PostgresNotice.File.set -> void +YBNpgsql.PostgresNotice.Hint.get -> string? +YBNpgsql.PostgresNotice.Hint.set -> void +YBNpgsql.PostgresNotice.InternalPosition.get -> int +YBNpgsql.PostgresNotice.InternalPosition.set -> void +YBNpgsql.PostgresNotice.InternalQuery.get -> string? +YBNpgsql.PostgresNotice.InternalQuery.set -> void +YBNpgsql.PostgresNotice.InvariantSeverity.get -> string! +YBNpgsql.PostgresNotice.Line.get -> string? +YBNpgsql.PostgresNotice.Line.set -> void +YBNpgsql.PostgresNotice.MessageText.get -> string! +YBNpgsql.PostgresNotice.MessageText.set -> void +YBNpgsql.PostgresNotice.Position.get -> int +YBNpgsql.PostgresNotice.Position.set -> void +YBNpgsql.PostgresNotice.PostgresNotice(string! messageText, string! severity, string! invariantSeverity, string! sqlState, string? detail = null, string? hint = null, int position = 0, int internalPosition = 0, string? internalQuery = null, string? where = null, string? schemaName = null, string? tableName = null, string? columnName = null, string? dataTypeName = null, string? constraintName = null, string? file = null, string? line = null, string? routine = null) -> void +YBNpgsql.PostgresNotice.PostgresNotice(string! severity, string! invariantSeverity, string! sqlState, string! messageText) -> void +YBNpgsql.PostgresNotice.Routine.get -> string? +YBNpgsql.PostgresNotice.Routine.set -> void +YBNpgsql.PostgresNotice.SchemaName.get -> string? +YBNpgsql.PostgresNotice.SchemaName.set -> void +YBNpgsql.PostgresNotice.Severity.get -> string! +YBNpgsql.PostgresNotice.Severity.set -> void +YBNpgsql.PostgresNotice.SqlState.get -> string! +YBNpgsql.PostgresNotice.SqlState.set -> void +YBNpgsql.PostgresNotice.TableName.get -> string? +YBNpgsql.PostgresNotice.TableName.set -> void +YBNpgsql.PostgresNotice.Where.get -> string? +YBNpgsql.PostgresNotice.Where.set -> void +YBNpgsql.PostgresTypes.PostgresArrayType +YBNpgsql.PostgresTypes.PostgresArrayType.Element.get -> YBNpgsql.PostgresTypes.PostgresType! +YBNpgsql.PostgresTypes.PostgresArrayType.PostgresArrayType(string! ns, string! name, uint oid, YBNpgsql.PostgresTypes.PostgresType! elementPostgresType) -> void +YBNpgsql.PostgresTypes.PostgresBaseType +YBNpgsql.PostgresTypes.PostgresBaseType.PostgresBaseType(string! ns, string! name, uint oid) -> void +YBNpgsql.PostgresTypes.PostgresCompositeType +YBNpgsql.PostgresTypes.PostgresCompositeType.Field +YBNpgsql.PostgresTypes.PostgresCompositeType.Field.Name.get -> string! +YBNpgsql.PostgresTypes.PostgresCompositeType.Field.Type.get -> YBNpgsql.PostgresTypes.PostgresType! +YBNpgsql.PostgresTypes.PostgresCompositeType.Fields.get -> System.Collections.Generic.IReadOnlyList! +YBNpgsql.PostgresTypes.PostgresDomainType +YBNpgsql.PostgresTypes.PostgresDomainType.BaseType.get -> YBNpgsql.PostgresTypes.PostgresType! +YBNpgsql.PostgresTypes.PostgresDomainType.NotNull.get -> bool +YBNpgsql.PostgresTypes.PostgresDomainType.PostgresDomainType(string! ns, string! name, uint oid, YBNpgsql.PostgresTypes.PostgresType! baseType, bool notNull) -> void +YBNpgsql.PostgresTypes.PostgresEnumType +YBNpgsql.PostgresTypes.PostgresEnumType.Labels.get -> System.Collections.Generic.IReadOnlyList! +YBNpgsql.PostgresTypes.PostgresEnumType.PostgresEnumType(string! ns, string! name, uint oid) -> void +YBNpgsql.PostgresTypes.PostgresMultirangeType +YBNpgsql.PostgresTypes.PostgresMultirangeType.PostgresMultirangeType(string! ns, string! name, uint oid, YBNpgsql.PostgresTypes.PostgresRangeType! rangePostgresType) -> void +YBNpgsql.PostgresTypes.PostgresMultirangeType.Subrange.get -> YBNpgsql.PostgresTypes.PostgresRangeType! +YBNpgsql.PostgresTypes.PostgresRangeType +YBNpgsql.PostgresTypes.PostgresRangeType.Multirange.get -> YBNpgsql.PostgresTypes.PostgresMultirangeType? +YBNpgsql.PostgresTypes.PostgresRangeType.PostgresRangeType(string! ns, string! name, uint oid, YBNpgsql.PostgresTypes.PostgresType! subtypePostgresType) -> void +YBNpgsql.PostgresTypes.PostgresRangeType.Subtype.get -> YBNpgsql.PostgresTypes.PostgresType! +YBNpgsql.PostgresTypes.PostgresType +YBNpgsql.PostgresTypes.PostgresType.Array.get -> YBNpgsql.PostgresTypes.PostgresArrayType? +YBNpgsql.PostgresTypes.PostgresType.DisplayName.get -> string! +YBNpgsql.PostgresTypes.PostgresType.FullName.get -> string! +YBNpgsql.PostgresTypes.PostgresType.InternalName.get -> string! +YBNpgsql.PostgresTypes.PostgresType.Name.get -> string! +YBNpgsql.PostgresTypes.PostgresType.Namespace.get -> string! +YBNpgsql.PostgresTypes.PostgresType.OID.get -> uint +YBNpgsql.PostgresTypes.PostgresType.Range.get -> YBNpgsql.PostgresTypes.PostgresRangeType? +YBNpgsql.PostgresTypes.UnknownBackendType +YBNpgsql.ProvideClientCertificatesCallback +YBNpgsql.ProvidePasswordCallback +YBNpgsql.Replication.Internal.LogicalReplicationConnectionExtensions +YBNpgsql.Replication.Internal.LogicalReplicationSlot +YBNpgsql.Replication.Internal.LogicalReplicationSlot.ConsistentPoint.get -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +YBNpgsql.Replication.Internal.LogicalReplicationSlot.LogicalReplicationSlot(string! outputPlugin, YBNpgsql.Replication.ReplicationSlotOptions replicationSlotOptions) -> void +YBNpgsql.Replication.Internal.LogicalReplicationSlot.OutputPlugin.get -> string! +YBNpgsql.Replication.Internal.LogicalReplicationSlot.SnapshotName.get -> string? +YBNpgsql.Replication.LogicalReplicationConnection +YBNpgsql.Replication.LogicalReplicationConnection.LogicalReplicationConnection() -> void +YBNpgsql.Replication.LogicalReplicationConnection.LogicalReplicationConnection(string? connectionString) -> void +YBNpgsql.Replication.LogicalSlotSnapshotInitMode +YBNpgsql.Replication.LogicalSlotSnapshotInitMode.Export = 0 -> YBNpgsql.Replication.LogicalSlotSnapshotInitMode +YBNpgsql.Replication.LogicalSlotSnapshotInitMode.NoExport = 2 -> YBNpgsql.Replication.LogicalSlotSnapshotInitMode +YBNpgsql.Replication.LogicalSlotSnapshotInitMode.Use = 1 -> YBNpgsql.Replication.LogicalSlotSnapshotInitMode +YBNpgsql.Replication.PgOutput.Messages.BeginMessage +YBNpgsql.Replication.PgOutput.Messages.BeginMessage.TransactionCommitTimestamp.get -> System.DateTime +YBNpgsql.Replication.PgOutput.Messages.BeginMessage.TransactionFinalLsn.get -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +YBNpgsql.Replication.PgOutput.Messages.BeginPrepareMessage +YBNpgsql.Replication.PgOutput.Messages.CommitMessage +YBNpgsql.Replication.PgOutput.Messages.CommitMessage.CommitFlags +YBNpgsql.Replication.PgOutput.Messages.CommitMessage.CommitFlags.None = 0 -> YBNpgsql.Replication.PgOutput.Messages.CommitMessage.CommitFlags +YBNpgsql.Replication.PgOutput.Messages.CommitMessage.CommitLsn.get -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +YBNpgsql.Replication.PgOutput.Messages.CommitMessage.Flags.get -> YBNpgsql.Replication.PgOutput.Messages.CommitMessage.CommitFlags +YBNpgsql.Replication.PgOutput.Messages.CommitMessage.TransactionCommitTimestamp.get -> System.DateTime +YBNpgsql.Replication.PgOutput.Messages.CommitMessage.TransactionEndLsn.get -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +YBNpgsql.Replication.PgOutput.Messages.CommitPreparedMessage +YBNpgsql.Replication.PgOutput.Messages.CommitPreparedMessage.CommitPreparedEndLsn.get -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +YBNpgsql.Replication.PgOutput.Messages.CommitPreparedMessage.CommitPreparedFlags +YBNpgsql.Replication.PgOutput.Messages.CommitPreparedMessage.CommitPreparedFlags.None = 0 -> YBNpgsql.Replication.PgOutput.Messages.CommitPreparedMessage.CommitPreparedFlags +YBNpgsql.Replication.PgOutput.Messages.CommitPreparedMessage.CommitPreparedLsn.get -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +YBNpgsql.Replication.PgOutput.Messages.CommitPreparedMessage.Flags.get -> YBNpgsql.Replication.PgOutput.Messages.CommitPreparedMessage.CommitPreparedFlags +YBNpgsql.Replication.PgOutput.Messages.CommitPreparedMessage.TransactionCommitTimestamp.get -> System.DateTime +YBNpgsql.Replication.PgOutput.Messages.DefaultUpdateMessage +YBNpgsql.Replication.PgOutput.Messages.DeleteMessage +YBNpgsql.Replication.PgOutput.Messages.DeleteMessage.Relation.get -> YBNpgsql.Replication.PgOutput.Messages.RelationMessage! +YBNpgsql.Replication.PgOutput.Messages.FullDeleteMessage +YBNpgsql.Replication.PgOutput.Messages.FullDeleteMessage.OldRow.get -> YBNpgsql.Replication.PgOutput.ReplicationTuple! +YBNpgsql.Replication.PgOutput.Messages.FullUpdateMessage +YBNpgsql.Replication.PgOutput.Messages.FullUpdateMessage.OldRow.get -> YBNpgsql.Replication.PgOutput.ReplicationTuple! +YBNpgsql.Replication.PgOutput.Messages.IndexUpdateMessage +YBNpgsql.Replication.PgOutput.Messages.IndexUpdateMessage.Key.get -> YBNpgsql.Replication.PgOutput.ReplicationTuple! +YBNpgsql.Replication.PgOutput.Messages.InsertMessage +YBNpgsql.Replication.PgOutput.Messages.InsertMessage.NewRow.get -> YBNpgsql.Replication.PgOutput.ReplicationTuple! +YBNpgsql.Replication.PgOutput.Messages.InsertMessage.Relation.get -> YBNpgsql.Replication.PgOutput.Messages.RelationMessage! +YBNpgsql.Replication.PgOutput.Messages.KeyDeleteMessage +YBNpgsql.Replication.PgOutput.Messages.KeyDeleteMessage.Key.get -> YBNpgsql.Replication.PgOutput.ReplicationTuple! +YBNpgsql.Replication.PgOutput.Messages.LogicalDecodingMessage +YBNpgsql.Replication.PgOutput.Messages.LogicalDecodingMessage.Data.get -> System.IO.Stream! +YBNpgsql.Replication.PgOutput.Messages.LogicalDecodingMessage.Flags.get -> byte +YBNpgsql.Replication.PgOutput.Messages.LogicalDecodingMessage.MessageLsn.get -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +YBNpgsql.Replication.PgOutput.Messages.LogicalDecodingMessage.Prefix.get -> string! +YBNpgsql.Replication.PgOutput.Messages.OriginMessage +YBNpgsql.Replication.PgOutput.Messages.OriginMessage.OriginCommitLsn.get -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +YBNpgsql.Replication.PgOutput.Messages.OriginMessage.OriginName.get -> string! +YBNpgsql.Replication.PgOutput.Messages.PgOutputReplicationMessage +YBNpgsql.Replication.PgOutput.Messages.PgOutputReplicationMessage.PgOutputReplicationMessage() -> void +YBNpgsql.Replication.PgOutput.Messages.PreparedTransactionControlMessage +YBNpgsql.Replication.PgOutput.Messages.PreparedTransactionControlMessage.TransactionGid.get -> string! +YBNpgsql.Replication.PgOutput.Messages.PrepareMessage +YBNpgsql.Replication.PgOutput.Messages.PrepareMessage.Flags.get -> YBNpgsql.Replication.PgOutput.Messages.PrepareMessage.PrepareFlags +YBNpgsql.Replication.PgOutput.Messages.PrepareMessage.PrepareFlags +YBNpgsql.Replication.PgOutput.Messages.PrepareMessage.PrepareFlags.None = 0 -> YBNpgsql.Replication.PgOutput.Messages.PrepareMessage.PrepareFlags +YBNpgsql.Replication.PgOutput.Messages.PrepareMessageBase +YBNpgsql.Replication.PgOutput.Messages.PrepareMessageBase.PrepareEndLsn.get -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +YBNpgsql.Replication.PgOutput.Messages.PrepareMessageBase.PrepareLsn.get -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +YBNpgsql.Replication.PgOutput.Messages.PrepareMessageBase.TransactionPrepareTimestamp.get -> System.DateTime +YBNpgsql.Replication.PgOutput.Messages.RelationMessage +YBNpgsql.Replication.PgOutput.Messages.RelationMessage.Column +YBNpgsql.Replication.PgOutput.Messages.RelationMessage.Column.Column() -> void +YBNpgsql.Replication.PgOutput.Messages.RelationMessage.Column.ColumnFlags +YBNpgsql.Replication.PgOutput.Messages.RelationMessage.Column.ColumnFlags.None = 0 -> YBNpgsql.Replication.PgOutput.Messages.RelationMessage.Column.ColumnFlags +YBNpgsql.Replication.PgOutput.Messages.RelationMessage.Column.ColumnFlags.PartOfKey = 1 -> YBNpgsql.Replication.PgOutput.Messages.RelationMessage.Column.ColumnFlags +YBNpgsql.Replication.PgOutput.Messages.RelationMessage.Column.ColumnName.get -> string! +YBNpgsql.Replication.PgOutput.Messages.RelationMessage.Column.DataTypeId.get -> uint +YBNpgsql.Replication.PgOutput.Messages.RelationMessage.Column.Flags.get -> YBNpgsql.Replication.PgOutput.Messages.RelationMessage.Column.ColumnFlags +YBNpgsql.Replication.PgOutput.Messages.RelationMessage.Column.TypeModifier.get -> int +YBNpgsql.Replication.PgOutput.Messages.RelationMessage.Columns.get -> System.Collections.Generic.IReadOnlyList! +YBNpgsql.Replication.PgOutput.Messages.RelationMessage.Namespace.get -> string! +YBNpgsql.Replication.PgOutput.Messages.RelationMessage.RelationId.get -> uint +YBNpgsql.Replication.PgOutput.Messages.RelationMessage.RelationName.get -> string! +YBNpgsql.Replication.PgOutput.Messages.RelationMessage.ReplicaIdentity.get -> YBNpgsql.Replication.PgOutput.Messages.RelationMessage.ReplicaIdentitySetting +YBNpgsql.Replication.PgOutput.Messages.RelationMessage.ReplicaIdentitySetting +YBNpgsql.Replication.PgOutput.Messages.RelationMessage.ReplicaIdentitySetting.AllColumns = 102 -> YBNpgsql.Replication.PgOutput.Messages.RelationMessage.ReplicaIdentitySetting +YBNpgsql.Replication.PgOutput.Messages.RelationMessage.ReplicaIdentitySetting.Default = 100 -> YBNpgsql.Replication.PgOutput.Messages.RelationMessage.ReplicaIdentitySetting +YBNpgsql.Replication.PgOutput.Messages.RelationMessage.ReplicaIdentitySetting.IndexWithIndIsReplIdent = 105 -> YBNpgsql.Replication.PgOutput.Messages.RelationMessage.ReplicaIdentitySetting +YBNpgsql.Replication.PgOutput.Messages.RelationMessage.ReplicaIdentitySetting.Nothing = 110 -> YBNpgsql.Replication.PgOutput.Messages.RelationMessage.ReplicaIdentitySetting +YBNpgsql.Replication.PgOutput.Messages.RelationMessageColumn +YBNpgsql.Replication.PgOutput.Messages.RelationMessageColumn.ColumnName.get -> string! +YBNpgsql.Replication.PgOutput.Messages.RelationMessageColumn.DataTypeId.get -> uint +YBNpgsql.Replication.PgOutput.Messages.RelationMessageColumn.Flags.get -> byte +YBNpgsql.Replication.PgOutput.Messages.RelationMessageColumn.RelationMessageColumn() -> void +YBNpgsql.Replication.PgOutput.Messages.RelationMessageColumn.TypeModifier.get -> int +YBNpgsql.Replication.PgOutput.Messages.RollbackPreparedMessage +YBNpgsql.Replication.PgOutput.Messages.RollbackPreparedMessage.Flags.get -> YBNpgsql.Replication.PgOutput.Messages.RollbackPreparedMessage.RollbackPreparedFlags +YBNpgsql.Replication.PgOutput.Messages.RollbackPreparedMessage.PreparedTransactionEndLsn.get -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +YBNpgsql.Replication.PgOutput.Messages.RollbackPreparedMessage.RollbackPreparedEndLsn.get -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +YBNpgsql.Replication.PgOutput.Messages.RollbackPreparedMessage.RollbackPreparedFlags +YBNpgsql.Replication.PgOutput.Messages.RollbackPreparedMessage.RollbackPreparedFlags.None = 0 -> YBNpgsql.Replication.PgOutput.Messages.RollbackPreparedMessage.RollbackPreparedFlags +YBNpgsql.Replication.PgOutput.Messages.RollbackPreparedMessage.TransactionPrepareTimestamp.get -> System.DateTime +YBNpgsql.Replication.PgOutput.Messages.RollbackPreparedMessage.TransactionRollbackTimestamp.get -> System.DateTime +YBNpgsql.Replication.PgOutput.Messages.StreamAbortMessage +YBNpgsql.Replication.PgOutput.Messages.StreamAbortMessage.SubtransactionXid.get -> uint +YBNpgsql.Replication.PgOutput.Messages.StreamCommitMessage +YBNpgsql.Replication.PgOutput.Messages.StreamCommitMessage.CommitLsn.get -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +YBNpgsql.Replication.PgOutput.Messages.StreamCommitMessage.Flags.get -> byte +YBNpgsql.Replication.PgOutput.Messages.StreamCommitMessage.TransactionCommitTimestamp.get -> System.DateTime +YBNpgsql.Replication.PgOutput.Messages.StreamCommitMessage.TransactionEndLsn.get -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +YBNpgsql.Replication.PgOutput.Messages.StreamPrepareMessage +YBNpgsql.Replication.PgOutput.Messages.StreamPrepareMessage.Flags.get -> YBNpgsql.Replication.PgOutput.Messages.StreamPrepareMessage.StreamPrepareFlags +YBNpgsql.Replication.PgOutput.Messages.StreamPrepareMessage.StreamPrepareFlags +YBNpgsql.Replication.PgOutput.Messages.StreamPrepareMessage.StreamPrepareFlags.None = 0 -> YBNpgsql.Replication.PgOutput.Messages.StreamPrepareMessage.StreamPrepareFlags +YBNpgsql.Replication.PgOutput.Messages.StreamStartMessage +YBNpgsql.Replication.PgOutput.Messages.StreamStartMessage.StreamSegmentIndicator.get -> byte +YBNpgsql.Replication.PgOutput.Messages.StreamStopMessage +YBNpgsql.Replication.PgOutput.Messages.TransactionalMessage +YBNpgsql.Replication.PgOutput.Messages.TransactionalMessage.TransactionalMessage() -> void +YBNpgsql.Replication.PgOutput.Messages.TransactionalMessage.TransactionXid.get -> uint? +YBNpgsql.Replication.PgOutput.Messages.TransactionControlMessage +YBNpgsql.Replication.PgOutput.Messages.TransactionControlMessage.TransactionControlMessage() -> void +YBNpgsql.Replication.PgOutput.Messages.TransactionControlMessage.TransactionXid.get -> uint +YBNpgsql.Replication.PgOutput.Messages.TruncateMessage +YBNpgsql.Replication.PgOutput.Messages.TruncateMessage.Options.get -> YBNpgsql.Replication.PgOutput.Messages.TruncateMessage.TruncateOptions +YBNpgsql.Replication.PgOutput.Messages.TruncateMessage.Relations.get -> System.Collections.Generic.IReadOnlyList! +YBNpgsql.Replication.PgOutput.Messages.TruncateMessage.TruncateOptions +YBNpgsql.Replication.PgOutput.Messages.TruncateMessage.TruncateOptions.Cascade = 1 -> YBNpgsql.Replication.PgOutput.Messages.TruncateMessage.TruncateOptions +YBNpgsql.Replication.PgOutput.Messages.TruncateMessage.TruncateOptions.None = 0 -> YBNpgsql.Replication.PgOutput.Messages.TruncateMessage.TruncateOptions +YBNpgsql.Replication.PgOutput.Messages.TruncateMessage.TruncateOptions.RestartIdentity = 2 -> YBNpgsql.Replication.PgOutput.Messages.TruncateMessage.TruncateOptions +YBNpgsql.Replication.PgOutput.Messages.TypeMessage +YBNpgsql.Replication.PgOutput.Messages.TypeMessage.Name.get -> string! +YBNpgsql.Replication.PgOutput.Messages.TypeMessage.Namespace.get -> string! +YBNpgsql.Replication.PgOutput.Messages.TypeMessage.TypeId.get -> uint +YBNpgsql.Replication.PgOutput.Messages.UpdateMessage +YBNpgsql.Replication.PgOutput.Messages.UpdateMessage.Relation.get -> YBNpgsql.Replication.PgOutput.Messages.RelationMessage! +YBNpgsql.Replication.PgOutput.PgOutputReplicationOptions +YBNpgsql.Replication.PgOutput.PgOutputReplicationOptions.Binary.get -> bool? +YBNpgsql.Replication.PgOutput.PgOutputReplicationOptions.Equals(YBNpgsql.Replication.PgOutput.PgOutputReplicationOptions? other) -> bool +YBNpgsql.Replication.PgOutput.PgOutputReplicationOptions.Messages.get -> bool? +YBNpgsql.Replication.PgOutput.PgOutputReplicationOptions.PgOutputReplicationOptions(string! publicationName, ulong protocolVersion, bool? binary = null, bool? streaming = null, bool? messages = null, bool? twoPhase = null) -> void +YBNpgsql.Replication.PgOutput.PgOutputReplicationOptions.PgOutputReplicationOptions(System.Collections.Generic.IEnumerable! publicationNames, ulong protocolVersion, bool? binary = null, bool? streaming = null, bool? messages = null, bool? twoPhase = null) -> void +YBNpgsql.Replication.PgOutput.PgOutputReplicationOptions.ProtocolVersion.get -> ulong +YBNpgsql.Replication.PgOutput.PgOutputReplicationOptions.PublicationNames.get -> System.Collections.Generic.List! +YBNpgsql.Replication.PgOutput.PgOutputReplicationOptions.Streaming.get -> bool? +YBNpgsql.Replication.PgOutput.PgOutputReplicationOptions.TwoPhase.get -> bool? +YBNpgsql.Replication.PgOutput.PgOutputReplicationSlot +YBNpgsql.Replication.PgOutput.PgOutputReplicationSlot.PgOutputReplicationSlot(YBNpgsql.Replication.PgOutput.PgOutputReplicationSlot! slot) -> void +YBNpgsql.Replication.PgOutput.PgOutputReplicationSlot.PgOutputReplicationSlot(YBNpgsql.Replication.ReplicationSlotOptions options) -> void +YBNpgsql.Replication.PgOutput.PgOutputReplicationSlot.PgOutputReplicationSlot(string! slotName) -> void +YBNpgsql.Replication.PgOutput.ReplicationTuple +YBNpgsql.Replication.PgOutput.ReplicationTuple.NumColumns.get -> ushort +YBNpgsql.Replication.PgOutput.ReplicationValue +YBNpgsql.Replication.PgOutput.ReplicationValue.Get(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask +YBNpgsql.Replication.PgOutput.ReplicationValue.Get(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask +YBNpgsql.Replication.PgOutput.ReplicationValue.GetDataTypeName() -> string! +YBNpgsql.Replication.PgOutput.ReplicationValue.GetFieldType() -> System.Type! +YBNpgsql.Replication.PgOutput.ReplicationValue.GetPostgresType() -> YBNpgsql.PostgresTypes.PostgresType! +YBNpgsql.Replication.PgOutput.ReplicationValue.GetStream() -> System.IO.Stream! +YBNpgsql.Replication.PgOutput.ReplicationValue.GetTextReader() -> System.IO.TextReader! +YBNpgsql.Replication.PgOutput.ReplicationValue.IsDBNull.get -> bool +YBNpgsql.Replication.PgOutput.ReplicationValue.IsUnchangedToastedValue.get -> bool +YBNpgsql.Replication.PgOutput.ReplicationValue.Kind.get -> YBNpgsql.Replication.PgOutput.TupleDataKind +YBNpgsql.Replication.PgOutput.ReplicationValue.Length.get -> int +YBNpgsql.Replication.PgOutput.TupleDataKind +YBNpgsql.Replication.PgOutput.TupleDataKind.BinaryValue = 98 -> YBNpgsql.Replication.PgOutput.TupleDataKind +YBNpgsql.Replication.PgOutput.TupleDataKind.Null = 110 -> YBNpgsql.Replication.PgOutput.TupleDataKind +YBNpgsql.Replication.PgOutput.TupleDataKind.TextValue = 116 -> YBNpgsql.Replication.PgOutput.TupleDataKind +YBNpgsql.Replication.PgOutput.TupleDataKind.UnchangedToastedValue = 117 -> YBNpgsql.Replication.PgOutput.TupleDataKind +YBNpgsql.Replication.PgOutputConnectionExtensions +YBNpgsql.Replication.PhysicalReplicationConnection +YBNpgsql.Replication.PhysicalReplicationConnection.CreateReplicationSlot(string! slotName, bool isTemporary = false, bool reserveWal = false, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.Replication.PhysicalReplicationConnection.PhysicalReplicationConnection() -> void +YBNpgsql.Replication.PhysicalReplicationConnection.PhysicalReplicationConnection(string? connectionString) -> void +YBNpgsql.Replication.PhysicalReplicationConnection.ReadReplicationSlot(string! slotName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.Replication.PhysicalReplicationConnection.StartReplication(YBNpgsql.Replication.PhysicalReplicationSlot! slot, System.Threading.CancellationToken cancellationToken) -> System.Collections.Generic.IAsyncEnumerable! +YBNpgsql.Replication.PhysicalReplicationConnection.StartReplication(YBNpgsql.Replication.PhysicalReplicationSlot? slot, YBNpgsqlTypes.NpgsqlLogSequenceNumber walLocation, System.Threading.CancellationToken cancellationToken, uint timeline = 0) -> System.Collections.Generic.IAsyncEnumerable! +YBNpgsql.Replication.PhysicalReplicationConnection.StartReplication(YBNpgsqlTypes.NpgsqlLogSequenceNumber walLocation, System.Threading.CancellationToken cancellationToken, uint timeline = 0) -> System.Collections.Generic.IAsyncEnumerable! +YBNpgsql.Replication.PhysicalReplicationSlot +YBNpgsql.Replication.PhysicalReplicationSlot.PhysicalReplicationSlot(string! slotName, YBNpgsqlTypes.NpgsqlLogSequenceNumber? restartLsn = null, uint? restartTimeline = null) -> void +YBNpgsql.Replication.PhysicalReplicationSlot.RestartLsn.get -> YBNpgsqlTypes.NpgsqlLogSequenceNumber? +YBNpgsql.Replication.PhysicalReplicationSlot.RestartTimeline.get -> uint? +YBNpgsql.Replication.ReplicationConnection +YBNpgsql.Replication.ReplicationConnection.CommandTimeout.get -> System.TimeSpan +YBNpgsql.Replication.ReplicationConnection.CommandTimeout.set -> void +YBNpgsql.Replication.ReplicationConnection.ConnectionString.get -> string! +YBNpgsql.Replication.ReplicationConnection.ConnectionString.set -> void +YBNpgsql.Replication.ReplicationConnection.DisposeAsync() -> System.Threading.Tasks.ValueTask +YBNpgsql.Replication.ReplicationConnection.DropReplicationSlot(string! slotName, bool wait = false, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.Replication.ReplicationConnection.Encoding.get -> System.Text.Encoding! +YBNpgsql.Replication.ReplicationConnection.IdentifySystem(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.Replication.ReplicationConnection.LastAppliedLsn.get -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +YBNpgsql.Replication.ReplicationConnection.LastAppliedLsn.set -> void +YBNpgsql.Replication.ReplicationConnection.LastFlushedLsn.get -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +YBNpgsql.Replication.ReplicationConnection.LastFlushedLsn.set -> void +YBNpgsql.Replication.ReplicationConnection.LastReceivedLsn.get -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +YBNpgsql.Replication.ReplicationConnection.Open(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.Replication.ReplicationConnection.PostgreSqlVersion.get -> System.Version! +YBNpgsql.Replication.ReplicationConnection.ProcessID.get -> int +YBNpgsql.Replication.ReplicationConnection.SendStatusUpdate(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.Replication.ReplicationConnection.ServerVersion.get -> string! +YBNpgsql.Replication.ReplicationConnection.SetReplicationStatus(YBNpgsqlTypes.NpgsqlLogSequenceNumber lastAppliedAndFlushedLsn) -> void +YBNpgsql.Replication.ReplicationConnection.Show(string! parameterName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.Replication.ReplicationConnection.TimelineHistory(uint tli, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.Replication.ReplicationConnection.WalReceiverStatusInterval.get -> System.TimeSpan +YBNpgsql.Replication.ReplicationConnection.WalReceiverStatusInterval.set -> void +YBNpgsql.Replication.ReplicationConnection.WalReceiverTimeout.get -> System.TimeSpan +YBNpgsql.Replication.ReplicationConnection.WalReceiverTimeout.set -> void +YBNpgsql.Replication.ReplicationMessage +YBNpgsql.Replication.ReplicationMessage.ReplicationMessage() -> void +YBNpgsql.Replication.ReplicationMessage.ServerClock.get -> System.DateTime +YBNpgsql.Replication.ReplicationMessage.WalEnd.get -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +YBNpgsql.Replication.ReplicationMessage.WalStart.get -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +YBNpgsql.Replication.ReplicationSlot +YBNpgsql.Replication.ReplicationSlot.Name.get -> string! +YBNpgsql.Replication.ReplicationSlotOptions +YBNpgsql.Replication.ReplicationSlotOptions.ConsistentPoint.get -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +YBNpgsql.Replication.ReplicationSlotOptions.ReplicationSlotOptions() -> void +YBNpgsql.Replication.ReplicationSlotOptions.ReplicationSlotOptions(string! slotName, YBNpgsqlTypes.NpgsqlLogSequenceNumber consistentPoint) -> void +YBNpgsql.Replication.ReplicationSlotOptions.ReplicationSlotOptions(string! slotName, string? consistentPoint = null) -> void +YBNpgsql.Replication.ReplicationSlotOptions.SlotName.get -> string! +YBNpgsql.Replication.ReplicationSystemIdentification +YBNpgsql.Replication.ReplicationSystemIdentification.DbName.get -> string? +YBNpgsql.Replication.ReplicationSystemIdentification.SystemId.get -> string! +YBNpgsql.Replication.ReplicationSystemIdentification.Timeline.get -> uint +YBNpgsql.Replication.ReplicationSystemIdentification.XLogPos.get -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +YBNpgsql.Replication.TestDecoding.TestDecodingData +YBNpgsql.Replication.TestDecoding.TestDecodingData.Clone() -> YBNpgsql.Replication.TestDecoding.TestDecodingData! +YBNpgsql.Replication.TestDecoding.TestDecodingData.Data.get -> string! +YBNpgsql.Replication.TestDecoding.TestDecodingData.TestDecodingData() -> void +YBNpgsql.Replication.TestDecoding.TestDecodingOptions +YBNpgsql.Replication.TestDecoding.TestDecodingOptions.Equals(YBNpgsql.Replication.TestDecoding.TestDecodingOptions? other) -> bool +YBNpgsql.Replication.TestDecoding.TestDecodingOptions.ForceBinary.get -> bool? +YBNpgsql.Replication.TestDecoding.TestDecodingOptions.IncludeRewrites.get -> bool? +YBNpgsql.Replication.TestDecoding.TestDecodingOptions.IncludeTimestamp.get -> bool? +YBNpgsql.Replication.TestDecoding.TestDecodingOptions.IncludeXids.get -> bool? +YBNpgsql.Replication.TestDecoding.TestDecodingOptions.OnlyLocal.get -> bool? +YBNpgsql.Replication.TestDecoding.TestDecodingOptions.SkipEmptyXacts.get -> bool? +YBNpgsql.Replication.TestDecoding.TestDecodingOptions.StreamChanges.get -> bool? +YBNpgsql.Replication.TestDecoding.TestDecodingOptions.TestDecodingOptions(bool? includeXids = null, bool? includeTimestamp = null, bool? forceBinary = null, bool? skipEmptyXacts = null, bool? onlyLocal = null, bool? includeRewrites = null, bool? streamChanges = null) -> void +YBNpgsql.Replication.TestDecoding.TestDecodingReplicationSlot +YBNpgsql.Replication.TestDecoding.TestDecodingReplicationSlot.TestDecodingReplicationSlot(YBNpgsql.Replication.ReplicationSlotOptions options) -> void +YBNpgsql.Replication.TestDecoding.TestDecodingReplicationSlot.TestDecodingReplicationSlot(string! slotName) -> void +YBNpgsql.Replication.TestDecodingConnectionExtensions +YBNpgsql.Replication.TimelineHistoryFile +YBNpgsql.Replication.TimelineHistoryFile.Content.get -> byte[]! +YBNpgsql.Replication.TimelineHistoryFile.FileName.get -> string! +YBNpgsql.Replication.TimelineHistoryFile.TimelineHistoryFile() -> void +YBNpgsql.Replication.XLogDataMessage +YBNpgsql.Replication.XLogDataMessage.Data.get -> System.IO.Stream! +YBNpgsql.Replication.XLogDataMessage.XLogDataMessage() -> void +YBNpgsql.Schema.NpgsqlDbColumn +YBNpgsql.Schema.NpgsqlDbColumn.AllowDBNull.get -> bool? +YBNpgsql.Schema.NpgsqlDbColumn.AllowDBNull.set -> void +YBNpgsql.Schema.NpgsqlDbColumn.BaseCatalogName.get -> string! +YBNpgsql.Schema.NpgsqlDbColumn.BaseCatalogName.set -> void +YBNpgsql.Schema.NpgsqlDbColumn.BaseColumnName.get -> string? +YBNpgsql.Schema.NpgsqlDbColumn.BaseColumnName.set -> void +YBNpgsql.Schema.NpgsqlDbColumn.BaseSchemaName.get -> string? +YBNpgsql.Schema.NpgsqlDbColumn.BaseSchemaName.set -> void +YBNpgsql.Schema.NpgsqlDbColumn.BaseServerName.get -> string! +YBNpgsql.Schema.NpgsqlDbColumn.BaseServerName.set -> void +YBNpgsql.Schema.NpgsqlDbColumn.BaseTableName.get -> string? +YBNpgsql.Schema.NpgsqlDbColumn.BaseTableName.set -> void +YBNpgsql.Schema.NpgsqlDbColumn.ColumnAttributeNumber.get -> short? +YBNpgsql.Schema.NpgsqlDbColumn.ColumnName.get -> string! +YBNpgsql.Schema.NpgsqlDbColumn.ColumnName.set -> void +YBNpgsql.Schema.NpgsqlDbColumn.ColumnOrdinal.get -> int? +YBNpgsql.Schema.NpgsqlDbColumn.ColumnOrdinal.set -> void +YBNpgsql.Schema.NpgsqlDbColumn.ColumnSize.get -> int? +YBNpgsql.Schema.NpgsqlDbColumn.ColumnSize.set -> void +YBNpgsql.Schema.NpgsqlDbColumn.DataType.get -> System.Type? +YBNpgsql.Schema.NpgsqlDbColumn.DataType.set -> void +YBNpgsql.Schema.NpgsqlDbColumn.DataTypeName.get -> string! +YBNpgsql.Schema.NpgsqlDbColumn.DataTypeName.set -> void +YBNpgsql.Schema.NpgsqlDbColumn.DefaultValue.get -> string? +YBNpgsql.Schema.NpgsqlDbColumn.IsAliased.get -> bool? +YBNpgsql.Schema.NpgsqlDbColumn.IsAliased.set -> void +YBNpgsql.Schema.NpgsqlDbColumn.IsAutoIncrement.get -> bool? +YBNpgsql.Schema.NpgsqlDbColumn.IsAutoIncrement.set -> void +YBNpgsql.Schema.NpgsqlDbColumn.IsIdentity.get -> bool? +YBNpgsql.Schema.NpgsqlDbColumn.IsIdentity.set -> void +YBNpgsql.Schema.NpgsqlDbColumn.IsKey.get -> bool? +YBNpgsql.Schema.NpgsqlDbColumn.IsKey.set -> void +YBNpgsql.Schema.NpgsqlDbColumn.IsLong.get -> bool? +YBNpgsql.Schema.NpgsqlDbColumn.IsLong.set -> void +YBNpgsql.Schema.NpgsqlDbColumn.IsReadOnly.get -> bool? +YBNpgsql.Schema.NpgsqlDbColumn.IsReadOnly.set -> void +YBNpgsql.Schema.NpgsqlDbColumn.IsUnique.get -> bool? +YBNpgsql.Schema.NpgsqlDbColumn.IsUnique.set -> void +YBNpgsql.Schema.NpgsqlDbColumn.NpgsqlDbColumn() -> void +YBNpgsql.Schema.NpgsqlDbColumn.NpgsqlDbType.get -> YBNpgsqlTypes.NpgsqlDbType? +YBNpgsql.Schema.NpgsqlDbColumn.NumericPrecision.get -> int? +YBNpgsql.Schema.NpgsqlDbColumn.NumericPrecision.set -> void +YBNpgsql.Schema.NpgsqlDbColumn.NumericScale.get -> int? +YBNpgsql.Schema.NpgsqlDbColumn.NumericScale.set -> void +YBNpgsql.Schema.NpgsqlDbColumn.PostgresType.get -> YBNpgsql.PostgresTypes.PostgresType! +YBNpgsql.Schema.NpgsqlDbColumn.TableOID.get -> uint +YBNpgsql.Schema.NpgsqlDbColumn.TypeOID.get -> uint +YBNpgsql.Schema.NpgsqlDbColumn.UdtAssemblyQualifiedName.get -> string? +YBNpgsql.Schema.NpgsqlDbColumn.UdtAssemblyQualifiedName.set -> void +YBNpgsql.ServerCompatibilityMode +YBNpgsql.ServerCompatibilityMode.None = 0 -> YBNpgsql.ServerCompatibilityMode +YBNpgsql.ServerCompatibilityMode.NoTypeLoading = 2 -> YBNpgsql.ServerCompatibilityMode +YBNpgsql.ServerCompatibilityMode.Redshift = 1 -> YBNpgsql.ServerCompatibilityMode +YBNpgsql.SslMode +YBNpgsql.SslMode.Allow = 1 -> YBNpgsql.SslMode +YBNpgsql.SslMode.Disable = 0 -> YBNpgsql.SslMode +YBNpgsql.SslMode.Prefer = 2 -> YBNpgsql.SslMode +YBNpgsql.SslMode.Require = 3 -> YBNpgsql.SslMode +YBNpgsql.SslMode.VerifyCA = 4 -> YBNpgsql.SslMode +YBNpgsql.SslMode.VerifyFull = 5 -> YBNpgsql.SslMode +YBNpgsql.StatementType +YBNpgsql.StatementType.Call = 11 -> YBNpgsql.StatementType +YBNpgsql.StatementType.Copy = 8 -> YBNpgsql.StatementType +YBNpgsql.StatementType.CreateTableAs = 5 -> YBNpgsql.StatementType +YBNpgsql.StatementType.Delete = 3 -> YBNpgsql.StatementType +YBNpgsql.StatementType.Fetch = 7 -> YBNpgsql.StatementType +YBNpgsql.StatementType.Insert = 2 -> YBNpgsql.StatementType +YBNpgsql.StatementType.Merge = 10 -> YBNpgsql.StatementType +YBNpgsql.StatementType.Move = 6 -> YBNpgsql.StatementType +YBNpgsql.StatementType.Other = 9 -> YBNpgsql.StatementType +YBNpgsql.StatementType.Select = 1 -> YBNpgsql.StatementType +YBNpgsql.StatementType.Unknown = 0 -> YBNpgsql.StatementType +YBNpgsql.StatementType.Update = 4 -> YBNpgsql.StatementType +YBNpgsql.TypeMapping.INpgsqlTypeMapper +YBNpgsql.TypeMapping.INpgsqlTypeMapper.AddTypeInfoResolverFactory(YBNpgsql.Internal.PgTypeInfoResolverFactory! factory) -> void +YBNpgsql.TypeMapping.INpgsqlTypeMapper.ConfigureJsonOptions(System.Text.Json.JsonSerializerOptions! serializerOptions) -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! +YBNpgsql.TypeMapping.INpgsqlTypeMapper.DefaultNameTranslator.get -> YBNpgsql.INpgsqlNameTranslator! +YBNpgsql.TypeMapping.INpgsqlTypeMapper.DefaultNameTranslator.set -> void +YBNpgsql.TypeMapping.INpgsqlTypeMapper.EnableDynamicJson(System.Type![]? jsonbClrTypes = null, System.Type![]? jsonClrTypes = null) -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! +YBNpgsql.TypeMapping.INpgsqlTypeMapper.EnableRecordsAsTuples() -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! +YBNpgsql.TypeMapping.INpgsqlTypeMapper.EnableUnmappedTypes() -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! +YBNpgsql.TypeMapping.INpgsqlTypeMapper.MapComposite(System.Type! clrType, string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! +YBNpgsql.TypeMapping.INpgsqlTypeMapper.MapComposite(string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! +YBNpgsql.TypeMapping.INpgsqlTypeMapper.MapEnum(System.Type! clrType, string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! +YBNpgsql.TypeMapping.INpgsqlTypeMapper.MapEnum(string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! +YBNpgsql.TypeMapping.INpgsqlTypeMapper.Reset() -> void +YBNpgsql.TypeMapping.INpgsqlTypeMapper.UnmapComposite(System.Type! clrType, string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> bool +YBNpgsql.TypeMapping.INpgsqlTypeMapper.UnmapComposite(string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> bool +YBNpgsql.TypeMapping.INpgsqlTypeMapper.UnmapEnum(System.Type! clrType, string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> bool +YBNpgsql.TypeMapping.INpgsqlTypeMapper.UnmapEnum(string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> bool +YBNpgsql.TypeMapping.UserTypeMapping +YBNpgsql.TypeMapping.UserTypeMapping.ClrType.get -> System.Type! +YBNpgsql.TypeMapping.UserTypeMapping.PgTypeName.get -> string! +YBNpgsql.Util.NpgsqlTimeout +YBNpgsql.Util.NpgsqlTimeout.NpgsqlTimeout() -> void +YBNpgsqlTypes.NpgsqlBox +YBNpgsqlTypes.NpgsqlBox.Bottom.get -> double +YBNpgsqlTypes.NpgsqlBox.Equals(YBNpgsqlTypes.NpgsqlBox other) -> bool +YBNpgsqlTypes.NpgsqlBox.Height.get -> double +YBNpgsqlTypes.NpgsqlBox.IsEmpty.get -> bool +YBNpgsqlTypes.NpgsqlBox.Left.get -> double +YBNpgsqlTypes.NpgsqlBox.LowerLeft.get -> YBNpgsqlTypes.NpgsqlPoint +YBNpgsqlTypes.NpgsqlBox.LowerLeft.set -> void +YBNpgsqlTypes.NpgsqlBox.NpgsqlBox() -> void +YBNpgsqlTypes.NpgsqlBox.NpgsqlBox(double top, double right, double bottom, double left) -> void +YBNpgsqlTypes.NpgsqlBox.NpgsqlBox(YBNpgsqlTypes.NpgsqlPoint upperRight, YBNpgsqlTypes.NpgsqlPoint lowerLeft) -> void +YBNpgsqlTypes.NpgsqlBox.Right.get -> double +YBNpgsqlTypes.NpgsqlBox.Top.get -> double +YBNpgsqlTypes.NpgsqlBox.UpperRight.get -> YBNpgsqlTypes.NpgsqlPoint +YBNpgsqlTypes.NpgsqlBox.UpperRight.set -> void +YBNpgsqlTypes.NpgsqlBox.Width.get -> double +YBNpgsqlTypes.NpgsqlCidr +YBNpgsqlTypes.NpgsqlCidr.Address.get -> System.Net.IPAddress! +YBNpgsqlTypes.NpgsqlCidr.Deconstruct(out System.Net.IPAddress! address, out byte netmask) -> void +YBNpgsqlTypes.NpgsqlCidr.Netmask.get -> byte +YBNpgsqlTypes.NpgsqlCidr.NpgsqlCidr() -> void +YBNpgsqlTypes.NpgsqlCidr.NpgsqlCidr(string! addr) -> void +YBNpgsqlTypes.NpgsqlCidr.NpgsqlCidr(System.Net.IPAddress! address, byte netmask) -> void +YBNpgsqlTypes.NpgsqlCircle +YBNpgsqlTypes.NpgsqlCircle.Center.get -> YBNpgsqlTypes.NpgsqlPoint +YBNpgsqlTypes.NpgsqlCircle.Center.set -> void +YBNpgsqlTypes.NpgsqlCircle.Equals(YBNpgsqlTypes.NpgsqlCircle other) -> bool +YBNpgsqlTypes.NpgsqlCircle.NpgsqlCircle() -> void +YBNpgsqlTypes.NpgsqlCircle.NpgsqlCircle(double x, double y, double radius) -> void +YBNpgsqlTypes.NpgsqlCircle.NpgsqlCircle(YBNpgsqlTypes.NpgsqlPoint center, double radius) -> void +YBNpgsqlTypes.NpgsqlCircle.Radius.get -> double +YBNpgsqlTypes.NpgsqlCircle.Radius.set -> void +YBNpgsqlTypes.NpgsqlCircle.X.get -> double +YBNpgsqlTypes.NpgsqlCircle.X.set -> void +YBNpgsqlTypes.NpgsqlCircle.Y.get -> double +YBNpgsqlTypes.NpgsqlCircle.Y.set -> void +YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Abstime = 33 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Array = -2147483648 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Bigint = 1 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.BigIntMultirange = 536870913 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.BigIntRange = 1073741825 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Bit = 25 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Boolean = 2 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Box = 3 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Bytea = 4 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Char = 6 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Cid = 43 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Cidr = 44 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Circle = 5 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Citext = 51 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Date = 7 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.DateMultirange = 536870919 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.DateRange = 1073741831 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Double = 8 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Geography = 55 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Geometry = 50 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Hstore = 37 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Inet = 24 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Int2Vector = 52 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Integer = 9 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.IntegerMultirange = 536870921 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.IntegerRange = 1073741833 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.InternalChar = 38 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Interval = 30 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Json = 35 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Jsonb = 36 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.JsonPath = 57 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Line = 10 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.LQuery = 61 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.LSeg = 11 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.LTree = 60 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.LTxtQuery = 62 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.MacAddr = 34 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.MacAddr8 = 54 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Money = 12 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Multirange = 536870912 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Name = 32 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Numeric = 13 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.NumericMultirange = 536870925 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.NumericRange = 1073741837 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Oid = 41 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Oidvector = 29 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Path = 14 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.PgLsn = 59 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Point = 15 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Polygon = 16 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Range = 1073741824 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Real = 17 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Refcursor = 23 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Regconfig = 56 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Regtype = 49 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Smallint = 18 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Text = 19 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Tid = 53 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Time = 20 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Timestamp = 21 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.TimestampMultirange = 536870933 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.TimestampRange = 1073741845 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.TimestampTz = 26 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.TimestampTzMultirange = 536870938 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.TimestampTzRange = 1073741850 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.TimeTz = 31 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.TsQuery = 46 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.TsVector = 45 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Unknown = 40 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Uuid = 27 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Varbit = 39 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Varchar = 22 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Xid = 42 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Xid8 = 64 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlDbType.Xml = 28 -> YBNpgsqlTypes.NpgsqlDbType +YBNpgsqlTypes.NpgsqlInet +YBNpgsqlTypes.NpgsqlInet.Address.get -> System.Net.IPAddress! +YBNpgsqlTypes.NpgsqlInet.Deconstruct(out System.Net.IPAddress! address, out byte netmask) -> void +YBNpgsqlTypes.NpgsqlInet.Netmask.get -> byte +YBNpgsqlTypes.NpgsqlInet.NpgsqlInet() -> void +YBNpgsqlTypes.NpgsqlInet.NpgsqlInet(string! addr) -> void +YBNpgsqlTypes.NpgsqlInet.NpgsqlInet(System.Net.IPAddress! address) -> void +YBNpgsqlTypes.NpgsqlInet.NpgsqlInet(System.Net.IPAddress! address, byte netmask) -> void +YBNpgsqlTypes.NpgsqlInterval +YBNpgsqlTypes.NpgsqlInterval.Days.get -> int +YBNpgsqlTypes.NpgsqlInterval.Equals(YBNpgsqlTypes.NpgsqlInterval other) -> bool +YBNpgsqlTypes.NpgsqlInterval.Months.get -> int +YBNpgsqlTypes.NpgsqlInterval.NpgsqlInterval() -> void +YBNpgsqlTypes.NpgsqlInterval.NpgsqlInterval(int months, int days, long time) -> void +YBNpgsqlTypes.NpgsqlInterval.Time.get -> long +YBNpgsqlTypes.NpgsqlLine +YBNpgsqlTypes.NpgsqlLine.A.get -> double +YBNpgsqlTypes.NpgsqlLine.A.set -> void +YBNpgsqlTypes.NpgsqlLine.B.get -> double +YBNpgsqlTypes.NpgsqlLine.B.set -> void +YBNpgsqlTypes.NpgsqlLine.C.get -> double +YBNpgsqlTypes.NpgsqlLine.C.set -> void +YBNpgsqlTypes.NpgsqlLine.Equals(YBNpgsqlTypes.NpgsqlLine other) -> bool +YBNpgsqlTypes.NpgsqlLine.NpgsqlLine() -> void +YBNpgsqlTypes.NpgsqlLine.NpgsqlLine(double a, double b, double c) -> void +YBNpgsqlTypes.NpgsqlLogSequenceNumber +YBNpgsqlTypes.NpgsqlLogSequenceNumber.CompareTo(YBNpgsqlTypes.NpgsqlLogSequenceNumber value) -> int +YBNpgsqlTypes.NpgsqlLogSequenceNumber.Equals(YBNpgsqlTypes.NpgsqlLogSequenceNumber other) -> bool +YBNpgsqlTypes.NpgsqlLogSequenceNumber.NpgsqlLogSequenceNumber() -> void +YBNpgsqlTypes.NpgsqlLogSequenceNumber.NpgsqlLogSequenceNumber(ulong value) -> void +YBNpgsqlTypes.NpgsqlLSeg +YBNpgsqlTypes.NpgsqlLSeg.End.get -> YBNpgsqlTypes.NpgsqlPoint +YBNpgsqlTypes.NpgsqlLSeg.End.set -> void +YBNpgsqlTypes.NpgsqlLSeg.Equals(YBNpgsqlTypes.NpgsqlLSeg other) -> bool +YBNpgsqlTypes.NpgsqlLSeg.NpgsqlLSeg() -> void +YBNpgsqlTypes.NpgsqlLSeg.NpgsqlLSeg(double startx, double starty, double endx, double endy) -> void +YBNpgsqlTypes.NpgsqlLSeg.NpgsqlLSeg(YBNpgsqlTypes.NpgsqlPoint start, YBNpgsqlTypes.NpgsqlPoint end) -> void +YBNpgsqlTypes.NpgsqlLSeg.Start.get -> YBNpgsqlTypes.NpgsqlPoint +YBNpgsqlTypes.NpgsqlLSeg.Start.set -> void +YBNpgsqlTypes.NpgsqlPath +YBNpgsqlTypes.NpgsqlPath.Add(YBNpgsqlTypes.NpgsqlPoint item) -> void +YBNpgsqlTypes.NpgsqlPath.Capacity.get -> int +YBNpgsqlTypes.NpgsqlPath.Clear() -> void +YBNpgsqlTypes.NpgsqlPath.Contains(YBNpgsqlTypes.NpgsqlPoint item) -> bool +YBNpgsqlTypes.NpgsqlPath.CopyTo(YBNpgsqlTypes.NpgsqlPoint[]! array, int arrayIndex) -> void +YBNpgsqlTypes.NpgsqlPath.Count.get -> int +YBNpgsqlTypes.NpgsqlPath.Equals(YBNpgsqlTypes.NpgsqlPath other) -> bool +YBNpgsqlTypes.NpgsqlPath.GetEnumerator() -> System.Collections.Generic.IEnumerator! +YBNpgsqlTypes.NpgsqlPath.IndexOf(YBNpgsqlTypes.NpgsqlPoint item) -> int +YBNpgsqlTypes.NpgsqlPath.Insert(int index, YBNpgsqlTypes.NpgsqlPoint item) -> void +YBNpgsqlTypes.NpgsqlPath.IsReadOnly.get -> bool +YBNpgsqlTypes.NpgsqlPath.NpgsqlPath() -> void +YBNpgsqlTypes.NpgsqlPath.NpgsqlPath(bool open) -> void +YBNpgsqlTypes.NpgsqlPath.NpgsqlPath(int capacity) -> void +YBNpgsqlTypes.NpgsqlPath.NpgsqlPath(int capacity, bool open) -> void +YBNpgsqlTypes.NpgsqlPath.NpgsqlPath(params YBNpgsqlTypes.NpgsqlPoint[]! points) -> void +YBNpgsqlTypes.NpgsqlPath.NpgsqlPath(System.Collections.Generic.IEnumerable! points) -> void +YBNpgsqlTypes.NpgsqlPath.NpgsqlPath(System.Collections.Generic.IEnumerable! points, bool open) -> void +YBNpgsqlTypes.NpgsqlPath.Open.get -> bool +YBNpgsqlTypes.NpgsqlPath.Open.set -> void +YBNpgsqlTypes.NpgsqlPath.Remove(YBNpgsqlTypes.NpgsqlPoint item) -> bool +YBNpgsqlTypes.NpgsqlPath.RemoveAt(int index) -> void +YBNpgsqlTypes.NpgsqlPath.this[int index].get -> YBNpgsqlTypes.NpgsqlPoint +YBNpgsqlTypes.NpgsqlPath.this[int index].set -> void +YBNpgsqlTypes.NpgsqlPoint +YBNpgsqlTypes.NpgsqlPoint.Equals(YBNpgsqlTypes.NpgsqlPoint other) -> bool +YBNpgsqlTypes.NpgsqlPoint.NpgsqlPoint() -> void +YBNpgsqlTypes.NpgsqlPoint.NpgsqlPoint(double x, double y) -> void +YBNpgsqlTypes.NpgsqlPoint.X.get -> double +YBNpgsqlTypes.NpgsqlPoint.X.set -> void +YBNpgsqlTypes.NpgsqlPoint.Y.get -> double +YBNpgsqlTypes.NpgsqlPoint.Y.set -> void +YBNpgsqlTypes.NpgsqlPolygon +YBNpgsqlTypes.NpgsqlPolygon.Add(YBNpgsqlTypes.NpgsqlPoint item) -> void +YBNpgsqlTypes.NpgsqlPolygon.Capacity.get -> int +YBNpgsqlTypes.NpgsqlPolygon.Clear() -> void +YBNpgsqlTypes.NpgsqlPolygon.Contains(YBNpgsqlTypes.NpgsqlPoint item) -> bool +YBNpgsqlTypes.NpgsqlPolygon.CopyTo(YBNpgsqlTypes.NpgsqlPoint[]! array, int arrayIndex) -> void +YBNpgsqlTypes.NpgsqlPolygon.Count.get -> int +YBNpgsqlTypes.NpgsqlPolygon.Equals(YBNpgsqlTypes.NpgsqlPolygon other) -> bool +YBNpgsqlTypes.NpgsqlPolygon.GetEnumerator() -> System.Collections.Generic.IEnumerator! +YBNpgsqlTypes.NpgsqlPolygon.IndexOf(YBNpgsqlTypes.NpgsqlPoint item) -> int +YBNpgsqlTypes.NpgsqlPolygon.Insert(int index, YBNpgsqlTypes.NpgsqlPoint item) -> void +YBNpgsqlTypes.NpgsqlPolygon.IsReadOnly.get -> bool +YBNpgsqlTypes.NpgsqlPolygon.NpgsqlPolygon() -> void +YBNpgsqlTypes.NpgsqlPolygon.NpgsqlPolygon(int capacity) -> void +YBNpgsqlTypes.NpgsqlPolygon.NpgsqlPolygon(params YBNpgsqlTypes.NpgsqlPoint[]! points) -> void +YBNpgsqlTypes.NpgsqlPolygon.NpgsqlPolygon(System.Collections.Generic.IEnumerable! points) -> void +YBNpgsqlTypes.NpgsqlPolygon.Remove(YBNpgsqlTypes.NpgsqlPoint item) -> bool +YBNpgsqlTypes.NpgsqlPolygon.RemoveAt(int index) -> void +YBNpgsqlTypes.NpgsqlPolygon.this[int index].get -> YBNpgsqlTypes.NpgsqlPoint +YBNpgsqlTypes.NpgsqlPolygon.this[int index].set -> void +YBNpgsqlTypes.NpgsqlRange +YBNpgsqlTypes.NpgsqlRange.Equals(YBNpgsqlTypes.NpgsqlRange other) -> bool +YBNpgsqlTypes.NpgsqlRange.IsEmpty.get -> bool +YBNpgsqlTypes.NpgsqlRange.LowerBound.get -> T +YBNpgsqlTypes.NpgsqlRange.LowerBoundInfinite.get -> bool +YBNpgsqlTypes.NpgsqlRange.LowerBoundIsInclusive.get -> bool +YBNpgsqlTypes.NpgsqlRange.NpgsqlRange() -> void +YBNpgsqlTypes.NpgsqlRange.NpgsqlRange(T lowerBound, bool lowerBoundIsInclusive, bool lowerBoundInfinite, T upperBound, bool upperBoundIsInclusive, bool upperBoundInfinite) -> void +YBNpgsqlTypes.NpgsqlRange.NpgsqlRange(T lowerBound, bool lowerBoundIsInclusive, T upperBound, bool upperBoundIsInclusive) -> void +YBNpgsqlTypes.NpgsqlRange.NpgsqlRange(T lowerBound, T upperBound) -> void +YBNpgsqlTypes.NpgsqlRange.RangeTypeConverter +YBNpgsqlTypes.NpgsqlRange.RangeTypeConverter.RangeTypeConverter() -> void +YBNpgsqlTypes.NpgsqlRange.UpperBound.get -> T +YBNpgsqlTypes.NpgsqlRange.UpperBoundInfinite.get -> bool +YBNpgsqlTypes.NpgsqlRange.UpperBoundIsInclusive.get -> bool +YBNpgsqlTypes.NpgsqlTid +YBNpgsqlTypes.NpgsqlTid.BlockNumber.get -> uint +YBNpgsqlTypes.NpgsqlTid.Equals(YBNpgsqlTypes.NpgsqlTid other) -> bool +YBNpgsqlTypes.NpgsqlTid.NpgsqlTid() -> void +YBNpgsqlTypes.NpgsqlTid.NpgsqlTid(uint blockNumber, ushort offsetNumber) -> void +YBNpgsqlTypes.NpgsqlTid.OffsetNumber.get -> ushort +YBNpgsqlTypes.NpgsqlTsQuery +YBNpgsqlTypes.NpgsqlTsQuery.Kind.get -> YBNpgsqlTypes.NpgsqlTsQuery.NodeKind +YBNpgsqlTypes.NpgsqlTsQuery.NodeKind +YBNpgsqlTypes.NpgsqlTsQuery.NodeKind.And = 2 -> YBNpgsqlTypes.NpgsqlTsQuery.NodeKind +YBNpgsqlTypes.NpgsqlTsQuery.NodeKind.Empty = -1 -> YBNpgsqlTypes.NpgsqlTsQuery.NodeKind +YBNpgsqlTypes.NpgsqlTsQuery.NodeKind.Lexeme = 0 -> YBNpgsqlTypes.NpgsqlTsQuery.NodeKind +YBNpgsqlTypes.NpgsqlTsQuery.NodeKind.Not = 1 -> YBNpgsqlTypes.NpgsqlTsQuery.NodeKind +YBNpgsqlTypes.NpgsqlTsQuery.NodeKind.Or = 3 -> YBNpgsqlTypes.NpgsqlTsQuery.NodeKind +YBNpgsqlTypes.NpgsqlTsQuery.NodeKind.Phrase = 4 -> YBNpgsqlTypes.NpgsqlTsQuery.NodeKind +YBNpgsqlTypes.NpgsqlTsQuery.NpgsqlTsQuery(YBNpgsqlTypes.NpgsqlTsQuery.NodeKind kind) -> void +YBNpgsqlTypes.NpgsqlTsQuery.Write(System.Text.StringBuilder! stringBuilder) -> void +YBNpgsqlTypes.NpgsqlTsQueryAnd +YBNpgsqlTypes.NpgsqlTsQueryAnd.NpgsqlTsQueryAnd(YBNpgsqlTypes.NpgsqlTsQuery! left, YBNpgsqlTypes.NpgsqlTsQuery! right) -> void +YBNpgsqlTypes.NpgsqlTsQueryBinOp +YBNpgsqlTypes.NpgsqlTsQueryBinOp.Left.get -> YBNpgsqlTypes.NpgsqlTsQuery! +YBNpgsqlTypes.NpgsqlTsQueryBinOp.Left.set -> void +YBNpgsqlTypes.NpgsqlTsQueryBinOp.NpgsqlTsQueryBinOp(YBNpgsqlTypes.NpgsqlTsQuery.NodeKind kind, YBNpgsqlTypes.NpgsqlTsQuery! left, YBNpgsqlTypes.NpgsqlTsQuery! right) -> void +YBNpgsqlTypes.NpgsqlTsQueryBinOp.Right.get -> YBNpgsqlTypes.NpgsqlTsQuery! +YBNpgsqlTypes.NpgsqlTsQueryBinOp.Right.set -> void +YBNpgsqlTypes.NpgsqlTsQueryEmpty +YBNpgsqlTypes.NpgsqlTsQueryEmpty.NpgsqlTsQueryEmpty() -> void +YBNpgsqlTypes.NpgsqlTsQueryFollowedBy +YBNpgsqlTypes.NpgsqlTsQueryFollowedBy.Distance.get -> short +YBNpgsqlTypes.NpgsqlTsQueryFollowedBy.Distance.set -> void +YBNpgsqlTypes.NpgsqlTsQueryFollowedBy.NpgsqlTsQueryFollowedBy(YBNpgsqlTypes.NpgsqlTsQuery! left, short distance, YBNpgsqlTypes.NpgsqlTsQuery! right) -> void +YBNpgsqlTypes.NpgsqlTsQueryLexeme +YBNpgsqlTypes.NpgsqlTsQueryLexeme.IsPrefixSearch.get -> bool +YBNpgsqlTypes.NpgsqlTsQueryLexeme.IsPrefixSearch.set -> void +YBNpgsqlTypes.NpgsqlTsQueryLexeme.NpgsqlTsQueryLexeme(string! text) -> void +YBNpgsqlTypes.NpgsqlTsQueryLexeme.NpgsqlTsQueryLexeme(string! text, YBNpgsqlTypes.NpgsqlTsQueryLexeme.Weight weights) -> void +YBNpgsqlTypes.NpgsqlTsQueryLexeme.NpgsqlTsQueryLexeme(string! text, YBNpgsqlTypes.NpgsqlTsQueryLexeme.Weight weights, bool isPrefixSearch) -> void +YBNpgsqlTypes.NpgsqlTsQueryLexeme.Text.get -> string! +YBNpgsqlTypes.NpgsqlTsQueryLexeme.Text.set -> void +YBNpgsqlTypes.NpgsqlTsQueryLexeme.Weight +YBNpgsqlTypes.NpgsqlTsQueryLexeme.Weight.A = 8 -> YBNpgsqlTypes.NpgsqlTsQueryLexeme.Weight +YBNpgsqlTypes.NpgsqlTsQueryLexeme.Weight.B = 4 -> YBNpgsqlTypes.NpgsqlTsQueryLexeme.Weight +YBNpgsqlTypes.NpgsqlTsQueryLexeme.Weight.C = 2 -> YBNpgsqlTypes.NpgsqlTsQueryLexeme.Weight +YBNpgsqlTypes.NpgsqlTsQueryLexeme.Weight.D = 1 -> YBNpgsqlTypes.NpgsqlTsQueryLexeme.Weight +YBNpgsqlTypes.NpgsqlTsQueryLexeme.Weight.None = 0 -> YBNpgsqlTypes.NpgsqlTsQueryLexeme.Weight +YBNpgsqlTypes.NpgsqlTsQueryLexeme.Weights.get -> YBNpgsqlTypes.NpgsqlTsQueryLexeme.Weight +YBNpgsqlTypes.NpgsqlTsQueryLexeme.Weights.set -> void +YBNpgsqlTypes.NpgsqlTsQueryNot +YBNpgsqlTypes.NpgsqlTsQueryNot.Child.get -> YBNpgsqlTypes.NpgsqlTsQuery! +YBNpgsqlTypes.NpgsqlTsQueryNot.Child.set -> void +YBNpgsqlTypes.NpgsqlTsQueryNot.NpgsqlTsQueryNot(YBNpgsqlTypes.NpgsqlTsQuery! child) -> void +YBNpgsqlTypes.NpgsqlTsQueryOr +YBNpgsqlTypes.NpgsqlTsQueryOr.NpgsqlTsQueryOr(YBNpgsqlTypes.NpgsqlTsQuery! left, YBNpgsqlTypes.NpgsqlTsQuery! right) -> void +YBNpgsqlTypes.NpgsqlTsVector +YBNpgsqlTypes.NpgsqlTsVector.Count.get -> int +YBNpgsqlTypes.NpgsqlTsVector.Equals(YBNpgsqlTypes.NpgsqlTsVector? other) -> bool +YBNpgsqlTypes.NpgsqlTsVector.GetEnumerator() -> System.Collections.Generic.IEnumerator! +YBNpgsqlTypes.NpgsqlTsVector.Lexeme +YBNpgsqlTypes.NpgsqlTsVector.Lexeme.Count.get -> int +YBNpgsqlTypes.NpgsqlTsVector.Lexeme.Equals(YBNpgsqlTypes.NpgsqlTsVector.Lexeme o) -> bool +YBNpgsqlTypes.NpgsqlTsVector.Lexeme.Lexeme() -> void +YBNpgsqlTypes.NpgsqlTsVector.Lexeme.Lexeme(string! text) -> void +YBNpgsqlTypes.NpgsqlTsVector.Lexeme.Lexeme(string! text, System.Collections.Generic.List? wordEntryPositions) -> void +YBNpgsqlTypes.NpgsqlTsVector.Lexeme.Text.get -> string! +YBNpgsqlTypes.NpgsqlTsVector.Lexeme.Text.set -> void +YBNpgsqlTypes.NpgsqlTsVector.Lexeme.this[int index].get -> YBNpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos +YBNpgsqlTypes.NpgsqlTsVector.Lexeme.Weight +YBNpgsqlTypes.NpgsqlTsVector.Lexeme.Weight.A = 3 -> YBNpgsqlTypes.NpgsqlTsVector.Lexeme.Weight +YBNpgsqlTypes.NpgsqlTsVector.Lexeme.Weight.B = 2 -> YBNpgsqlTypes.NpgsqlTsVector.Lexeme.Weight +YBNpgsqlTypes.NpgsqlTsVector.Lexeme.Weight.C = 1 -> YBNpgsqlTypes.NpgsqlTsVector.Lexeme.Weight +YBNpgsqlTypes.NpgsqlTsVector.Lexeme.Weight.D = 0 -> YBNpgsqlTypes.NpgsqlTsVector.Lexeme.Weight +YBNpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos +YBNpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos.Equals(YBNpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos o) -> bool +YBNpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos.Pos.get -> int +YBNpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos.Weight.get -> YBNpgsqlTypes.NpgsqlTsVector.Lexeme.Weight +YBNpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos.WordEntryPos() -> void +YBNpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos.WordEntryPos(int pos, YBNpgsqlTypes.NpgsqlTsVector.Lexeme.Weight weight = YBNpgsqlTypes.NpgsqlTsVector.Lexeme.Weight.D) -> void +YBNpgsqlTypes.NpgsqlTsVector.this[int index].get -> YBNpgsqlTypes.NpgsqlTsVector.Lexeme +YBNpgsqlTypes.PgNameAttribute +YBNpgsqlTypes.PgNameAttribute.PgName.get -> string! +YBNpgsqlTypes.PgNameAttribute.PgNameAttribute(string! pgName) -> void +override YBNpgsql.BackendMessages.FieldDescription.ToString() -> string! +override YBNpgsql.NpgsqlBatch.Cancel() -> void +override YBNpgsql.NpgsqlBatch.CreateDbBatchCommand() -> System.Data.Common.DbBatchCommand! +override YBNpgsql.NpgsqlBatch.DbBatchCommands.get -> System.Data.Common.DbBatchCommandCollection! +override YBNpgsql.NpgsqlBatch.DbConnection.get -> System.Data.Common.DbConnection? +override YBNpgsql.NpgsqlBatch.DbConnection.set -> void +override YBNpgsql.NpgsqlBatch.DbTransaction.get -> System.Data.Common.DbTransaction? +override YBNpgsql.NpgsqlBatch.DbTransaction.set -> void +override YBNpgsql.NpgsqlBatch.Dispose() -> void +override YBNpgsql.NpgsqlBatch.ExecuteDbDataReader(System.Data.CommandBehavior behavior) -> System.Data.Common.DbDataReader! +override YBNpgsql.NpgsqlBatch.ExecuteDbDataReaderAsync(System.Data.CommandBehavior behavior, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlBatch.ExecuteNonQuery() -> int +override YBNpgsql.NpgsqlBatch.ExecuteNonQueryAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlBatch.ExecuteScalar() -> object? +override YBNpgsql.NpgsqlBatch.ExecuteScalarAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlBatch.Prepare() -> void +override YBNpgsql.NpgsqlBatch.PrepareAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlBatch.Timeout.get -> int +override YBNpgsql.NpgsqlBatch.Timeout.set -> void +override YBNpgsql.NpgsqlBatchCommand.CanCreateParameter.get -> bool +override YBNpgsql.NpgsqlBatchCommand.CommandText.get -> string! +override YBNpgsql.NpgsqlBatchCommand.CommandText.set -> void +override YBNpgsql.NpgsqlBatchCommand.CommandType.get -> System.Data.CommandType +override YBNpgsql.NpgsqlBatchCommand.CommandType.set -> void +override YBNpgsql.NpgsqlBatchCommand.CreateParameter() -> YBNpgsql.NpgsqlParameter! +override YBNpgsql.NpgsqlBatchCommand.RecordsAffected.get -> int +override YBNpgsql.NpgsqlBatchCommand.ToString() -> string! +override YBNpgsql.NpgsqlBatchCommandCollection.Add(System.Data.Common.DbBatchCommand! item) -> void +override YBNpgsql.NpgsqlBatchCommandCollection.Clear() -> void +override YBNpgsql.NpgsqlBatchCommandCollection.Contains(System.Data.Common.DbBatchCommand! item) -> bool +override YBNpgsql.NpgsqlBatchCommandCollection.CopyTo(System.Data.Common.DbBatchCommand![]! array, int arrayIndex) -> void +override YBNpgsql.NpgsqlBatchCommandCollection.Count.get -> int +override YBNpgsql.NpgsqlBatchCommandCollection.GetEnumerator() -> System.Collections.Generic.IEnumerator! +override YBNpgsql.NpgsqlBatchCommandCollection.IndexOf(System.Data.Common.DbBatchCommand! item) -> int +override YBNpgsql.NpgsqlBatchCommandCollection.Insert(int index, System.Data.Common.DbBatchCommand! item) -> void +override YBNpgsql.NpgsqlBatchCommandCollection.IsReadOnly.get -> bool +override YBNpgsql.NpgsqlBatchCommandCollection.Remove(System.Data.Common.DbBatchCommand! item) -> bool +override YBNpgsql.NpgsqlBatchCommandCollection.RemoveAt(int index) -> void +override YBNpgsql.NpgsqlCommand.Cancel() -> void +override YBNpgsql.NpgsqlCommand.CommandText.get -> string! +override YBNpgsql.NpgsqlCommand.CommandText.set -> void +override YBNpgsql.NpgsqlCommand.CommandTimeout.get -> int +override YBNpgsql.NpgsqlCommand.CommandTimeout.set -> void +override YBNpgsql.NpgsqlCommand.CommandType.get -> System.Data.CommandType +override YBNpgsql.NpgsqlCommand.CommandType.set -> void +override YBNpgsql.NpgsqlCommand.CreateDbParameter() -> System.Data.Common.DbParameter! +override YBNpgsql.NpgsqlCommand.DbConnection.get -> System.Data.Common.DbConnection? +override YBNpgsql.NpgsqlCommand.DbConnection.set -> void +override YBNpgsql.NpgsqlCommand.DbParameterCollection.get -> System.Data.Common.DbParameterCollection! +override YBNpgsql.NpgsqlCommand.DbTransaction.get -> System.Data.Common.DbTransaction? +override YBNpgsql.NpgsqlCommand.DbTransaction.set -> void +override YBNpgsql.NpgsqlCommand.DesignTimeVisible.get -> bool +override YBNpgsql.NpgsqlCommand.DesignTimeVisible.set -> void +override YBNpgsql.NpgsqlCommand.Dispose(bool disposing) -> void +override YBNpgsql.NpgsqlCommand.ExecuteDbDataReader(System.Data.CommandBehavior behavior) -> System.Data.Common.DbDataReader! +override YBNpgsql.NpgsqlCommand.ExecuteDbDataReaderAsync(System.Data.CommandBehavior behavior, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlCommand.ExecuteNonQuery() -> int +override YBNpgsql.NpgsqlCommand.ExecuteNonQueryAsync(System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlCommand.ExecuteScalar() -> object? +override YBNpgsql.NpgsqlCommand.ExecuteScalarAsync(System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlCommand.Prepare() -> void +override YBNpgsql.NpgsqlCommand.PrepareAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlCommand.UpdatedRowSource.get -> System.Data.UpdateRowSource +override YBNpgsql.NpgsqlCommand.UpdatedRowSource.set -> void +override YBNpgsql.NpgsqlCommandBuilder.QuoteIdentifier(string! unquotedIdentifier) -> string! +override YBNpgsql.NpgsqlCommandBuilder.QuotePrefix.get -> string! +override YBNpgsql.NpgsqlCommandBuilder.QuotePrefix.set -> void +override YBNpgsql.NpgsqlCommandBuilder.QuoteSuffix.get -> string! +override YBNpgsql.NpgsqlCommandBuilder.QuoteSuffix.set -> void +override YBNpgsql.NpgsqlCommandBuilder.UnquoteIdentifier(string! quotedIdentifier) -> string! +override YBNpgsql.NpgsqlConnection.CanCreateBatch.get -> bool +override YBNpgsql.NpgsqlConnection.ChangeDatabase(string! dbName) -> void +override YBNpgsql.NpgsqlConnection.Close() -> void +override YBNpgsql.NpgsqlConnection.CloseAsync() -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlConnection.ConnectionString.get -> string! +override YBNpgsql.NpgsqlConnection.ConnectionString.set -> void +override YBNpgsql.NpgsqlConnection.ConnectionTimeout.get -> int +override YBNpgsql.NpgsqlConnection.Database.get -> string! +override YBNpgsql.NpgsqlConnection.DataSource.get -> string! +override YBNpgsql.NpgsqlConnection.DisposeAsync() -> System.Threading.Tasks.ValueTask +override YBNpgsql.NpgsqlConnection.EnlistTransaction(System.Transactions.Transaction? transaction) -> void +override YBNpgsql.NpgsqlConnection.GetSchema() -> System.Data.DataTable! +override YBNpgsql.NpgsqlConnection.GetSchema(string? collectionName) -> System.Data.DataTable! +override YBNpgsql.NpgsqlConnection.GetSchema(string? collectionName, string?[]? restrictions) -> System.Data.DataTable! +override YBNpgsql.NpgsqlConnection.GetSchemaAsync(string! collectionName, string?[]? restrictions, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlConnection.GetSchemaAsync(string! collectionName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlConnection.GetSchemaAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlConnection.Open() -> void +override YBNpgsql.NpgsqlConnection.OpenAsync(System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlConnection.ServerVersion.get -> string! +override YBNpgsql.NpgsqlConnection.State.get -> System.Data.ConnectionState +override YBNpgsql.NpgsqlConnectionStringBuilder.Clear() -> void +override YBNpgsql.NpgsqlConnectionStringBuilder.ContainsKey(string! keyword) -> bool +override YBNpgsql.NpgsqlConnectionStringBuilder.Equals(object? obj) -> bool +override YBNpgsql.NpgsqlConnectionStringBuilder.GetHashCode() -> int +override YBNpgsql.NpgsqlConnectionStringBuilder.Remove(string! keyword) -> bool +override YBNpgsql.NpgsqlConnectionStringBuilder.this[string! keyword].get -> object! +override YBNpgsql.NpgsqlConnectionStringBuilder.this[string! keyword].set -> void +override YBNpgsql.NpgsqlConnectionStringBuilder.TryGetValue(string! keyword, out object? value) -> bool +override YBNpgsql.NpgsqlDataReader.Close() -> void +override YBNpgsql.NpgsqlDataReader.CloseAsync() -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlDataReader.Depth.get -> int +override YBNpgsql.NpgsqlDataReader.DisposeAsync() -> System.Threading.Tasks.ValueTask +override YBNpgsql.NpgsqlDataReader.FieldCount.get -> int +override YBNpgsql.NpgsqlDataReader.GetBoolean(int ordinal) -> bool +override YBNpgsql.NpgsqlDataReader.GetByte(int ordinal) -> byte +override YBNpgsql.NpgsqlDataReader.GetBytes(int ordinal, long dataOffset, byte[]? buffer, int bufferOffset, int length) -> long +override YBNpgsql.NpgsqlDataReader.GetChar(int ordinal) -> char +override YBNpgsql.NpgsqlDataReader.GetChars(int ordinal, long dataOffset, char[]? buffer, int bufferOffset, int length) -> long +override YBNpgsql.NpgsqlDataReader.GetDataTypeName(int ordinal) -> string! +override YBNpgsql.NpgsqlDataReader.GetDateTime(int ordinal) -> System.DateTime +override YBNpgsql.NpgsqlDataReader.GetDecimal(int ordinal) -> decimal +override YBNpgsql.NpgsqlDataReader.GetDouble(int ordinal) -> double +override YBNpgsql.NpgsqlDataReader.GetEnumerator() -> System.Collections.IEnumerator! +override YBNpgsql.NpgsqlDataReader.GetFieldType(int ordinal) -> System.Type! +override YBNpgsql.NpgsqlDataReader.GetFieldValue(int ordinal) -> T +override YBNpgsql.NpgsqlDataReader.GetFieldValueAsync(int ordinal, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlDataReader.GetFloat(int ordinal) -> float +override YBNpgsql.NpgsqlDataReader.GetGuid(int ordinal) -> System.Guid +override YBNpgsql.NpgsqlDataReader.GetInt16(int ordinal) -> short +override YBNpgsql.NpgsqlDataReader.GetInt32(int ordinal) -> int +override YBNpgsql.NpgsqlDataReader.GetInt64(int ordinal) -> long +override YBNpgsql.NpgsqlDataReader.GetName(int ordinal) -> string! +override YBNpgsql.NpgsqlDataReader.GetOrdinal(string! name) -> int +override YBNpgsql.NpgsqlDataReader.GetSchemaTable() -> System.Data.DataTable? +override YBNpgsql.NpgsqlDataReader.GetSchemaTableAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlDataReader.GetStream(int ordinal) -> System.IO.Stream! +override YBNpgsql.NpgsqlDataReader.GetString(int ordinal) -> string! +override YBNpgsql.NpgsqlDataReader.GetTextReader(int ordinal) -> System.IO.TextReader! +override YBNpgsql.NpgsqlDataReader.GetValue(int ordinal) -> object! +override YBNpgsql.NpgsqlDataReader.GetValues(object![]! values) -> int +override YBNpgsql.NpgsqlDataReader.HasRows.get -> bool +override YBNpgsql.NpgsqlDataReader.IsClosed.get -> bool +override YBNpgsql.NpgsqlDataReader.IsDBNull(int ordinal) -> bool +override YBNpgsql.NpgsqlDataReader.IsDBNullAsync(int ordinal, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlDataReader.NextResult() -> bool +override YBNpgsql.NpgsqlDataReader.NextResultAsync(System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlDataReader.Read() -> bool +override YBNpgsql.NpgsqlDataReader.ReadAsync(System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlDataReader.RecordsAffected.get -> int +override YBNpgsql.NpgsqlDataReader.this[int ordinal].get -> object! +override YBNpgsql.NpgsqlDataReader.this[string! name].get -> object! +override YBNpgsql.NpgsqlDataSource.ConnectionString.get -> string! +override YBNpgsql.NpgsqlException.DbBatchCommand.get -> System.Data.Common.DbBatchCommand? +override YBNpgsql.NpgsqlException.IsTransient.get -> bool +override YBNpgsql.NpgsqlFactory.CanCreateBatch.get -> bool +override YBNpgsql.NpgsqlFactory.CanCreateCommandBuilder.get -> bool +override YBNpgsql.NpgsqlFactory.CanCreateDataAdapter.get -> bool +override YBNpgsql.NpgsqlFactory.CreateBatch() -> System.Data.Common.DbBatch! +override YBNpgsql.NpgsqlFactory.CreateBatchCommand() -> System.Data.Common.DbBatchCommand! +override YBNpgsql.NpgsqlFactory.CreateCommand() -> System.Data.Common.DbCommand! +override YBNpgsql.NpgsqlFactory.CreateCommandBuilder() -> System.Data.Common.DbCommandBuilder! +override YBNpgsql.NpgsqlFactory.CreateConnection() -> System.Data.Common.DbConnection! +override YBNpgsql.NpgsqlFactory.CreateConnectionStringBuilder() -> System.Data.Common.DbConnectionStringBuilder! +override YBNpgsql.NpgsqlFactory.CreateDataAdapter() -> System.Data.Common.DbDataAdapter! +override YBNpgsql.NpgsqlFactory.CreateDataSource(string! connectionString) -> System.Data.Common.DbDataSource! +override YBNpgsql.NpgsqlFactory.CreateParameter() -> System.Data.Common.DbParameter! +override YBNpgsql.NpgsqlLargeObjectStream.CanRead.get -> bool +override YBNpgsql.NpgsqlLargeObjectStream.CanSeek.get -> bool +override YBNpgsql.NpgsqlLargeObjectStream.CanTimeout.get -> bool +override YBNpgsql.NpgsqlLargeObjectStream.CanWrite.get -> bool +override YBNpgsql.NpgsqlLargeObjectStream.Close() -> void +override YBNpgsql.NpgsqlLargeObjectStream.Flush() -> void +override YBNpgsql.NpgsqlLargeObjectStream.Length.get -> long +override YBNpgsql.NpgsqlLargeObjectStream.Position.get -> long +override YBNpgsql.NpgsqlLargeObjectStream.Position.set -> void +override YBNpgsql.NpgsqlLargeObjectStream.Read(byte[]! buffer, int offset, int count) -> int +override YBNpgsql.NpgsqlLargeObjectStream.ReadAsync(byte[]! buffer, int offset, int count, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlLargeObjectStream.Seek(long offset, System.IO.SeekOrigin origin) -> long +override YBNpgsql.NpgsqlLargeObjectStream.SetLength(long value) -> void +override YBNpgsql.NpgsqlLargeObjectStream.Write(byte[]! buffer, int offset, int count) -> void +override YBNpgsql.NpgsqlLargeObjectStream.WriteAsync(byte[]! buffer, int offset, int count, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlNestedDataReader.Close() -> void +override YBNpgsql.NpgsqlNestedDataReader.Depth.get -> int +override YBNpgsql.NpgsqlNestedDataReader.FieldCount.get -> int +override YBNpgsql.NpgsqlNestedDataReader.GetBoolean(int ordinal) -> bool +override YBNpgsql.NpgsqlNestedDataReader.GetByte(int ordinal) -> byte +override YBNpgsql.NpgsqlNestedDataReader.GetBytes(int ordinal, long dataOffset, byte[]? buffer, int bufferOffset, int length) -> long +override YBNpgsql.NpgsqlNestedDataReader.GetChar(int ordinal) -> char +override YBNpgsql.NpgsqlNestedDataReader.GetChars(int ordinal, long dataOffset, char[]? buffer, int bufferOffset, int length) -> long +override YBNpgsql.NpgsqlNestedDataReader.GetDataTypeName(int ordinal) -> string! +override YBNpgsql.NpgsqlNestedDataReader.GetDateTime(int ordinal) -> System.DateTime +override YBNpgsql.NpgsqlNestedDataReader.GetDecimal(int ordinal) -> decimal +override YBNpgsql.NpgsqlNestedDataReader.GetDouble(int ordinal) -> double +override YBNpgsql.NpgsqlNestedDataReader.GetEnumerator() -> System.Collections.IEnumerator! +override YBNpgsql.NpgsqlNestedDataReader.GetFieldType(int ordinal) -> System.Type! +override YBNpgsql.NpgsqlNestedDataReader.GetFieldValue(int ordinal) -> T +override YBNpgsql.NpgsqlNestedDataReader.GetFloat(int ordinal) -> float +override YBNpgsql.NpgsqlNestedDataReader.GetGuid(int ordinal) -> System.Guid +override YBNpgsql.NpgsqlNestedDataReader.GetInt16(int ordinal) -> short +override YBNpgsql.NpgsqlNestedDataReader.GetInt32(int ordinal) -> int +override YBNpgsql.NpgsqlNestedDataReader.GetInt64(int ordinal) -> long +override YBNpgsql.NpgsqlNestedDataReader.GetName(int ordinal) -> string! +override YBNpgsql.NpgsqlNestedDataReader.GetOrdinal(string! name) -> int +override YBNpgsql.NpgsqlNestedDataReader.GetString(int ordinal) -> string! +override YBNpgsql.NpgsqlNestedDataReader.GetValue(int ordinal) -> object! +override YBNpgsql.NpgsqlNestedDataReader.GetValues(object![]! values) -> int +override YBNpgsql.NpgsqlNestedDataReader.HasRows.get -> bool +override YBNpgsql.NpgsqlNestedDataReader.IsClosed.get -> bool +override YBNpgsql.NpgsqlNestedDataReader.IsDBNull(int ordinal) -> bool +override YBNpgsql.NpgsqlNestedDataReader.NextResult() -> bool +override YBNpgsql.NpgsqlNestedDataReader.Read() -> bool +override YBNpgsql.NpgsqlNestedDataReader.RecordsAffected.get -> int +override YBNpgsql.NpgsqlNestedDataReader.this[int ordinal].get -> object! +override YBNpgsql.NpgsqlNestedDataReader.this[string! name].get -> object! +override YBNpgsql.NpgsqlParameter.ResetDbType() -> void +override YBNpgsql.NpgsqlParameter.Value.get -> object? +override YBNpgsql.NpgsqlParameter.Value.set -> void +override YBNpgsql.NpgsqlParameter.Value.get -> object? +override YBNpgsql.NpgsqlParameter.Value.set -> void +override YBNpgsql.NpgsqlParameterCollection.Add(object! value) -> int +override YBNpgsql.NpgsqlParameterCollection.AddRange(System.Array! values) -> void +override YBNpgsql.NpgsqlParameterCollection.Clear() -> void +override YBNpgsql.NpgsqlParameterCollection.Contains(object! value) -> bool +override YBNpgsql.NpgsqlParameterCollection.Contains(string! parameterName) -> bool +override YBNpgsql.NpgsqlParameterCollection.CopyTo(System.Array! array, int index) -> void +override YBNpgsql.NpgsqlParameterCollection.Count.get -> int +override YBNpgsql.NpgsqlParameterCollection.GetEnumerator() -> System.Collections.IEnumerator! +override YBNpgsql.NpgsqlParameterCollection.IndexOf(object! value) -> int +override YBNpgsql.NpgsqlParameterCollection.IndexOf(string! parameterName) -> int +override YBNpgsql.NpgsqlParameterCollection.Insert(int index, object! value) -> void +override YBNpgsql.NpgsqlParameterCollection.IsFixedSize.get -> bool +override YBNpgsql.NpgsqlParameterCollection.IsReadOnly.get -> bool +override YBNpgsql.NpgsqlParameterCollection.IsSynchronized.get -> bool +override YBNpgsql.NpgsqlParameterCollection.Remove(object! value) -> void +override YBNpgsql.NpgsqlParameterCollection.RemoveAt(int index) -> void +override YBNpgsql.NpgsqlParameterCollection.RemoveAt(string! parameterName) -> void +override YBNpgsql.NpgsqlParameterCollection.SyncRoot.get -> object! +override YBNpgsql.NpgsqlRawCopyStream.CanRead.get -> bool +override YBNpgsql.NpgsqlRawCopyStream.CanSeek.get -> bool +override YBNpgsql.NpgsqlRawCopyStream.CanTimeout.get -> bool +override YBNpgsql.NpgsqlRawCopyStream.CanWrite.get -> bool +override YBNpgsql.NpgsqlRawCopyStream.DisposeAsync() -> System.Threading.Tasks.ValueTask +override YBNpgsql.NpgsqlRawCopyStream.Flush() -> void +override YBNpgsql.NpgsqlRawCopyStream.FlushAsync(System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlRawCopyStream.Length.get -> long +override YBNpgsql.NpgsqlRawCopyStream.Position.get -> long +override YBNpgsql.NpgsqlRawCopyStream.Position.set -> void +override YBNpgsql.NpgsqlRawCopyStream.Read(byte[]! buffer, int offset, int count) -> int +override YBNpgsql.NpgsqlRawCopyStream.Read(System.Span span) -> int +override YBNpgsql.NpgsqlRawCopyStream.ReadAsync(byte[]! buffer, int offset, int count, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlRawCopyStream.ReadAsync(System.Memory buffer, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.ValueTask +override YBNpgsql.NpgsqlRawCopyStream.ReadTimeout.get -> int +override YBNpgsql.NpgsqlRawCopyStream.ReadTimeout.set -> void +override YBNpgsql.NpgsqlRawCopyStream.Seek(long offset, System.IO.SeekOrigin origin) -> long +override YBNpgsql.NpgsqlRawCopyStream.SetLength(long value) -> void +override YBNpgsql.NpgsqlRawCopyStream.Write(byte[]! buffer, int offset, int count) -> void +override YBNpgsql.NpgsqlRawCopyStream.Write(System.ReadOnlySpan buffer) -> void +override YBNpgsql.NpgsqlRawCopyStream.WriteAsync(byte[]! buffer, int offset, int count, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlRawCopyStream.WriteAsync(System.ReadOnlyMemory buffer, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask +override YBNpgsql.NpgsqlRawCopyStream.WriteTimeout.get -> int +override YBNpgsql.NpgsqlRawCopyStream.WriteTimeout.set -> void +override YBNpgsql.NpgsqlTransaction.Commit() -> void +override YBNpgsql.NpgsqlTransaction.CommitAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlTransaction.DisposeAsync() -> System.Threading.Tasks.ValueTask +override YBNpgsql.NpgsqlTransaction.IsolationLevel.get -> System.Data.IsolationLevel +override YBNpgsql.NpgsqlTransaction.Release(string! name) -> void +override YBNpgsql.NpgsqlTransaction.ReleaseAsync(string! name, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlTransaction.Rollback() -> void +override YBNpgsql.NpgsqlTransaction.Rollback(string! name) -> void +override YBNpgsql.NpgsqlTransaction.RollbackAsync(string! name, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlTransaction.RollbackAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlTransaction.Save(string! name) -> void +override YBNpgsql.NpgsqlTransaction.SaveAsync(string! name, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +override YBNpgsql.NpgsqlTransaction.SupportsSavepoints.get -> bool +override YBNpgsql.PostgresException.GetObjectData(System.Runtime.Serialization.SerializationInfo! info, System.Runtime.Serialization.StreamingContext context) -> void +override YBNpgsql.PostgresException.IsTransient.get -> bool +override YBNpgsql.PostgresException.SqlState.get -> string! +override YBNpgsql.PostgresException.ToString() -> string! +override YBNpgsql.PostgresTypes.PostgresCompositeType.Field.ToString() -> string! +override YBNpgsql.PostgresTypes.PostgresType.ToString() -> string! +override YBNpgsql.Replication.PgOutput.Messages.DefaultUpdateMessage.NewRow.get -> YBNpgsql.Replication.PgOutput.ReplicationTuple! +override YBNpgsql.Replication.PgOutput.Messages.FullUpdateMessage.NewRow.get -> YBNpgsql.Replication.PgOutput.ReplicationTuple! +override YBNpgsql.Replication.PgOutput.Messages.IndexUpdateMessage.NewRow.get -> YBNpgsql.Replication.PgOutput.ReplicationTuple! +override YBNpgsql.Replication.PgOutput.Messages.PgOutputReplicationMessage.ToString() -> string! +override YBNpgsql.Replication.PgOutput.PgOutputReplicationOptions.Equals(object? obj) -> bool +override YBNpgsql.Replication.PgOutput.PgOutputReplicationOptions.GetHashCode() -> int +override YBNpgsql.Replication.TestDecoding.TestDecodingData.ToString() -> string! +override YBNpgsql.Replication.TestDecoding.TestDecodingOptions.Equals(object? obj) -> bool +override YBNpgsql.Replication.TestDecoding.TestDecodingOptions.GetHashCode() -> int +override YBNpgsql.Schema.NpgsqlDbColumn.this[string! propertyName].get -> object? +override YBNpgsqlTypes.NpgsqlBox.Equals(object? obj) -> bool +override YBNpgsqlTypes.NpgsqlBox.GetHashCode() -> int +override YBNpgsqlTypes.NpgsqlBox.ToString() -> string! +override YBNpgsqlTypes.NpgsqlCidr.ToString() -> string! +override YBNpgsqlTypes.NpgsqlCircle.Equals(object? obj) -> bool +override YBNpgsqlTypes.NpgsqlCircle.GetHashCode() -> int +override YBNpgsqlTypes.NpgsqlCircle.ToString() -> string! +override YBNpgsqlTypes.NpgsqlInet.ToString() -> string! +override YBNpgsqlTypes.NpgsqlInterval.Equals(object? obj) -> bool +override YBNpgsqlTypes.NpgsqlInterval.GetHashCode() -> int +override YBNpgsqlTypes.NpgsqlLine.Equals(object? obj) -> bool +override YBNpgsqlTypes.NpgsqlLine.GetHashCode() -> int +override YBNpgsqlTypes.NpgsqlLine.ToString() -> string! +override YBNpgsqlTypes.NpgsqlLogSequenceNumber.Equals(object? obj) -> bool +override YBNpgsqlTypes.NpgsqlLogSequenceNumber.GetHashCode() -> int +override YBNpgsqlTypes.NpgsqlLogSequenceNumber.ToString() -> string! +override YBNpgsqlTypes.NpgsqlLSeg.Equals(object? obj) -> bool +override YBNpgsqlTypes.NpgsqlLSeg.GetHashCode() -> int +override YBNpgsqlTypes.NpgsqlLSeg.ToString() -> string! +override YBNpgsqlTypes.NpgsqlPath.Equals(object? obj) -> bool +override YBNpgsqlTypes.NpgsqlPath.GetHashCode() -> int +override YBNpgsqlTypes.NpgsqlPath.ToString() -> string! +override YBNpgsqlTypes.NpgsqlPoint.Equals(object? obj) -> bool +override YBNpgsqlTypes.NpgsqlPoint.GetHashCode() -> int +override YBNpgsqlTypes.NpgsqlPoint.ToString() -> string! +override YBNpgsqlTypes.NpgsqlPolygon.Equals(object? obj) -> bool +override YBNpgsqlTypes.NpgsqlPolygon.GetHashCode() -> int +override YBNpgsqlTypes.NpgsqlPolygon.ToString() -> string! +override YBNpgsqlTypes.NpgsqlRange.Equals(object? o) -> bool +override YBNpgsqlTypes.NpgsqlRange.GetHashCode() -> int +override YBNpgsqlTypes.NpgsqlRange.RangeTypeConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type! sourceType) -> bool +override YBNpgsqlTypes.NpgsqlRange.RangeTypeConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) -> bool +override YBNpgsqlTypes.NpgsqlRange.RangeTypeConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object! value) -> object? +override YBNpgsqlTypes.NpgsqlRange.RangeTypeConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type! destinationType) -> object? +override YBNpgsqlTypes.NpgsqlRange.ToString() -> string! +override YBNpgsqlTypes.NpgsqlTid.Equals(object? o) -> bool +override YBNpgsqlTypes.NpgsqlTid.GetHashCode() -> int +override YBNpgsqlTypes.NpgsqlTid.ToString() -> string! +override YBNpgsqlTypes.NpgsqlTsQuery.Equals(object? obj) -> bool +override YBNpgsqlTypes.NpgsqlTsQuery.GetHashCode() -> int +override YBNpgsqlTypes.NpgsqlTsQuery.ToString() -> string! +override YBNpgsqlTypes.NpgsqlTsQueryAnd.Equals(YBNpgsqlTypes.NpgsqlTsQuery? other) -> bool +override YBNpgsqlTypes.NpgsqlTsQueryAnd.GetHashCode() -> int +override YBNpgsqlTypes.NpgsqlTsQueryEmpty.Equals(YBNpgsqlTypes.NpgsqlTsQuery? other) -> bool +override YBNpgsqlTypes.NpgsqlTsQueryEmpty.GetHashCode() -> int +override YBNpgsqlTypes.NpgsqlTsQueryFollowedBy.Equals(YBNpgsqlTypes.NpgsqlTsQuery? other) -> bool +override YBNpgsqlTypes.NpgsqlTsQueryFollowedBy.GetHashCode() -> int +override YBNpgsqlTypes.NpgsqlTsQueryLexeme.Equals(YBNpgsqlTypes.NpgsqlTsQuery? other) -> bool +override YBNpgsqlTypes.NpgsqlTsQueryLexeme.GetHashCode() -> int +override YBNpgsqlTypes.NpgsqlTsQueryNot.Equals(YBNpgsqlTypes.NpgsqlTsQuery? other) -> bool +override YBNpgsqlTypes.NpgsqlTsQueryNot.GetHashCode() -> int +override YBNpgsqlTypes.NpgsqlTsQueryOr.Equals(YBNpgsqlTypes.NpgsqlTsQuery? other) -> bool +override YBNpgsqlTypes.NpgsqlTsQueryOr.GetHashCode() -> int +override YBNpgsqlTypes.NpgsqlTsVector.Equals(object? obj) -> bool +override YBNpgsqlTypes.NpgsqlTsVector.GetHashCode() -> int +override YBNpgsqlTypes.NpgsqlTsVector.Lexeme.Equals(object? o) -> bool +override YBNpgsqlTypes.NpgsqlTsVector.Lexeme.GetHashCode() -> int +override YBNpgsqlTypes.NpgsqlTsVector.Lexeme.ToString() -> string! +override YBNpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos.Equals(object? o) -> bool +override YBNpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos.GetHashCode() -> int +override YBNpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos.ToString() -> string! +override YBNpgsqlTypes.NpgsqlTsVector.ToString() -> string! +override sealed YBNpgsql.NpgsqlParameter.DbType.get -> System.Data.DbType +override sealed YBNpgsql.NpgsqlParameter.DbType.set -> void +override sealed YBNpgsql.NpgsqlParameter.Direction.get -> System.Data.ParameterDirection +override sealed YBNpgsql.NpgsqlParameter.Direction.set -> void +override sealed YBNpgsql.NpgsqlParameter.IsNullable.get -> bool +override sealed YBNpgsql.NpgsqlParameter.IsNullable.set -> void +override sealed YBNpgsql.NpgsqlParameter.ParameterName.get -> string! +override sealed YBNpgsql.NpgsqlParameter.ParameterName.set -> void +override sealed YBNpgsql.NpgsqlParameter.Size.get -> int +override sealed YBNpgsql.NpgsqlParameter.Size.set -> void +override sealed YBNpgsql.NpgsqlParameter.SourceColumn.get -> string! +override sealed YBNpgsql.NpgsqlParameter.SourceColumn.set -> void +override sealed YBNpgsql.NpgsqlParameter.SourceColumnNullMapping.get -> bool +override sealed YBNpgsql.NpgsqlParameter.SourceColumnNullMapping.set -> void +override sealed YBNpgsql.NpgsqlParameter.SourceVersion.get -> System.Data.DataRowVersion +override sealed YBNpgsql.NpgsqlParameter.SourceVersion.set -> void +static YBNpgsql.NameTranslation.NpgsqlSnakeCaseNameTranslator.ConvertToSnakeCase(string! name, System.Globalization.CultureInfo? culture = null) -> string! +static YBNpgsql.NpgsqlCommandBuilder.DeriveParameters(YBNpgsql.NpgsqlCommand! command) -> void +static YBNpgsql.NpgsqlConnection.ClearAllPools() -> void +static YBNpgsql.NpgsqlConnection.ClearPool(YBNpgsql.NpgsqlConnection! connection) -> void +static YBNpgsql.NpgsqlConnection.GlobalTypeMapper.get -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! +static YBNpgsql.NpgsqlDataSource.Create(YBNpgsql.NpgsqlConnectionStringBuilder! connectionStringBuilder) -> YBNpgsql.NpgsqlDataSource! +static YBNpgsql.NpgsqlDataSource.Create(string! connectionString) -> YBNpgsql.NpgsqlDataSource! +static YBNpgsql.NpgsqlLoggingConfiguration.InitializeLogging(Microsoft.Extensions.Logging.ILoggerFactory! loggerFactory, bool parameterLoggingEnabled = false) -> void +static YBNpgsql.Replication.Internal.LogicalReplicationConnectionExtensions.CreateLogicalReplicationSlot(this YBNpgsql.Replication.LogicalReplicationConnection! connection, string! slotName, string! outputPlugin, bool isTemporary = false, YBNpgsql.Replication.LogicalSlotSnapshotInitMode? slotSnapshotInitMode = null, bool twoPhase = false, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +static YBNpgsql.Replication.Internal.LogicalReplicationConnectionExtensions.StartLogicalReplication(this YBNpgsql.Replication.LogicalReplicationConnection! connection, YBNpgsql.Replication.Internal.LogicalReplicationSlot! slot, System.Threading.CancellationToken cancellationToken, YBNpgsqlTypes.NpgsqlLogSequenceNumber? walLocation = null, System.Collections.Generic.IEnumerable>? options = null, bool bypassingStream = false) -> System.Collections.Generic.IAsyncEnumerable! +static YBNpgsql.Replication.PgOutputConnectionExtensions.CreatePgOutputReplicationSlot(this YBNpgsql.Replication.LogicalReplicationConnection! connection, string! slotName, bool temporarySlot = false, YBNpgsql.Replication.LogicalSlotSnapshotInitMode? slotSnapshotInitMode = null, bool twoPhase = false, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +static YBNpgsql.Replication.PgOutputConnectionExtensions.StartReplication(this YBNpgsql.Replication.LogicalReplicationConnection! connection, YBNpgsql.Replication.PgOutput.PgOutputReplicationSlot! slot, YBNpgsql.Replication.PgOutput.PgOutputReplicationOptions! options, System.Threading.CancellationToken cancellationToken, YBNpgsqlTypes.NpgsqlLogSequenceNumber? walLocation = null) -> System.Collections.Generic.IAsyncEnumerable! +static YBNpgsql.Replication.TestDecodingConnectionExtensions.CreateTestDecodingReplicationSlot(this YBNpgsql.Replication.LogicalReplicationConnection! connection, string! slotName, bool temporarySlot = false, YBNpgsql.Replication.LogicalSlotSnapshotInitMode? slotSnapshotInitMode = null, bool twoPhase = false, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +static YBNpgsql.Replication.TestDecodingConnectionExtensions.StartReplication(this YBNpgsql.Replication.LogicalReplicationConnection! connection, YBNpgsql.Replication.TestDecoding.TestDecodingReplicationSlot! slot, System.Threading.CancellationToken cancellationToken, YBNpgsql.Replication.TestDecoding.TestDecodingOptions? options = null, YBNpgsqlTypes.NpgsqlLogSequenceNumber? walLocation = null) -> System.Collections.Generic.IAsyncEnumerable! +static YBNpgsqlTypes.NpgsqlBox.operator !=(YBNpgsqlTypes.NpgsqlBox x, YBNpgsqlTypes.NpgsqlBox y) -> bool +static YBNpgsqlTypes.NpgsqlBox.operator ==(YBNpgsqlTypes.NpgsqlBox x, YBNpgsqlTypes.NpgsqlBox y) -> bool +static YBNpgsqlTypes.NpgsqlCidr.explicit operator System.Net.IPAddress!(YBNpgsqlTypes.NpgsqlCidr cidr) -> System.Net.IPAddress! +static YBNpgsqlTypes.NpgsqlCidr.implicit operator YBNpgsqlTypes.NpgsqlInet(YBNpgsqlTypes.NpgsqlCidr cidr) -> YBNpgsqlTypes.NpgsqlInet +static YBNpgsqlTypes.NpgsqlCircle.operator !=(YBNpgsqlTypes.NpgsqlCircle x, YBNpgsqlTypes.NpgsqlCircle y) -> bool +static YBNpgsqlTypes.NpgsqlCircle.operator ==(YBNpgsqlTypes.NpgsqlCircle x, YBNpgsqlTypes.NpgsqlCircle y) -> bool +static YBNpgsqlTypes.NpgsqlInet.explicit operator System.Net.IPAddress!(YBNpgsqlTypes.NpgsqlInet inet) -> System.Net.IPAddress! +static YBNpgsqlTypes.NpgsqlInet.implicit operator YBNpgsqlTypes.NpgsqlInet(System.Net.IPAddress! ip) -> YBNpgsqlTypes.NpgsqlInet +static YBNpgsqlTypes.NpgsqlLine.operator !=(YBNpgsqlTypes.NpgsqlLine x, YBNpgsqlTypes.NpgsqlLine y) -> bool +static YBNpgsqlTypes.NpgsqlLine.operator ==(YBNpgsqlTypes.NpgsqlLine x, YBNpgsqlTypes.NpgsqlLine y) -> bool +static YBNpgsqlTypes.NpgsqlLogSequenceNumber.explicit operator YBNpgsqlTypes.NpgsqlLogSequenceNumber(ulong value) -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +static YBNpgsqlTypes.NpgsqlLogSequenceNumber.explicit operator ulong(YBNpgsqlTypes.NpgsqlLogSequenceNumber value) -> ulong +static YBNpgsqlTypes.NpgsqlLogSequenceNumber.Larger(YBNpgsqlTypes.NpgsqlLogSequenceNumber value1, YBNpgsqlTypes.NpgsqlLogSequenceNumber value2) -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +static YBNpgsqlTypes.NpgsqlLogSequenceNumber.operator !=(YBNpgsqlTypes.NpgsqlLogSequenceNumber value1, YBNpgsqlTypes.NpgsqlLogSequenceNumber value2) -> bool +static YBNpgsqlTypes.NpgsqlLogSequenceNumber.operator +(YBNpgsqlTypes.NpgsqlLogSequenceNumber lsn, double nbytes) -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +static YBNpgsqlTypes.NpgsqlLogSequenceNumber.operator -(YBNpgsqlTypes.NpgsqlLogSequenceNumber first, YBNpgsqlTypes.NpgsqlLogSequenceNumber second) -> ulong +static YBNpgsqlTypes.NpgsqlLogSequenceNumber.operator -(YBNpgsqlTypes.NpgsqlLogSequenceNumber lsn, double nbytes) -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +static YBNpgsqlTypes.NpgsqlLogSequenceNumber.operator <(YBNpgsqlTypes.NpgsqlLogSequenceNumber value1, YBNpgsqlTypes.NpgsqlLogSequenceNumber value2) -> bool +static YBNpgsqlTypes.NpgsqlLogSequenceNumber.operator <=(YBNpgsqlTypes.NpgsqlLogSequenceNumber value1, YBNpgsqlTypes.NpgsqlLogSequenceNumber value2) -> bool +static YBNpgsqlTypes.NpgsqlLogSequenceNumber.operator ==(YBNpgsqlTypes.NpgsqlLogSequenceNumber value1, YBNpgsqlTypes.NpgsqlLogSequenceNumber value2) -> bool +static YBNpgsqlTypes.NpgsqlLogSequenceNumber.operator >(YBNpgsqlTypes.NpgsqlLogSequenceNumber value1, YBNpgsqlTypes.NpgsqlLogSequenceNumber value2) -> bool +static YBNpgsqlTypes.NpgsqlLogSequenceNumber.operator >=(YBNpgsqlTypes.NpgsqlLogSequenceNumber value1, YBNpgsqlTypes.NpgsqlLogSequenceNumber value2) -> bool +static YBNpgsqlTypes.NpgsqlLogSequenceNumber.Parse(string! s) -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +static YBNpgsqlTypes.NpgsqlLogSequenceNumber.Parse(System.ReadOnlySpan s) -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +static YBNpgsqlTypes.NpgsqlLogSequenceNumber.Smaller(YBNpgsqlTypes.NpgsqlLogSequenceNumber value1, YBNpgsqlTypes.NpgsqlLogSequenceNumber value2) -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +static YBNpgsqlTypes.NpgsqlLogSequenceNumber.TryParse(string! s, out YBNpgsqlTypes.NpgsqlLogSequenceNumber result) -> bool +static YBNpgsqlTypes.NpgsqlLogSequenceNumber.TryParse(System.ReadOnlySpan s, out YBNpgsqlTypes.NpgsqlLogSequenceNumber result) -> bool +static YBNpgsqlTypes.NpgsqlLSeg.operator !=(YBNpgsqlTypes.NpgsqlLSeg x, YBNpgsqlTypes.NpgsqlLSeg y) -> bool +static YBNpgsqlTypes.NpgsqlLSeg.operator ==(YBNpgsqlTypes.NpgsqlLSeg x, YBNpgsqlTypes.NpgsqlLSeg y) -> bool +static YBNpgsqlTypes.NpgsqlPath.operator !=(YBNpgsqlTypes.NpgsqlPath x, YBNpgsqlTypes.NpgsqlPath y) -> bool +static YBNpgsqlTypes.NpgsqlPath.operator ==(YBNpgsqlTypes.NpgsqlPath x, YBNpgsqlTypes.NpgsqlPath y) -> bool +static YBNpgsqlTypes.NpgsqlPoint.operator !=(YBNpgsqlTypes.NpgsqlPoint x, YBNpgsqlTypes.NpgsqlPoint y) -> bool +static YBNpgsqlTypes.NpgsqlPoint.operator ==(YBNpgsqlTypes.NpgsqlPoint x, YBNpgsqlTypes.NpgsqlPoint y) -> bool +static YBNpgsqlTypes.NpgsqlPolygon.operator !=(YBNpgsqlTypes.NpgsqlPolygon x, YBNpgsqlTypes.NpgsqlPolygon y) -> bool +static YBNpgsqlTypes.NpgsqlPolygon.operator ==(YBNpgsqlTypes.NpgsqlPolygon x, YBNpgsqlTypes.NpgsqlPolygon y) -> bool +static YBNpgsqlTypes.NpgsqlRange.operator !=(YBNpgsqlTypes.NpgsqlRange x, YBNpgsqlTypes.NpgsqlRange y) -> bool +static YBNpgsqlTypes.NpgsqlRange.operator ==(YBNpgsqlTypes.NpgsqlRange x, YBNpgsqlTypes.NpgsqlRange y) -> bool +static YBNpgsqlTypes.NpgsqlRange.Parse(string! value) -> YBNpgsqlTypes.NpgsqlRange +static YBNpgsqlTypes.NpgsqlRange.RangeTypeConverter.Register() -> void +static YBNpgsqlTypes.NpgsqlTid.operator !=(YBNpgsqlTypes.NpgsqlTid left, YBNpgsqlTypes.NpgsqlTid right) -> bool +static YBNpgsqlTypes.NpgsqlTid.operator ==(YBNpgsqlTypes.NpgsqlTid left, YBNpgsqlTypes.NpgsqlTid right) -> bool +static YBNpgsqlTypes.NpgsqlTsQuery.operator !=(YBNpgsqlTypes.NpgsqlTsQuery? left, YBNpgsqlTypes.NpgsqlTsQuery? right) -> bool +static YBNpgsqlTypes.NpgsqlTsQuery.operator ==(YBNpgsqlTypes.NpgsqlTsQuery? left, YBNpgsqlTypes.NpgsqlTsQuery? right) -> bool +static YBNpgsqlTypes.NpgsqlTsQuery.Parse(string! value) -> YBNpgsqlTypes.NpgsqlTsQuery! +static YBNpgsqlTypes.NpgsqlTsVector.Lexeme.operator !=(YBNpgsqlTypes.NpgsqlTsVector.Lexeme left, YBNpgsqlTypes.NpgsqlTsVector.Lexeme right) -> bool +static YBNpgsqlTypes.NpgsqlTsVector.Lexeme.operator ==(YBNpgsqlTypes.NpgsqlTsVector.Lexeme left, YBNpgsqlTypes.NpgsqlTsVector.Lexeme right) -> bool +static YBNpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos.operator !=(YBNpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos left, YBNpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos right) -> bool +static YBNpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos.operator ==(YBNpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos left, YBNpgsqlTypes.NpgsqlTsVector.Lexeme.WordEntryPos right) -> bool +static YBNpgsqlTypes.NpgsqlTsVector.Parse(string! value) -> YBNpgsqlTypes.NpgsqlTsVector! +static readonly YBNpgsql.NpgsqlFactory.Instance -> YBNpgsql.NpgsqlFactory! +static readonly YBNpgsqlTypes.NpgsqlLogSequenceNumber.Invalid -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +static readonly YBNpgsqlTypes.NpgsqlRange.Empty -> YBNpgsqlTypes.NpgsqlRange +virtual YBNpgsql.NpgsqlCommand.Clone() -> YBNpgsql.NpgsqlCommand! +virtual YBNpgsql.Replication.PgOutput.ReplicationTuple.GetAsyncEnumerator(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Collections.Generic.IAsyncEnumerator! +YBNpgsql.ClusterAwareDataSource +YBNpgsql.NpgsqlConnectionStringBuilder.TopologyKeys.get -> string? +YBNpgsql.NpgsqlConnectionStringBuilder.TopologyKeys.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.YBServersRefreshInterval.get -> double +YBNpgsql.NpgsqlConnectionStringBuilder.YBServersRefreshInterval.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.FailedHostReconnectDelaySecs.get -> double +YBNpgsql.NpgsqlConnectionStringBuilder.FailedHostReconnectDelaySecs.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.FallBackToTopologyKeysOnly.get -> bool +YBNpgsql.NpgsqlConnectionStringBuilder.FallBackToTopologyKeysOnly.set -> void +YBNpgsql.TopologyAwareDataSource +YBNpgsql.NpgsqlConnectionStringBuilder.EnableDiscardSequences.get -> bool +YBNpgsql.NpgsqlConnectionStringBuilder.EnableDiscardSequences.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.EnableDiscardTemp.get -> bool +YBNpgsql.NpgsqlConnectionStringBuilder.EnableDiscardTemp.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.EnableCloseAll.get -> bool +YBNpgsql.NpgsqlConnectionStringBuilder.EnableCloseAll.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.EnableDiscardAll.get -> bool +YBNpgsql.NpgsqlConnectionStringBuilder.EnableDiscardAll.set -> void +static YBNpgsql.ClusterAwareDataSource.GetLoad(string! server) -> int + diff --git a/src/Npgsql/PublicAPI.Unshipped.txt b/src/Npgsql/PublicAPI.Unshipped.txt index 10d2965ba0..8d6987bb4b 100644 --- a/src/Npgsql/PublicAPI.Unshipped.txt +++ b/src/Npgsql/PublicAPI.Unshipped.txt @@ -1,77 +1,78 @@ #nullable enable -abstract Npgsql.NpgsqlDataSource.Clear() -> void -Npgsql.NpgsqlConnection.CloneWithAsync(string! connectionString, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask -Npgsql.NpgsqlConnection.SslClientAuthenticationOptionsCallback.get -> System.Action? -Npgsql.NpgsqlConnection.SslClientAuthenticationOptionsCallback.set -> void -Npgsql.NpgsqlConnectionStringBuilder.SslNegotiation.get -> Npgsql.SslNegotiation -Npgsql.NpgsqlConnectionStringBuilder.SslNegotiation.set -> void -Npgsql.NpgsqlDataSourceBuilder.ConfigureTypeLoading(System.Action! configureAction) -> Npgsql.NpgsqlDataSourceBuilder! -Npgsql.NpgsqlDataSourceBuilder.MapComposite(System.Type! clrType, string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> Npgsql.NpgsqlDataSourceBuilder! -Npgsql.NpgsqlDataSourceBuilder.MapComposite(string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> Npgsql.NpgsqlDataSourceBuilder! -Npgsql.NpgsqlDataSourceBuilder.MapEnum(System.Type! clrType, string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> Npgsql.NpgsqlDataSourceBuilder! -Npgsql.NpgsqlDataSourceBuilder.MapEnum(string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> Npgsql.NpgsqlDataSourceBuilder! -Npgsql.NpgsqlDataSourceBuilder.ConfigureTracing(System.Action! configureAction) -> Npgsql.NpgsqlDataSourceBuilder! -Npgsql.NpgsqlDataSourceBuilder.UseNegotiateOptionsCallback(System.Action? negotiateOptionsCallback) -> Npgsql.NpgsqlDataSourceBuilder! -Npgsql.NpgsqlDataSourceBuilder.UseSslClientAuthenticationOptionsCallback(System.Action? sslClientAuthenticationOptionsCallback) -> Npgsql.NpgsqlDataSourceBuilder! -Npgsql.NpgsqlMetricsOptions -Npgsql.NpgsqlMetricsOptions.NpgsqlMetricsOptions() -> void -Npgsql.NpgsqlSlimDataSourceBuilder.ConfigureTracing(System.Action! configureAction) -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.ConfigureTypeLoading(System.Action! configureAction) -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.EnableGeometricTypes() -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.EnableJsonTypes() -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.EnableNetworkTypes() -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.MapComposite(System.Type! clrType, string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.MapComposite(string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.MapEnum(System.Type! clrType, string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.MapEnum(string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.UseNegotiateOptionsCallback(System.Action? negotiateOptionsCallback) -> Npgsql.NpgsqlSlimDataSourceBuilder! -Npgsql.NpgsqlSlimDataSourceBuilder.UseSslClientAuthenticationOptionsCallback(System.Action? sslClientAuthenticationOptionsCallback) -> Npgsql.NpgsqlSlimDataSourceBuilder! -*REMOVED*Npgsql.NpgsqlTracingOptions -*REMOVED*Npgsql.NpgsqlTracingOptions.NpgsqlTracingOptions() -> void -Npgsql.NpgsqlTracingOptionsBuilder -Npgsql.NpgsqlTracingOptionsBuilder.ConfigureBatchEnrichmentCallback(System.Action? batchEnrichmentCallback) -> Npgsql.NpgsqlTracingOptionsBuilder! -Npgsql.NpgsqlTracingOptionsBuilder.ConfigureBatchFilter(System.Func? batchFilter) -> Npgsql.NpgsqlTracingOptionsBuilder! -Npgsql.NpgsqlTracingOptionsBuilder.ConfigureBatchSpanNameProvider(System.Func? batchSpanNameProvider) -> Npgsql.NpgsqlTracingOptionsBuilder! -Npgsql.NpgsqlTracingOptionsBuilder.ConfigureCommandEnrichmentCallback(System.Action? commandEnrichmentCallback) -> Npgsql.NpgsqlTracingOptionsBuilder! -Npgsql.NpgsqlTracingOptionsBuilder.ConfigureCommandFilter(System.Func? commandFilter) -> Npgsql.NpgsqlTracingOptionsBuilder! -Npgsql.NpgsqlTracingOptionsBuilder.ConfigureCommandSpanNameProvider(System.Func? commandSpanNameProvider) -> Npgsql.NpgsqlTracingOptionsBuilder! -Npgsql.NpgsqlTracingOptionsBuilder.EnableFirstResponseEvent(bool enable = true) -> Npgsql.NpgsqlTracingOptionsBuilder! -Npgsql.NpgsqlTypeLoadingOptionsBuilder -Npgsql.NpgsqlTypeLoadingOptionsBuilder.EnableTableCompositesLoading(bool enable = true) -> Npgsql.NpgsqlTypeLoadingOptionsBuilder! -Npgsql.NpgsqlTypeLoadingOptionsBuilder.EnableTypeLoading(bool enable = true) -> Npgsql.NpgsqlTypeLoadingOptionsBuilder! -Npgsql.NpgsqlTypeLoadingOptionsBuilder.SetTypeLoadingSchemas(params System.Collections.Generic.IEnumerable? schemas) -> Npgsql.NpgsqlTypeLoadingOptionsBuilder! -Npgsql.Replication.PgOutput.ReplicationValue.GetFieldName() -> string! -Npgsql.Replication.PgOutput.Messages.ParallelStreamAbortMessage -Npgsql.Replication.PgOutput.Messages.ParallelStreamAbortMessage.AbortLsn.get -> NpgsqlTypes.NpgsqlLogSequenceNumber -Npgsql.Replication.PgOutput.Messages.ParallelStreamAbortMessage.AbortTimestamp.get -> System.DateTime -Npgsql.Replication.PgOutput.PgOutputProtocolVersion -Npgsql.Replication.PgOutput.PgOutputProtocolVersion.V1 = 1 -> Npgsql.Replication.PgOutput.PgOutputProtocolVersion -Npgsql.Replication.PgOutput.PgOutputProtocolVersion.V2 = 2 -> Npgsql.Replication.PgOutput.PgOutputProtocolVersion -Npgsql.Replication.PgOutput.PgOutputProtocolVersion.V3 = 3 -> Npgsql.Replication.PgOutput.PgOutputProtocolVersion -Npgsql.Replication.PgOutput.PgOutputProtocolVersion.V4 = 4 -> Npgsql.Replication.PgOutput.PgOutputProtocolVersion -Npgsql.Replication.PgOutput.PgOutputReplicationOptions.PgOutputReplicationOptions(string! publicationName, Npgsql.Replication.PgOutput.PgOutputProtocolVersion protocolVersion, bool? binary = null, Npgsql.Replication.PgOutput.PgOutputStreamingMode? streamingMode = null, bool? messages = null, bool? twoPhase = null) -> void -Npgsql.Replication.PgOutput.PgOutputReplicationOptions.PgOutputReplicationOptions(System.Collections.Generic.IEnumerable! publicationNames, Npgsql.Replication.PgOutput.PgOutputProtocolVersion protocolVersion, bool? binary = null, Npgsql.Replication.PgOutput.PgOutputStreamingMode? streamingMode = null, bool? messages = null, bool? twoPhase = null) -> void -Npgsql.Replication.PgOutput.PgOutputReplicationOptions.ProtocolVersion.get -> Npgsql.Replication.PgOutput.PgOutputProtocolVersion -*REMOVED*Npgsql.Replication.PgOutput.PgOutputReplicationOptions.ProtocolVersion.get -> ulong -Npgsql.Replication.PgOutput.PgOutputReplicationOptions.StreamingMode.get -> Npgsql.Replication.PgOutput.PgOutputStreamingMode? -*REMOVED*Npgsql.Replication.PgOutput.PgOutputReplicationOptions.Streaming.get -> bool? -Npgsql.Replication.PgOutput.PgOutputStreamingMode -Npgsql.Replication.PgOutput.PgOutputStreamingMode.Off = 0 -> Npgsql.Replication.PgOutput.PgOutputStreamingMode -Npgsql.Replication.PgOutput.PgOutputStreamingMode.On = 1 -> Npgsql.Replication.PgOutput.PgOutputStreamingMode -Npgsql.Replication.PgOutput.PgOutputStreamingMode.Parallel = 2 -> Npgsql.Replication.PgOutput.PgOutputStreamingMode -Npgsql.SslNegotiation -Npgsql.SslNegotiation.Direct = 1 -> Npgsql.SslNegotiation -Npgsql.SslNegotiation.Postgres = 0 -> Npgsql.SslNegotiation -override Npgsql.NpgsqlMultiHostDataSource.Clear() -> void -Npgsql.NpgsqlDataSource.ReloadTypes() -> void -Npgsql.NpgsqlDataSource.ReloadTypesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -Npgsql.NpgsqlConnection.ReloadTypesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! -*REMOVED*Npgsql.NpgsqlConnection.ReloadTypesAsync() -> System.Threading.Tasks.Task! -*REMOVED*Npgsql.NpgsqlDataSourceBuilder.MapComposite(System.Type! clrType, string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> Npgsql.TypeMapping.INpgsqlTypeMapper! -*REMOVED*Npgsql.NpgsqlDataSourceBuilder.MapComposite(string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> Npgsql.TypeMapping.INpgsqlTypeMapper! -*REMOVED*Npgsql.NpgsqlDataSourceBuilder.MapEnum(System.Type! clrType, string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> Npgsql.TypeMapping.INpgsqlTypeMapper! -*REMOVED*Npgsql.NpgsqlDataSourceBuilder.MapEnum(string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> Npgsql.TypeMapping.INpgsqlTypeMapper! -*REMOVED*Npgsql.NpgsqlSlimDataSourceBuilder.MapComposite(System.Type! clrType, string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> Npgsql.TypeMapping.INpgsqlTypeMapper! -*REMOVED*Npgsql.NpgsqlSlimDataSourceBuilder.MapComposite(string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> Npgsql.TypeMapping.INpgsqlTypeMapper! -*REMOVED*Npgsql.NpgsqlSlimDataSourceBuilder.MapEnum(System.Type! clrType, string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> Npgsql.TypeMapping.INpgsqlTypeMapper! -*REMOVED*Npgsql.NpgsqlSlimDataSourceBuilder.MapEnum(string? pgName = null, Npgsql.INpgsqlNameTranslator? nameTranslator = null) -> Npgsql.TypeMapping.INpgsqlTypeMapper! +abstract YBNpgsql.NpgsqlDataSource.Clear() -> void +YBNpgsql.NpgsqlConnection.CloneWithAsync(string! connectionString, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask +YBNpgsql.NpgsqlConnection.SslClientAuthenticationOptionsCallback.get -> System.Action? +YBNpgsql.NpgsqlConnection.SslClientAuthenticationOptionsCallback.set -> void +YBNpgsql.NpgsqlConnectionStringBuilder.SslNegotiation.get -> YBNpgsql.SslNegotiation +YBNpgsql.NpgsqlConnectionStringBuilder.SslNegotiation.set -> void +YBNpgsql.NpgsqlDataSourceBuilder.ConfigureTypeLoading(System.Action! configureAction) -> YBNpgsql.NpgsqlDataSourceBuilder! +YBNpgsql.NpgsqlDataSourceBuilder.MapComposite(System.Type! clrType, string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> YBNpgsql.NpgsqlDataSourceBuilder! +YBNpgsql.NpgsqlDataSourceBuilder.MapComposite(string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> YBNpgsql.NpgsqlDataSourceBuilder! +YBNpgsql.NpgsqlDataSourceBuilder.MapEnum(System.Type! clrType, string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> YBNpgsql.NpgsqlDataSourceBuilder! +YBNpgsql.NpgsqlDataSourceBuilder.MapEnum(string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> YBNpgsql.NpgsqlDataSourceBuilder! +YBNpgsql.NpgsqlDataSourceBuilder.ConfigureTracing(System.Action! configureAction) -> YBNpgsql.NpgsqlDataSourceBuilder! +YBNpgsql.NpgsqlDataSourceBuilder.UseNegotiateOptionsCallback(System.Action? negotiateOptionsCallback) -> YBNpgsql.NpgsqlDataSourceBuilder! +YBNpgsql.NpgsqlDataSourceBuilder.UseSslClientAuthenticationOptionsCallback(System.Action? sslClientAuthenticationOptionsCallback) -> YBNpgsql.NpgsqlDataSourceBuilder! +YBNpgsql.NpgsqlMetricsOptions +YBNpgsql.NpgsqlMetricsOptions.NpgsqlMetricsOptions() -> void +YBNpgsql.NpgsqlSlimDataSourceBuilder.ConfigureTracing(System.Action! configureAction) -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.ConfigureTypeLoading(System.Action! configureAction) -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.EnableGeometricTypes() -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.EnableJsonTypes() -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.EnableNetworkTypes() -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.MapComposite(System.Type! clrType, string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.MapComposite(string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.MapEnum(System.Type! clrType, string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.MapEnum(string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.UseNegotiateOptionsCallback(System.Action? negotiateOptionsCallback) -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +YBNpgsql.NpgsqlSlimDataSourceBuilder.UseSslClientAuthenticationOptionsCallback(System.Action? sslClientAuthenticationOptionsCallback) -> YBNpgsql.NpgsqlSlimDataSourceBuilder! +*REMOVED*YBNpgsql.NpgsqlTracingOptions +*REMOVED*YBNpgsql.NpgsqlTracingOptions.NpgsqlTracingOptions() -> void +YBNpgsql.NpgsqlTracingOptionsBuilder +YBNpgsql.NpgsqlTracingOptionsBuilder.ConfigureBatchEnrichmentCallback(System.Action? batchEnrichmentCallback) -> YBNpgsql.NpgsqlTracingOptionsBuilder! +YBNpgsql.NpgsqlTracingOptionsBuilder.ConfigureBatchFilter(System.Func? batchFilter) -> YBNpgsql.NpgsqlTracingOptionsBuilder! +YBNpgsql.NpgsqlTracingOptionsBuilder.ConfigureBatchSpanNameProvider(System.Func? batchSpanNameProvider) -> YBNpgsql.NpgsqlTracingOptionsBuilder! +YBNpgsql.NpgsqlTracingOptionsBuilder.ConfigureCommandEnrichmentCallback(System.Action? commandEnrichmentCallback) -> YBNpgsql.NpgsqlTracingOptionsBuilder! +YBNpgsql.NpgsqlTracingOptionsBuilder.ConfigureCommandFilter(System.Func? commandFilter) -> YBNpgsql.NpgsqlTracingOptionsBuilder! +YBNpgsql.NpgsqlTracingOptionsBuilder.ConfigureCommandSpanNameProvider(System.Func? commandSpanNameProvider) -> YBNpgsql.NpgsqlTracingOptionsBuilder! +YBNpgsql.NpgsqlTracingOptionsBuilder.EnableFirstResponseEvent(bool enable = true) -> YBNpgsql.NpgsqlTracingOptionsBuilder! +YBNpgsql.NpgsqlTypeLoadingOptionsBuilder +YBNpgsql.NpgsqlTypeLoadingOptionsBuilder.EnableTableCompositesLoading(bool enable = true) -> YBNpgsql.NpgsqlTypeLoadingOptionsBuilder! +YBNpgsql.NpgsqlTypeLoadingOptionsBuilder.EnableTypeLoading(bool enable = true) -> YBNpgsql.NpgsqlTypeLoadingOptionsBuilder! +YBNpgsql.NpgsqlTypeLoadingOptionsBuilder.SetTypeLoadingSchemas(params System.Collections.Generic.IEnumerable? schemas) -> YBNpgsql.NpgsqlTypeLoadingOptionsBuilder! +YBNpgsql.Replication.PgOutput.ReplicationValue.GetFieldName() -> string! +YBNpgsql.Replication.PgOutput.Messages.ParallelStreamAbortMessage +YBNpgsql.Replication.PgOutput.Messages.ParallelStreamAbortMessage.AbortLsn.get -> YBNpgsqlTypes.NpgsqlLogSequenceNumber +YBNpgsql.Replication.PgOutput.Messages.ParallelStreamAbortMessage.AbortTimestamp.get -> System.DateTime +YBNpgsql.Replication.PgOutput.PgOutputProtocolVersion +YBNpgsql.Replication.PgOutput.PgOutputProtocolVersion.V1 = 1 -> YBNpgsql.Replication.PgOutput.PgOutputProtocolVersion +YBNpgsql.Replication.PgOutput.PgOutputProtocolVersion.V2 = 2 -> YBNpgsql.Replication.PgOutput.PgOutputProtocolVersion +YBNpgsql.Replication.PgOutput.PgOutputProtocolVersion.V3 = 3 -> YBNpgsql.Replication.PgOutput.PgOutputProtocolVersion +YBNpgsql.Replication.PgOutput.PgOutputProtocolVersion.V4 = 4 -> YBNpgsql.Replication.PgOutput.PgOutputProtocolVersion +YBNpgsql.Replication.PgOutput.PgOutputReplicationOptions.PgOutputReplicationOptions(string! publicationName, YBNpgsql.Replication.PgOutput.PgOutputProtocolVersion protocolVersion, bool? binary = null, YBNpgsql.Replication.PgOutput.PgOutputStreamingMode? streamingMode = null, bool? messages = null, bool? twoPhase = null) -> void +YBNpgsql.Replication.PgOutput.PgOutputReplicationOptions.PgOutputReplicationOptions(System.Collections.Generic.IEnumerable! publicationNames, YBNpgsql.Replication.PgOutput.PgOutputProtocolVersion protocolVersion, bool? binary = null, YBNpgsql.Replication.PgOutput.PgOutputStreamingMode? streamingMode = null, bool? messages = null, bool? twoPhase = null) -> void +YBNpgsql.Replication.PgOutput.PgOutputReplicationOptions.ProtocolVersion.get -> YBNpgsql.Replication.PgOutput.PgOutputProtocolVersion +*REMOVED*YBNpgsql.Replication.PgOutput.PgOutputReplicationOptions.ProtocolVersion.get -> ulong +YBNpgsql.Replication.PgOutput.PgOutputReplicationOptions.StreamingMode.get -> YBNpgsql.Replication.PgOutput.PgOutputStreamingMode? +*REMOVED*YBNpgsql.Replication.PgOutput.PgOutputReplicationOptions.Streaming.get -> bool? +YBNpgsql.Replication.PgOutput.PgOutputStreamingMode +YBNpgsql.Replication.PgOutput.PgOutputStreamingMode.Off = 0 -> YBNpgsql.Replication.PgOutput.PgOutputStreamingMode +YBNpgsql.Replication.PgOutput.PgOutputStreamingMode.On = 1 -> YBNpgsql.Replication.PgOutput.PgOutputStreamingMode +YBNpgsql.Replication.PgOutput.PgOutputStreamingMode.Parallel = 2 -> YBNpgsql.Replication.PgOutput.PgOutputStreamingMode +YBNpgsql.SslNegotiation +YBNpgsql.SslNegotiation.Direct = 1 -> YBNpgsql.SslNegotiation +YBNpgsql.SslNegotiation.Postgres = 0 -> YBNpgsql.SslNegotiation +override YBNpgsql.NpgsqlMultiHostDataSource.Clear() -> void +override YBNpgsql.ClusterAwareDataSource.Clear() -> void +YBNpgsql.NpgsqlDataSource.ReloadTypes() -> void +YBNpgsql.NpgsqlDataSource.ReloadTypesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +YBNpgsql.NpgsqlConnection.ReloadTypesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task! +*REMOVED*YBNpgsql.NpgsqlConnection.ReloadTypesAsync() -> System.Threading.Tasks.Task! +*REMOVED*YBNpgsql.NpgsqlDataSourceBuilder.MapComposite(System.Type! clrType, string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! +*REMOVED*YBNpgsql.NpgsqlDataSourceBuilder.MapComposite(string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! +*REMOVED*YBNpgsql.NpgsqlDataSourceBuilder.MapEnum(System.Type! clrType, string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! +*REMOVED*YBNpgsql.NpgsqlDataSourceBuilder.MapEnum(string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! +*REMOVED*YBNpgsql.NpgsqlSlimDataSourceBuilder.MapComposite(System.Type! clrType, string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! +*REMOVED*YBNpgsql.NpgsqlSlimDataSourceBuilder.MapComposite(string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! +*REMOVED*YBNpgsql.NpgsqlSlimDataSourceBuilder.MapEnum(System.Type! clrType, string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! +*REMOVED*YBNpgsql.NpgsqlSlimDataSourceBuilder.MapEnum(string? pgName = null, YBNpgsql.INpgsqlNameTranslator? nameTranslator = null) -> YBNpgsql.TypeMapping.INpgsqlTypeMapper! diff --git a/src/Npgsql/README.md b/src/Npgsql/README.md index 8a80f79588..7502c2d8be 100644 --- a/src/Npgsql/README.md +++ b/src/Npgsql/README.md @@ -36,6 +36,72 @@ while (await reader.ReadAsync()) For the full documentation, please visit [the Npgsql website](https://www.npgsql.org). +## YugabyteDB Npgsql Features + + +Yugabyte Npgsql driver is a distributed .NET driver for YSQL built on the PostgreSQL Npgsql driver. Although the upstream PostgreSQL driver works with YugabyteDB, the Yugabyte driver enhances YugabyteDB by eliminating the need for external load balancers. + +* It is cluster-aware, which eliminates the need for an external load balancer. +* It is topology-aware, which is essential for geographically-distributed applications. The driver uses servers that are part of a set of geo-locations specified by topology keys. + +### Load balancing + +The Yugabyte Npgsql driver has the following load balancing features: + +* Uniform load balancing + +In this mode, the driver makes the best effort to uniformly distribute the connections to each YugabyteDB server. For example, if a client application creates 100 connections to a YugabyteDB cluster consisting of 10 servers, then the driver creates 10 connections to each server. If the number of connections are not exactly divisible by the number of servers, then a few may have 1 less or 1 more connection than the others. This is the client view of the load, so the servers may not be well balanced if other client applications are not using the Yugabyte JDBC driver. + +* Topology-aware load balancing + +Because YugabyteDB clusters can have servers in different regions and availability zones, the YugabyteDB JDBC driver is topology-aware, and can be configured to create connections only on servers that are in specific regions and zones. This is useful for client applications that need to connect to the geographically nearest regions and availability zone for lower latency; the driver tries to uniformly load only those servers that belong to the specified regions and zone. + +### Usage + +Load balancing connection properties: + +The following connection properties are added to enable load balancing: + +* Load Balance Hosts - Starting with version 8.0.3.2, it expects one of False, Any (same as true), OnlyPrimary, OnlyRR, PreferPrimary and PreferRR as its possible values. + * False - No connection load balancing. Behaviour is similar to vanilla Npgsql driver + * Any - Same as value true. Distribute connections equally across all nodes in the cluster, irrespective of its type (primary or read-replica) + * OnlyPrimary - Create connections equally across only the primary nodes of the cluster + * OnlyRR - Create connections equally across only the read-replica nodes of the cluster + * PreferPrimary - Create connections equally across primary cluster nodes. If none available, on any available read replica node in the cluster + * PreferRR - Create connections equally across read replica nodes of the cluster. If none available, on any available primary cluster node +* Topology Keys - provide comma-separated geo-location values to enable topology-aware load balancing. Geo-locations can be provided as cloud.region.zone. +* YB Servers Refresh Interval - The list of servers, to balance the connection load on, are refreshed periodically every 5 minutes by default. This time can be regulated by this property. +* Fallback To Topology Keys Only - Decides if the driver can fall back to nodes outside of the given placements for new connections, if the nodes in the given placements are not available. Value true means stick to explicitly given placements for fallback, else fail. Value false means fall back to entire cluster nodes when nodes in the given placements are unavailable. Default is false. It is ignored if topology-keys is not specified or load-balance is set to either prefer-primary or prefer-rr. +* Failed Host Reconnect Delay Sec - When the driver cannot connect to a server, it marks it as failed with a timestamp. Later, whenever it refreshes the server list via yb_servers(), if it sees the failed server in the response, it marks the server as UP only if the time specified via this property has elapsed since the time it was last marked as a failed host. Default is 5 seconds. +* Enable Discard Sequence - Flag to enable/disable running `Discard sequences` on connection Reset +* Enable Discard Temp - Flag to enable/disable running `Discard Temp` on connection Reset +* Enable Close All - Flag to enable/disable running `Close All` on connection Reset +* Enable Discard Al - Flag to enable/disable running `Discard All` on connection Reset + +Pass new connection properties for load balancing in the connection string. To enable uniform load balancing across all servers, you set the `Load Balance Hosts` property to True in the URL, as per the following example. + +Connection String:: + +```csharp +var connString = "host=127.0.0.1;port=5433;database=yugabyte;userid=yugabyte;password=yugsbyte;Load Balance Hosts=true;Timeout=0"; +``` + +#### Note: The behaviour of `Load Balance Hosts` is different in YugabyteDB Npgsql Driver as compared to the upstream driver. The upstream driver balances connections on the list of hosts provided in the `host` property while the YugabyteDB Npgsql Driver balances the connections on the list of servers returned by the `yb_servers()` function. + +To specify topology keys, you set the `Topology Keys` property to comma separated values, as per the following example. + +Connection String:: + +```csharp +var connString = "host=127.0.0.3;port=5433;database=yugabyte;userid=yugabyte;password=yugsbyte;Load Balance Hosts=true;Timeout=0;Topology Keys=cloud.region.zone"; +``` + +Multiple topologies can also be passed to the Topology Keys property, and each of them can also be given a preference value, as per the following example. + +```csharp +var connString = "host=127.0.0.3;port=5433;database=yugabyte;userid=yugabyte;password=yugsbyte;Load Balance Hosts=true;Timeout=0;Topology Keys=cloud1.region1.zone1:1,cloud2.region2.zone2:2"; +``` + ## Related packages * The Entity Framework Core provider that works with this provider is [Npgsql.EntityFrameworkCore.PostgreSQL](https://www.nuget.org/packages/Npgsql.EntityFrameworkCore.PostgreSQL). diff --git a/src/Npgsql/Replication/Internal/LogicalReplicationConnectionExtensions.cs b/src/Npgsql/Replication/Internal/LogicalReplicationConnectionExtensions.cs index 6f703970de..997043ac1c 100644 --- a/src/Npgsql/Replication/Internal/LogicalReplicationConnectionExtensions.cs +++ b/src/Npgsql/Replication/Internal/LogicalReplicationConnectionExtensions.cs @@ -1,4 +1,4 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using System; using System.Collections.Generic; using System.Runtime.CompilerServices; @@ -6,7 +6,7 @@ using System.Threading; using System.Threading.Tasks; -namespace Npgsql.Replication.Internal; +namespace YBNpgsql.Replication.Internal; /// /// This API is for internal use and for implementing logical replication plugins. diff --git a/src/Npgsql/Replication/Internal/LogicalReplicationSlot.cs b/src/Npgsql/Replication/Internal/LogicalReplicationSlot.cs index 5edfa5d823..9e63f136d5 100644 --- a/src/Npgsql/Replication/Internal/LogicalReplicationSlot.cs +++ b/src/Npgsql/Replication/Internal/LogicalReplicationSlot.cs @@ -1,7 +1,7 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using System; -namespace Npgsql.Replication.Internal; +namespace YBNpgsql.Replication.Internal; /// /// Contains information about a newly-created logical replication slot. diff --git a/src/Npgsql/Replication/LogicalReplicationConnection.cs b/src/Npgsql/Replication/LogicalReplicationConnection.cs index 7172b8a060..ea410a3756 100644 --- a/src/Npgsql/Replication/LogicalReplicationConnection.cs +++ b/src/Npgsql/Replication/LogicalReplicationConnection.cs @@ -1,4 +1,4 @@ -namespace Npgsql.Replication; +namespace YBNpgsql.Replication; /// /// Represents a logical replication connection to a PostgreSQL server. diff --git a/src/Npgsql/Replication/LogicalSlotSnapshotInitMode.cs b/src/Npgsql/Replication/LogicalSlotSnapshotInitMode.cs index 3e71c7ca7b..69021b46ce 100644 --- a/src/Npgsql/Replication/LogicalSlotSnapshotInitMode.cs +++ b/src/Npgsql/Replication/LogicalSlotSnapshotInitMode.cs @@ -1,4 +1,4 @@ -namespace Npgsql.Replication; +namespace YBNpgsql.Replication; /// /// Decides what to do with the snapshot created during logical slot initialization. diff --git a/src/Npgsql/Replication/PgDateTime.cs b/src/Npgsql/Replication/PgDateTime.cs index aa68bda7f6..76584251da 100644 --- a/src/Npgsql/Replication/PgDateTime.cs +++ b/src/Npgsql/Replication/PgDateTime.cs @@ -1,6 +1,6 @@ using System; -namespace Npgsql.Replication; +namespace YBNpgsql.Replication; static class PgDateTime { diff --git a/src/Npgsql/Replication/PgOutput/Messages/BeginMessage.cs b/src/Npgsql/Replication/PgOutput/Messages/BeginMessage.cs index 6fbfcb2c37..3e70f9595d 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/BeginMessage.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/BeginMessage.cs @@ -1,7 +1,7 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using System; -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// Logical Replication Protocol begin message diff --git a/src/Npgsql/Replication/PgOutput/Messages/BeginPrepareMessage.cs b/src/Npgsql/Replication/PgOutput/Messages/BeginPrepareMessage.cs index 288bff1e03..55d6bb20cd 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/BeginPrepareMessage.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/BeginPrepareMessage.cs @@ -1,7 +1,7 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using System; -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// Logical Replication Protocol begin prepare message diff --git a/src/Npgsql/Replication/PgOutput/Messages/CommitMessage.cs b/src/Npgsql/Replication/PgOutput/Messages/CommitMessage.cs index f2f0b16525..d85b30a715 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/CommitMessage.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/CommitMessage.cs @@ -1,7 +1,7 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using System; -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// Logical Replication Protocol commit message diff --git a/src/Npgsql/Replication/PgOutput/Messages/CommitPreparedMessage.cs b/src/Npgsql/Replication/PgOutput/Messages/CommitPreparedMessage.cs index 7ed189a981..276779155c 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/CommitPreparedMessage.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/CommitPreparedMessage.cs @@ -1,7 +1,7 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using System; -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// Logical Replication Protocol commit prepared message diff --git a/src/Npgsql/Replication/PgOutput/Messages/DefaultUpdateMessage.cs b/src/Npgsql/Replication/PgOutput/Messages/DefaultUpdateMessage.cs index 6fd36d7ea0..64e99b4b06 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/DefaultUpdateMessage.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/DefaultUpdateMessage.cs @@ -1,10 +1,10 @@ using System; using System.Threading; using System.Threading.Tasks; -using Npgsql.Internal; -using NpgsqlTypes; +using YBNpgsql.Internal; +using YBNpgsqlTypes; -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// Logical Replication Protocol update message for tables with REPLICA IDENTITY set to DEFAULT. diff --git a/src/Npgsql/Replication/PgOutput/Messages/DeleteMessage.cs b/src/Npgsql/Replication/PgOutput/Messages/DeleteMessage.cs index c1057dabdd..7383c518fc 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/DeleteMessage.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/DeleteMessage.cs @@ -1,7 +1,7 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using System; -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// Abstract base class for Logical Replication Protocol delete message types. diff --git a/src/Npgsql/Replication/PgOutput/Messages/FullDeleteMessage.cs b/src/Npgsql/Replication/PgOutput/Messages/FullDeleteMessage.cs index a426a2b6ad..31b58ead88 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/FullDeleteMessage.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/FullDeleteMessage.cs @@ -1,10 +1,10 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using System; using System.Threading; using System.Threading.Tasks; -using Npgsql.Internal; +using YBNpgsql.Internal; -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// Logical Replication Protocol delete message for tables with REPLICA IDENTITY REPLICA IDENTITY set to FULL. diff --git a/src/Npgsql/Replication/PgOutput/Messages/FullUpdateMessage.cs b/src/Npgsql/Replication/PgOutput/Messages/FullUpdateMessage.cs index 814780cf37..0ca310e614 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/FullUpdateMessage.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/FullUpdateMessage.cs @@ -1,10 +1,10 @@ using System; using System.Threading; using System.Threading.Tasks; -using Npgsql.Internal; -using NpgsqlTypes; +using YBNpgsql.Internal; +using YBNpgsqlTypes; -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// Logical Replication Protocol update message for tables with REPLICA IDENTITY set to FULL. diff --git a/src/Npgsql/Replication/PgOutput/Messages/IndexUpdateMessage.cs b/src/Npgsql/Replication/PgOutput/Messages/IndexUpdateMessage.cs index 021458140d..9e254b57d1 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/IndexUpdateMessage.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/IndexUpdateMessage.cs @@ -1,10 +1,10 @@ using System; using System.Threading; using System.Threading.Tasks; -using Npgsql.Internal; -using NpgsqlTypes; +using YBNpgsql.Internal; +using YBNpgsqlTypes; -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// Logical Replication Protocol update message for tables with REPLICA IDENTITY set to USING INDEX. diff --git a/src/Npgsql/Replication/PgOutput/Messages/InsertMessage.cs b/src/Npgsql/Replication/PgOutput/Messages/InsertMessage.cs index df413f6b21..3d86bca2b1 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/InsertMessage.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/InsertMessage.cs @@ -1,10 +1,10 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using System; using System.Threading; using System.Threading.Tasks; -using Npgsql.Internal; +using YBNpgsql.Internal; -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// Logical Replication Protocol insert message diff --git a/src/Npgsql/Replication/PgOutput/Messages/KeyDeleteMessage.cs b/src/Npgsql/Replication/PgOutput/Messages/KeyDeleteMessage.cs index 9b30b3e1df..db147222ab 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/KeyDeleteMessage.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/KeyDeleteMessage.cs @@ -1,10 +1,10 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using System; using System.Threading; using System.Threading.Tasks; -using Npgsql.Internal; +using YBNpgsql.Internal; -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// Logical Replication Protocol delete message for tables with REPLICA IDENTITY set to DEFAULT or USING INDEX. diff --git a/src/Npgsql/Replication/PgOutput/Messages/LogicalDecodingMessage.cs b/src/Npgsql/Replication/PgOutput/Messages/LogicalDecodingMessage.cs index 0add6103e6..3bdf05de45 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/LogicalDecodingMessage.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/LogicalDecodingMessage.cs @@ -1,8 +1,8 @@ using System; using System.IO; -using NpgsqlTypes; +using YBNpgsqlTypes; -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// Logical Replication Protocol logical decoding message diff --git a/src/Npgsql/Replication/PgOutput/Messages/OriginMessage.cs b/src/Npgsql/Replication/PgOutput/Messages/OriginMessage.cs index 8356cc997a..0df2c4609c 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/OriginMessage.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/OriginMessage.cs @@ -1,7 +1,7 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using System; -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// Logical Replication Protocol origin message diff --git a/src/Npgsql/Replication/PgOutput/Messages/PgOutputReplicationMessage.cs b/src/Npgsql/Replication/PgOutput/Messages/PgOutputReplicationMessage.cs index 24de9e201f..ad8cdf051d 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/PgOutputReplicationMessage.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/PgOutputReplicationMessage.cs @@ -1,4 +1,4 @@ -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// The base class of all Logical Replication Protocol Messages diff --git a/src/Npgsql/Replication/PgOutput/Messages/PrepareMessage.cs b/src/Npgsql/Replication/PgOutput/Messages/PrepareMessage.cs index 16cd8fa36b..295a101001 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/PrepareMessage.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/PrepareMessage.cs @@ -1,7 +1,7 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using System; -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// Logical Replication Protocol prepare message diff --git a/src/Npgsql/Replication/PgOutput/Messages/PrepareMessageBase.cs b/src/Npgsql/Replication/PgOutput/Messages/PrepareMessageBase.cs index 0eda1b18d3..a33b8acb08 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/PrepareMessageBase.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/PrepareMessageBase.cs @@ -1,7 +1,7 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using System; -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// Abstract base class for the logical replication protocol begin prepare and prepare message diff --git a/src/Npgsql/Replication/PgOutput/Messages/PreparedTransactionControlMessage.cs b/src/Npgsql/Replication/PgOutput/Messages/PreparedTransactionControlMessage.cs index 04f98be920..cd17714835 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/PreparedTransactionControlMessage.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/PreparedTransactionControlMessage.cs @@ -1,7 +1,7 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using System; -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// Abstract base class for Logical Replication Protocol prepare and begin prepare message diff --git a/src/Npgsql/Replication/PgOutput/Messages/RelationMessage.cs b/src/Npgsql/Replication/PgOutput/Messages/RelationMessage.cs index 85d83debb7..6953a8afe9 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/RelationMessage.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/RelationMessage.cs @@ -1,9 +1,9 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using System; using System.Collections.Generic; -using Npgsql.BackendMessages; +using YBNpgsql.BackendMessages; -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// Logical Replication Protocol relation message diff --git a/src/Npgsql/Replication/PgOutput/Messages/RelationMessageColumn.cs b/src/Npgsql/Replication/PgOutput/Messages/RelationMessageColumn.cs index 4692e4e6c4..0750fb8eb1 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/RelationMessageColumn.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/RelationMessageColumn.cs @@ -1,4 +1,4 @@ -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// Represents a column in a Logical Replication Protocol relation message diff --git a/src/Npgsql/Replication/PgOutput/Messages/RollbackPreparedMessage.cs b/src/Npgsql/Replication/PgOutput/Messages/RollbackPreparedMessage.cs index 681e7af4b6..c0709aa72c 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/RollbackPreparedMessage.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/RollbackPreparedMessage.cs @@ -1,7 +1,7 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using System; -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// Logical Replication Protocol rollback prepared message diff --git a/src/Npgsql/Replication/PgOutput/Messages/StreamAbortMessage.cs b/src/Npgsql/Replication/PgOutput/Messages/StreamAbortMessage.cs index 20e5c4d2e3..8da168f57e 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/StreamAbortMessage.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/StreamAbortMessage.cs @@ -1,7 +1,7 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using System; -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// Logical Replication Protocol stream abort message for Logical Streaming Replication Protocol versions 2-3 diff --git a/src/Npgsql/Replication/PgOutput/Messages/StreamCommitMessage.cs b/src/Npgsql/Replication/PgOutput/Messages/StreamCommitMessage.cs index ae6aacc584..fb35c32ce2 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/StreamCommitMessage.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/StreamCommitMessage.cs @@ -1,7 +1,7 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using System; -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// Logical Replication Protocol stream commit message diff --git a/src/Npgsql/Replication/PgOutput/Messages/StreamPrepareMessage.cs b/src/Npgsql/Replication/PgOutput/Messages/StreamPrepareMessage.cs index 4947e0d046..fa8abeafae 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/StreamPrepareMessage.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/StreamPrepareMessage.cs @@ -1,7 +1,7 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using System; -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// Logical Replication Protocol stream prepare message diff --git a/src/Npgsql/Replication/PgOutput/Messages/StreamStartMessage.cs b/src/Npgsql/Replication/PgOutput/Messages/StreamStartMessage.cs index 4b0ace1cf7..ba0cc85cc1 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/StreamStartMessage.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/StreamStartMessage.cs @@ -1,7 +1,7 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using System; -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// Logical Replication Protocol stream start message diff --git a/src/Npgsql/Replication/PgOutput/Messages/StreamStopMessage.cs b/src/Npgsql/Replication/PgOutput/Messages/StreamStopMessage.cs index f3fd165a1e..4d06d0b88b 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/StreamStopMessage.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/StreamStopMessage.cs @@ -1,7 +1,7 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using System; -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// Logical Replication Protocol stream stop message diff --git a/src/Npgsql/Replication/PgOutput/Messages/TransactionControlMessage.cs b/src/Npgsql/Replication/PgOutput/Messages/TransactionControlMessage.cs index 4c3c901b2f..88991c15bc 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/TransactionControlMessage.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/TransactionControlMessage.cs @@ -1,7 +1,7 @@ using System; -using NpgsqlTypes; +using YBNpgsqlTypes; -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// The common base class for all replication messages that set the transaction xid of a transaction diff --git a/src/Npgsql/Replication/PgOutput/Messages/TransactionalMessage.cs b/src/Npgsql/Replication/PgOutput/Messages/TransactionalMessage.cs index d5aac683a2..95f60c73f1 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/TransactionalMessage.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/TransactionalMessage.cs @@ -1,7 +1,7 @@ using System; -using NpgsqlTypes; +using YBNpgsqlTypes; -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// The common base class for all streaming replication messages that can be part of a streaming transaction (protocol V2) diff --git a/src/Npgsql/Replication/PgOutput/Messages/TruncateMessage.cs b/src/Npgsql/Replication/PgOutput/Messages/TruncateMessage.cs index 47837f93f3..2cecece262 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/TruncateMessage.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/TruncateMessage.cs @@ -1,8 +1,8 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using System; using System.Collections.Generic; -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// Logical Replication Protocol truncate message diff --git a/src/Npgsql/Replication/PgOutput/Messages/TypeMessage.cs b/src/Npgsql/Replication/PgOutput/Messages/TypeMessage.cs index 5e188de4fe..0b5df3d215 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/TypeMessage.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/TypeMessage.cs @@ -1,7 +1,7 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using System; -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// Logical Replication Protocol type message diff --git a/src/Npgsql/Replication/PgOutput/Messages/UpdateMessage.cs b/src/Npgsql/Replication/PgOutput/Messages/UpdateMessage.cs index 135ff0ddaf..f901501218 100644 --- a/src/Npgsql/Replication/PgOutput/Messages/UpdateMessage.cs +++ b/src/Npgsql/Replication/PgOutput/Messages/UpdateMessage.cs @@ -1,12 +1,12 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using System; using System.Collections.Generic; using System.Diagnostics; using System.Threading; using System.Threading.Tasks; -using Npgsql.Internal; +using YBNpgsql.Internal; -namespace Npgsql.Replication.PgOutput.Messages; +namespace YBNpgsql.Replication.PgOutput.Messages; /// /// Abstract base class for Logical Replication Protocol delete message types. diff --git a/src/Npgsql/Replication/PgOutput/PgOutputAsyncEnumerable.cs b/src/Npgsql/Replication/PgOutput/PgOutputAsyncEnumerable.cs index d200c780a1..68ee9a49e4 100644 --- a/src/Npgsql/Replication/PgOutput/PgOutputAsyncEnumerable.cs +++ b/src/Npgsql/Replication/PgOutput/PgOutputAsyncEnumerable.cs @@ -3,13 +3,13 @@ using System.Diagnostics; using System.Threading; using System.Threading.Tasks; -using Npgsql.BackendMessages; -using Npgsql.Internal; -using Npgsql.Replication.Internal; -using Npgsql.Replication.PgOutput.Messages; -using NpgsqlTypes; +using YBNpgsql.BackendMessages; +using YBNpgsql.Internal; +using YBNpgsql.Replication.Internal; +using YBNpgsql.Replication.PgOutput.Messages; +using YBNpgsqlTypes; -namespace Npgsql.Replication.PgOutput; +namespace YBNpgsql.Replication.PgOutput; sealed class PgOutputAsyncEnumerable : IAsyncEnumerable { diff --git a/src/Npgsql/Replication/PgOutput/PgOutputConnectionExtensions.cs b/src/Npgsql/Replication/PgOutput/PgOutputConnectionExtensions.cs index c67af16d58..2f364e33e2 100644 --- a/src/Npgsql/Replication/PgOutput/PgOutputConnectionExtensions.cs +++ b/src/Npgsql/Replication/PgOutput/PgOutputConnectionExtensions.cs @@ -1,13 +1,13 @@ using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; -using NpgsqlTypes; -using Npgsql.Replication.Internal; -using Npgsql.Replication.PgOutput; -using Npgsql.Replication.PgOutput.Messages; +using YBNpgsqlTypes; +using YBNpgsql.Replication.Internal; +using YBNpgsql.Replication.PgOutput; +using YBNpgsql.Replication.PgOutput.Messages; // ReSharper disable once CheckNamespace -namespace Npgsql.Replication; +namespace YBNpgsql.Replication; /// /// Extension methods to use with the pg_output logical decoding plugin. diff --git a/src/Npgsql/Replication/PgOutput/PgOutputProtocolVersion.cs b/src/Npgsql/Replication/PgOutput/PgOutputProtocolVersion.cs index fd717b6791..c3eaf815b1 100644 --- a/src/Npgsql/Replication/PgOutput/PgOutputProtocolVersion.cs +++ b/src/Npgsql/Replication/PgOutput/PgOutputProtocolVersion.cs @@ -1,4 +1,4 @@ -namespace Npgsql.Replication.PgOutput; +namespace YBNpgsql.Replication.PgOutput; /// /// The Logical Streaming Replication Protocol version. diff --git a/src/Npgsql/Replication/PgOutput/PgOutputReplicationOptions.cs b/src/Npgsql/Replication/PgOutput/PgOutputReplicationOptions.cs index b6aedba5d3..1024067ed3 100644 --- a/src/Npgsql/Replication/PgOutput/PgOutputReplicationOptions.cs +++ b/src/Npgsql/Replication/PgOutput/PgOutputReplicationOptions.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Globalization; -namespace Npgsql.Replication.PgOutput; +namespace YBNpgsql.Replication.PgOutput; /// /// Options to be passed to the pgoutput plugin diff --git a/src/Npgsql/Replication/PgOutput/PgOutputReplicationSlot.cs b/src/Npgsql/Replication/PgOutput/PgOutputReplicationSlot.cs index a873f585fc..1b8b11a58f 100644 --- a/src/Npgsql/Replication/PgOutput/PgOutputReplicationSlot.cs +++ b/src/Npgsql/Replication/PgOutput/PgOutputReplicationSlot.cs @@ -1,6 +1,6 @@ -using Npgsql.Replication.Internal; +using YBNpgsql.Replication.Internal; -namespace Npgsql.Replication.PgOutput; +namespace YBNpgsql.Replication.PgOutput; /// /// Acts as a proxy for a logical replication slot initialized for for the logical streaming replication protocol diff --git a/src/Npgsql/Replication/PgOutput/PgOutputStreamingMode.cs b/src/Npgsql/Replication/PgOutput/PgOutputStreamingMode.cs index 935ad2792c..ad0651c24a 100644 --- a/src/Npgsql/Replication/PgOutput/PgOutputStreamingMode.cs +++ b/src/Npgsql/Replication/PgOutput/PgOutputStreamingMode.cs @@ -1,4 +1,4 @@ -namespace Npgsql.Replication.PgOutput; +namespace YBNpgsql.Replication.PgOutput; /// /// Option to enable streaming of in-progress transactions. diff --git a/src/Npgsql/Replication/PgOutput/ReadonlyArrayBuffer.cs b/src/Npgsql/Replication/PgOutput/ReadonlyArrayBuffer.cs index 3d22b5f5f6..58e21301fb 100644 --- a/src/Npgsql/Replication/PgOutput/ReadonlyArrayBuffer.cs +++ b/src/Npgsql/Replication/PgOutput/ReadonlyArrayBuffer.cs @@ -2,7 +2,7 @@ using System.Collections; using System.Collections.Generic; -namespace Npgsql.Replication.PgOutput; +namespace YBNpgsql.Replication.PgOutput; sealed class ReadOnlyArrayBuffer : IReadOnlyList { diff --git a/src/Npgsql/Replication/PgOutput/ReplicationTuple.cs b/src/Npgsql/Replication/PgOutput/ReplicationTuple.cs index 43bd08b4ac..5d71efb8e6 100644 --- a/src/Npgsql/Replication/PgOutput/ReplicationTuple.cs +++ b/src/Npgsql/Replication/PgOutput/ReplicationTuple.cs @@ -2,10 +2,10 @@ using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; -using Npgsql.BackendMessages; -using Npgsql.Internal; +using YBNpgsql.BackendMessages; +using YBNpgsql.Internal; -namespace Npgsql.Replication.PgOutput; +namespace YBNpgsql.Replication.PgOutput; /// /// Represents a streaming tuple containing . diff --git a/src/Npgsql/Replication/PgOutput/ReplicationValue.cs b/src/Npgsql/Replication/PgOutput/ReplicationValue.cs index 5f7d76b418..56a759ef6e 100644 --- a/src/Npgsql/Replication/PgOutput/ReplicationValue.cs +++ b/src/Npgsql/Replication/PgOutput/ReplicationValue.cs @@ -2,11 +2,11 @@ using System.IO; using System.Threading; using System.Threading.Tasks; -using Npgsql.BackendMessages; -using Npgsql.Internal; -using Npgsql.PostgresTypes; +using YBNpgsql.BackendMessages; +using YBNpgsql.Internal; +using YBNpgsql.PostgresTypes; -namespace Npgsql.Replication.PgOutput; +namespace YBNpgsql.Replication.PgOutput; /// /// Represents a column value in a logical replication session. diff --git a/src/Npgsql/Replication/PgOutput/TupleDataKind.cs b/src/Npgsql/Replication/PgOutput/TupleDataKind.cs index 141e4af16e..59acf0ebf5 100644 --- a/src/Npgsql/Replication/PgOutput/TupleDataKind.cs +++ b/src/Npgsql/Replication/PgOutput/TupleDataKind.cs @@ -1,4 +1,4 @@ -namespace Npgsql.Replication.PgOutput; +namespace YBNpgsql.Replication.PgOutput; /// /// The kind of data transmitted for a tuple in a Logical Replication Protocol message. diff --git a/src/Npgsql/Replication/PgOutput/TupleEnumerator.cs b/src/Npgsql/Replication/PgOutput/TupleEnumerator.cs index cee25671af..0dd8ac732a 100644 --- a/src/Npgsql/Replication/PgOutput/TupleEnumerator.cs +++ b/src/Npgsql/Replication/PgOutput/TupleEnumerator.cs @@ -2,10 +2,10 @@ using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; -using Npgsql.BackendMessages; -using Npgsql.Internal; +using YBNpgsql.BackendMessages; +using YBNpgsql.Internal; -namespace Npgsql.Replication.PgOutput; +namespace YBNpgsql.Replication.PgOutput; sealed class TupleEnumerator : IAsyncEnumerator { diff --git a/src/Npgsql/Replication/PgOutput/TupleType.cs b/src/Npgsql/Replication/PgOutput/TupleType.cs index 80a4f8cc67..f6cc50e8d3 100644 --- a/src/Npgsql/Replication/PgOutput/TupleType.cs +++ b/src/Npgsql/Replication/PgOutput/TupleType.cs @@ -1,4 +1,4 @@ -namespace Npgsql.Replication.PgOutput; +namespace YBNpgsql.Replication.PgOutput; enum TupleType : byte { diff --git a/src/Npgsql/Replication/PhysicalReplicationConnection.cs b/src/Npgsql/Replication/PhysicalReplicationConnection.cs index 05d0af33ca..54288d28bc 100644 --- a/src/Npgsql/Replication/PhysicalReplicationConnection.cs +++ b/src/Npgsql/Replication/PhysicalReplicationConnection.cs @@ -5,9 +5,9 @@ using System.Text; using System.Threading; using System.Threading.Tasks; -using NpgsqlTypes; +using YBNpgsqlTypes; -namespace Npgsql.Replication; +namespace YBNpgsql.Replication; /// /// Represents a physical replication connection to a PostgreSQL server. diff --git a/src/Npgsql/Replication/PhysicalReplicationSlot.cs b/src/Npgsql/Replication/PhysicalReplicationSlot.cs index 7aba817fe2..b32faf4d74 100644 --- a/src/Npgsql/Replication/PhysicalReplicationSlot.cs +++ b/src/Npgsql/Replication/PhysicalReplicationSlot.cs @@ -1,6 +1,6 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; -namespace Npgsql.Replication; +namespace YBNpgsql.Replication; /// /// Wraps a replication slot that uses physical replication. diff --git a/src/Npgsql/Replication/ReplicationConnection.cs b/src/Npgsql/Replication/ReplicationConnection.cs index 575efb669b..a609f8c327 100644 --- a/src/Npgsql/Replication/ReplicationConnection.cs +++ b/src/Npgsql/Replication/ReplicationConnection.cs @@ -1,5 +1,5 @@ -using Npgsql.BackendMessages; -using NpgsqlTypes; +using YBNpgsql.BackendMessages; +using YBNpgsqlTypes; using System; using System.Collections.Generic; using System.Diagnostics; @@ -10,11 +10,11 @@ using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.Logging; -using Npgsql.Internal; -using static Npgsql.Util.Statics; -using Npgsql.Util; +using YBNpgsql.Internal; +using static YBNpgsql.Util.Statics; +using YBNpgsql.Util; -namespace Npgsql.Replication; +namespace YBNpgsql.Replication; /// /// Defines the core behavior of replication connections and provides the base class for diff --git a/src/Npgsql/Replication/ReplicationMessage.cs b/src/Npgsql/Replication/ReplicationMessage.cs index be957346cb..adddadc034 100644 --- a/src/Npgsql/Replication/ReplicationMessage.cs +++ b/src/Npgsql/Replication/ReplicationMessage.cs @@ -1,7 +1,7 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using System; -namespace Npgsql.Replication; +namespace YBNpgsql.Replication; /// /// The common base class for all streaming replication messages diff --git a/src/Npgsql/Replication/ReplicationSlot.cs b/src/Npgsql/Replication/ReplicationSlot.cs index 1e9b3473b6..65767ef47e 100644 --- a/src/Npgsql/Replication/ReplicationSlot.cs +++ b/src/Npgsql/Replication/ReplicationSlot.cs @@ -1,4 +1,4 @@ -namespace Npgsql.Replication; +namespace YBNpgsql.Replication; /// /// Contains information about a newly-created replication slot. diff --git a/src/Npgsql/Replication/ReplicationSlotOptions.cs b/src/Npgsql/Replication/ReplicationSlotOptions.cs index 669e8711df..30733acbd2 100644 --- a/src/Npgsql/Replication/ReplicationSlotOptions.cs +++ b/src/Npgsql/Replication/ReplicationSlotOptions.cs @@ -1,7 +1,7 @@ using System; -using NpgsqlTypes; +using YBNpgsqlTypes; -namespace Npgsql.Replication; +namespace YBNpgsql.Replication; /// /// Contains information about a replication slot. diff --git a/src/Npgsql/Replication/ReplicationSystemIdentification.cs b/src/Npgsql/Replication/ReplicationSystemIdentification.cs index 7e6673e702..fd9d1808ab 100644 --- a/src/Npgsql/Replication/ReplicationSystemIdentification.cs +++ b/src/Npgsql/Replication/ReplicationSystemIdentification.cs @@ -1,6 +1,6 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; -namespace Npgsql.Replication; +namespace YBNpgsql.Replication; /// /// Contains server identification information returned from . diff --git a/src/Npgsql/Replication/TestDecoding/TestDecodingAsyncEnumerable.cs b/src/Npgsql/Replication/TestDecoding/TestDecodingAsyncEnumerable.cs index aca7ee70ea..f3fbd997c5 100644 --- a/src/Npgsql/Replication/TestDecoding/TestDecodingAsyncEnumerable.cs +++ b/src/Npgsql/Replication/TestDecoding/TestDecodingAsyncEnumerable.cs @@ -4,10 +4,10 @@ using System.IO; using System.Threading; using System.Threading.Tasks; -using Npgsql.Replication.Internal; -using NpgsqlTypes; +using YBNpgsql.Replication.Internal; +using YBNpgsqlTypes; -namespace Npgsql.Replication.TestDecoding; +namespace YBNpgsql.Replication.TestDecoding; sealed class TestDecodingAsyncEnumerable : IAsyncEnumerable { diff --git a/src/Npgsql/Replication/TestDecoding/TestDecodingConnectionExtensions.cs b/src/Npgsql/Replication/TestDecoding/TestDecodingConnectionExtensions.cs index 77321711d9..de9d7072e4 100644 --- a/src/Npgsql/Replication/TestDecoding/TestDecodingConnectionExtensions.cs +++ b/src/Npgsql/Replication/TestDecoding/TestDecodingConnectionExtensions.cs @@ -1,12 +1,12 @@ using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; -using NpgsqlTypes; -using Npgsql.Replication.Internal; -using Npgsql.Replication.TestDecoding; +using YBNpgsqlTypes; +using YBNpgsql.Replication.Internal; +using YBNpgsql.Replication.TestDecoding; // ReSharper disable once CheckNamespace -namespace Npgsql.Replication; +namespace YBNpgsql.Replication; /// /// Extension methods to use with the diff --git a/src/Npgsql/Replication/TestDecoding/TestDecodingData.cs b/src/Npgsql/Replication/TestDecoding/TestDecodingData.cs index c887a015ad..12dd9cc159 100644 --- a/src/Npgsql/Replication/TestDecoding/TestDecodingData.cs +++ b/src/Npgsql/Replication/TestDecoding/TestDecodingData.cs @@ -1,7 +1,7 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using System; -namespace Npgsql.Replication.TestDecoding; +namespace YBNpgsql.Replication.TestDecoding; /// /// Text representations of PostgreSQL WAL operations decoded by the "test_decoding" plugin. See diff --git a/src/Npgsql/Replication/TestDecoding/TestDecodingOptions.cs b/src/Npgsql/Replication/TestDecoding/TestDecodingOptions.cs index 12372cb793..5d5c885038 100644 --- a/src/Npgsql/Replication/TestDecoding/TestDecodingOptions.cs +++ b/src/Npgsql/Replication/TestDecoding/TestDecodingOptions.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; -namespace Npgsql.Replication.TestDecoding; +namespace YBNpgsql.Replication.TestDecoding; /// /// Options to be passed to the test_decoding plugin diff --git a/src/Npgsql/Replication/TestDecoding/TestDecodingReplicationSlot.cs b/src/Npgsql/Replication/TestDecoding/TestDecodingReplicationSlot.cs index cc5c52e5a4..79f738b403 100644 --- a/src/Npgsql/Replication/TestDecoding/TestDecodingReplicationSlot.cs +++ b/src/Npgsql/Replication/TestDecoding/TestDecodingReplicationSlot.cs @@ -1,6 +1,6 @@ -using Npgsql.Replication.Internal; +using YBNpgsql.Replication.Internal; -namespace Npgsql.Replication.TestDecoding; +namespace YBNpgsql.Replication.TestDecoding; /// /// Acts as a proxy for a logical replication slot diff --git a/src/Npgsql/Replication/TimelineHistoryFile.cs b/src/Npgsql/Replication/TimelineHistoryFile.cs index 89a15ffd69..ed9c1d979b 100644 --- a/src/Npgsql/Replication/TimelineHistoryFile.cs +++ b/src/Npgsql/Replication/TimelineHistoryFile.cs @@ -1,4 +1,4 @@ -namespace Npgsql.Replication; +namespace YBNpgsql.Replication; /// /// Represents a PostgreSQL timeline history file diff --git a/src/Npgsql/Replication/XLogDataMessage.cs b/src/Npgsql/Replication/XLogDataMessage.cs index 6b4ecd6dcf..65229e33fc 100644 --- a/src/Npgsql/Replication/XLogDataMessage.cs +++ b/src/Npgsql/Replication/XLogDataMessage.cs @@ -1,8 +1,8 @@ using System; using System.IO; -using NpgsqlTypes; +using YBNpgsqlTypes; -namespace Npgsql.Replication; +namespace YBNpgsql.Replication; /// /// A message representing a section of the WAL data stream. diff --git a/src/Npgsql/Schema/DbColumnSchemaGenerator.cs b/src/Npgsql/Schema/DbColumnSchemaGenerator.cs index e42c6f2505..35b6fd1454 100644 --- a/src/Npgsql/Schema/DbColumnSchemaGenerator.cs +++ b/src/Npgsql/Schema/DbColumnSchemaGenerator.cs @@ -5,14 +5,14 @@ using System.Threading; using System.Threading.Tasks; using System.Transactions; -using Npgsql.BackendMessages; -using Npgsql.Internal; -using Npgsql.Internal.Postgres; -using Npgsql.PostgresTypes; -using Npgsql.Util; -using NpgsqlTypes; - -namespace Npgsql.Schema; +using YBNpgsql.BackendMessages; +using YBNpgsql.Internal; +using YBNpgsql.Internal.Postgres; +using YBNpgsql.PostgresTypes; +using YBNpgsql.Util; +using YBNpgsqlTypes; + +namespace YBNpgsql.Schema; sealed class DbColumnSchemaGenerator { diff --git a/src/Npgsql/Schema/NpgsqlDbColumn.cs b/src/Npgsql/Schema/NpgsqlDbColumn.cs index e4597e3d86..8c4cc96c70 100644 --- a/src/Npgsql/Schema/NpgsqlDbColumn.cs +++ b/src/Npgsql/Schema/NpgsqlDbColumn.cs @@ -1,9 +1,9 @@ using System; using System.Data.Common; -using Npgsql.PostgresTypes; -using NpgsqlTypes; +using YBNpgsql.PostgresTypes; +using YBNpgsqlTypes; -namespace Npgsql.Schema; +namespace YBNpgsql.Schema; /// /// Provides schema information about a column. diff --git a/src/Npgsql/Shims/MemoryExtensions.cs b/src/Npgsql/Shims/MemoryExtensions.cs index 0da143f3c4..c3b00d971e 100644 --- a/src/Npgsql/Shims/MemoryExtensions.cs +++ b/src/Npgsql/Shims/MemoryExtensions.cs @@ -1,7 +1,7 @@ #if !NET7_0_OR_GREATER using System; -namespace Npgsql; +namespace YBNpgsql; static class MemoryExtensions { diff --git a/src/Npgsql/SqlQueryParser.cs b/src/Npgsql/SqlQueryParser.cs index 88728a34f7..7feb36bfa5 100644 --- a/src/Npgsql/SqlQueryParser.cs +++ b/src/Npgsql/SqlQueryParser.cs @@ -3,7 +3,7 @@ using System.Diagnostics; using System.Text; -namespace Npgsql; +namespace YBNpgsql; sealed class SqlQueryParser { diff --git a/src/Npgsql/TargetSessionAttributes.cs b/src/Npgsql/TargetSessionAttributes.cs index 43ce3344a2..1536c1838a 100644 --- a/src/Npgsql/TargetSessionAttributes.cs +++ b/src/Npgsql/TargetSessionAttributes.cs @@ -1,4 +1,4 @@ -namespace Npgsql; +namespace YBNpgsql; #pragma warning disable RS0016 diff --git a/src/Npgsql/TaskTimeoutAndCancellation.cs b/src/Npgsql/TaskTimeoutAndCancellation.cs index ceed87ba94..71ff657a1c 100644 --- a/src/Npgsql/TaskTimeoutAndCancellation.cs +++ b/src/Npgsql/TaskTimeoutAndCancellation.cs @@ -1,9 +1,9 @@ using System; using System.Threading; using System.Threading.Tasks; -using Npgsql.Util; +using YBNpgsql.Util; -namespace Npgsql; +namespace YBNpgsql; /// /// Utility class to execute a potentially non-cancellable while allowing to timeout and/or cancel awaiting for it and at the same time prevent event if the original fails later. diff --git a/src/Npgsql/ThrowHelper.cs b/src/Npgsql/ThrowHelper.cs index 1c754884ab..f6512f7263 100644 --- a/src/Npgsql/ThrowHelper.cs +++ b/src/Npgsql/ThrowHelper.cs @@ -1,10 +1,10 @@ -using Npgsql.BackendMessages; +using YBNpgsql.BackendMessages; using System; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; -using Npgsql.Internal; +using YBNpgsql.Internal; -namespace Npgsql; +namespace YBNpgsql; static class ThrowHelper { diff --git a/src/Npgsql/TopologyAwareDataSource.cs b/src/Npgsql/TopologyAwareDataSource.cs new file mode 100644 index 0000000000..0fb70ed9c7 --- /dev/null +++ b/src/Npgsql/TopologyAwareDataSource.cs @@ -0,0 +1,506 @@ +using System; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.Data; +using System.Diagnostics; +using System.Diagnostics.CodeAnalysis; +using System.Linq; +using Microsoft.Extensions.Logging; + +namespace YBNpgsql; + +/// +/// +/// +public sealed class TopologyAwareDataSource: ClusterAwareDataSource +{ + ConcurrentDictionary?> allowedPlacements; + Dictionary AllRRIps = new Dictionary(); + Dictionary AllPrimaryIps = new Dictionary(); + + internal TopologyAwareDataSource(NpgsqlConnectionStringBuilder settings, NpgsqlDataSourceConfiguration dataSourceConfig) : base(settings,dataSourceConfig,false) + { + allowedPlacements = new ConcurrentDictionary?>(); + ParseGeoLocations(); + _connectionLogger.LogDebug("Allowed Placements: {allowedPlacements}", allowedPlacements); + Debug.Assert(initialHosts != null, nameof(initialHosts) + " != null"); + foreach (var host in initialHosts.ToList()) + { + try + { + var controlSettings = settings; + controlSettings.Host = host.ToString(); + NpgsqlDataSource control = new UnpooledDataSource(controlSettings, dataSourceConfig); + NpgsqlConnection controlConnection = NpgsqlConnection.FromDataSource(control); + controlConnection.Open(); + lock (lockObject) + { + _hostsToNodeTypeMap = GetCurrentServers(controlConnection); + } + CreatePool(_hostsToNodeTypeMap); + controlConnection.Close(); + break; + } + catch (Exception) + { + _connectionLogger.LogDebug("Could not connect to host: {host}", host); + initialHosts.Remove(host); + if (initialHosts.Count == 0) + { + _connectionLogger.LogError("Failed to make Control Connection. No suitable host found"); + throw; + } + } + + } + } + + void ParseGeoLocations() + { + var values = settings.TopologyKeys?.Split(','); + Debug.Assert(values != null, nameof(values) + " != null"); + foreach (var value in values) + { + var v = value.Split(':'); + if (v.Length > 2 || value.EndsWith(":", StringComparison.Ordinal)) + { + throw new InvalidExpressionException("Invalid value part for property" + settings.TopologyKeys + ":" + value); + } + + if (v.Length == 1 ) + { + HashSet? primary = allowedPlacements.GetOrAdd(PRIMARY_PLACEMENTS, k => new HashSet()); + PopulatePlacementSet(v[0], primary); + } + else + { + var pref = Convert.ToInt32(v[1]); + if (pref == 1) + { + HashSet? primary; + if (!allowedPlacements.TryGetValue(PRIMARY_PLACEMENTS, out primary)) + { + primary = new HashSet(); + allowedPlacements[PRIMARY_PLACEMENTS] = primary; + } + PopulatePlacementSet(v[0], primary); + } + else if (pref > 1 && pref <= MAX_PREFERENCE_VALUE) + { + HashSet? fallbackPlacements; + if (!allowedPlacements.TryGetValue(pref, out fallbackPlacements)) + { + fallbackPlacements = new HashSet(); + allowedPlacements[pref] = fallbackPlacements; + } + PopulatePlacementSet(v[0], fallbackPlacements); + } + else + { + throw new InvalidExpressionException("Invalid value part for property" + settings.TopologyKeys + ":" + value); + } + } + } + } + + void PopulatePlacementSet(string placements, HashSet? allowedPlacements) + { + var pStrings = placements.Split(','); + foreach (var pl in pStrings) + { + var placementParts = pl.Split('.'); + if (placementParts.Length != 3 || placementParts[0].Equals("*") || placementParts[1].Equals("*")) + { + throw new InvalidExpressionException("Malformed " + settings.TopologyKeys + " property value:" + pl); + } + + CloudPlacement cp = new CloudPlacement(placementParts[0], placementParts[1], placementParts[2]); + + allowedPlacements?.Add(cp); + + } + } + + + /// + /// Create a new pool + /// + protected override void CreatePool(Dictionary hostsmap) + { + lock (lockObject) + { + _hostsToNodeTypeMap = hostsmap; + foreach(var host in _hostsToNodeTypeMap) + { + var flag = 0; + foreach (var pool in _pools) + { + if (host.Key.Equals(pool.Settings.Host, StringComparison.OrdinalIgnoreCase)) + { + flag = 1; + break; + } + } + + if (flag == 1) + continue; + var poolSettings = settings.Clone(); + poolSettings.Host = host.Key; + _connectionLogger.LogDebug("Adding {host} to connection pool", poolSettings.Host); + NpgsqlDataSource poolnew = settings.Pooling? new PoolingDataSource(poolSettings, dataSourceConfig): new UnpooledDataSource(poolSettings, dataSourceConfig); + _pools.Add(poolnew); + int index; + index = _pools.IndexOf(poolnew); + var priority = hostToPriorityMap[host.Key]; + priorityToPoolIndexMap[priority] = index; + if (host.Value.Equals("primary", StringComparison.OrdinalIgnoreCase)) + { + poolToNumConnMapPrimary[poolnew] = 0; + } + else if (host.Value.Equals("read_replica", StringComparison.OrdinalIgnoreCase)) + { + poolToNumConnMapRR[poolnew] = 0; + } + } + unreachableHostsIndices.Clear(); + } + } + + /// + /// Checks if a better node is available or not + /// + /// + /// + protected override bool HasBetterNodeAvailable(int poolindex) + { + var chosenHost = _pools[poolindex].Settings.Host; + if (chosenHost != null && hostToPriorityMap.ContainsKey(chosenHost)) { + var chosenHostPriority = hostToPriorityMap[chosenHost]; + for (var i = 1; i < chosenHostPriority; i++) { + if (hostToPriorityMap.Values.Contains(i)) { + return true; + } + } + } + return false; + } + void UpdatePriorityMap(string host, string cloud, string region, string zone) + { + if (!unreachableHosts.Contains(host)) + { + var priority = getPriority(cloud, region, zone); + hostToPriorityMap[host] = priority; + } + } + + private int getPriority(string cloud, string region, string zone) { + CloudPlacement cp = new CloudPlacement(cloud, region, zone); + return getKeysByValue(cp); + } + + private int getKeysByValue(CloudPlacement cp) { + int i; + HashSet? placement; + for (i = 1; i <= MAX_PREFERENCE_VALUE; i++) + { + allowedPlacements.TryGetValue(i, out placement); + if (placement != null && allowedPlacements.Any()) { + if (cp.IsContainedIn(placement)){ + return i; + } + } + } + return MAX_PREFERENCE_VALUE + 1; + } + + new Dictionary GetCurrentServers(NpgsqlConnection conn) + { + NpgsqlCommand QUERY_SERVER = new NpgsqlCommand("Select * from yb_servers()",conn); + NpgsqlDataReader reader = QUERY_SERVER.ExecuteReader(); + _lastServerFetchTime = DateTime.Now; + Dictionary currentPrivateIps = new Dictionary(); + + var hostConnectedTo = conn.Host; + hostToPriorityMap.Clear(); + + Debug.Assert(hostConnectedTo != null, nameof(hostConnectedTo) + " != null"); + while (reader.Read()) + { + var host = reader.GetString(reader.GetOrdinal("host")); + var publicHost = reader.GetString(reader.GetOrdinal("public_ip")); + var cloud = reader.GetString(reader.GetOrdinal("cloud")); + var region = reader.GetString(reader.GetOrdinal("region")); + var zone = reader.GetString(reader.GetOrdinal("zone")); + var nodeType = reader.GetString(reader.GetOrdinal("node_type")); + if (nodeType.Equals("read_replica", StringComparison.OrdinalIgnoreCase)) + { + AllRRIps[host] = nodeType; + } + if (nodeType.Equals("primary", StringComparison.OrdinalIgnoreCase)) + { + AllPrimaryIps[host] = nodeType; + } + + UpdatePriorityMap(host, cloud, region, zone); + + UpdateCurrentHostList(currentPrivateIps, host, publicHost, cloud, region, zone, nodeType); + + if (hostConnectedTo.Equals(host)) + { + UseHostColumn = true; + } else if (hostConnectedTo.Equals(publicHost)) { + UseHostColumn = false; + } + + } + return GetPrivateOrPublicServers(currentPrivateIps, currentPublicIps); + } + + Dictionary GetRelevantServerToNodeTypeMap(Dictionary serverToNodeTypeMap) + { + Dictionary serversNodeTypeMapCopy = serverToNodeTypeMap; + foreach (var serverNodeType in serverToNodeTypeMap) + { + if (!unreachableHosts.Contains(serverNodeType.Key)) + { + if (settings.LoadBalanceHosts == LoadBalanceHosts.OnlyPrimary || settings.LoadBalanceHosts == LoadBalanceHosts.PreferPrimary) + { + if (serverNodeType.Value.Equals("read_replica", StringComparison.OrdinalIgnoreCase)) + { + serversNodeTypeMapCopy.Remove(serverNodeType.Key); + } + } + if (settings.LoadBalanceHosts == LoadBalanceHosts.OnlyRR || settings.LoadBalanceHosts == LoadBalanceHosts.PreferRR) + { + if (serverNodeType.Value.Equals("primary", StringComparison.OrdinalIgnoreCase)) + { + serversNodeTypeMapCopy.Remove(serverNodeType.Key); + } + } + } + } + + return serversNodeTypeMapCopy; + } + new Dictionary GetPrivateOrPublicServers(Dictionary privateHosts, Dictionary publicHosts) + { + var exceptions = new List(); + Dictionary serverToNodeTypeMap = base.GetPrivateOrPublicServers(privateHosts, publicHosts); + + if (serverToNodeTypeMap != null && serverToNodeTypeMap.Any()) + { + serverToNodeTypeMap = GetRelevantServerToNodeTypeMap(serverToNodeTypeMap); + + if (serverToNodeTypeMap.Any()) + return serverToNodeTypeMap; + } + + for (var i = FIRST_FALLBACK; i <= MAX_PREFERENCE_VALUE; i++) + { + fallbackPrivateIPs.TryGetValue(i, out var privateIp); + fallbackPublicIPs.TryGetValue(i, out var publicIp); + if (privateIp == null) + privateIp = new Dictionary(); + if (publicIp == null) + publicIp = new Dictionary(); + if (privateIp.Any() || publicIp.Any()) + { + serverToNodeTypeMap = base.GetPrivateOrPublicServers(privateIp, publicIp); + serverToNodeTypeMap = GetRelevantServerToNodeTypeMap(serverToNodeTypeMap); + + if (serverToNodeTypeMap.Any()) + return serverToNodeTypeMap; + } + } + + if (settings.FallBackToTopologyKeysOnly) + { + if (settings.LoadBalanceHosts != LoadBalanceHosts.PreferPrimary || settings.LoadBalanceHosts != LoadBalanceHosts.PreferRR) + { + throw NoSuitableHostsException(exceptions); + } + if (settings.LoadBalanceHosts == LoadBalanceHosts.PreferPrimary) + { + return AllRRIps; + } + else if (settings.LoadBalanceHosts == LoadBalanceHosts.PreferRR) + { + return AllPrimaryIps; + } + } + + fallbackPrivateIPs.TryGetValue(REST_OF_CLUSTER, out var privateIPRest); + fallbackPublicIPs.TryGetValue(REST_OF_CLUSTER, out var publicIPRest); + + if (privateIPRest == null) + privateIPRest = new Dictionary(); + if (publicIPRest == null) + publicIPRest = new Dictionary(); + + serverToNodeTypeMap = base.GetPrivateOrPublicServers(privateIPRest, publicIPRest); + serverToNodeTypeMap = GetRelevantServerToNodeTypeMap(serverToNodeTypeMap); + + if (serverToNodeTypeMap.Any()) + return serverToNodeTypeMap; + + if (settings.LoadBalanceHosts == LoadBalanceHosts.PreferPrimary) + { + return AllRRIps; + } + else if (settings.LoadBalanceHosts == LoadBalanceHosts.PreferRR) + { + return AllPrimaryIps; + } + + throw NoSuitableHostsException(exceptions); + } + + void UpdateCurrentHostList(Dictionary currentPrivateIPs, string host, string publicIP, string cloud, string region, string zone, string nodetype) + { + CloudPlacement cp = new CloudPlacement(cloud, region, zone); + Console.WriteLine("Adding host:" + host); + if (cp.IsContainedIn(allowedPlacements[PRIMARY_PLACEMENTS])) + { + currentPrivateIPs[host] = nodetype; + if (!string.IsNullOrEmpty(publicIP.Trim())) + { + currentPublicIps[publicIP] = nodetype; + } + } + else + { + foreach (var allowedCPs in allowedPlacements) + { + if (cp.IsContainedIn(allowedCPs.Value)) + { + Dictionary hostsmap = fallbackPrivateIPs.GetOrAdd(allowedCPs.Key, k => new Dictionary()); + if (!hostsmap.ContainsKey(host)) + { + hostsmap.Add(host, nodetype); + } + + if (!string.IsNullOrEmpty(publicIP.Trim())) + { + Dictionary publicIPsMap = fallbackPublicIPs.GetOrAdd(allowedCPs.Key, k => new Dictionary()); + if (!publicIPsMap.ContainsKey(publicIP)) + { + publicIPsMap.Add(publicIP, nodetype); + } + + } + + return; + } + } + + Dictionary remainingHosts = fallbackPrivateIPs.GetOrAdd(REST_OF_CLUSTER, k => new Dictionary()); + if (!remainingHosts.ContainsKey(host)) + { + remainingHosts.Add(host, nodetype); + } + if (!string.IsNullOrEmpty(publicIP.Trim())) + { + Dictionary remainingPublicIPs = + fallbackPublicIPs.GetOrAdd(REST_OF_CLUSTER, k => new Dictionary()); + if (!remainingPublicIPs.ContainsKey(publicIP)) + { + remainingPublicIPs.Add(publicIP, nodetype); + } + } + } + } + + internal override bool Refresh() + { + _connectionLogger.LogDebug("Refreshing connection"); + poolToNumConnMapPrimary.Clear(); + poolToNumConnMapRR.Clear(); + Debug.Assert(initialHosts != null, nameof(initialHosts) + " != null"); + if (_hostsToNodeTypeMap != null && _hostsToNodeTypeMap.Count != 0) + { + initialHosts.AddRange(_hostsToNodeTypeMap.Keys); + } + + initialHosts = initialHosts.Distinct().ToList(); + foreach (var host in initialHosts.ToList()) + { + try + { + var controlSettings = settings; + controlSettings.Host = host.ToString(); + NpgsqlDataSource control = new UnpooledDataSource(controlSettings, dataSourceConfig); + NpgsqlConnection controlConnection = NpgsqlConnection.FromDataSource(control); + controlConnection.Open(); + _hostsToNodeTypeMap = GetCurrentServers(controlConnection); + CreatePool(_hostsToNodeTypeMap); + controlConnection.Close(); + break; + } + catch (Exception) + { + _connectionLogger.LogDebug("Failed to connect to {host}", host); + initialHosts.Remove(host); + if (initialHosts.Count == 0) + { + _connectionLogger.LogError("Failed to create control connection. No suitable host found"); + throw; + } + + } + + } + unreachableHostsIndices.Clear(); + unreachableHosts.Clear(); + return true; + } + + class CloudPlacement + { + private string cloud; + private string region; + private string zone; + + internal CloudPlacement(string cloud, string region, string zone) { + this.cloud = cloud; + this.region = region; + this.zone = zone; + } + + public bool EqualPlacements(CloudPlacement obj) + { + var equal = false; + equal = cloud.Equals(obj.cloud, StringComparison.OrdinalIgnoreCase) && + region.Equals(obj.region, StringComparison.OrdinalIgnoreCase) && + zone.Equals(obj.zone, StringComparison.OrdinalIgnoreCase); + return equal; + } + + public bool IsContainedIn(HashSet? set) + { + Debug.Assert(set != null, nameof(set) + " != null"); + foreach (var cp in set) + { + if (cp.zone.Equals("*")) + { + if (cp.cloud.Equals(cloud, StringComparison.OrdinalIgnoreCase) && + cp.region.Equals(region, StringComparison.OrdinalIgnoreCase)) + { + return true; + } + } + else + { + if (cp.cloud.Equals(cloud, StringComparison.OrdinalIgnoreCase) && + cp.region.Equals(region, StringComparison.OrdinalIgnoreCase) && + cp.zone.Equals(zone, StringComparison.OrdinalIgnoreCase)) + { + return true; + } + } + } + + return false; + } + } +} diff --git a/src/Npgsql/TypeMapping/GlobalTypeMapper.cs b/src/Npgsql/TypeMapping/GlobalTypeMapper.cs index 2f9b5b3479..8a2d37b45d 100644 --- a/src/Npgsql/TypeMapping/GlobalTypeMapper.cs +++ b/src/Npgsql/TypeMapping/GlobalTypeMapper.cs @@ -3,11 +3,11 @@ using System.Diagnostics.CodeAnalysis; using System.Text.Json; using System.Threading; -using Npgsql.Internal; -using Npgsql.Internal.Postgres; -using Npgsql.Internal.ResolverFactories; +using YBNpgsql.Internal; +using YBNpgsql.Internal.Postgres; +using YBNpgsql.Internal.ResolverFactories; -namespace Npgsql.TypeMapping; +namespace YBNpgsql.TypeMapping; /// sealed class GlobalTypeMapper : INpgsqlTypeMapper diff --git a/src/Npgsql/TypeMapping/INpgsqlTypeMapper.cs b/src/Npgsql/TypeMapping/INpgsqlTypeMapper.cs index b5f2de7594..d4afa2cd95 100644 --- a/src/Npgsql/TypeMapping/INpgsqlTypeMapper.cs +++ b/src/Npgsql/TypeMapping/INpgsqlTypeMapper.cs @@ -2,12 +2,12 @@ using System.Diagnostics.CodeAnalysis; using System.Text.Json; using System.Text.Json.Nodes; -using Npgsql.Internal; -using Npgsql.NameTranslation; -using NpgsqlTypes; +using YBNpgsql.Internal; +using YBNpgsql.NameTranslation; +using YBNpgsqlTypes; // ReSharper disable UnusedMember.Global -namespace Npgsql.TypeMapping; +namespace YBNpgsql.TypeMapping; /// /// A type mapper, managing how to read and write CLR values to PostgreSQL data types. diff --git a/src/Npgsql/TypeMapping/UserTypeMapper.cs b/src/Npgsql/TypeMapping/UserTypeMapper.cs index 3b7928bbd2..0891aac7b2 100644 --- a/src/Npgsql/TypeMapping/UserTypeMapper.cs +++ b/src/Npgsql/TypeMapping/UserTypeMapper.cs @@ -2,15 +2,15 @@ using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.Reflection; -using Npgsql.Internal; -using Npgsql.Internal.Composites; -using Npgsql.Internal.Converters; -using Npgsql.Internal.Postgres; -using Npgsql.NameTranslation; -using Npgsql.PostgresTypes; -using NpgsqlTypes; - -namespace Npgsql.TypeMapping; +using YBNpgsql.Internal; +using YBNpgsql.Internal.Composites; +using YBNpgsql.Internal.Converters; +using YBNpgsql.Internal.Postgres; +using YBNpgsql.NameTranslation; +using YBNpgsql.PostgresTypes; +using YBNpgsqlTypes; + +namespace YBNpgsql.TypeMapping; /// /// The base class for user type mappings. diff --git a/src/Npgsql/UnpooledDataSource.cs b/src/Npgsql/UnpooledDataSource.cs index e801f537eb..b6f7d1b4ff 100644 --- a/src/Npgsql/UnpooledDataSource.cs +++ b/src/Npgsql/UnpooledDataSource.cs @@ -1,10 +1,10 @@ using System.Diagnostics.CodeAnalysis; using System.Threading; using System.Threading.Tasks; -using Npgsql.Internal; -using Npgsql.Util; +using YBNpgsql.Internal; +using YBNpgsql.Util; -namespace Npgsql; +namespace YBNpgsql; sealed class UnpooledDataSource(NpgsqlConnectionStringBuilder settings, NpgsqlDataSourceConfiguration dataSourceConfig) : NpgsqlDataSource(settings, dataSourceConfig) @@ -15,6 +15,13 @@ sealed class UnpooledDataSource(NpgsqlConnectionStringBuilder settings, NpgsqlDa internal override bool OwnsConnectors => true; + internal override bool NeedsRefresh() + { + return false; + } + + internal override bool Refresh() => throw new System.NotImplementedException(); + internal override async ValueTask Get( NpgsqlConnection conn, NpgsqlTimeout timeout, bool async, CancellationToken cancellationToken) { diff --git a/src/Npgsql/Util/ManualResetValueTaskSource.cs b/src/Npgsql/Util/ManualResetValueTaskSource.cs index 55e45aa225..3394038734 100644 --- a/src/Npgsql/Util/ManualResetValueTaskSource.cs +++ b/src/Npgsql/Util/ManualResetValueTaskSource.cs @@ -1,7 +1,7 @@ using System; using System.Threading.Tasks.Sources; -namespace Npgsql.Util; +namespace YBNpgsql.Util; sealed class ManualResetValueTaskSource : IValueTaskSource, IValueTaskSource { diff --git a/src/Npgsql/Util/NpgsqlTimeout.cs b/src/Npgsql/Util/NpgsqlTimeout.cs index 79c44d6c4b..3a05040390 100644 --- a/src/Npgsql/Util/NpgsqlTimeout.cs +++ b/src/Npgsql/Util/NpgsqlTimeout.cs @@ -1,8 +1,8 @@ using System; using System.Threading; -using Npgsql.Internal; +using YBNpgsql.Internal; -namespace Npgsql.Util; +namespace YBNpgsql.Util; /// /// Represents a timeout that will expire at some point. diff --git a/src/Npgsql/Util/ResettableCancellationTokenSource.cs b/src/Npgsql/Util/ResettableCancellationTokenSource.cs index f4b1652e2a..63b7db97d3 100644 --- a/src/Npgsql/Util/ResettableCancellationTokenSource.cs +++ b/src/Npgsql/Util/ResettableCancellationTokenSource.cs @@ -3,7 +3,7 @@ using System.Threading; using static System.Threading.Timeout; -namespace Npgsql.Util; +namespace YBNpgsql.Util; /// /// A wrapper around to simplify reset management. diff --git a/src/Npgsql/Util/Statics.cs b/src/Npgsql/Util/Statics.cs index c21d10fbe5..174ff0fffa 100644 --- a/src/Npgsql/Util/Statics.cs +++ b/src/Npgsql/Util/Statics.cs @@ -1,4 +1,4 @@ -using Npgsql.Internal; +using YBNpgsql.Internal; using System; using System.Collections.Generic; using System.Diagnostics; @@ -6,7 +6,7 @@ using System.Runtime.CompilerServices; using System.Text; -namespace Npgsql.Util; +namespace YBNpgsql.Util; static class Statics { diff --git a/src/Npgsql/Util/StrongBox.cs b/src/Npgsql/Util/StrongBox.cs index d72c3140e0..ef7dc7653e 100644 --- a/src/Npgsql/Util/StrongBox.cs +++ b/src/Npgsql/Util/StrongBox.cs @@ -1,6 +1,6 @@ using System.Diagnostics.CodeAnalysis; -namespace Npgsql.Util; +namespace YBNpgsql.Util; abstract class StrongBox { diff --git a/src/Npgsql/Util/SubReadStream.cs b/src/Npgsql/Util/SubReadStream.cs index 9f0176b631..1f75e6c87f 100644 --- a/src/Npgsql/Util/SubReadStream.cs +++ b/src/Npgsql/Util/SubReadStream.cs @@ -4,7 +4,7 @@ using System.Threading; using System.Threading.Tasks; -namespace Npgsql.Util; +namespace YBNpgsql.Util; // Adapted from https://github.com/dotnet/runtime/blob/83adfae6a6273d8fb4c69554aa3b1cc7cbf01c71/src/libraries/System.IO.Compression/src/System/IO/Compression/ZipCustomStreams.cs#L221 sealed class SubReadStream : Stream diff --git a/src/Npgsql/Util/TaskSchedulerAwaitable.cs b/src/Npgsql/Util/TaskSchedulerAwaitable.cs index 1b6d2c5647..ef0c67fd63 100644 --- a/src/Npgsql/Util/TaskSchedulerAwaitable.cs +++ b/src/Npgsql/Util/TaskSchedulerAwaitable.cs @@ -4,7 +4,7 @@ using System.Threading; using System.Threading.Tasks; -namespace Npgsql.Util; +namespace YBNpgsql.Util; readonly struct TaskSchedulerAwaitable(TaskScheduler scheduler) : ICriticalNotifyCompletion { diff --git a/src/Npgsql/Util/VersionExtensions.cs b/src/Npgsql/Util/VersionExtensions.cs index 4501dd78d2..c1842a966f 100644 --- a/src/Npgsql/Util/VersionExtensions.cs +++ b/src/Npgsql/Util/VersionExtensions.cs @@ -1,6 +1,6 @@ using System; -namespace Npgsql.Util; +namespace YBNpgsql.Util; static class VersionExtensions { diff --git a/src/Npgsql/VolatileResourceManager.cs b/src/Npgsql/VolatileResourceManager.cs index 2e2d698834..3c3f839190 100644 --- a/src/Npgsql/VolatileResourceManager.cs +++ b/src/Npgsql/VolatileResourceManager.cs @@ -3,9 +3,9 @@ using System.Threading; using System.Transactions; using Microsoft.Extensions.Logging; -using Npgsql.Internal; +using YBNpgsql.Internal; -namespace Npgsql; +namespace YBNpgsql; /// /// diff --git a/test/Npgsql.Benchmarks/BenchmarkEnvironment.cs b/test/Npgsql.Benchmarks/BenchmarkEnvironment.cs index 4704cc90e3..ffb0a434d4 100644 --- a/test/Npgsql.Benchmarks/BenchmarkEnvironment.cs +++ b/test/Npgsql.Benchmarks/BenchmarkEnvironment.cs @@ -1,6 +1,6 @@ using System; -namespace Npgsql.Benchmarks; +namespace YBNpgsql.Benchmarks; static class BenchmarkEnvironment { diff --git a/test/Npgsql.Benchmarks/CommandExecuteBenchmarks.cs b/test/Npgsql.Benchmarks/CommandExecuteBenchmarks.cs index e2e6d4706a..8b88f47d00 100644 --- a/test/Npgsql.Benchmarks/CommandExecuteBenchmarks.cs +++ b/test/Npgsql.Benchmarks/CommandExecuteBenchmarks.cs @@ -6,7 +6,7 @@ // ReSharper disable UnusedMember.Global -namespace Npgsql.Benchmarks; +namespace YBNpgsql.Benchmarks; [SuppressMessage("ReSharper", "AssignNullToNotNullAttribute")] [Config(typeof(Config))] diff --git a/test/Npgsql.Benchmarks/Commit.cs b/test/Npgsql.Benchmarks/Commit.cs index 9ab03c11db..50395287ae 100644 --- a/test/Npgsql.Benchmarks/Commit.cs +++ b/test/Npgsql.Benchmarks/Commit.cs @@ -4,7 +4,7 @@ // ReSharper disable AssignNullToNotNullAttribute.Global -namespace Npgsql.Benchmarks; +namespace YBNpgsql.Benchmarks; [Config(typeof(Config))] public class Commit diff --git a/test/Npgsql.Benchmarks/ConnectionCreationBenchmarks.cs b/test/Npgsql.Benchmarks/ConnectionCreationBenchmarks.cs index 633445ae0a..eb884a88d3 100644 --- a/test/Npgsql.Benchmarks/ConnectionCreationBenchmarks.cs +++ b/test/Npgsql.Benchmarks/ConnectionCreationBenchmarks.cs @@ -5,7 +5,7 @@ // ReSharper disable UnusedMember.Global -namespace Npgsql.Benchmarks; +namespace YBNpgsql.Benchmarks; [Config(typeof(Config))] public class ConnectionCreationBenchmarks diff --git a/test/Npgsql.Benchmarks/ConnectionOpenCloseBenchmarks.cs b/test/Npgsql.Benchmarks/ConnectionOpenCloseBenchmarks.cs index ef5e69f62e..156e56248b 100644 --- a/test/Npgsql.Benchmarks/ConnectionOpenCloseBenchmarks.cs +++ b/test/Npgsql.Benchmarks/ConnectionOpenCloseBenchmarks.cs @@ -6,7 +6,7 @@ // ReSharper disable UnusedMember.Global // ReSharper disable MemberCanBePrivate.Global -namespace Npgsql.Benchmarks; +namespace YBNpgsql.Benchmarks; [Config(typeof(Config))] public class ConnectionOpenCloseBenchmarks diff --git a/test/Npgsql.Benchmarks/CopyExport.cs b/test/Npgsql.Benchmarks/CopyExport.cs index e4ea9c0698..09e4e52170 100644 --- a/test/Npgsql.Benchmarks/CopyExport.cs +++ b/test/Npgsql.Benchmarks/CopyExport.cs @@ -1,7 +1,7 @@ using BenchmarkDotNet.Attributes; -using NpgsqlTypes; +using YBNpgsqlTypes; -namespace Npgsql.Benchmarks; +namespace YBNpgsql.Benchmarks; public class CopyExport { diff --git a/test/Npgsql.Benchmarks/CopyImport.cs b/test/Npgsql.Benchmarks/CopyImport.cs index 486d257d6c..4ccb10d24b 100644 --- a/test/Npgsql.Benchmarks/CopyImport.cs +++ b/test/Npgsql.Benchmarks/CopyImport.cs @@ -1,7 +1,7 @@ using BenchmarkDotNet.Attributes; -using NpgsqlTypes; +using YBNpgsqlTypes; -namespace Npgsql.Benchmarks; +namespace YBNpgsql.Benchmarks; public class CopyImport { diff --git a/test/Npgsql.Benchmarks/GetFieldValue.cs b/test/Npgsql.Benchmarks/GetFieldValue.cs index 0065f4546c..1277c144e0 100644 --- a/test/Npgsql.Benchmarks/GetFieldValue.cs +++ b/test/Npgsql.Benchmarks/GetFieldValue.cs @@ -2,7 +2,7 @@ using BenchmarkDotNet.Columns; using BenchmarkDotNet.Configs; -namespace Npgsql.Benchmarks; +namespace YBNpgsql.Benchmarks; [Config(typeof(Config))] public class GetFieldValue diff --git a/test/Npgsql.Benchmarks/Insert.cs b/test/Npgsql.Benchmarks/Insert.cs index 2de57776d5..5e0cf3efcb 100644 --- a/test/Npgsql.Benchmarks/Insert.cs +++ b/test/Npgsql.Benchmarks/Insert.cs @@ -1,8 +1,8 @@ using System.Text; using BenchmarkDotNet.Attributes; -using NpgsqlTypes; +using YBNpgsqlTypes; -namespace Npgsql.Benchmarks; +namespace YBNpgsql.Benchmarks; public class Insert { diff --git a/test/Npgsql.Benchmarks/Prepare.cs b/test/Npgsql.Benchmarks/Prepare.cs index 5648e75f98..9c8d11952a 100644 --- a/test/Npgsql.Benchmarks/Prepare.cs +++ b/test/Npgsql.Benchmarks/Prepare.cs @@ -7,7 +7,7 @@ // ReSharper disable MemberCanBePrivate.Global // ReSharper disable AssignNullToNotNullAttribute.Global -namespace Npgsql.Benchmarks; +namespace YBNpgsql.Benchmarks; public class Prepare { diff --git a/test/Npgsql.Benchmarks/Program.cs b/test/Npgsql.Benchmarks/Program.cs index 9a334f63b8..fcddf9b272 100644 --- a/test/Npgsql.Benchmarks/Program.cs +++ b/test/Npgsql.Benchmarks/Program.cs @@ -1,7 +1,7 @@ using BenchmarkDotNet.Running; using System.Reflection; -namespace Npgsql.Benchmarks; +namespace YBNpgsql.Benchmarks; class Program { diff --git a/test/Npgsql.Benchmarks/ReadArray.cs b/test/Npgsql.Benchmarks/ReadArray.cs index e1e5b2d8de..39faf714ee 100644 --- a/test/Npgsql.Benchmarks/ReadArray.cs +++ b/test/Npgsql.Benchmarks/ReadArray.cs @@ -1,6 +1,6 @@ using BenchmarkDotNet.Attributes; -namespace Npgsql.Benchmarks; +namespace YBNpgsql.Benchmarks; public class ReadArrays { diff --git a/test/Npgsql.Benchmarks/ReadColumns.cs b/test/Npgsql.Benchmarks/ReadColumns.cs index aa10d25f1a..d9be9ca739 100644 --- a/test/Npgsql.Benchmarks/ReadColumns.cs +++ b/test/Npgsql.Benchmarks/ReadColumns.cs @@ -3,7 +3,7 @@ using System.Text; using BenchmarkDotNet.Attributes; -namespace Npgsql.Benchmarks; +namespace YBNpgsql.Benchmarks; public class ReadColumns { diff --git a/test/Npgsql.Benchmarks/ReadRows.cs b/test/Npgsql.Benchmarks/ReadRows.cs index 7ec8d9ed09..3a74162c79 100644 --- a/test/Npgsql.Benchmarks/ReadRows.cs +++ b/test/Npgsql.Benchmarks/ReadRows.cs @@ -1,6 +1,6 @@ using BenchmarkDotNet.Attributes; -namespace Npgsql.Benchmarks; +namespace YBNpgsql.Benchmarks; public class ReadRows { diff --git a/test/Npgsql.Benchmarks/ResolveHandler.cs b/test/Npgsql.Benchmarks/ResolveHandler.cs index e082b81c4e..748a069590 100644 --- a/test/Npgsql.Benchmarks/ResolveHandler.cs +++ b/test/Npgsql.Benchmarks/ResolveHandler.cs @@ -1,8 +1,8 @@ using BenchmarkDotNet.Attributes; -using Npgsql.Internal; -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.Benchmarks; +namespace YBNpgsql.Benchmarks; [MemoryDiagnoser] public class ResolveHandler diff --git a/test/Npgsql.Benchmarks/TypeHandlers/Composite.cs b/test/Npgsql.Benchmarks/TypeHandlers/Composite.cs index 52418a7240..d3e8191a51 100644 --- a/test/Npgsql.Benchmarks/TypeHandlers/Composite.cs +++ b/test/Npgsql.Benchmarks/TypeHandlers/Composite.cs @@ -2,7 +2,7 @@ /* Disabling for now: unmapped composite support is probably going away, and there's a good chance this * class can be simplified to a certain extent -namespace Npgsql.Benchmarks.TypeHandlers +namespace YBNpgsql.Benchmarks.TypeHandlers { public abstract class Composite : TypeHandlerBenchmarks { diff --git a/test/Npgsql.Benchmarks/TypeHandlers/Numeric.cs b/test/Npgsql.Benchmarks/TypeHandlers/Numeric.cs index ae5dbfe0d9..1bda24efaf 100644 --- a/test/Npgsql.Benchmarks/TypeHandlers/Numeric.cs +++ b/test/Npgsql.Benchmarks/TypeHandlers/Numeric.cs @@ -1,8 +1,8 @@ using System.Collections.Generic; using BenchmarkDotNet.Attributes; -using Npgsql.Internal.Converters; +using YBNpgsql.Internal.Converters; -namespace Npgsql.Benchmarks.TypeHandlers; +namespace YBNpgsql.Benchmarks.TypeHandlers; [Config(typeof(Config))] public class Int16() : TypeHandlerBenchmarks(new Int2Converter()); diff --git a/test/Npgsql.Benchmarks/TypeHandlers/Text.cs b/test/Npgsql.Benchmarks/TypeHandlers/Text.cs index 6216cdc5de..5752038e5e 100644 --- a/test/Npgsql.Benchmarks/TypeHandlers/Text.cs +++ b/test/Npgsql.Benchmarks/TypeHandlers/Text.cs @@ -1,9 +1,9 @@ using BenchmarkDotNet.Attributes; using System.Collections.Generic; using System.Text; -using Npgsql.Internal.Converters; +using YBNpgsql.Internal.Converters; -namespace Npgsql.Benchmarks.TypeHandlers; +namespace YBNpgsql.Benchmarks.TypeHandlers; [Config(typeof(Config))] public class Text() : TypeHandlerBenchmarks(new StringTextConverter(Encoding.UTF8)) diff --git a/test/Npgsql.Benchmarks/TypeHandlers/TypeHandlerBenchmarks.cs b/test/Npgsql.Benchmarks/TypeHandlers/TypeHandlerBenchmarks.cs index 9bc09dac99..6eb5efdf73 100644 --- a/test/Npgsql.Benchmarks/TypeHandlers/TypeHandlerBenchmarks.cs +++ b/test/Npgsql.Benchmarks/TypeHandlers/TypeHandlerBenchmarks.cs @@ -6,11 +6,11 @@ using System.Collections.Generic; using System.IO; using System.Threading; -using Npgsql.Internal; +using YBNpgsql.Internal; #nullable disable -namespace Npgsql.Benchmarks.TypeHandlers; +namespace YBNpgsql.Benchmarks.TypeHandlers; public abstract class TypeHandlerBenchmarks { diff --git a/test/Npgsql.Benchmarks/TypeHandlers/Uuid.cs b/test/Npgsql.Benchmarks/TypeHandlers/Uuid.cs index a497a0c509..10022a1fa0 100644 --- a/test/Npgsql.Benchmarks/TypeHandlers/Uuid.cs +++ b/test/Npgsql.Benchmarks/TypeHandlers/Uuid.cs @@ -1,8 +1,8 @@ using System; using BenchmarkDotNet.Attributes; -using Npgsql.Internal.Converters; +using YBNpgsql.Internal.Converters; -namespace Npgsql.Benchmarks.TypeHandlers; +namespace YBNpgsql.Benchmarks.TypeHandlers; [Config(typeof(Config))] public class Uuid() : TypeHandlerBenchmarks(new GuidUuidConverter()); diff --git a/test/Npgsql.Benchmarks/UnixDomainSocket.cs b/test/Npgsql.Benchmarks/UnixDomainSocket.cs index 89c42a9a49..f0eec6fb04 100644 --- a/test/Npgsql.Benchmarks/UnixDomainSocket.cs +++ b/test/Npgsql.Benchmarks/UnixDomainSocket.cs @@ -3,7 +3,7 @@ using System.Linq; using BenchmarkDotNet.Attributes; -namespace Npgsql.Benchmarks; +namespace YBNpgsql.Benchmarks; public class UnixDomainSocket { diff --git a/test/Npgsql.Benchmarks/WriteVaryingNumberOfParameters.cs b/test/Npgsql.Benchmarks/WriteVaryingNumberOfParameters.cs index 429861f262..9b007ab50b 100644 --- a/test/Npgsql.Benchmarks/WriteVaryingNumberOfParameters.cs +++ b/test/Npgsql.Benchmarks/WriteVaryingNumberOfParameters.cs @@ -1,8 +1,8 @@ using System.Linq; using BenchmarkDotNet.Attributes; -using NpgsqlTypes; +using YBNpgsqlTypes; -namespace Npgsql.Benchmarks.Types; +namespace YBNpgsql.Benchmarks.Types; public class WriteVaryingNumberOfParameters { diff --git a/test/Npgsql.DependencyInjection.Tests/DependencyInjectionTests.cs b/test/Npgsql.DependencyInjection.Tests/DependencyInjectionTests.cs index ebbf0e2388..8df32a696e 100644 --- a/test/Npgsql.DependencyInjection.Tests/DependencyInjectionTests.cs +++ b/test/Npgsql.DependencyInjection.Tests/DependencyInjectionTests.cs @@ -4,11 +4,11 @@ using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; -using Npgsql.Tests; -using Npgsql.Tests.Support; +using YBNpgsql.Tests; +using YBNpgsql.Tests.Support; using NUnit.Framework; -namespace Npgsql.DependencyInjection.Tests; +namespace YBNpgsql.DependencyInjection.Tests; [TestFixture(DataSourceMode.Standard)] [TestFixture(DataSourceMode.Slim)] diff --git a/test/Npgsql.NativeAotTests/Program.cs b/test/Npgsql.NativeAotTests/Program.cs index 098c978296..b1cc3ca039 100644 --- a/test/Npgsql.NativeAotTests/Program.cs +++ b/test/Npgsql.NativeAotTests/Program.cs @@ -1,5 +1,5 @@ using System; -using Npgsql; +using YBNpgsql; var connectionString = Environment.GetEnvironmentVariable("NPGSQL_TEST_DB") ?? "Server=localhost;Username=npgsql_tests;Password=npgsql_tests;Database=npgsql_tests;Timeout=0;Command Timeout=0"; diff --git a/test/Npgsql.PluginTests/GeoJSONTests.cs b/test/Npgsql.PluginTests/GeoJSONTests.cs index 0a421eee01..0e0392d14d 100644 --- a/test/Npgsql.PluginTests/GeoJSONTests.cs +++ b/test/Npgsql.PluginTests/GeoJSONTests.cs @@ -7,12 +7,12 @@ using GeoJSON.Net.CoordinateReferenceSystem; using GeoJSON.Net.Geometry; using Newtonsoft.Json; -using Npgsql.Tests; -using NpgsqlTypes; +using YBNpgsql.Tests; +using YBNpgsqlTypes; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.PluginTests; +namespace YBNpgsql.PluginTests; public class GeoJSONTests : TestBase { diff --git a/test/Npgsql.PluginTests/JsonNetTests.cs b/test/Npgsql.PluginTests/JsonNetTests.cs index e251bf7249..075d170a4b 100644 --- a/test/Npgsql.PluginTests/JsonNetTests.cs +++ b/test/Npgsql.PluginTests/JsonNetTests.cs @@ -1,7 +1,7 @@ using Newtonsoft.Json; using Newtonsoft.Json.Linq; -using Npgsql.Tests; -using NpgsqlTypes; +using YBNpgsql.Tests; +using YBNpgsqlTypes; using NUnit.Framework; using System; using System.Text; @@ -10,7 +10,7 @@ // ReSharper disable AccessToModifiedClosure // ReSharper disable AccessToDisposedClosure -namespace Npgsql.PluginTests; +namespace YBNpgsql.PluginTests; /// /// Tests for the Npgsql.Json.NET mapping plugin diff --git a/test/Npgsql.PluginTests/LegacyNodaTimeTests.cs b/test/Npgsql.PluginTests/LegacyNodaTimeTests.cs index c6e5f25a9d..9683e136a2 100644 --- a/test/Npgsql.PluginTests/LegacyNodaTimeTests.cs +++ b/test/Npgsql.PluginTests/LegacyNodaTimeTests.cs @@ -2,12 +2,12 @@ using System.Data; using System.Threading.Tasks; using NodaTime; -using Npgsql.Tests; -using NpgsqlTypes; +using YBNpgsql.Tests; +using YBNpgsqlTypes; using NUnit.Framework; -using Npgsql.NodaTime.Internal; +using YBNpgsql.NodaTime.Internal; -namespace Npgsql.PluginTests; +namespace YBNpgsql.PluginTests; [NonParallelizable] // Since this test suite manipulates an AppContext switch public class LegacyNodaTimeTests : TestBase, IDisposable diff --git a/test/Npgsql.PluginTests/NetTopologySuiteTests.cs b/test/Npgsql.PluginTests/NetTopologySuiteTests.cs index 4cece1952c..9187fc8fd0 100644 --- a/test/Npgsql.PluginTests/NetTopologySuiteTests.cs +++ b/test/Npgsql.PluginTests/NetTopologySuiteTests.cs @@ -4,12 +4,12 @@ using System.Threading.Tasks; using NetTopologySuite.Geometries; using NetTopologySuite.Geometries.Implementation; -using Npgsql.Tests; -using NpgsqlTypes; +using YBNpgsql.Tests; +using YBNpgsqlTypes; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.PluginTests; +namespace YBNpgsql.PluginTests; public class NetTopologySuiteTests : TestBase { diff --git a/test/Npgsql.PluginTests/NodaTimeInfinityTests.cs b/test/Npgsql.PluginTests/NodaTimeInfinityTests.cs index 75559169f0..99d103065d 100644 --- a/test/Npgsql.PluginTests/NodaTimeInfinityTests.cs +++ b/test/Npgsql.PluginTests/NodaTimeInfinityTests.cs @@ -2,12 +2,12 @@ using System.Data; using System.Threading.Tasks; using NodaTime; -using Npgsql.Tests; -using Npgsql.Util; -using NpgsqlTypes; +using YBNpgsql.Tests; +using YBNpgsql.Util; +using YBNpgsqlTypes; using NUnit.Framework; -namespace Npgsql.PluginTests; +namespace YBNpgsql.PluginTests; [TestFixture(false)] #if DEBUG diff --git a/test/Npgsql.PluginTests/NodaTimeTests.cs b/test/Npgsql.PluginTests/NodaTimeTests.cs index adddf9cf25..9b5f7c6b27 100644 --- a/test/Npgsql.PluginTests/NodaTimeTests.cs +++ b/test/Npgsql.PluginTests/NodaTimeTests.cs @@ -2,16 +2,16 @@ using System.Data; using System.Threading.Tasks; using NodaTime; -using Npgsql.NodaTime.Properties; -using Npgsql.Tests; -using NpgsqlTypes; +using YBNpgsql.NodaTime.Properties; +using YBNpgsql.Tests; +using YBNpgsqlTypes; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; // ReSharper disable AccessToModifiedClosure // ReSharper disable AccessToDisposedClosure -namespace Npgsql.PluginTests; +namespace YBNpgsql.PluginTests; public class NodaTimeTests : MultiplexingTestBase, IDisposable { diff --git a/test/Npgsql.Specification.Tests/NpgsqlCommandTests.cs b/test/Npgsql.Specification.Tests/NpgsqlCommandTests.cs index 8318435aa9..944cf8c434 100644 --- a/test/Npgsql.Specification.Tests/NpgsqlCommandTests.cs +++ b/test/Npgsql.Specification.Tests/NpgsqlCommandTests.cs @@ -1,6 +1,6 @@ using AdoNet.Specification.Tests; -namespace Npgsql.Specification.Tests; +namespace YBNpgsql.Specification.Tests; public sealed class NpgsqlCommandTests(NpgsqlDbFactoryFixture fixture) : CommandTestBase(fixture) { diff --git a/test/Npgsql.Specification.Tests/NpgsqlConnectionTests.cs b/test/Npgsql.Specification.Tests/NpgsqlConnectionTests.cs index 20f5bc2547..aa455b13c4 100644 --- a/test/Npgsql.Specification.Tests/NpgsqlConnectionTests.cs +++ b/test/Npgsql.Specification.Tests/NpgsqlConnectionTests.cs @@ -1,5 +1,5 @@ using AdoNet.Specification.Tests; -namespace Npgsql.Specification.Tests; +namespace YBNpgsql.Specification.Tests; public sealed class NpgsqlConnectionTests(NpgsqlDbFactoryFixture fixture) : ConnectionTestBase(fixture); \ No newline at end of file diff --git a/test/Npgsql.Specification.Tests/NpgsqlDataReaderTests.cs b/test/Npgsql.Specification.Tests/NpgsqlDataReaderTests.cs index 3f3c9021aa..1804b2f77d 100644 --- a/test/Npgsql.Specification.Tests/NpgsqlDataReaderTests.cs +++ b/test/Npgsql.Specification.Tests/NpgsqlDataReaderTests.cs @@ -1,5 +1,5 @@ using AdoNet.Specification.Tests; -namespace Npgsql.Specification.Tests; +namespace YBNpgsql.Specification.Tests; public sealed class NpgsqlDataReaderTests(NpgsqlSelectValueFixture fixture) : DataReaderTestBase(fixture); \ No newline at end of file diff --git a/test/Npgsql.Specification.Tests/NpgsqlDbFactoryFixture.cs b/test/Npgsql.Specification.Tests/NpgsqlDbFactoryFixture.cs index 6d8fcbad17..5a92246b28 100644 --- a/test/Npgsql.Specification.Tests/NpgsqlDbFactoryFixture.cs +++ b/test/Npgsql.Specification.Tests/NpgsqlDbFactoryFixture.cs @@ -2,7 +2,7 @@ using System.Data.Common; using AdoNet.Specification.Tests; -namespace Npgsql.Specification.Tests; +namespace YBNpgsql.Specification.Tests; public class NpgsqlDbFactoryFixture : IDbFactoryFixture { diff --git a/test/Npgsql.Specification.Tests/NpgsqlSelectValueFixture.cs b/test/Npgsql.Specification.Tests/NpgsqlSelectValueFixture.cs index 06bdb837f2..e9ac52e21c 100644 --- a/test/Npgsql.Specification.Tests/NpgsqlSelectValueFixture.cs +++ b/test/Npgsql.Specification.Tests/NpgsqlSelectValueFixture.cs @@ -5,7 +5,7 @@ using System.Linq; using AdoNet.Specification.Tests; -namespace Npgsql.Specification.Tests; +namespace YBNpgsql.Specification.Tests; public class NpgsqlSelectValueFixture : NpgsqlDbFactoryFixture, ISelectValueFixture, IDeleteFixture, IDisposable { diff --git a/test/Npgsql.Specification.Tests/Utility.cs b/test/Npgsql.Specification.Tests/Utility.cs index 51bdc18dcd..2a63638ef4 100644 --- a/test/Npgsql.Specification.Tests/Utility.cs +++ b/test/Npgsql.Specification.Tests/Utility.cs @@ -1,6 +1,6 @@ using AdoNet.Specification.Tests; -namespace Npgsql.Specification.Tests; +namespace YBNpgsql.Specification.Tests; public static class Utility { diff --git a/test/Npgsql.Tests/AsyncTests.cs b/test/Npgsql.Tests/AsyncTests.cs index 3d7ebc3300..84ca8d2140 100644 --- a/test/Npgsql.Tests/AsyncTests.cs +++ b/test/Npgsql.Tests/AsyncTests.cs @@ -1,9 +1,9 @@ using NUnit.Framework; using System.Data; using System.Threading.Tasks; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public class AsyncTests : TestBase { diff --git a/test/Npgsql.Tests/AuthenticationTests.cs b/test/Npgsql.Tests/AuthenticationTests.cs index 90bdb79f00..9de573bed3 100644 --- a/test/Npgsql.Tests/AuthenticationTests.cs +++ b/test/Npgsql.Tests/AuthenticationTests.cs @@ -4,12 +4,12 @@ using System.Runtime.InteropServices; using System.Threading; using System.Threading.Tasks; -using Npgsql.Properties; -using Npgsql.Tests.Support; +using YBNpgsql.Properties; +using YBNpgsql.Tests.Support; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public class AuthenticationTests(MultiplexingMode multiplexingMode) : MultiplexingTestBase(multiplexingMode) { diff --git a/test/Npgsql.Tests/AutoPrepareTests.cs b/test/Npgsql.Tests/AutoPrepareTests.cs index 00d9455147..4c09c0d227 100644 --- a/test/Npgsql.Tests/AutoPrepareTests.cs +++ b/test/Npgsql.Tests/AutoPrepareTests.cs @@ -1,12 +1,12 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using NUnit.Framework; using System; using System.Data; using System.Linq; using System.Threading.Tasks; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public class AutoPrepareTests : TestBase { diff --git a/test/Npgsql.Tests/BatchTests.cs b/test/Npgsql.Tests/BatchTests.cs index 4450635edb..b3b2989c87 100644 --- a/test/Npgsql.Tests/BatchTests.cs +++ b/test/Npgsql.Tests/BatchTests.cs @@ -4,9 +4,9 @@ using System.Data; using System.Linq; using System.Threading.Tasks; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; [TestFixture(MultiplexingMode.NonMultiplexing, CommandBehavior.Default)] [TestFixture(MultiplexingMode.Multiplexing, CommandBehavior.Default)] diff --git a/test/Npgsql.Tests/BugTests.cs b/test/Npgsql.Tests/BugTests.cs index 2e3dfa97fc..22781772f9 100644 --- a/test/Npgsql.Tests/BugTests.cs +++ b/test/Npgsql.Tests/BugTests.cs @@ -1,6 +1,6 @@ -using Npgsql.BackendMessages; -using Npgsql.Tests.Support; -using NpgsqlTypes; +using YBNpgsql.BackendMessages; +using YBNpgsql.Tests.Support; +using YBNpgsqlTypes; using NUnit.Framework; using System; using System.Data; @@ -8,10 +8,10 @@ using System.Threading; using System.Threading.Tasks; using System.Transactions; -using Npgsql.Internal.Postgres; -using static Npgsql.Tests.TestUtil; +using YBNpgsql.Internal.Postgres; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public class BugTests : TestBase { diff --git a/test/Npgsql.Tests/CommandBuilderTests.cs b/test/Npgsql.Tests/CommandBuilderTests.cs index e917b7f6b3..c83fc3ec7b 100644 --- a/test/Npgsql.Tests/CommandBuilderTests.cs +++ b/test/Npgsql.Tests/CommandBuilderTests.cs @@ -1,12 +1,12 @@ using System; using System.Data; using System.Threading.Tasks; -using Npgsql.PostgresTypes; -using NpgsqlTypes; +using YBNpgsql.PostgresTypes; +using YBNpgsqlTypes; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; class CommandBuilderTests : TestBase { diff --git a/test/Npgsql.Tests/CommandParameterTests.cs b/test/Npgsql.Tests/CommandParameterTests.cs index 6fc042bff9..a2df5c5230 100644 --- a/test/Npgsql.Tests/CommandParameterTests.cs +++ b/test/Npgsql.Tests/CommandParameterTests.cs @@ -1,10 +1,10 @@ using System; using System.Data; using System.Threading.Tasks; -using NpgsqlTypes; +using YBNpgsqlTypes; using NUnit.Framework; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public class CommandParameterTests(MultiplexingMode multiplexingMode) : MultiplexingTestBase(multiplexingMode) { diff --git a/test/Npgsql.Tests/CommandTests.cs b/test/Npgsql.Tests/CommandTests.cs index f159d7d97c..0ed18c8f45 100644 --- a/test/Npgsql.Tests/CommandTests.cs +++ b/test/Npgsql.Tests/CommandTests.cs @@ -1,7 +1,7 @@ -using Npgsql.BackendMessages; -using Npgsql.Internal; -using Npgsql.Tests.Support; -using NpgsqlTypes; +using YBNpgsql.BackendMessages; +using YBNpgsql.Internal; +using YBNpgsql.Tests.Support; +using YBNpgsqlTypes; using NUnit.Framework; using System; using System.Buffers.Binary; @@ -10,10 +10,10 @@ using System.Text; using System.Threading; using System.Threading.Tasks; -using Npgsql.Internal.Postgres; -using static Npgsql.Tests.TestUtil; +using YBNpgsql.Internal.Postgres; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public class CommandTests(MultiplexingMode multiplexingMode) : MultiplexingTestBase(multiplexingMode) { diff --git a/test/Npgsql.Tests/ConnectionStringBuilderTests.cs b/test/Npgsql.Tests/ConnectionStringBuilderTests.cs index 6e2d2e3a04..6304d4e74f 100644 --- a/test/Npgsql.Tests/ConnectionStringBuilderTests.cs +++ b/test/Npgsql.Tests/ConnectionStringBuilderTests.cs @@ -1,7 +1,7 @@ using System; using NUnit.Framework; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; class ConnectionStringBuilderTests { diff --git a/test/Npgsql.Tests/ConnectionTests.cs b/test/Npgsql.Tests/ConnectionTests.cs index 151255b8bc..33423f4cf3 100644 --- a/test/Npgsql.Tests/ConnectionTests.cs +++ b/test/Npgsql.Tests/ConnectionTests.cs @@ -11,14 +11,14 @@ using System.Text; using System.Threading; using System.Threading.Tasks; -using Npgsql.Internal; -using Npgsql.PostgresTypes; -using Npgsql.Util; -using NpgsqlTypes; +using YBNpgsql.Internal; +using YBNpgsql.PostgresTypes; +using YBNpgsql.Util; +using YBNpgsqlTypes; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public class ConnectionTests(MultiplexingMode multiplexingMode) : MultiplexingTestBase(multiplexingMode) { diff --git a/test/Npgsql.Tests/CopyTests.cs b/test/Npgsql.Tests/CopyTests.cs index 73a2591195..c6ea471c1f 100644 --- a/test/Npgsql.Tests/CopyTests.cs +++ b/test/Npgsql.Tests/CopyTests.cs @@ -9,13 +9,13 @@ using System.Text; using System.Threading; using System.Threading.Tasks; -using Npgsql.Internal; -using Npgsql.Tests.Support; -using NpgsqlTypes; +using YBNpgsql.Internal; +using YBNpgsql.Tests.Support; +using YBNpgsqlTypes; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public class CopyTests(MultiplexingMode multiplexingMode) : MultiplexingTestBase(multiplexingMode) { diff --git a/test/Npgsql.Tests/DataAdapterTests.cs b/test/Npgsql.Tests/DataAdapterTests.cs index 016e01b6b3..0c621e25af 100644 --- a/test/Npgsql.Tests/DataAdapterTests.cs +++ b/test/Npgsql.Tests/DataAdapterTests.cs @@ -1,11 +1,11 @@ using System; using System.Data; using System.Threading.Tasks; -using NpgsqlTypes; +using YBNpgsqlTypes; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public class DataAdapterTests : TestBase { diff --git a/test/Npgsql.Tests/DataSourceTests.cs b/test/Npgsql.Tests/DataSourceTests.cs index 7e33d00991..3f5761cf0e 100644 --- a/test/Npgsql.Tests/DataSourceTests.cs +++ b/test/Npgsql.Tests/DataSourceTests.cs @@ -5,11 +5,11 @@ using System.Text.Json.Serialization; using System.Threading.Tasks; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; // ReSharper disable MethodHasAsyncOverload -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public class DataSourceTests : TestBase { diff --git a/test/Npgsql.Tests/DataTypeNameTests.cs b/test/Npgsql.Tests/DataTypeNameTests.cs index fd366d8258..37255edaf9 100644 --- a/test/Npgsql.Tests/DataTypeNameTests.cs +++ b/test/Npgsql.Tests/DataTypeNameTests.cs @@ -1,8 +1,8 @@ using System; -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal.Postgres; using NUnit.Framework; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public class DataTypeNameTests { diff --git a/test/Npgsql.Tests/DistributedTransactionTests.cs b/test/Npgsql.Tests/DistributedTransactionTests.cs index 5260e3daef..ac2f8fc243 100644 --- a/test/Npgsql.Tests/DistributedTransactionTests.cs +++ b/test/Npgsql.Tests/DistributedTransactionTests.cs @@ -8,9 +8,9 @@ using System.Threading; using System.Transactions; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; [NonParallelizable] public class DistributedTransactionTests : TestBase diff --git a/test/Npgsql.Tests/ExceptionTests.cs b/test/Npgsql.Tests/ExceptionTests.cs index ac87ef2b0e..d4bd42e5a1 100644 --- a/test/Npgsql.Tests/ExceptionTests.cs +++ b/test/Npgsql.Tests/ExceptionTests.cs @@ -7,9 +7,9 @@ using System.Runtime.Serialization.Formatters.Binary; using System.Threading.Tasks; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public class ExceptionTests : TestBase { diff --git a/test/Npgsql.Tests/FunctionTests.cs b/test/Npgsql.Tests/FunctionTests.cs index 9323dd2349..ccc19e18e9 100644 --- a/test/Npgsql.Tests/FunctionTests.cs +++ b/test/Npgsql.Tests/FunctionTests.cs @@ -1,12 +1,12 @@ using System; using System.Data; using System.Threading.Tasks; -using Npgsql.PostgresTypes; -using NpgsqlTypes; +using YBNpgsql.PostgresTypes; +using YBNpgsqlTypes; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; /// /// A fixture for tests which interact with functions. diff --git a/test/Npgsql.Tests/GlobalTypeMapperTests.cs b/test/Npgsql.Tests/GlobalTypeMapperTests.cs index a5c75e41bf..f53de32f3b 100644 --- a/test/Npgsql.Tests/GlobalTypeMapperTests.cs +++ b/test/Npgsql.Tests/GlobalTypeMapperTests.cs @@ -1,11 +1,11 @@ using System; using System.Threading.Tasks; -using Npgsql.Internal; -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal; +using YBNpgsql.Internal.Postgres; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; #pragma warning disable CS0618 // GlobalTypeMapper is obsolete diff --git a/test/Npgsql.Tests/LargeObjectTests.cs b/test/Npgsql.Tests/LargeObjectTests.cs index 3d11dfd7b1..e6a6a63ba1 100644 --- a/test/Npgsql.Tests/LargeObjectTests.cs +++ b/test/Npgsql.Tests/LargeObjectTests.cs @@ -2,7 +2,7 @@ using System.Text; using NUnit.Framework; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; #pragma warning disable CS0618 // Large object support is obsolete diff --git a/test/Npgsql.Tests/LoggingTests.cs b/test/Npgsql.Tests/LoggingTests.cs index b9a566b6a8..7f39e1bfe5 100644 --- a/test/Npgsql.Tests/LoggingTests.cs +++ b/test/Npgsql.Tests/LoggingTests.cs @@ -2,11 +2,11 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; -using NpgsqlTypes; +using YBNpgsqlTypes; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public class LoggingTests(MultiplexingMode multiplexingMode) : MultiplexingTestBase(multiplexingMode) { diff --git a/test/Npgsql.Tests/MultipleHostsTests.cs b/test/Npgsql.Tests/MultipleHostsTests.cs index 662c08d5b9..e8bc50ffc5 100644 --- a/test/Npgsql.Tests/MultipleHostsTests.cs +++ b/test/Npgsql.Tests/MultipleHostsTests.cs @@ -1,5 +1,5 @@ -using Npgsql.Internal; -using Npgsql.Tests.Support; +using YBNpgsql.Internal; +using YBNpgsql.Tests.Support; using NUnit.Framework; using System; using System.Collections.Generic; @@ -11,13 +11,13 @@ using System.Threading; using System.Threading.Tasks; using System.Transactions; -using Npgsql.Properties; -using static Npgsql.Tests.Support.MockState; -using static Npgsql.Tests.TestUtil; +using YBNpgsql.Properties; +using static YBNpgsql.Tests.Support.MockState; +using static YBNpgsql.Tests.TestUtil; using IsolationLevel = System.Transactions.IsolationLevel; -using TransactionStatus = Npgsql.Internal.TransactionStatus; +using TransactionStatus = YBNpgsql.Internal.TransactionStatus; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; #pragma warning disable CS0618 @@ -340,7 +340,7 @@ public async Task Connect_with_load_balancing() Host = MultipleHosts(primaryPostmaster, standbyPostmaster), ServerCompatibilityMode = ServerCompatibilityMode.NoTypeLoading, MaxPoolSize = 1, - LoadBalanceHosts = true, + LoadBalanceHosts = LoadBalanceHosts.True, }; await using var dataSource = new NpgsqlDataSourceBuilder(defaultCsb.ConnectionString) @@ -388,7 +388,7 @@ public async Task Connect_without_load_balancing() Host = MultipleHosts(primaryPostmaster, standbyPostmaster), ServerCompatibilityMode = ServerCompatibilityMode.NoTypeLoading, MaxPoolSize = 1, - LoadBalanceHosts = false, + LoadBalanceHosts = LoadBalanceHosts.False, }; await using var dataSource = new NpgsqlDataSourceBuilder(defaultCsb.ConnectionString) @@ -893,7 +893,7 @@ await firstServer } [Test, NonParallelizable] - public void IntegrationTest([Values] bool loadBalancing, [Values] bool alwaysCheckHostState) + public void IntegrationTest([Values] LoadBalanceHosts loadBalancing, [Values] bool alwaysCheckHostState) { PoolManager.Reset(); @@ -1084,7 +1084,7 @@ public async Task LoadBalancing_is_fair_if_first_host_is_down([Values]TargetSess { builder.Host = hostList; builder.ServerCompatibilityMode = ServerCompatibilityMode.NoTypeLoading; - builder.LoadBalanceHosts = true; + builder.LoadBalanceHosts = LoadBalanceHosts.True; builder.TargetSessionAttributesParsed = targetSessionAttributes; }); diff --git a/test/Npgsql.Tests/NestedDataReaderTests.cs b/test/Npgsql.Tests/NestedDataReaderTests.cs index 72553a6b5e..190710d592 100644 --- a/test/Npgsql.Tests/NestedDataReaderTests.cs +++ b/test/Npgsql.Tests/NestedDataReaderTests.cs @@ -1,9 +1,9 @@ using NUnit.Framework; using System; using System.Threading.Tasks; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public class NestedDataReaderTests : TestBase { diff --git a/test/Npgsql.Tests/NotificationTests.cs b/test/Npgsql.Tests/NotificationTests.cs index 9df9aba44d..323e918d7f 100644 --- a/test/Npgsql.Tests/NotificationTests.cs +++ b/test/Npgsql.Tests/NotificationTests.cs @@ -3,9 +3,9 @@ using System.Data; using System.Threading; using System.Threading.Tasks; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public class NotificationTests : TestBase { diff --git a/test/Npgsql.Tests/NpgsqlEventSourceTests.cs b/test/Npgsql.Tests/NpgsqlEventSourceTests.cs index 1da8c0745d..125322b706 100644 --- a/test/Npgsql.Tests/NpgsqlEventSourceTests.cs +++ b/test/Npgsql.Tests/NpgsqlEventSourceTests.cs @@ -3,7 +3,7 @@ using System.Diagnostics.Tracing; using NUnit.Framework; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; [NonParallelizable] // Events public class NpgsqlEventSourceTests : TestBase diff --git a/test/Npgsql.Tests/NpgsqlParameterCollectionTests.cs b/test/Npgsql.Tests/NpgsqlParameterCollectionTests.cs index 6c09b7b708..6cf5cec352 100644 --- a/test/Npgsql.Tests/NpgsqlParameterCollectionTests.cs +++ b/test/Npgsql.Tests/NpgsqlParameterCollectionTests.cs @@ -1,11 +1,11 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using NUnit.Framework; using System; using System.Data; using System.Data.Common; using System.Diagnostics.CodeAnalysis; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; [TestFixture(CompatMode.OnePass)] #if DEBUG diff --git a/test/Npgsql.Tests/NpgsqlParameterTests.cs b/test/Npgsql.Tests/NpgsqlParameterTests.cs index 9a4610aadd..6ef6c3574f 100644 --- a/test/Npgsql.Tests/NpgsqlParameterTests.cs +++ b/test/Npgsql.Tests/NpgsqlParameterTests.cs @@ -1,12 +1,12 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using NUnit.Framework; using System; using System.Data; using System.Data.Common; using System.Threading.Tasks; -using Npgsql.Internal.Postgres; +using YBNpgsql.Internal.Postgres; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public class NpgsqlParameterTest : TestBase { diff --git a/test/Npgsql.Tests/PgPassEntryTests.cs b/test/Npgsql.Tests/PgPassEntryTests.cs index 9db518aabc..d900b21fcf 100644 --- a/test/Npgsql.Tests/PgPassEntryTests.cs +++ b/test/Npgsql.Tests/PgPassEntryTests.cs @@ -2,7 +2,7 @@ using NUnit.Framework; using NUnit.Framework.Constraints; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public class PgPassEntryTests { diff --git a/test/Npgsql.Tests/PgPassFileTests.cs b/test/Npgsql.Tests/PgPassFileTests.cs index 593e522e89..08e5d86bac 100644 --- a/test/Npgsql.Tests/PgPassFileTests.cs +++ b/test/Npgsql.Tests/PgPassFileTests.cs @@ -2,7 +2,7 @@ using System.Linq; using NUnit.Framework; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public class PgPassFileTests { diff --git a/test/Npgsql.Tests/PoolManagerTests.cs b/test/Npgsql.Tests/PoolManagerTests.cs index afd716dab5..0a5ad50eed 100644 --- a/test/Npgsql.Tests/PoolManagerTests.cs +++ b/test/Npgsql.Tests/PoolManagerTests.cs @@ -1,6 +1,6 @@ using NUnit.Framework; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; [NonParallelizable] class PoolManagerTests : TestBase diff --git a/test/Npgsql.Tests/PoolTests.cs b/test/Npgsql.Tests/PoolTests.cs index d9024dd0dd..9c7f525d34 100644 --- a/test/Npgsql.Tests/PoolTests.cs +++ b/test/Npgsql.Tests/PoolTests.cs @@ -5,7 +5,7 @@ using System.Threading.Tasks; using NUnit.Framework; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; class PoolTests : TestBase { diff --git a/test/Npgsql.Tests/PostgresTypeTests.cs b/test/Npgsql.Tests/PostgresTypeTests.cs index 056830cf32..d37defa62e 100644 --- a/test/Npgsql.Tests/PostgresTypeTests.cs +++ b/test/Npgsql.Tests/PostgresTypeTests.cs @@ -1,9 +1,9 @@ using System.Linq; using System.Threading.Tasks; -using Npgsql.Internal; +using YBNpgsql.Internal; using NUnit.Framework; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public class PostgresTypeTests : TestBase { diff --git a/test/Npgsql.Tests/PrepareTests.cs b/test/Npgsql.Tests/PrepareTests.cs index 8a1c763e9a..b27d6a45b2 100644 --- a/test/Npgsql.Tests/PrepareTests.cs +++ b/test/Npgsql.Tests/PrepareTests.cs @@ -5,14 +5,14 @@ using System.Text; using System.Threading; using System.Threading.Tasks; -using Npgsql.BackendMessages; -using Npgsql.Internal.Postgres; -using Npgsql.Tests.Support; -using NpgsqlTypes; +using YBNpgsql.BackendMessages; +using YBNpgsql.Internal.Postgres; +using YBNpgsql.Tests.Support; +using YBNpgsqlTypes; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public class PrepareTests: TestBase { diff --git a/test/Npgsql.Tests/ReadBufferTests.cs b/test/Npgsql.Tests/ReadBufferTests.cs index 3169e5366d..1bdc604251 100644 --- a/test/Npgsql.Tests/ReadBufferTests.cs +++ b/test/Npgsql.Tests/ReadBufferTests.cs @@ -1,11 +1,11 @@ -using Npgsql.Internal; +using YBNpgsql.Internal; using NUnit.Framework; using System; using System.IO; using System.Threading; using System.Threading.Tasks; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; [FixtureLifeCycle(LifeCycle.InstancePerTestCase)] // Parallel access to a single buffer class ReadBufferTests diff --git a/test/Npgsql.Tests/ReaderNewSchemaTests.cs b/test/Npgsql.Tests/ReaderNewSchemaTests.cs index 79b4b38ddb..30013469d1 100644 --- a/test/Npgsql.Tests/ReaderNewSchemaTests.cs +++ b/test/Npgsql.Tests/ReaderNewSchemaTests.cs @@ -3,11 +3,11 @@ using System.Data.Common; using System.Linq; using System.Threading.Tasks; -using Npgsql.PostgresTypes; +using YBNpgsql.PostgresTypes; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; /// /// This tests the new CoreCLR schema/metadata API, which returns ReadOnlyCollection<DbColumn>. @@ -684,8 +684,8 @@ public async Task NpgsqlDbType() using var cmd = new NpgsqlCommand($"SELECT foo,8::INTEGER FROM {table}", conn); using var reader = await cmd.ExecuteReaderAsync(CommandBehavior.SchemaOnly); var columns = await GetColumnSchema(reader); - Assert.That(columns[0].NpgsqlDbType, Is.EqualTo(NpgsqlTypes.NpgsqlDbType.Integer)); - Assert.That(columns[1].NpgsqlDbType, Is.EqualTo(NpgsqlTypes.NpgsqlDbType.Integer)); + Assert.That(columns[0].NpgsqlDbType, Is.EqualTo(YBNpgsqlTypes.NpgsqlDbType.Integer)); + Assert.That(columns[1].NpgsqlDbType, Is.EqualTo(YBNpgsqlTypes.NpgsqlDbType.Integer)); } [Test] @@ -699,7 +699,7 @@ public async Task NpgsqlDbType_extension() using var reader = await cmd.ExecuteReaderAsync(CommandBehavior.SchemaOnly); var columns = await GetColumnSchema(reader); // The full datatype name for PostGIS is public.geometry (unlike int4 which is in pg_catalog). - Assert.That(columns[0].NpgsqlDbType, Is.EqualTo(NpgsqlTypes.NpgsqlDbType.Hstore)); + Assert.That(columns[0].NpgsqlDbType, Is.EqualTo(YBNpgsqlTypes.NpgsqlDbType.Hstore)); } [Test, IssueLink("https://github.com/npgsql/npgsql/issues/1950")] @@ -735,7 +735,7 @@ public async Task With_parameter_without_value() using var cmd = new NpgsqlCommand($"SELECT foo FROM {table} WHERE foo > @p", conn) { - Parameters = { new() { ParameterName = "p", NpgsqlDbType = NpgsqlTypes.NpgsqlDbType.Integer } } + Parameters = { new() { ParameterName = "p", NpgsqlDbType = YBNpgsqlTypes.NpgsqlDbType.Integer } } }; await using var reader = await cmd.ExecuteReaderAsync(CommandBehavior.SchemaOnly | CommandBehavior.KeyInfo); @@ -751,7 +751,7 @@ public async Task GetColumnSchema_via_interface() using var cmd = new NpgsqlCommand($"SELECT foo FROM {table} WHERE foo > @p", conn) { - Parameters = { new() { ParameterName = "p", NpgsqlDbType = NpgsqlTypes.NpgsqlDbType.Integer } } + Parameters = { new() { ParameterName = "p", NpgsqlDbType = YBNpgsqlTypes.NpgsqlDbType.Integer } } }; await using var reader = await cmd.ExecuteReaderAsync(CommandBehavior.SchemaOnly | CommandBehavior.KeyInfo); diff --git a/test/Npgsql.Tests/ReaderOldSchemaTests.cs b/test/Npgsql.Tests/ReaderOldSchemaTests.cs index 43ac627f46..6d8a2673c8 100644 --- a/test/Npgsql.Tests/ReaderOldSchemaTests.cs +++ b/test/Npgsql.Tests/ReaderOldSchemaTests.cs @@ -3,9 +3,9 @@ using System.Linq; using System.Threading.Tasks; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; /// /// This tests the .NET Framework DbDataReader schema/metadata API, which returns DataTable. diff --git a/test/Npgsql.Tests/ReaderTests.cs b/test/Npgsql.Tests/ReaderTests.cs index 7ee1aa6e11..89e1db83f5 100644 --- a/test/Npgsql.Tests/ReaderTests.cs +++ b/test/Npgsql.Tests/ReaderTests.cs @@ -8,17 +8,17 @@ using System.Text; using System.Threading; using System.Threading.Tasks; -using Npgsql.BackendMessages; -using Npgsql.Internal; -using Npgsql.Internal.Postgres; -using Npgsql.PostgresTypes; -using Npgsql.Tests.Support; -using Npgsql.Util; -using NpgsqlTypes; +using YBNpgsql.BackendMessages; +using YBNpgsql.Internal; +using YBNpgsql.Internal.Postgres; +using YBNpgsql.PostgresTypes; +using YBNpgsql.Tests.Support; +using YBNpgsql.Util; +using YBNpgsqlTypes; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; [TestFixture(MultiplexingMode.NonMultiplexing, CommandBehavior.Default)] [TestFixture(MultiplexingMode.Multiplexing, CommandBehavior.Default)] diff --git a/test/Npgsql.Tests/Replication/CommonLogicalReplicationTests.cs b/test/Npgsql.Tests/Replication/CommonLogicalReplicationTests.cs index a8a363a583..e03f9ad301 100644 --- a/test/Npgsql.Tests/Replication/CommonLogicalReplicationTests.cs +++ b/test/Npgsql.Tests/Replication/CommonLogicalReplicationTests.cs @@ -2,11 +2,11 @@ using System.Data; using System.Threading.Tasks; using NUnit.Framework; -using Npgsql.Replication; -using Npgsql.Replication.Internal; -using NpgsqlTypes; +using YBNpgsql.Replication; +using YBNpgsql.Replication.Internal; +using YBNpgsqlTypes; -namespace Npgsql.Tests.Replication; +namespace YBNpgsql.Tests.Replication; /// /// Tests for common logical replication functionality. diff --git a/test/Npgsql.Tests/Replication/CommonReplicationTests.cs b/test/Npgsql.Tests/Replication/CommonReplicationTests.cs index 36a11b434a..64989ed9c3 100644 --- a/test/Npgsql.Tests/Replication/CommonReplicationTests.cs +++ b/test/Npgsql.Tests/Replication/CommonReplicationTests.cs @@ -6,11 +6,11 @@ using System.Threading; using System.Threading.Tasks; using NUnit.Framework; -using Npgsql.Replication; -using Npgsql.Replication.TestDecoding; -using NpgsqlTypes; +using YBNpgsql.Replication; +using YBNpgsql.Replication.TestDecoding; +using YBNpgsqlTypes; -namespace Npgsql.Tests.Replication; +namespace YBNpgsql.Tests.Replication; [TestFixture(typeof(LogicalReplicationConnection))] [TestFixture(typeof(PhysicalReplicationConnection))] diff --git a/test/Npgsql.Tests/Replication/PgOutputReplicationTests.cs b/test/Npgsql.Tests/Replication/PgOutputReplicationTests.cs index 0186d4f0d8..a49ac7132f 100644 --- a/test/Npgsql.Tests/Replication/PgOutputReplicationTests.cs +++ b/test/Npgsql.Tests/Replication/PgOutputReplicationTests.cs @@ -7,14 +7,14 @@ using System.Threading; using System.Threading.Tasks; using NUnit.Framework; -using Npgsql.Replication; -using Npgsql.Replication.PgOutput; -using Npgsql.Replication.PgOutput.Messages; -using TruncateOptions = Npgsql.Replication.PgOutput.Messages.TruncateMessage.TruncateOptions; -using ReplicaIdentitySetting = Npgsql.Replication.PgOutput.Messages.RelationMessage.ReplicaIdentitySetting; -using static Npgsql.Tests.TestUtil; +using YBNpgsql.Replication; +using YBNpgsql.Replication.PgOutput; +using YBNpgsql.Replication.PgOutput.Messages; +using TruncateOptions = YBNpgsql.Replication.PgOutput.Messages.TruncateMessage.TruncateOptions; +using ReplicaIdentitySetting = YBNpgsql.Replication.PgOutput.Messages.RelationMessage.ReplicaIdentitySetting; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests.Replication; +namespace YBNpgsql.Tests.Replication; [TestFixture(PgOutputProtocolVersion.V1, ReplicationDataMode.DefaultReplicationDataMode, TransactionMode.DefaultTransactionMode)] [TestFixture(PgOutputProtocolVersion.V1, ReplicationDataMode.BinaryReplicationDataMode, TransactionMode.DefaultTransactionMode)] @@ -1009,13 +1009,13 @@ public Task Null() }); } - [NpgsqlTypes.PgName("descriptor")] + [YBNpgsqlTypes.PgName("descriptor")] public class Descriptor { - [NpgsqlTypes.PgName("id")] + [YBNpgsqlTypes.PgName("id")] public long Id { get; set; } - [NpgsqlTypes.PgName("name")] + [YBNpgsqlTypes.PgName("name")] public string Name { get; set; } = string.Empty; } diff --git a/test/Npgsql.Tests/Replication/PhysicalReplicationTests.cs b/test/Npgsql.Tests/Replication/PhysicalReplicationTests.cs index 59698b87ac..e83934cde0 100644 --- a/test/Npgsql.Tests/Replication/PhysicalReplicationTests.cs +++ b/test/Npgsql.Tests/Replication/PhysicalReplicationTests.cs @@ -2,10 +2,10 @@ using System.Threading; using System.Threading.Tasks; using NUnit.Framework; -using Npgsql.Replication; -using NpgsqlTypes; +using YBNpgsql.Replication; +using YBNpgsqlTypes; -namespace Npgsql.Tests.Replication; +namespace YBNpgsql.Tests.Replication; [Explicit("Flakiness")] public class PhysicalReplicationTests : SafeReplicationTestBase diff --git a/test/Npgsql.Tests/Replication/SafeReplicationTestBase.cs b/test/Npgsql.Tests/Replication/SafeReplicationTestBase.cs index 77f67eaf4b..f07529e2af 100644 --- a/test/Npgsql.Tests/Replication/SafeReplicationTestBase.cs +++ b/test/Npgsql.Tests/Replication/SafeReplicationTestBase.cs @@ -5,9 +5,9 @@ using System.Threading; using System.Threading.Tasks; using NUnit.Framework; -using Npgsql.Replication; +using YBNpgsql.Replication; -namespace Npgsql.Tests.Replication; +namespace YBNpgsql.Tests.Replication; public abstract class SafeReplicationTestBase : TestBase where TConnection : ReplicationConnection, new() diff --git a/test/Npgsql.Tests/Replication/TestDecodingReplicationTests.cs b/test/Npgsql.Tests/Replication/TestDecodingReplicationTests.cs index 5d7c633f6c..037c1d124e 100644 --- a/test/Npgsql.Tests/Replication/TestDecodingReplicationTests.cs +++ b/test/Npgsql.Tests/Replication/TestDecodingReplicationTests.cs @@ -2,10 +2,10 @@ using System.Threading; using System.Threading.Tasks; using NUnit.Framework; -using Npgsql.Replication; -using Npgsql.Replication.TestDecoding; +using YBNpgsql.Replication; +using YBNpgsql.Replication.TestDecoding; -namespace Npgsql.Tests.Replication; +namespace YBNpgsql.Tests.Replication; /// /// These tests are meant to run on PostgreSQL versions back to 9.4 where the diff --git a/test/Npgsql.Tests/SchemaTests.cs b/test/Npgsql.Tests/SchemaTests.cs index 49f31eff19..a720aee981 100644 --- a/test/Npgsql.Tests/SchemaTests.cs +++ b/test/Npgsql.Tests/SchemaTests.cs @@ -1,4 +1,4 @@ -using NpgsqlTypes; +using YBNpgsqlTypes; using NUnit.Framework; using System; using System.Data; @@ -6,9 +6,9 @@ using System.Linq; using System.Text.RegularExpressions; using System.Threading.Tasks; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public class SchemaTests(SyncOrAsync syncOrAsync) : SyncOrAsyncTestBase(syncOrAsync) { diff --git a/test/Npgsql.Tests/SecurityTests.cs b/test/Npgsql.Tests/SecurityTests.cs index f6451a633f..0fbb9efa55 100644 --- a/test/Npgsql.Tests/SecurityTests.cs +++ b/test/Npgsql.Tests/SecurityTests.cs @@ -4,11 +4,11 @@ using System.Security.Authentication; using System.Threading; using System.Threading.Tasks; -using Npgsql.Properties; +using YBNpgsql.Properties; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public class SecurityTests : TestBase { diff --git a/test/Npgsql.Tests/SizeTests.cs b/test/Npgsql.Tests/SizeTests.cs index 93bd3b8d29..cc000c368e 100644 --- a/test/Npgsql.Tests/SizeTests.cs +++ b/test/Npgsql.Tests/SizeTests.cs @@ -1,8 +1,8 @@ using System; using NUnit.Framework; -using Npgsql.Internal; +using YBNpgsql.Internal; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public class SizeTests { diff --git a/test/Npgsql.Tests/SnakeCaseNameTranslatorTests.cs b/test/Npgsql.Tests/SnakeCaseNameTranslatorTests.cs index 52de32bccf..0d2b82e0d3 100644 --- a/test/Npgsql.Tests/SnakeCaseNameTranslatorTests.cs +++ b/test/Npgsql.Tests/SnakeCaseNameTranslatorTests.cs @@ -1,10 +1,10 @@ using System.Collections.Generic; using System.Globalization; using System.Linq; -using Npgsql.NameTranslation; +using YBNpgsql.NameTranslation; using NUnit.Framework; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public class SnakeCaseNameTranslatorTests { diff --git a/test/Npgsql.Tests/SqlQueryParserTests.cs b/test/Npgsql.Tests/SqlQueryParserTests.cs index 1044b707fc..2d6d3c02aa 100644 --- a/test/Npgsql.Tests/SqlQueryParserTests.cs +++ b/test/Npgsql.Tests/SqlQueryParserTests.cs @@ -3,7 +3,7 @@ using System.Linq; using NUnit.Framework; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; class SqlQueryParserTests { diff --git a/test/Npgsql.Tests/StoredProcedureTests.cs b/test/Npgsql.Tests/StoredProcedureTests.cs index 84acb51b36..21c5238aae 100644 --- a/test/Npgsql.Tests/StoredProcedureTests.cs +++ b/test/Npgsql.Tests/StoredProcedureTests.cs @@ -1,11 +1,11 @@ using System.Data; using System.Threading.Tasks; -using Npgsql.PostgresTypes; -using NpgsqlTypes; +using YBNpgsql.PostgresTypes; +using YBNpgsqlTypes; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public class StoredProcedureTests : TestBase { diff --git a/test/Npgsql.Tests/Support/AssemblySetUp.cs b/test/Npgsql.Tests/Support/AssemblySetUp.cs index f1619ecec4..2376a06353 100644 --- a/test/Npgsql.Tests/Support/AssemblySetUp.cs +++ b/test/Npgsql.Tests/Support/AssemblySetUp.cs @@ -1,5 +1,5 @@ -using Npgsql; -using Npgsql.Tests; +using YBNpgsql; +using YBNpgsql.Tests; using NUnit.Framework; using System; using System.Threading; @@ -7,7 +7,7 @@ [SetUpFixture] public class AssemblySetUp { - [OneTimeSetUp] + // [OneTimeSetUp] public void Setup() { var connString = TestUtil.ConnectionString; diff --git a/test/Npgsql.Tests/Support/ListLoggerFactory.cs b/test/Npgsql.Tests/Support/ListLoggerFactory.cs index 98f94cb8fa..6c2704c8c4 100644 --- a/test/Npgsql.Tests/Support/ListLoggerFactory.cs +++ b/test/Npgsql.Tests/Support/ListLoggerFactory.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using Microsoft.Extensions.Logging; -namespace Npgsql.Tests.Support; +namespace YBNpgsql.Tests.Support; public class ListLoggerProvider : ILoggerProvider { diff --git a/test/Npgsql.Tests/Support/MultiplexingTestBase.cs b/test/Npgsql.Tests/Support/MultiplexingTestBase.cs index 892dd79f5e..263033b5d3 100644 --- a/test/Npgsql.Tests/Support/MultiplexingTestBase.cs +++ b/test/Npgsql.Tests/Support/MultiplexingTestBase.cs @@ -1,7 +1,7 @@ using System.Collections.Concurrent; using NUnit.Framework; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; [TestFixture(MultiplexingMode.NonMultiplexing)] [TestFixture(MultiplexingMode.Multiplexing)] diff --git a/test/Npgsql.Tests/Support/PgCancellationRequest.cs b/test/Npgsql.Tests/Support/PgCancellationRequest.cs index 6773c55dd2..d926eb22a2 100644 --- a/test/Npgsql.Tests/Support/PgCancellationRequest.cs +++ b/test/Npgsql.Tests/Support/PgCancellationRequest.cs @@ -1,7 +1,7 @@ using System.IO; -using Npgsql.Internal; +using YBNpgsql.Internal; -namespace Npgsql.Tests.Support; +namespace YBNpgsql.Tests.Support; class PgCancellationRequest(NpgsqlReadBuffer readBuffer, NpgsqlWriteBuffer writeBuffer, Stream stream, int processId, int secret) { diff --git a/test/Npgsql.Tests/Support/PgPostmasterMock.cs b/test/Npgsql.Tests/Support/PgPostmasterMock.cs index 3a59ccc2f9..75f93d180f 100644 --- a/test/Npgsql.Tests/Support/PgPostmasterMock.cs +++ b/test/Npgsql.Tests/Support/PgPostmasterMock.cs @@ -6,9 +6,9 @@ using System.Text; using System.Threading.Channels; using System.Threading.Tasks; -using Npgsql.Internal; +using YBNpgsql.Internal; -namespace Npgsql.Tests.Support; +namespace YBNpgsql.Tests.Support; class PgPostmasterMock : IAsyncDisposable { diff --git a/test/Npgsql.Tests/Support/PgServerMock.cs b/test/Npgsql.Tests/Support/PgServerMock.cs index 9f7a799649..ff915c7707 100644 --- a/test/Npgsql.Tests/Support/PgServerMock.cs +++ b/test/Npgsql.Tests/Support/PgServerMock.cs @@ -5,12 +5,12 @@ using System.Net.Sockets; using System.Text; using System.Threading.Tasks; -using Npgsql.BackendMessages; -using Npgsql.Internal; -using Npgsql.Internal.Postgres; +using YBNpgsql.BackendMessages; +using YBNpgsql.Internal; +using YBNpgsql.Internal.Postgres; using NUnit.Framework; -namespace Npgsql.Tests.Support; +namespace YBNpgsql.Tests.Support; class PgServerMock : IDisposable { diff --git a/test/Npgsql.Tests/Support/SingleThreadSynchronizationContext.cs b/test/Npgsql.Tests/Support/SingleThreadSynchronizationContext.cs index a7fedad3d6..a5e3ebe7f0 100644 --- a/test/Npgsql.Tests/Support/SingleThreadSynchronizationContext.cs +++ b/test/Npgsql.Tests/Support/SingleThreadSynchronizationContext.cs @@ -3,7 +3,7 @@ using System.Diagnostics; using System.Threading; -namespace Npgsql.Tests.Support; +namespace YBNpgsql.Tests.Support; sealed class SingleThreadSynchronizationContext : SynchronizationContext, IDisposable { diff --git a/test/Npgsql.Tests/Support/TestBase.cs b/test/Npgsql.Tests/Support/TestBase.cs index 66cdfb6780..b345bb7ad0 100644 --- a/test/Npgsql.Tests/Support/TestBase.cs +++ b/test/Npgsql.Tests/Support/TestBase.cs @@ -7,11 +7,11 @@ using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.Logging; -using Npgsql.Tests.Support; -using NpgsqlTypes; +using YBNpgsql.Tests.Support; +using YBNpgsqlTypes; using NUnit.Framework; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public abstract class TestBase { diff --git a/test/Npgsql.Tests/SyncOrAsyncTestBase.cs b/test/Npgsql.Tests/SyncOrAsyncTestBase.cs index 2a676e97cb..33870dcebe 100644 --- a/test/Npgsql.Tests/SyncOrAsyncTestBase.cs +++ b/test/Npgsql.Tests/SyncOrAsyncTestBase.cs @@ -1,6 +1,6 @@ using NUnit.Framework; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; [TestFixture(SyncOrAsync.Sync)] [TestFixture(SyncOrAsync.Async)] diff --git a/test/Npgsql.Tests/SystemTransactionTests.cs b/test/Npgsql.Tests/SystemTransactionTests.cs index c5bced6bfa..34c9eb8f28 100644 --- a/test/Npgsql.Tests/SystemTransactionTests.cs +++ b/test/Npgsql.Tests/SystemTransactionTests.cs @@ -3,9 +3,9 @@ using System.Threading; using System.Transactions; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; // This test suite contains ambient transaction tests, except those involving distributed transactions which are only // supported on .NET Framework / Windows. Distributed transaction tests are in DistributedTransactionTests. diff --git a/test/Npgsql.Tests/TaskTimeoutAndCancellationTest.cs b/test/Npgsql.Tests/TaskTimeoutAndCancellationTest.cs index e3759d35e9..5e97bd2473 100644 --- a/test/Npgsql.Tests/TaskTimeoutAndCancellationTest.cs +++ b/test/Npgsql.Tests/TaskTimeoutAndCancellationTest.cs @@ -2,9 +2,9 @@ using System.Threading; using System.Threading.Tasks; using NUnit.Framework; -using Npgsql.Util; +using YBNpgsql.Util; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; [NonParallelizable] // To make sure unobserved tasks from other tests do not leak public class TaskTimeoutAndCancellationTest : TestBase diff --git a/test/Npgsql.Tests/TestMetrics.cs b/test/Npgsql.Tests/TestMetrics.cs index 3b6c11dbda..7985c51f5b 100644 --- a/test/Npgsql.Tests/TestMetrics.cs +++ b/test/Npgsql.Tests/TestMetrics.cs @@ -1,7 +1,7 @@ using System; using System.Diagnostics; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; /// /// Keep track of metrics related to performance. diff --git a/test/Npgsql.Tests/TestUtil.cs b/test/Npgsql.Tests/TestUtil.cs index 0cf7a6a75f..7d7dbf2efb 100644 --- a/test/Npgsql.Tests/TestUtil.cs +++ b/test/Npgsql.Tests/TestUtil.cs @@ -10,7 +10,7 @@ using Microsoft.Extensions.Logging; using NUnit.Framework; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public static class TestUtil { diff --git a/test/Npgsql.Tests/TransactionTests.cs b/test/Npgsql.Tests/TransactionTests.cs index 9836bac8f2..7d017f2775 100644 --- a/test/Npgsql.Tests/TransactionTests.cs +++ b/test/Npgsql.Tests/TransactionTests.cs @@ -1,16 +1,16 @@ using System; using System.Data; using System.Threading.Tasks; -using Npgsql.Internal; -using Npgsql.Tests.Support; -using Npgsql.Util; +using YBNpgsql.Internal; +using YBNpgsql.Tests.Support; +using YBNpgsql.Util; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; // ReSharper disable MethodHasAsyncOverload // ReSharper disable UseAwaitUsing -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public class TransactionTests(MultiplexingMode multiplexingMode) : MultiplexingTestBase(multiplexingMode) { diff --git a/test/Npgsql.Tests/TypeMapperTests.cs b/test/Npgsql.Tests/TypeMapperTests.cs index d0d1e36587..65ed7606a9 100644 --- a/test/Npgsql.Tests/TypeMapperTests.cs +++ b/test/Npgsql.Tests/TypeMapperTests.cs @@ -1,12 +1,12 @@ -using Npgsql.Internal; +using YBNpgsql.Internal; using NUnit.Framework; using System; using System.Threading.Tasks; -using Npgsql.Internal.Converters; -using Npgsql.Internal.Postgres; -using static Npgsql.Tests.TestUtil; +using YBNpgsql.Internal.Converters; +using YBNpgsql.Internal.Postgres; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; public class TypeMapperTests : TestBase { diff --git a/test/Npgsql.Tests/Types/ArrayTests.cs b/test/Npgsql.Tests/Types/ArrayTests.cs index 3202bd0ba9..ab9db2d80f 100644 --- a/test/Npgsql.Tests/Types/ArrayTests.cs +++ b/test/Npgsql.Tests/Types/ArrayTests.cs @@ -6,12 +6,12 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -using Npgsql.Internal.Converters; -using NpgsqlTypes; +using YBNpgsql.Internal.Converters; +using YBNpgsqlTypes; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; // ReSharper disable BitwiseOperatorOnEnumWithoutFlags diff --git a/test/Npgsql.Tests/Types/BitStringTests.cs b/test/Npgsql.Tests/Types/BitStringTests.cs index fb8377c395..b18097eb51 100644 --- a/test/Npgsql.Tests/Types/BitStringTests.cs +++ b/test/Npgsql.Tests/Types/BitStringTests.cs @@ -2,10 +2,10 @@ using System.Collections; using System.Collections.Specialized; using System.Threading.Tasks; -using NpgsqlTypes; +using YBNpgsqlTypes; using NUnit.Framework; -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; /// /// Tests on the PostgreSQL BitString type diff --git a/test/Npgsql.Tests/Types/ByteaTests.cs b/test/Npgsql.Tests/Types/ByteaTests.cs index 60cc2830f3..d1ca3c19c8 100644 --- a/test/Npgsql.Tests/Types/ByteaTests.cs +++ b/test/Npgsql.Tests/Types/ByteaTests.cs @@ -3,10 +3,10 @@ using System.Data; using System.IO; using System.Threading.Tasks; -using NpgsqlTypes; +using YBNpgsqlTypes; using NUnit.Framework; -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; /// /// Tests on the PostgreSQL bytea type diff --git a/test/Npgsql.Tests/Types/CompositeHandlerTests.Read.cs b/test/Npgsql.Tests/Types/CompositeHandlerTests.Read.cs index 2188569a49..d70fef8622 100644 --- a/test/Npgsql.Tests/Types/CompositeHandlerTests.Read.cs +++ b/test/Npgsql.Tests/Types/CompositeHandlerTests.Read.cs @@ -2,7 +2,7 @@ using System.Threading.Tasks; using NUnit.Framework; -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; public partial class CompositeHandlerTests { diff --git a/test/Npgsql.Tests/Types/CompositeHandlerTests.Write.cs b/test/Npgsql.Tests/Types/CompositeHandlerTests.Write.cs index 160b037a97..9ca35046fb 100644 --- a/test/Npgsql.Tests/Types/CompositeHandlerTests.Write.cs +++ b/test/Npgsql.Tests/Types/CompositeHandlerTests.Write.cs @@ -2,7 +2,7 @@ using System.Threading.Tasks; using NUnit.Framework; -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; public partial class CompositeHandlerTests { diff --git a/test/Npgsql.Tests/Types/CompositeHandlerTests.cs b/test/Npgsql.Tests/Types/CompositeHandlerTests.cs index cc84efd094..fa1f1f6328 100644 --- a/test/Npgsql.Tests/Types/CompositeHandlerTests.cs +++ b/test/Npgsql.Tests/Types/CompositeHandlerTests.cs @@ -1,8 +1,8 @@ using System.Threading.Tasks; -using Npgsql.NameTranslation; -using NpgsqlTypes; +using YBNpgsql.NameTranslation; +using YBNpgsqlTypes; -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; public partial class CompositeHandlerTests : TestBase { diff --git a/test/Npgsql.Tests/Types/CompositeTests.cs b/test/Npgsql.Tests/Types/CompositeTests.cs index baaed149f3..734fd79762 100644 --- a/test/Npgsql.Tests/Types/CompositeTests.cs +++ b/test/Npgsql.Tests/Types/CompositeTests.cs @@ -3,12 +3,12 @@ using System.Net; using System.Reflection; using System.Threading.Tasks; -using Npgsql.PostgresTypes; -using NpgsqlTypes; +using YBNpgsql.PostgresTypes; +using YBNpgsqlTypes; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; public class CompositeTests(MultiplexingMode multiplexingMode) : MultiplexingTestBase(multiplexingMode) { diff --git a/test/Npgsql.Tests/Types/DateTimeInfinityTests.cs b/test/Npgsql.Tests/Types/DateTimeInfinityTests.cs index 7a4876e47c..f2f3d66928 100644 --- a/test/Npgsql.Tests/Types/DateTimeInfinityTests.cs +++ b/test/Npgsql.Tests/Types/DateTimeInfinityTests.cs @@ -1,11 +1,11 @@ using System; using System.Data; using System.Threading.Tasks; -using NpgsqlTypes; +using YBNpgsqlTypes; using NUnit.Framework; -using static Npgsql.Util.Statics; +using static YBNpgsql.Util.Statics; -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; [TestFixture(true)] #if DEBUG diff --git a/test/Npgsql.Tests/Types/DateTimeTests.cs b/test/Npgsql.Tests/Types/DateTimeTests.cs index 815514031a..cfddfc6861 100644 --- a/test/Npgsql.Tests/Types/DateTimeTests.cs +++ b/test/Npgsql.Tests/Types/DateTimeTests.cs @@ -2,11 +2,11 @@ using System.Collections.Generic; using System.Data; using System.Threading.Tasks; -using NpgsqlTypes; +using YBNpgsqlTypes; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; // Since this test suite manipulates TimeZone, it is incompatible with multiplexing public class DateTimeTests : TestBase diff --git a/test/Npgsql.Tests/Types/DomainTests.cs b/test/Npgsql.Tests/Types/DomainTests.cs index 117204d307..b8a377873b 100644 --- a/test/Npgsql.Tests/Types/DomainTests.cs +++ b/test/Npgsql.Tests/Types/DomainTests.cs @@ -1,10 +1,10 @@ using System; using System.Threading.Tasks; -using NpgsqlTypes; +using YBNpgsqlTypes; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; public class DomainTests(MultiplexingMode multiplexingMode) : MultiplexingTestBase(multiplexingMode) { diff --git a/test/Npgsql.Tests/Types/EnumTests.cs b/test/Npgsql.Tests/Types/EnumTests.cs index b6e56c632b..dec02f457d 100644 --- a/test/Npgsql.Tests/Types/EnumTests.cs +++ b/test/Npgsql.Tests/Types/EnumTests.cs @@ -1,14 +1,14 @@ using System; using System.Collections.Generic; using System.Threading.Tasks; -using Npgsql.NameTranslation; -using Npgsql.PostgresTypes; -using Npgsql.Properties; -using NpgsqlTypes; +using YBNpgsql.NameTranslation; +using YBNpgsql.PostgresTypes; +using YBNpgsql.Properties; +using YBNpgsqlTypes; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; public class EnumTests(MultiplexingMode multiplexingMode) : MultiplexingTestBase(multiplexingMode) { diff --git a/test/Npgsql.Tests/Types/FullTextSearchTests.cs b/test/Npgsql.Tests/Types/FullTextSearchTests.cs index 9c5104051a..2d8846b59a 100644 --- a/test/Npgsql.Tests/Types/FullTextSearchTests.cs +++ b/test/Npgsql.Tests/Types/FullTextSearchTests.cs @@ -1,13 +1,13 @@ using System; using System.Collections; using System.Threading.Tasks; -using Npgsql.Properties; -using NpgsqlTypes; +using YBNpgsql.Properties; +using YBNpgsqlTypes; using NUnit.Framework; #pragma warning disable CS0618 // NpgsqlTsVector.Parse is obsolete -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; public class FullTextSearchTests(MultiplexingMode multiplexingMode) : MultiplexingTestBase(multiplexingMode) { diff --git a/test/Npgsql.Tests/Types/GeometricTypeTests.cs b/test/Npgsql.Tests/Types/GeometricTypeTests.cs index 8c858b4f64..e6d342c8fd 100644 --- a/test/Npgsql.Tests/Types/GeometricTypeTests.cs +++ b/test/Npgsql.Tests/Types/GeometricTypeTests.cs @@ -1,8 +1,8 @@ using System.Threading.Tasks; -using NpgsqlTypes; +using YBNpgsqlTypes; using NUnit.Framework; -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; /// /// Tests on PostgreSQL geometric types diff --git a/test/Npgsql.Tests/Types/HstoreTests.cs b/test/Npgsql.Tests/Types/HstoreTests.cs index 366b38bb44..f6d50eea25 100644 --- a/test/Npgsql.Tests/Types/HstoreTests.cs +++ b/test/Npgsql.Tests/Types/HstoreTests.cs @@ -1,10 +1,10 @@ using System.Collections.Generic; using System.Collections.Immutable; using System.Threading.Tasks; -using NpgsqlTypes; +using YBNpgsqlTypes; using NUnit.Framework; -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; public class HstoreTests(MultiplexingMode multiplexingMode) : MultiplexingTestBase(multiplexingMode) { diff --git a/test/Npgsql.Tests/Types/InternalTypeTests.cs b/test/Npgsql.Tests/Types/InternalTypeTests.cs index 9c68a66695..7cd39ac03c 100644 --- a/test/Npgsql.Tests/Types/InternalTypeTests.cs +++ b/test/Npgsql.Tests/Types/InternalTypeTests.cs @@ -1,8 +1,8 @@ using System.Threading.Tasks; -using NpgsqlTypes; +using YBNpgsqlTypes; using NUnit.Framework; -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; public class InternalTypeTests(MultiplexingMode multiplexingMode) : MultiplexingTestBase(multiplexingMode) { @@ -78,7 +78,7 @@ public bool NpgsqlLogSequenceNumber_equals(NpgsqlLogSequenceNumber lsn, object? public async Task NpgsqlLogSequenceNumber() { var expected1 = new NpgsqlLogSequenceNumber(42949672971ul); - Assert.AreEqual(expected1, NpgsqlTypes.NpgsqlLogSequenceNumber.Parse("A/B")); + Assert.AreEqual(expected1, YBNpgsqlTypes.NpgsqlLogSequenceNumber.Parse("A/B")); await using var conn = await OpenConnectionAsync(); using var cmd = conn.CreateCommand(); cmd.CommandText = "SELECT 'A/B'::pg_lsn, @p::pg_lsn"; @@ -96,4 +96,4 @@ public async Task NpgsqlLogSequenceNumber() } #endregion NpgsqlLogSequenceNumber / PgLsn -} \ No newline at end of file +} diff --git a/test/Npgsql.Tests/Types/JsonDynamicTests.cs b/test/Npgsql.Tests/Types/JsonDynamicTests.cs index 21ff2700da..993e2bf15f 100644 --- a/test/Npgsql.Tests/Types/JsonDynamicTests.cs +++ b/test/Npgsql.Tests/Types/JsonDynamicTests.cs @@ -3,11 +3,11 @@ using System.Text.Json.Nodes; using System.Text.Json.Serialization; using System.Threading.Tasks; -using Npgsql.Properties; -using NpgsqlTypes; +using YBNpgsql.Properties; +using YBNpgsqlTypes; using NUnit.Framework; -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; [TestFixture(MultiplexingMode.NonMultiplexing, NpgsqlDbType.Json)] [TestFixture(MultiplexingMode.NonMultiplexing, NpgsqlDbType.Jsonb)] diff --git a/test/Npgsql.Tests/Types/JsonPathTests.cs b/test/Npgsql.Tests/Types/JsonPathTests.cs index 022c8eaaf9..c47ad32bc6 100644 --- a/test/Npgsql.Tests/Types/JsonPathTests.cs +++ b/test/Npgsql.Tests/Types/JsonPathTests.cs @@ -1,10 +1,10 @@ using System.Data; using System.Threading.Tasks; -using NpgsqlTypes; +using YBNpgsqlTypes; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; public class JsonPathTests(MultiplexingMode multiplexingMode) : MultiplexingTestBase(multiplexingMode) { diff --git a/test/Npgsql.Tests/Types/JsonTests.cs b/test/Npgsql.Tests/Types/JsonTests.cs index e7a9b4576e..4d0e2bbe7d 100644 --- a/test/Npgsql.Tests/Types/JsonTests.cs +++ b/test/Npgsql.Tests/Types/JsonTests.cs @@ -6,10 +6,10 @@ using System.Text.Json.Nodes; using System.Text.Json.Serialization; using System.Threading.Tasks; -using NpgsqlTypes; +using YBNpgsqlTypes; using NUnit.Framework; -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; [TestFixture(MultiplexingMode.NonMultiplexing, NpgsqlDbType.Json)] [TestFixture(MultiplexingMode.NonMultiplexing, NpgsqlDbType.Jsonb)] diff --git a/test/Npgsql.Tests/Types/LTreeTests.cs b/test/Npgsql.Tests/Types/LTreeTests.cs index c90cc88a20..61b2205291 100644 --- a/test/Npgsql.Tests/Types/LTreeTests.cs +++ b/test/Npgsql.Tests/Types/LTreeTests.cs @@ -1,9 +1,9 @@ using System.Threading.Tasks; -using Npgsql.Properties; -using NpgsqlTypes; +using YBNpgsql.Properties; +using YBNpgsqlTypes; using NUnit.Framework; -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; public class LTreeTests(MultiplexingMode multiplexingMode) : MultiplexingTestBase(multiplexingMode) { diff --git a/test/Npgsql.Tests/Types/LegacyDateTimeTests.cs b/test/Npgsql.Tests/Types/LegacyDateTimeTests.cs index c500324986..153557475b 100644 --- a/test/Npgsql.Tests/Types/LegacyDateTimeTests.cs +++ b/test/Npgsql.Tests/Types/LegacyDateTimeTests.cs @@ -1,12 +1,12 @@ using System; using System.Data; using System.Threading.Tasks; -using Npgsql.Internal.ResolverFactories; -using NpgsqlTypes; +using YBNpgsql.Internal.ResolverFactories; +using YBNpgsqlTypes; using NUnit.Framework; -using static Npgsql.Util.Statics; +using static YBNpgsql.Util.Statics; -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; // Since this test suite manipulates TimeZone, it is incompatible with multiplexing [NonParallelizable] diff --git a/test/Npgsql.Tests/Types/MiscTypeTests.cs b/test/Npgsql.Tests/Types/MiscTypeTests.cs index 7f1fe7c0ba..c80ad132a3 100644 --- a/test/Npgsql.Tests/Types/MiscTypeTests.cs +++ b/test/Npgsql.Tests/Types/MiscTypeTests.cs @@ -1,10 +1,10 @@ using System; using System.Data; using System.Threading.Tasks; -using NpgsqlTypes; +using YBNpgsqlTypes; using NUnit.Framework; -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; /// /// Tests on PostgreSQL types which don't fit elsewhere diff --git a/test/Npgsql.Tests/Types/MoneyTests.cs b/test/Npgsql.Tests/Types/MoneyTests.cs index 5f4a31b65b..61de7d739b 100644 --- a/test/Npgsql.Tests/Types/MoneyTests.cs +++ b/test/Npgsql.Tests/Types/MoneyTests.cs @@ -1,9 +1,9 @@ using System.Data; using System.Threading.Tasks; -using NpgsqlTypes; +using YBNpgsqlTypes; using NUnit.Framework; -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; public class MoneyTests : TestBase { diff --git a/test/Npgsql.Tests/Types/MultirangeTests.cs b/test/Npgsql.Tests/Types/MultirangeTests.cs index cf9cdcd8a9..cb5c92b1a5 100644 --- a/test/Npgsql.Tests/Types/MultirangeTests.cs +++ b/test/Npgsql.Tests/Types/MultirangeTests.cs @@ -3,12 +3,12 @@ using System.Data; using System.Linq; using System.Threading.Tasks; -using Npgsql.Properties; -using NpgsqlTypes; +using YBNpgsql.Properties; +using YBNpgsqlTypes; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; public class MultirangeTests : TestBase { diff --git a/test/Npgsql.Tests/Types/NetworkTypeTests.cs b/test/Npgsql.Tests/Types/NetworkTypeTests.cs index e24446f136..74f4b4c02d 100644 --- a/test/Npgsql.Tests/Types/NetworkTypeTests.cs +++ b/test/Npgsql.Tests/Types/NetworkTypeTests.cs @@ -2,10 +2,10 @@ using System.Net; using System.Net.NetworkInformation; using System.Threading.Tasks; -using NpgsqlTypes; +using YBNpgsqlTypes; using NUnit.Framework; -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; /// /// Tests on PostgreSQL numeric types diff --git a/test/Npgsql.Tests/Types/NumericTests.cs b/test/Npgsql.Tests/Types/NumericTests.cs index 20eed3fa04..4eca8f95fa 100644 --- a/test/Npgsql.Tests/Types/NumericTests.cs +++ b/test/Npgsql.Tests/Types/NumericTests.cs @@ -3,10 +3,10 @@ using System.Linq; using System.Numerics; using System.Threading.Tasks; -using NpgsqlTypes; +using YBNpgsqlTypes; using NUnit.Framework; -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; public class NumericTests(MultiplexingMode multiplexingMode) : MultiplexingTestBase(multiplexingMode) { diff --git a/test/Npgsql.Tests/Types/NumericTypeTests.cs b/test/Npgsql.Tests/Types/NumericTypeTests.cs index 5fda011158..b86e87a69c 100644 --- a/test/Npgsql.Tests/Types/NumericTypeTests.cs +++ b/test/Npgsql.Tests/Types/NumericTypeTests.cs @@ -2,11 +2,11 @@ using System.Data; using System.Globalization; using System.Threading.Tasks; -using NpgsqlTypes; +using YBNpgsqlTypes; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; /// /// Tests on PostgreSQL numeric types diff --git a/test/Npgsql.Tests/Types/RangeTests.cs b/test/Npgsql.Tests/Types/RangeTests.cs index f0f9fa6637..feebcbb5e9 100644 --- a/test/Npgsql.Tests/Types/RangeTests.cs +++ b/test/Npgsql.Tests/Types/RangeTests.cs @@ -4,13 +4,13 @@ using System.Globalization; using System.Linq; using System.Threading.Tasks; -using Npgsql.Properties; -using Npgsql.Util; -using NpgsqlTypes; +using YBNpgsql.Properties; +using YBNpgsql.Util; +using YBNpgsqlTypes; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; class RangeTests : MultiplexingTestBase { diff --git a/test/Npgsql.Tests/Types/RecordTests.cs b/test/Npgsql.Tests/Types/RecordTests.cs index 0823323041..38d646736c 100644 --- a/test/Npgsql.Tests/Types/RecordTests.cs +++ b/test/Npgsql.Tests/Types/RecordTests.cs @@ -1,11 +1,11 @@ using System; using System.Data; using System.Threading.Tasks; -using Npgsql.Properties; +using YBNpgsql.Properties; using NUnit.Framework; using NUnit.Framework.Constraints; -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; public class RecordTests(MultiplexingMode multiplexingMode) : MultiplexingTestBase(multiplexingMode) { diff --git a/test/Npgsql.Tests/Types/TextTests.cs b/test/Npgsql.Tests/Types/TextTests.cs index f7e770c088..4e0c69abab 100644 --- a/test/Npgsql.Tests/Types/TextTests.cs +++ b/test/Npgsql.Tests/Types/TextTests.cs @@ -3,11 +3,11 @@ using System.IO; using System.Text; using System.Threading.Tasks; -using NpgsqlTypes; +using YBNpgsqlTypes; using NUnit.Framework; -using static Npgsql.Tests.TestUtil; +using static YBNpgsql.Tests.TestUtil; -namespace Npgsql.Tests.Types; +namespace YBNpgsql.Tests.Types; /// /// Tests on PostgreSQL text diff --git a/test/Npgsql.Tests/TypesTests.cs b/test/Npgsql.Tests/TypesTests.cs index 113c08b954..c4dbb12e43 100644 --- a/test/Npgsql.Tests/TypesTests.cs +++ b/test/Npgsql.Tests/TypesTests.cs @@ -1,9 +1,9 @@ using System; using System.Net; -using NpgsqlTypes; +using YBNpgsqlTypes; using NUnit.Framework; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; /// /// Tests NpgsqlTypes.* independent of a database diff --git a/test/Npgsql.Tests/WriteBufferTests.cs b/test/Npgsql.Tests/WriteBufferTests.cs index ff8d9413ce..3c7ce906e9 100644 --- a/test/Npgsql.Tests/WriteBufferTests.cs +++ b/test/Npgsql.Tests/WriteBufferTests.cs @@ -1,9 +1,9 @@ using System; using System.IO; -using Npgsql.Internal; +using YBNpgsql.Internal; using NUnit.Framework; -namespace Npgsql.Tests; +namespace YBNpgsql.Tests; [FixtureLifeCycle(LifeCycle.InstancePerTestCase)] // Parallel access to a single buffer class WriteBufferTests diff --git a/test/Npgsql.Tests/YBClusterAwareRRSupportTests.cs b/test/Npgsql.Tests/YBClusterAwareRRSupportTests.cs new file mode 100644 index 0000000000..3b40e9f2fe --- /dev/null +++ b/test/Npgsql.Tests/YBClusterAwareRRSupportTests.cs @@ -0,0 +1,281 @@ +using System; +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; +using NUnit.Framework; + +namespace YBNpgsql.Tests; + +public class YBClusterAwareRRSupportTests : YBTestUtils{ + int numConns = 6; + [Test, Timeout(60000)] + public async Task TestOnlyPrimary() + { + var connStringBuilder = "host=127.0.0.1;database=yugabyte;userid=yugabyte;password=yugabyte;Load Balance Hosts=onlyprimary;Timeout=0"; + + List conns = new List(); + CreateRRCluster(); + + Thread.Sleep(15000); + + try + { + conns = await CreateConnections(connStringBuilder, numConns, new []{numConns / 3, numConns / 3, numConns / 3, 0, 0, 0}); + + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + } + finally + { + CloseConnections(conns); + } + } + + [Test, Timeout(60000)] + public async Task TestPreferPrimary() + { + var connStringBuilder = "host=127.0.0.1;database=yugabyte;userid=yugabyte;password=yugabyte;Load Balance Hosts=preferprimary;Timeout=0"; + + List conns = new List(); + CreateRRCluster(); + + try + { + conns = await CreateConnections(connStringBuilder, numConns, new []{numConns / 3, numConns / 3, numConns / 3, 0, 0, 0}); + + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + } + finally + { + CloseConnections(conns); + } + } + [Test, Timeout(60000)] + public async Task TestPreferPrimaryAllNodesDown() + { + var connStringBuilder = "host=127.0.0.4;database=yugabyte;userid=yugabyte;password=yugabyte;Load Balance Hosts=preferprimary;Timeout=0"; + + List conns = new List(); + CreateRRCluster(); + // Stop node: 127.0.0.1, 127.0.0.2, 127.0.0.3 + + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl stop_node 1"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine(_Output); + cmd = "/bin/yb-ctl stop_node 2"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine(_Output); + cmd = "/bin/yb-ctl stop_node 3"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine(_Output); + + try + { + conns = await CreateConnections(connStringBuilder, numConns, new []{-1, -1, -1, numConns / 3, numConns / 3, numConns / 3}); + + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + } + finally + { + CloseConnections(conns); + } + } + [Test, Timeout(60000)] + public async Task TestOnlyRR() + { + var connStringBuilder = "host=127.0.0.1;database=yugabyte;userid=yugabyte;password=yugabyte;Load Balance Hosts=onlyrr;Timeout=0"; + + List conns = new List(); + CreateRRCluster(); + + try + { + conns = await CreateConnections(connStringBuilder, numConns, new []{0, 0, 0, numConns / 3, numConns / 3, numConns / 3}); + + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + } + finally + { + CloseConnections(conns); + } + } + + [Test, Timeout(60000)] + public async Task TestPreferRR() + { + var connStringBuilder = "host=127.0.0.1;database=yugabyte;userid=yugabyte;password=yugabyte;Load Balance Hosts=preferrr;Timeout=0"; + + List conns = new List(); + CreateRRCluster(); + + try + { + conns = await CreateConnections(connStringBuilder, numConns, new []{0, 0, 0, numConns / 3, numConns / 3, numConns / 3}); + + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + } + finally + { + CloseConnections(conns); + } + } + + [Test, Timeout(60000)] + public async Task TestPreferRRAllNodesDown() + { + var connStringBuilder = "host=127.0.0.1;database=yugabyte;userid=yugabyte;password=yugabyte;Load Balance Hosts=preferrr;Timeout=0"; + + List conns = new List(); + CreateRRCluster(); + // Stop node : 127.0.0.4, 127.0.0.5, 127.0.0.6 + + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl stop_node 4"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine(_Output); + cmd = "/bin/yb-ctl stop_node 5"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine(_Output); + cmd = "/bin/yb-ctl stop_node 6"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine(_Output); + try + { + conns = await CreateConnections(connStringBuilder, numConns, new []{numConns / 3, numConns / 3, numConns / 3, -1, -1, -1}); + + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + } + finally + { + CloseConnections(conns); + } + } + [Test, Timeout(60000)] + public async Task TestAny() + { + var connStringBuilder = "host=127.0.0.1;database=yugabyte;userid=yugabyte;password=yugabyte;Load Balance Hosts=any;Timeout=0"; + + List conns = new List(); + CreateRRCluster(); + + try + { + conns = await CreateConnections(connStringBuilder, numConns, new []{numConns / 6, numConns / 6, numConns / 6, numConns / 6, numConns / 6, numConns / 6}); + + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + } + finally + { + CloseConnections(conns); + } + } + + static async Task> CreateConnections(string connString, int numConns, int[] count) + { + List conns = new List(); + try + { + for (var i = 1; i <= numConns; i++) + { + NpgsqlConnection conn = new NpgsqlConnection(connString); + conn.Open(); + conns.Add(conn); + } + + Console.WriteLine("Connections Created"); + var j = 1; + foreach(var expectedCount in count) + { + if (expectedCount != -1) + { + await VerifyOn("127.0.0." + j, expectedCount); + } + + j++; + } + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + return conns; + } + + return conns; + + } + + void CreateRRCluster() + { + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl create --rf 3 --placement_info cloud1.datacenter1.rack1,cloud1.datacenter2.rack1,cloud1.datacenter3.rack1 --tserver_flags \"placement_uuid=live,max_stale_read_bound_time_ms=60000000\""; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + cmd = "/build/latest/bin/yb-admin --master_addresses 127.0.0.1:7100,127.0.0.2:7100,127.0.0.3:7100 modify_placement_info cloud1.datacenter1.rack1,cloud1.datacenter2.rack1,cloud1.datacenter3.rack1 3 live"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + cmd = "/bin/yb-ctl add_node --placement_info cloud1.datacenter2.rack1 --tserver_flags placement_uuid=rr"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + cmd = "/bin/yb-ctl add_node --placement_info cloud1.datacenter3.rack1 --tserver_flags placement_uuid=rr"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + cmd = "/bin/yb-ctl add_node --placement_info cloud1.datacenter4.rack1 --tserver_flags placement_uuid=rr"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + } + + protected void DestroyCluster() + { + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl destroy"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + } + + void CloseConnections(List conns) + { + foreach (var conn in conns) + { + conn.Close(); + } + VerifyLocal("127.0.0.1", 0); + VerifyLocal("127.0.0.2", 0); + VerifyLocal("127.0.0.3", 0); + VerifyLocal("127.0.0.4", 0); + VerifyLocal("127.0.0.5", 0); + VerifyLocal("127.0.0.6", 0); + DestroyCluster(); + } +} diff --git a/test/Npgsql.Tests/YBFallBackTopologyExtended.cs b/test/Npgsql.Tests/YBFallBackTopologyExtended.cs new file mode 100644 index 0000000000..705ba59bb2 --- /dev/null +++ b/test/Npgsql.Tests/YBFallBackTopologyExtended.cs @@ -0,0 +1,209 @@ +using System; +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; +using NUnit.Framework; +using YBNpgsql; + +namespace YBNpgsql.Tests; + +public class YBFallBackTopologyExtended : YBFallbackTopolgyTests +{ + string connStringBuilder = "host=127.0.0.1,127.0.0.5,127.0.0.7;port=5433;database=yugabyte;userid=yugabyte;password=yugsbyte;Load Balance Hosts=true;Timeout=0;YB Servers Refresh Interval=10;Topology Keys="; + int numConnections = 12; + new void CreateCluster() + { + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl start --rf 3 --placement_info \"aws.us-west.us-west-1a,aws.us-west.us-west-1a,aws.us-west.us-west-1a\""; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + cmd = "/bin/yb-ctl add_node --placement_info \"aws.us-east.us-east-2a\""; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + cmd = "/bin/yb-ctl add_node --placement_info \"aws.us-east.us-east-2b\""; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + cmd = "/bin/yb-ctl add_node --placement_info \"aws.us-east.us-east-2c\""; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + } + void startYBDBClusterWithNineNodes() { + + string? _Output = null; + string? _Error = null; + ExecuteShellCommand( "/bin/yb-ctl destroy", ref _Output, ref _Error ); + + ExecuteShellCommand( "/bin/yb-ctl --rf 3 start --placement_info \"aws.us-west.us-west-1a\" ", + ref _Output, ref _Error ); + ExecuteShellCommand( "/bin/yb-ctl add_node --placement_info \"aws.us-east.us-east-2a\"", + ref _Output, ref _Error ); + ExecuteShellCommand( "/bin/yb-ctl add_node --placement_info \"aws.us-east.us-east-2a\"", + ref _Output, ref _Error ); + ExecuteShellCommand( "/bin/yb-ctl add_node --placement_info \"aws.eu-north.eu-north-2a\"", + ref _Output, ref _Error ); + + ExecuteShellCommand( "/bin/yb-ctl add_node --placement_info \"aws.eu-west.eu-west-2a\"", + ref _Output, ref _Error ); + ExecuteShellCommand( "/bin/yb-ctl add_node --placement_info \"aws.eu-west.eu-west-2a\"", + ref _Output, ref _Error ); + ExecuteShellCommand( "/bin/yb-ctl add_node --placement_info \"aws.eu-north.eu-north-2a\"", + ref _Output, ref _Error ); + Thread.Sleep(5000); + } + + async Task createConnectionsWithoutCloseAndVerify(string tkValue, int[] counts) { + List connections = new List(); + for (var i = 0; i < numConnections; i++) { + NpgsqlConnection conn = new NpgsqlConnection(connStringBuilder + tkValue); + conn.Open(); + connections.Add(conn); + } + Console.WriteLine("Created " + numConnections + " connections"); + + var j = 1; + Console.WriteLine("Client backend processes on "); + foreach (var expectedCount in counts) + { + if (expectedCount != -1) { + await VerifyOn("127.0.0." + j, expectedCount); + Console.WriteLine(", "); + } + j++; + } + } + [Test, Timeout(240000)] + public async Task TestFallback() + { + + string? _Output = null; + string? _Error = null; + + CreateCluster(); + int[] count = { 4, 4, 4, 0, 0, 0 }; + var conns = await CreateConnections(connStringBuilder+"aws.us-west.us-west-1a:1,aws.us-east.us-east-2a:2,aws.us-east.us-east-2b:3,aws.us-east.us-east-2c:4", count); + + var cmd = "/bin/yb-ctl stop_node 1"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + + cmd = "/bin/yb-ctl stop_node 2"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + + cmd = "/bin/yb-ctl stop_node 3"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + + cmd = "/bin/yb-ctl stop_node 4"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + + count = new[] { -1, -1, -1, -1, 12, 0 }; + conns = await CreateConnections(connStringBuilder+"aws.us-west.us-west-1a:1,aws.us-east.us-east-2a:2,aws.us-east.us-east-2b:3,aws.us-east.us-east-2c:4", count); + + cmd = "/bin/yb-ctl start_node 4 --placement_info \"aws.us-east.us-east-2a\""; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + Thread.Sleep(15000); + + count = new[] { -1, -1, -1, 12, 0, 0 }; + conns = await CreateConnections(connStringBuilder+"aws.us-west.us-west-1a:1,aws.us-east.us-east-2a:2,aws.us-east.us-east-2b:3,aws.us-east.us-east-2c:4", count); + + cmd = "/bin/yb-ctl start_node 1 --placement_info \"aws.us-west.us-west-1a\""; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + + cmd = "/bin/yb-ctl start_node 2 --placement_info \"aws.us-west.us-west-1a\""; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + + Thread.Sleep(15000); + + count = new[] { 6, 6, -1, -1, -1, -1 }; + conns = await CreateConnections(connStringBuilder+"aws.us-west.us-west-1a:1,aws.us-east.us-east-2a:2,aws.us-east.us-east-2b:3,aws.us-east.us-east-2c:4", count); + + DestroyCluster(); + } + + [Test] + public async Task CheckMultiNodeDown(){ + // Start RF=3 cluster with 9 nodes and with placements (127.0.0.1, 127.0.0.2, 127.0.0.3) -> us-west-1a, + // and 127.0.0.4 -> us-east-2a, 127.0.0.5 -> us-east-2a and 127.0.0.6 -> eu-north-2a, 127.0.0.9 -> eu-north-2a, + // and 127.0.0.7 -> eu-west-2a, 127.0.0.8 -> eu-west-2a. + startYBDBClusterWithNineNodes(); + string? _Output = null; + string? _Error = null; + + try + { + await createConnectionsWithoutCloseAndVerify("aws.us-west.*:1,aws.us-east.*:2,aws.eu-west" + + ".*:3,aws.eu-north.*:4", new[] { 6, 6, 6, 0, 0, 0, 0, 0, 0 }); + + ExecuteShellCommand("/bin/yb-ctl stop_node 1", ref _Output, ref _Error); + ExecuteShellCommand("/bin/yb-ctl stop_node 2", ref _Output, ref _Error); + ExecuteShellCommand("/bin/yb-ctl stop_node 3", ref _Output, ref _Error); + ExecuteShellCommand("/bin/yb-ctl stop_node 4", ref _Output, ref _Error); + ExecuteShellCommand("/bin/yb-ctl stop_node 5", ref _Output, ref _Error); + ExecuteShellCommand("/bin/yb-ctl stop_node 7", ref _Output, ref _Error); + ExecuteShellCommand("/bin/yb-ctl stop_node 8", ref _Output, ref _Error); + await createConnectionsWithoutCloseAndVerify("aws.us-west.*:1,aws.us-east.*:2,aws.eu-west" + + ".*:3,aws.eu-north.*:4", new[] { -1, -1, -1, -1, -1, 9, -1, -1, 9 }); + + ExecuteShellCommand("/bin/yb-ctl stop_node 9", ref _Output, ref _Error); + await createConnectionsWithoutCloseAndVerify("aws.us-west.*:1,aws.us-east.*:2,aws.eu-west" + + ".*:3,aws.eu-north.*:4", new[] { -1, -1, -1, -1, -1, 27, -1, -1, -1 }); + + ExecuteShellCommand("/bin/yb-ctl start_node 2 --placement_info \"aws.us-west.us-west-1a\"", + ref _Output, ref _Error); + + Thread.Sleep(15000); + + await createConnectionsWithoutCloseAndVerify("aws.us-west.*:1,aws.us-east.*:2,aws.eu-west" + + ".*:3,aws.eu-north.*:4", new[] { -1, 18, -1, -1, -1, 27, -1, -1, -1 }); + + ExecuteShellCommand("/bin/yb-ctl stop_node 2", ref _Output, ref _Error); + await createConnectionsWithoutCloseAndVerify("aws.us-west.*:1,aws.us-east.*:2,aws.eu-west" + + ".*:3,aws.eu-north.*:4", new[]{-1, -1, -1, -1, -1, 45, -1, -1, -1 }); + + ExecuteShellCommand("/bin/yb-ctl start_node 5 --placement_info \"aws.us-east.us-east-2a\"", ref _Output, ref _Error ); + + Thread.Sleep(15000); + + await createConnectionsWithoutCloseAndVerify("aws.us-west.*:1,aws.us-east.*:2,aws.eu-west" + + ".*:3,aws.eu-north.*:4", new[]{-1, -1, -1, -1, 18, 45, -1, -1, -1}); + + ExecuteShellCommand("/bin/yb-ctl stop_node 5", ref _Output, ref _Error ); + await createConnectionsWithoutCloseAndVerify("aws.us-west.*:1,aws.us-east.*:2,aws.eu-west" + + ".*:3,aws.eu-north.*:4", new[]{-1, -1, -1, -1, -1, 63, -1, -1, -1}); + + } finally { + ExecuteShellCommand("/bin/yb-ctl destroy", ref _Output, ref _Error ); + } + } + + [Test] + private async Task checkNodeDownPrimary() { + string? _Output = null; + string? _Error = null; + + ExecuteShellCommand("/bin/yb-ctl destroy", ref _Output, ref _Error); + + ExecuteShellCommand("/bin/yb-ctl --rf 3 start --placement_info \"aws.us-west.us-west-1a\" ", + ref _Output, ref _Error); + + try { + await createConnectionsWithoutCloseAndVerify( "aws.us-west.*:1", new[]{6, 6, 6}); + ExecuteShellCommand("/bin/yb-ctl stop_node 1", ref _Output, ref _Error); + await createConnectionsWithoutCloseAndVerify("aws.us-west.*:1", new[]{-1, 15, 15}); + ExecuteShellCommand("/bin/yb-ctl start_node 1 --placement_info \"aws.us-west.us-west-1a\"", + ref _Output, ref _Error); + ClusterAwareDataSource.forceRefresh = true; + Thread.Sleep(5000); + await createConnectionsWithoutCloseAndVerify("aws.us-west.*:1", new[]{16, 16, 16}); + + } finally { + ExecuteShellCommand("/bin/yb-ctl destroy", ref _Output, ref _Error); + } + } +} diff --git a/test/Npgsql.Tests/YBFallbackTopolgyTests.cs b/test/Npgsql.Tests/YBFallbackTopolgyTests.cs new file mode 100644 index 0000000000..a0a780ac0c --- /dev/null +++ b/test/Npgsql.Tests/YBFallbackTopolgyTests.cs @@ -0,0 +1,168 @@ +using System; +using System.Collections.Generic; +using System.Net; +using System.Net.Http; +using System.Threading.Tasks; +using NUnit.Framework; + +namespace YBNpgsql.Tests; + +public class YBFallbackTopolgyTests : YBTestUtils +{ + static int mlock = 0; + string connStringBuilder = "host=127.0.0.1;port=5433;database=yugabyte;userid=yugabyte;password=yugsbyte;Load Balance Hosts=true;Timeout=0;Topology Keys="; + + [Test] + public async Task TestFallback1() + { + CreateCluster(); + var conns = await CreateConnections(connStringBuilder+"aws.us-west.us-west-2a,aws.us-west.us-west-2c", new[]{6, 0, 6 }); + CloseConnections(conns); + DestroyCluster(); + } + [Test] + public async Task TestFallback2() + { + CreateCluster(); + var conns = await CreateConnections(connStringBuilder + "aws.us-west.us-west-2a,aws.us-west.us-west-2b:1,aws.us-west.us-west-2c:2", new[]{6, 6, 0}); + CloseConnections(conns); + DestroyCluster(); + } + + [Test] + public async Task TestFallback3() + { + CreateCluster(); + var conns = await CreateConnections(connStringBuilder + "aws.us-west.us-west-2a:1,aws.us-west.us-west-2b:2,aws.us-west.us-west-2c:3", new[]{12, 0, 0}); + CloseConnections(conns); + DestroyCluster(); + } + + [Test] + public async Task TestFallback4() + { + CreateCluster(); + var conns = await CreateConnections(connStringBuilder + "aws.us-west.*,aws.us-west.us-west-2b:1,aws.us-west.us-west-2c:2", new []{4, 4, 4}); + CloseConnections(conns); + DestroyCluster(); + } + + [Test] + public async Task TestFallback5() + { + CreateCluster(); + var connString = connStringBuilder + "aws.us-west.us-west-2a:1,aws.us-west.us-west-2b:2,aws.us-west.us-west-2c:3"; + + NpgsqlConnection conn = new NpgsqlConnection(connString); + conn.Open(); + + await VerifyOn("127.0.0.1", 1); + + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl stop_node 1"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine(_Output); + + var conns = await CreateConnections(connString, new[]{-1, 12, 0}); + + CloseConnections(conns); + DestroyCluster(); + } + + [Test] + public async Task TestFallback6() + { + CreateCluster(); + var connString = connStringBuilder + "aws.us-west.us-west-2a:1"; + + NpgsqlConnection conn = new NpgsqlConnection(connString); + conn.Open(); + + await VerifyOn("127.0.0.1", 1); + + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl stop_node 1"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine(_Output); + + var conns = await CreateConnections(connString, new[]{-1, 6, 6}); + CloseConnections(conns); + DestroyCluster(); + } + + protected static async Task> CreateConnections(string connString, int[] count) + { + List conns = new List(); + if (mlock == 0) + { + mlock = 1; + try + { + for (var i = 1; i <= 12; i++) + { + NpgsqlConnection conn = new NpgsqlConnection(connString); + conn.Open(); + conns.Add(conn); + } + + Console.WriteLine("Connections Created"); + + var j = 1; + foreach(var expectedCount in count) + { + if (expectedCount != -1) + { + await VerifyOn("127.0.0." + j, expectedCount); + } + + j++; + } + CloseConnections(conns); + mlock = 0; + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + return conns; + } + } + + return conns; + + } + + static void CloseConnections(Listconns) + { + foreach (var conn in conns) + { + if (conn.State != System.Data.ConnectionState.Closed) + { + conn.Close(); + } + } + VerifyLocal("127.0.0.1", 0); + VerifyLocal("127.0.0.2", 0); + VerifyLocal("127.0.0.3", 0); + } + + protected void CreateCluster() + { + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl start --rf 3 --placement_info \"aws.us-west.us-west-2a,aws.us-west.us-west-2b,aws.us-west.us-west-2c\""; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + } + + protected void DestroyCluster() + { + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl destroy"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + } + +} diff --git a/test/Npgsql.Tests/YBLoadBalancerTests.cs b/test/Npgsql.Tests/YBLoadBalancerTests.cs new file mode 100644 index 0000000000..69831667cf --- /dev/null +++ b/test/Npgsql.Tests/YBLoadBalancerTests.cs @@ -0,0 +1,196 @@ +using System; +using System.Collections.Generic; +using System.Net.Http; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.Extensions.Logging; +using NUnit.Framework; + +namespace YBNpgsql.Tests; + +public class YBLoadBalancerTests : YBTestUtils +{ + int numConns = 6; + + [Test] + public async Task TestLoadBalance1() + { + var connStringBuilder = "host=127.0.0.1;database=yugabyte;userid=yugabyte;password=yugsbyte;Load Balance Hosts=any;Timeout=0"; + + List conns = new List(); + CreateCluster(); + + try + { + conns = CreateConnections(connStringBuilder, numConns); + await VerifyOn("127.0.0.1", numConns/3); + await VerifyOn("127.0.0.2", numConns/3); + await VerifyOn("127.0.0.3", numConns / 3); + + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + } + finally + { + foreach (var conn in conns) + { + conn.Close(); + } + Console.WriteLine("Verifying if all connections are closed..."); + VerifyLocal("127.0.0.1", 0); + VerifyLocal("127.0.0.2", 0); + VerifyLocal("127.0.0.3", 0); + DestroyCluster(); + } + } + + [Test] + public async Task TestLoadBalance2() + { + var connStringBuilder = "host=127.0.0.1;port=5433;database=yugabyte;userid=yugabyte;password=yugsbyte;Load Balance Hosts=true;YB Servers Refresh Interval=30;Timeout=0"; + List conns = new List(); + + CreateCluster(); + try + { + var conn1 = CreateConnections(connStringBuilder, numConns); + conns.AddRange(conn1); + + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl stop_node 1"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine(_Output); + + System.Threading.Thread.Sleep(30000); + + var conn2 = CreateConnections(connStringBuilder, numConns); + conns.AddRange(conn2); + + await VerifyOn("127.0.0.2", 5); + await VerifyOn("127.0.0.3", 5); + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + } + finally + { + foreach (var conn in conns) + { + if (conn.State != System.Data.ConnectionState.Closed) + { + conn.Close(); + } + } + VerifyLocal("127.0.0.2", 0); + VerifyLocal("127.0.0.3", 0); + DestroyCluster(); + } + } + + [Test] + public async Task TestLoadBalance3() + { + var connStringBuilder = "host=127.0.0.1;port=5433;database=yugabyte;userid=yugabyte;password=yugsbyte;Load Balance Hosts=true;Timeout=0"; + + List allConns = new List(); + CreateCluster(); + try + { + List threads = new List(); + List conn = new List(); + var numThreads = 15; + for (var i = 0; i < numThreads; i++) + { + Thread thread = new Thread(() => { + var threadConns = CreateConnections(connStringBuilder, numConns); // Each thread uses its own list + lock (allConns) + { + allConns.AddRange(threadConns); // Safely add to the shared list + } + }); + threads.Add(thread); + } + + foreach (var thread in threads) + { + thread.Start(); + } + + foreach (var thread in threads) + { + thread.Join(); + } + await VerifyOn("127.0.0.1", numThreads * numConns/3); + await VerifyOn("127.0.0.2", numThreads * numConns/3); + await VerifyOn("127.0.0.3", numThreads * numConns / 3); + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + } + finally + { + Console.WriteLine("Conns count" + allConns.Count); + foreach (var conn in allConns) + { + conn.Close(); + } + VerifyLocal("127.0.0.1", 0); + VerifyLocal("127.0.0.2", 0); + VerifyLocal("127.0.0.3", 0); + DestroyCluster(); + } + } + + void CreateCluster() + { + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl create --rf 3"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + } + + void DestroyCluster() + { + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl destroy"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + } + + static List CreateConnections(string connString, int numConns) + { + List conns = new List(); + try + { + for (var i = 1; i <= numConns; i++) + { + NpgsqlConnection conn = new NpgsqlConnection(connString); + conn.Open(); + conns.Add(conn); + } + + Console.WriteLine("Connections Created"); + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + return conns; + } + + return conns; + + } + +} + + diff --git a/test/Npgsql.Tests/YBPreparedStatementsTest.cs b/test/Npgsql.Tests/YBPreparedStatementsTest.cs new file mode 100644 index 0000000000..d9e8a245bf --- /dev/null +++ b/test/Npgsql.Tests/YBPreparedStatementsTest.cs @@ -0,0 +1,70 @@ +using System; +using System.Threading.Tasks; +using YBNpgsqlTypes; +using NUnit.Framework; + +namespace YBNpgsql.Tests; + +public class YBPreparedStatementsTest +{ + [Test] + + public async Task PreparedStatementsTestWithFlagsEnabled() + { + var connStringBuilder = "host=localhost;port=5433;database=yugabyte;userid=yugabyte;password=yugabyte;Enable Discard Sequences=false;Enable Discard Temp= false;Enable Close All=false;Load Balance Hosts=true;"; + NpgsqlConnection conn = new NpgsqlConnection(connStringBuilder); + try + { + conn.Open(); + NpgsqlCommand empCreateCmd = new NpgsqlCommand("CREATE TABLE employee (id int PRIMARY KEY,age int);", conn); + empCreateCmd.ExecuteNonQuery(); + Console.WriteLine("Created table Employee"); + AssertNumPreparedStatements(conn, 0); + + using (NpgsqlCommand empInsertCommand = new NpgsqlCommand("Insert into employee values (@c1 ,@c2)", conn)) + { + empInsertCommand.Parameters.Add("c1", NpgsqlDbType.Integer); + empInsertCommand.Parameters.Add("c2", NpgsqlDbType.Integer); + + await empInsertCommand.PrepareAsync(); + + empInsertCommand.Parameters[0].Value = 3; + empInsertCommand.Parameters[1].Value = 5; + + await empInsertCommand.ExecuteNonQueryAsync(); + } + + conn.Close(); + } + catch (PostgresException e) + { + Console.WriteLine(e); + } + } + + [Test] + + public void TypeLoadingTimeTest() + { + var connStringBuilderWithNoTypeLoading = "host=localhost;port=5433;database=northwind;userid=yugabyte;Enable Discard Sequences=false;Enable Discard Temp= false;Load Balance Hosts=true; Server Compatibility Mode=NoTypeLoading"; + var connStringBuilder = "host=localhost;port=5433;database=northwind;userid=yugabyte;Enable Discard Sequences=false;Enable Discard Temp= false;Load Balance Hosts=true;"; + + DateTime timeBeforeConnection1 = DateTime.Now; + NpgsqlConnection conn1 = new NpgsqlConnection(connStringBuilderWithNoTypeLoading); + conn1.Open(); + DateTime timeAfterConnection1 = DateTime.Now; + + DateTime timeBeforeConnection2 = DateTime.Now; + NpgsqlConnection conn2 = new NpgsqlConnection(connStringBuilder); + conn2.Open(); + DateTime timeAfterConnection2 = DateTime.Now; + + Console.WriteLine("Time taken to create connection with no type loading:" + (timeAfterConnection1-timeBeforeConnection1).TotalSeconds); + Console.WriteLine("Time taken to create connection with type loading:" + (timeAfterConnection2-timeBeforeConnection2).TotalSeconds); + + } + + void AssertNumPreparedStatements(NpgsqlConnection conn, int expected) + => Assert.That(conn.ExecuteScalar("SELECT COUNT(*) FROM pg_prepared_statements WHERE statement NOT LIKE '%FROM pg_prepared_statements%'"), Is.EqualTo(expected)); + +} diff --git a/test/Npgsql.Tests/YBTestUtils.cs b/test/Npgsql.Tests/YBTestUtils.cs new file mode 100644 index 0000000000..72847107ab --- /dev/null +++ b/test/Npgsql.Tests/YBTestUtils.cs @@ -0,0 +1,92 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Net.Http; +using System.Reflection.Metadata.Ecma335; +using System.Threading.Tasks; +using NUnit.Framework; + +namespace YBNpgsql.Tests; + +public class YBTestUtils +{ + public void ExecuteShellCommand(string argument, ref string? _outputMessage, ref string? _errorMessage) +{ + var path = Environment.GetEnvironmentVariable("YBDB_PATH"); + var arguments = path + argument; + // Set process variable + // Provides access to local and remote processes and enables you to start and stop local system processes. + Process? _Process = null; + try + { + ProcessStartInfo startInfo = new ProcessStartInfo() + { + FileName = "/bin/bash", + Arguments = " -c \"" + arguments + " \"", + CreateNoWindow = true, + RedirectStandardOutput = true, + RedirectStandardInput = true, + RedirectStandardError = true, + }; + _Process = new Process() + { + StartInfo = startInfo, + }; + _Process.Start(); + + // Instructs the Process component to wait indefinitely for the associated process to exit. + _errorMessage = _Process.StandardError.ReadToEnd(); + _Process.WaitForExit(); + + // Instructs the Process component to wait indefinitely for the associated process to exit. + _outputMessage = _Process.StandardOutput.ReadToEnd(); + _Process.WaitForExit(); + } + catch (Exception _Exception) + { + // Error + Console.WriteLine("Exception caught in process: {0}", _Exception.ToString()); + } + finally + { + // close process and do cleanup + _Process?.Close(); + _Process?.Dispose(); + _Process = null!; + } +} + + protected static async Task VerifyOn(string server, int ExpectedCount) + { + var url = string.Format("http://{0}:{1}/rpcz", server, 13000); + var client = new HttpClient(); + try + { + var response = await client.GetAsync(url); + response.EnsureSuccessStatusCode(); + var responseBody = await response.Content.ReadAsStringAsync(); + var count = responseBody.Split("client backend"); + Console.WriteLine(server + ":" + (count.Length - 1)); + Assert.AreEqual(ExpectedCount, count.Length - 1); + + // Verify Local + + VerifyLocal(server, ExpectedCount); + + } + catch (HttpRequestException e) + { + Console.WriteLine(e.Message); + } + } + + protected static void VerifyLocal(string server, int ExpectedCount) + { + Console.WriteLine("Client side verification:"); + + var recorded = ClusterAwareDataSource.GetLoad(server); + Console.WriteLine(server + ":" + recorded); + Assert.AreEqual(ExpectedCount, recorded); + + } +} diff --git a/test/Npgsql.Tests/YBTopologyAwareRRSupportTests.cs b/test/Npgsql.Tests/YBTopologyAwareRRSupportTests.cs new file mode 100644 index 0000000000..9c942dbd43 --- /dev/null +++ b/test/Npgsql.Tests/YBTopologyAwareRRSupportTests.cs @@ -0,0 +1,732 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using NUnit.Framework; + +namespace YBNpgsql.Tests; + +public class YBTopologyAwareRRSupportTests : YBTestUtils +{ + int numConns = 6; + [Test, Timeout(60000)] + public async Task TestOnlyPrimary() + { + var connStringBuilder = "host=127.0.0.1;database=yugabyte;userid=yugabyte;password=yugabyte;Load Balance Hosts=onlyprimary; Topology Keys=cloud1.datacenter2.rack1:1,cloud1.datacenter3.rack1:2;Timeout=0"; + + List conns = new List(); + CreateRRCluster(); + + try + { + conns = await CreateConnections(connStringBuilder, numConns, new []{0, numConns, 0, 0, 0, 0}); + + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + } + finally + { + CloseConnections(conns); + } + } + + [Test, Timeout(60000)] + public async Task TestOnlyPrimaryAllNodesDownAllPlacement() + { + var connStringBuilder = "host=127.0.0.1;database=yugabyte;userid=yugabyte;password=yugabyte;Load Balance Hosts=onlyprimary; Topology Keys=cloud1.datacenter2.rack1:1,cloud1.datacenter3.rack1:2;Timeout=0"; + + List conns = new List(); + CreateRRCluster(); + // Stop node : 127.0.0.2, 127.0.0.3 + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl stop_node 2"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + cmd = "/bin/yb-ctl stop_node 3"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + + try + { + conns = await CreateConnections(connStringBuilder, numConns, new []{numConns, -1, -1, 0, 0, 0}); + + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + } + finally + { + CloseConnections(conns); + } + } + + [Test, Timeout(60000)] + public void TestOnlyPrimaryAllNodesDownInAllPlacementsFallBackToTopologyOnly() + { + var connStringBuilder = "host=127.0.0.1;database=yugabyte;userid=yugabyte;password=yugabyte;Load Balance Hosts=onlyprimary;Topology Keys=cloud1.datacenter2.rack1:1,cloud1.datacenter3.rack1:2;FallBack To Topology Keys Only=true;Timeout=0"; + + List conns = new List(); + CreateRRCluster(); + // Stop node : 127.0.0.2, 127.0.0.3 + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl stop_node 2"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + cmd = "/bin/yb-ctl stop_node 3"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + + try + { + for (var i = 1; i <= numConns; i++) + { + NpgsqlConnection conn = new NpgsqlConnection(connStringBuilder); + conn.Open(); + conns.Add(conn); + } + + } + catch (NpgsqlException ex) + { + if (ex.Message.Equals("No suitable host was found", StringComparison.OrdinalIgnoreCase)) + Console.WriteLine("Expected Failure:" + ex.Message); + } + finally + { + CloseConnections(conns); + } + } + + [Test, Timeout(60000)] + public async Task TestOnlyPrimaryAllNodesDownPrimarylacement() + { + var connStringBuilder = "host=127.0.0.3;database=yugabyte;userid=yugabyte;password=yugabyte;Load Balance Hosts=onlyprimary; Topology Keys=cloud1.datacenter2.rack1:1,cloud1.datacenter3.rack1:2;Timeout=0"; + + List conns = new List(); + CreateRRCluster(); + // Stop node : 127.0.0.2 + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl stop_node 2"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + + try + { + conns = await CreateConnections(connStringBuilder, numConns, new []{0, -1, numConns, 0, 0, 0}); + + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + } + finally + { + CloseConnections(conns); + } + } + + [Test, Timeout(60000)] + public async Task TestPreferPrimary() + { + var connStringBuilder = "host=127.0.0.1;database=yugabyte;userid=yugabyte;password=yugabyte;Load Balance Hosts=preferprimary; Topology Keys=cloud1.datacenter2.rack1:1,cloud1.datacenter3.rack1:2;Timeout=0"; + + List conns = new List(); + CreateRRCluster(); + + try + { + conns = await CreateConnections(connStringBuilder, numConns, new []{0, numConns, 0, 0, 0, 0}); + + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + } + finally + { + CloseConnections(conns); + } + } + + [Test, Timeout(60000)] + public async Task TestPreferPrimaryAllNodesDownPrimaryPlacement() + { + var connStringBuilder = "host=127.0.0.1;database=yugabyte;userid=yugabyte;password=yugabyte;Load Balance Hosts=preferprimary; Topology Keys=cloud1.datacenter2.rack1:1,cloud1.datacenter3.rack1:2;Timeout=0"; + + List conns = new List(); + CreateRRCluster(); + // Stop node : 127.0.0.2 + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl stop_node 2"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + + try + { + conns = await CreateConnections(connStringBuilder, numConns, new []{0, -1, numConns, 0, 0, 0}); + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + } + finally + { + CloseConnections(conns); + } + } + [Test, Timeout(60000)] + public async Task? TestPreferPrimaryAllPrimaryNodesDown() + { + var connStringBuilder = "host=127.0.0.1;database=yugabyte;userid=yugabyte;password=yugabyte;Load Balance Hosts=preferrr;Topology Keys=cloud1.datacenter2.rack1:1,cloud1.datacenter3.rack1:2;Timeout=0"; + + List conns = new List(); + CreateRRCluster(); + // Stop Node: 127.0.0.1, 127.0.0.2, 127.0.0.3 + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl stop_node 1"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + cmd = "/bin/yb-ctl stop_node 2"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + cmd = "/bin/yb-ctl stop_node 3"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + + try + { + conns = await CreateConnections(connStringBuilder, numConns, new []{-1, -1, -1, numConns / 3, numConns / 3, numConns / 3}); + + // Start Node 1 + _Output = null; + _Error = null; + cmd = "/bin/yb-ctl start_node 1"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + + Thread.Sleep(10000); + conns.Concat(await CreateConnections(connStringBuilder, numConns, new []{numConns, -1, -1, numConns / 3, numConns / 3, numConns / 3})); + + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + } + finally + { + CloseConnections(conns); + } + } + + [Test, Timeout(60000)] + public async Task TestPreferPrimaryAllNodesDownAllPlacement() + { + var connStringBuilder = "host=127.0.0.1;database=yugabyte;userid=yugabyte;password=yugabyte;Load Balance Hosts=preferprimary; Topology Keys=cloud1.datacenter2.rack1:1,cloud1.datacenter3.rack1:2;Timeout=0"; + + List conns = new List(); + CreateRRCluster(); + // Stop node : 127.0.0.2, 127.0.0.3 + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl stop_node 2"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + cmd = "/bin/yb-ctl stop_node 3"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + + try + { + conns = await CreateConnections(connStringBuilder, numConns, new []{numConns, -1, -1, 0, 0, 0}); + + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + } + finally + { + CloseConnections(conns); + } + } + [Test, Timeout(60000)] + public async Task TestOnlyRR() + { + var connStringBuilder = "host=127.0.0.1;database=yugabyte;userid=yugabyte;password=yugabyte;Load Balance Hosts=onlyrr;Topology Keys=cloud1.datacenter2.rack1:1,cloud1.datacenter3.rack1:2;Timeout=0"; + + List conns = new List(); + CreateRRCluster(); + + try + { + conns = await CreateConnections(connStringBuilder, numConns, new []{0, 0, 0, numConns, 0, 0, 0}); + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + } + finally + { + CloseConnections(conns); + } + } + + [Test, Timeout(60000)] + public async Task TestOnlyRRAllNodesDownInPrimaryPlacement() + { + var connStringBuilder = "host=127.0.0.1;database=yugabyte;userid=yugabyte;password=yugabyte;Load Balance Hosts=onlyrr;Topology Keys=cloud1.datacenter2.rack1:1,cloud1.datacenter3.rack1:2;Timeout=0"; + + List conns = new List(); + CreateRRCluster(); + // Stop Node: 127.0.0.4 + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl stop_node 4"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + + try + { + conns = await CreateConnections(connStringBuilder, numConns, new []{0, 0, 0, -1, numConns, 0}); + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + } + finally + { + CloseConnections(conns); + } + } + + [Test, Timeout(60000)] + public async Task TestOnlyRRAllNodesDownInAllPlacement() + { + var connStringBuilder = "host=127.0.0.1;database=yugabyte;userid=yugabyte;password=yugabyte;Load Balance Hosts=onlyrr;Topology Keys=cloud1.datacenter2.rack1:1,cloud1.datacenter3.rack1:2;Timeout=0"; + + List conns = new List(); + CreateRRCluster(); + // Stop Node: 127.0.0.4, 127.0.0.5 + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl stop_node 4"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + cmd = "/bin/yb-ctl stop_node 5"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + + try + { + conns = await CreateConnections(connStringBuilder, numConns, new []{0, 0, 0, -1, -1, numConns}); + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + } + finally + { + CloseConnections(conns); + } + } + + [Test, Timeout(60000)] + public void TestOnlyRRAllNodesDownInAllPlacementsFallBackToTopologyOnly() + { + var connStringBuilder = "host=127.0.0.1;database=yugabyte;userid=yugabyte;password=yugabyte;Load Balance Hosts=onlyrr;Topology Keys=cloud1.datacenter2.rack1:1,cloud1.datacenter3.rack1:2;FallBack To Topology Keys Only=true;Timeout=0"; + + List conns = new List(); + CreateRRCluster(); + // Stop Node: 127.0.0.4, 127.0.0.5 + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl stop_node 4"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + cmd = "/bin/yb-ctl stop_node 5"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + + try + { + for (var i = 1; i <= numConns; i++) + { + NpgsqlConnection conn = new NpgsqlConnection(connStringBuilder); + conn.Open(); + conns.Add(conn); + } + + } + catch (NpgsqlException ex) + { + if (ex.Message.Equals("No suitable host was found", StringComparison.OrdinalIgnoreCase)) + Console.WriteLine("Expected Failure:" + ex.Message); + } + finally + { + CloseConnections(conns); + } + } + + [Test, Timeout(60000)] + public async Task TestPreferRR() + { + var connStringBuilder = "host=127.0.0.1;database=yugabyte;userid=yugabyte;password=yugabyte;Load Balance Hosts=preferrr;Topology Keys=cloud1.datacenter2.rack1:1,cloud1.datacenter3.rack1:2;Timeout=0"; + + List conns = new List(); + CreateRRCluster(); + + try + { + conns = await CreateConnections(connStringBuilder, numConns, new []{0, 0, 0, numConns, 0, 0}); + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + } + finally + { + CloseConnections(conns); + } + } + + [Test, Timeout(60000)] + public async Task TestPreferRRAllNodesDownInPrimaryPlacement() + { + var connStringBuilder = "host=127.0.0.1;database=yugabyte;userid=yugabyte;password=yugabyte;Load Balance Hosts=preferrr;Topology Keys=cloud1.datacenter2.rack1:1,cloud1.datacenter3.rack1:2;Timeout=0"; + + List conns = new List(); + CreateRRCluster(); + // Stop Node: 127.0.0.4 + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl stop_node 4"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + + try + { + conns = await CreateConnections(connStringBuilder, numConns, new []{0, 0, 0, -1, numConns, 0}); + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + } + finally + { + CloseConnections(conns); + } + } + + [Test, Timeout(60000)] + public async Task TestPreferRRAllNodesDownInAllPlacements() + { + var connStringBuilder = "host=127.0.0.1;database=yugabyte;userid=yugabyte;password=yugabyte;Load Balance Hosts=preferrr;Topology Keys=cloud1.datacenter2.rack1:1,cloud1.datacenter3.rack1:2;Timeout=0"; + + List conns = new List(); + CreateRRCluster(); + // Stop Node: 127.0.0.4, 127.0.0.5 + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl stop_node 4"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + cmd = "/bin/yb-ctl stop_node 5"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + + try + { + conns = await CreateConnections(connStringBuilder, numConns, new []{0, 0, 0, -1, -1, numConns}); + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + } + finally + { + CloseConnections(conns); + } + } + + [Test, Timeout(60000)] + public async Task? TestPreferRRAllRRNodesDown() + { + var connStringBuilder = "host=127.0.0.1;database=yugabyte;userid=yugabyte;password=yugabyte;Load Balance Hosts=preferrr;Topology Keys=cloud1.datacenter2.rack1:1,cloud1.datacenter3.rack1:2;Timeout=0"; + + List conns = new List(); + CreateRRCluster(); + // Stop Node: 127.0.0.4, 127.0.0.5, 127.0.0.6 + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl stop_node 4"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + cmd = "/bin/yb-ctl stop_node 5"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + cmd = "/bin/yb-ctl stop_node 6"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + + try + { + conns = await CreateConnections(connStringBuilder, numConns, new []{numConns / 3, numConns / 3, numConns / 3, -1, -1, -1}); + + // Start RR node: 127.0.0.4 + cmd = "/bin/yb-ctl start_node 4"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + + conns.Concat(await CreateConnections(connStringBuilder, numConns, new []{numConns / 3, numConns / 3, numConns / 3, numConns, -1, -1})); + + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + } + finally + { + CloseConnections(conns); + } + } + [Test, Timeout(60000)] + public async Task TestAny() + { + var connStringBuilder = "host=127.0.0.1;database=yugabyte;userid=yugabyte;password=yugabyte;Load Balance Hosts=any;Topology Keys=cloud1.datacenter2.rack1:1,cloud1.datacenter3.rack1:2;Timeout=0"; + + List conns = new List(); + CreateRRCluster(); + + try + { + conns = await CreateConnections(connStringBuilder, numConns, new []{0, numConns / 2, 0, numConns / 2, 0, 0}); + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + } + finally + { + CloseConnections(conns); + } + } + + [Test, Timeout(60000)] + public async Task TestAnyAllNodesDownPrimaryPlacement() + { + var connStringBuilder = "host=127.0.0.1;database=yugabyte;userid=yugabyte;password=yugabyte;Load Balance Hosts=any;Topology Keys=cloud1.datacenter2.rack1:1,cloud1.datacenter3.rack1:2;Timeout=0"; + + List conns = new List(); + CreateRRCluster(); + // Stop Node: 127.0.0.2, 127.0.0.4 + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl stop_node 2"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + cmd = "/bin/yb-ctl stop_node 4"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + + try + { + conns = await CreateConnections(connStringBuilder, numConns, new []{0, -1, numConns /2, -1, numConns / 2, 0}); + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + } + finally + { + CloseConnections(conns); + } + } + + [Test, Timeout(60000)] + public void TestAnyAllNodesDownAllPlacementFallBackToTopologyOnly() + { + var connStringBuilder = "host=127.0.0.1;database=yugabyte;userid=yugabyte;password=yugabyte;Load Balance Hosts=any;Topology Keys=cloud1.datacenter2.rack1:1,cloud1.datacenter3.rack1:2; FallBack To Topology Keys Only=true;Timeout=0"; + + List conns = new List(); + CreateRRCluster(); + // Stop Node: 127.0.0.2, 127.0.0.3, 127.0.0.4, 127.0.0.5 + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl stop_node 2"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + cmd = "/bin/yb-ctl stop_node 3"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + cmd = "/bin/yb-ctl stop_node 4"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + cmd = "/bin/yb-ctl stop_node 5"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + + try + { + for (var i = 1; i <= numConns; i++) + { + NpgsqlConnection conn = new NpgsqlConnection(connStringBuilder); + conn.Open(); + conns.Add(conn); + } + + } + catch (NpgsqlException ex) + { + if (ex.Message.Equals("No suitable host was found", StringComparison.OrdinalIgnoreCase)) + Console.WriteLine("Expected Failure:" + ex.Message); + } + finally + { + CloseConnections(conns); + } + } + + [Test, Timeout(60000)] + public async Task TestAnyAllNodesDownAllPlacement() + { + var connStringBuilder = "host=127.0.0.1;database=yugabyte;userid=yugabyte;password=yugabyte;Load Balance Hosts=any;Topology Keys=cloud1.datacenter2.rack1:1,cloud1.datacenter3.rack1:2;Timeout=0"; + + List conns = new List(); + CreateRRCluster(); + // Stop Node: 127.0.0.2, 127.0.0.3, 127.0.0.4, 127.0.0.5 + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl stop_node 2"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + cmd = "/bin/yb-ctl stop_node 3"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + cmd = "/bin/yb-ctl stop_node 4"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + cmd = "/bin/yb-ctl stop_node 5"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + + try + { + conns = await CreateConnections(connStringBuilder, numConns, new []{numConns /2 , -1, -1, -1, -1, numConns / 2}); + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + } + finally + { + CloseConnections(conns); + } + } + + static async Task> CreateConnections(string connString, int numConns, int[] count) + { + List conns = new List(); + try + { + for (var i = 1; i <= numConns; i++) + { + NpgsqlConnection conn = new NpgsqlConnection(connString); + conn.Open(); + conns.Add(conn); + } + + Console.WriteLine("Connections Created"); + + var j = 1; + foreach(var expectedCount in count) + { + if (expectedCount != -1) + { + await VerifyOn("127.0.0." + j, expectedCount); + } + + j++; + } + } + catch (Exception ex) + { + Console.WriteLine("Failure:" + ex.Message); + Console.WriteLine("Failure stacktrace: " + ex.StackTrace); + return conns; + } + + return conns; + + } + + void CreateRRCluster() + { + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl create --rf 3 --placement_info cloud1.datacenter1.rack1,cloud1.datacenter2.rack1,cloud1.datacenter3.rack1 --tserver_flags \"placement_uuid=live,max_stale_read_bound_time_ms=60000000\""; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + cmd = "/build/latest/bin/yb-admin --master_addresses 127.0.0.1:7100,127.0.0.2:7100,127.0.0.3:7100 modify_placement_info cloud1.datacenter1.rack1,cloud1.datacenter2.rack1,cloud1.datacenter3.rack1 3 live"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + cmd = "/bin/yb-ctl add_node --placement_info cloud1.datacenter2.rack1 --tserver_flags placement_uuid=rr"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + cmd = "/bin/yb-ctl add_node --placement_info cloud1.datacenter3.rack1 --tserver_flags placement_uuid=rr"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + cmd = "/bin/yb-ctl add_node --placement_info cloud1.datacenter4.rack1 --tserver_flags placement_uuid=rr"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + Console.WriteLine("Output:" + _Output); + } + + protected void DestroyCluster() + { + string? _Output = null; + string? _Error = null; + var cmd = "/bin/yb-ctl destroy"; + ExecuteShellCommand(cmd, ref _Output, ref _Error ); + } + + void CloseConnections(List conns) + { + foreach (var conn in conns) + { + conn.Close(); + } + VerifyLocal("127.0.0.1", 0); + VerifyLocal("127.0.0.2", 0); + VerifyLocal("127.0.0.3", 0); + VerifyLocal("127.0.0.4", 0); + VerifyLocal("127.0.0.5", 0); + VerifyLocal("127.0.0.6", 0); + DestroyCluster(); + } +}