private PostgreSqlDataSource(string name, NpgsqlConnectionStringBuilder connectionBuilder, PostgreSqlDataSourceSettings settings, PostgreSqlMetadataCache databaseMetadata, ICacheAdapter cache, ConcurrentDictionary<Type, object> extensionCache)
: base(settings)
{
if (connectionBuilder == null)
throw new ArgumentNullException(nameof(connectionBuilder), $"{nameof(connectionBuilder)} is null.");
m_ConnectionBuilder = connectionBuilder;
if (string.IsNullOrEmpty(name))
Name = m_ConnectionBuilder.Database;
else
Name = name;
m_DatabaseMetadata = databaseMetadata;
m_ExtensionCache = extensionCache;
m_Cache = cache;
}