using System;
using System.Data;
namespace Dapper
{
///
/// Handles variances in features per DBMS
///
class FeatureSupport
{
private static readonly FeatureSupport
Default = new FeatureSupport(false),
Postgres = new FeatureSupport(true);
///
/// Gets the feature set based on the passed connection
///
public static FeatureSupport Get(IDbConnection connection)
{
string name = connection?.GetType().Name;
if (string.Equals(name, "npgsqlconnection", StringComparison.OrdinalIgnoreCase)) return Postgres;
return Default;
}
private FeatureSupport(bool arrays)
{
Arrays = arrays;
}
///
/// True if the db supports array columns e.g. Postgresql
///
public bool Arrays { get; }
}
}