/
dev-npgsql
/
npgsql
Обзор
Документация
Войти
/
dev-npgsql
/
npgsql
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
v6.0.13
src/Npgsql/PostgresMinimalDatabaseInfo.cs
38 строк
1 KB
Shay Rojansky
Apply file-scoped namespaces for 6.0 (#4298)
28 янв 2022, 15:13
Не верифицирован
28 янв 2022, 15:13
2e0ad2d
Код
Авторство
О чём код?
using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Threading.Tasks; using Npgsql.Internal; using Npgsql.PostgresTypes; using Npgsql.Util; using NpgsqlTypes; namespace Npgsql; class PostgresMinimalDatabaseInfoFactory : INpgsqlDatabaseInfoFactory { public Task<NpgsqlDatabaseInfo?> Load(NpgsqlConnector conn, NpgsqlTimeout timeout, bool async) => Task.FromResult( conn.Settings.ServerCompatibilityMode == ServerCompatibilityMode.NoTypeLoading ? (NpgsqlDatabaseInfo)new PostgresMinimalDatabaseInfo(conn) : null ); } class PostgresMinimalDatabaseInfo : PostgresDatabaseInfo { static readonly PostgresBaseType[] Types = typeof(NpgsqlDbType).GetFields() .Select(f => f.GetCustomAttribute<BuiltInPostgresType>()) .OfType<BuiltInPostgresType>() .Select(a => new PostgresBaseType("pg_catalog", a.Name, a.OID)) .ToArray(); protected override IEnumerable<PostgresType> GetTypes() => Types; internal PostgresMinimalDatabaseInfo(NpgsqlConnector conn) : base(conn) { HasIntegerDateTimes = !conn.PostgresParameters.TryGetValue("integer_datetimes", out var intDateTimes) || intDateTimes == "on"; } }