Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion src/Marten/Storage/MartenDatabase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,11 @@ public override DatabaseDescriptor Describe()
descriptor.SchemaOrNamespace = Options?.DatabaseSchemaName ?? "public";
}

descriptor.TenantIds.AddRange(TenantIds);
foreach (var tenantId in TenantIds)
{
descriptor.TenantIds.Fill(tenantId);
}

return descriptor;
}

Expand Down
6 changes: 3 additions & 3 deletions src/Marten/Storage/MasterTableTenancy.cs
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ public async ValueTask<IReadOnlyList<IDatabase>> BuildDatabases()
var database = new MartenDatabase(_options, _options.NpgsqlDataSourceFactory.Create(connectionString),
tenantId);

database.TenantIds.Add(tenantId);
database.TenantIds.Fill(tenantId);

_databases = _databases.AddOrUpdate(tenantId, database);
}
Expand Down Expand Up @@ -303,7 +303,7 @@ private async Task seedDatabasesAsync(NpgsqlConnection conn)
{
var db = new MartenDatabase(_options,
_options.NpgsqlDataSourceFactory.Create(connectionString), tenantId);
db.TenantIds.Add(tenantId);
db.TenantIds.Fill(tenantId);

return db;
}
Expand Down Expand Up @@ -366,7 +366,7 @@ public async ValueTask<DatabaseUsage> DescribeDatabasesAsync(CancellationToken t
var list = _databases.Enumerate().Select(pair =>
{
var descriptor = pair.Value.Describe();
descriptor.TenantIds.Add(pair.Key);
descriptor.TenantIds.Fill(pair.Key);
return descriptor;
}).ToList();

Expand Down
5 changes: 4 additions & 1 deletion src/Marten/Storage/SingleServerMultiTenancy.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
using System.Threading.Tasks;
using ImTools;
using JasperFx;
using JasperFx.Core;
using JasperFx.Core.Reflection;
using JasperFx.Descriptors;
using JasperFx.MultiTenancy;
Expand Down Expand Up @@ -168,7 +169,9 @@ public async ValueTask<IReadOnlyList<IDatabase>> BuildDatabases()
{
// This just guarantees that all databases are built
foreach (var tenantId in _tenantToDatabase.Values.Distinct())
{
await FindOrCreateDatabase(tenantId).ConfigureAwait(false);
}

return AllDatabases();
}
Expand All @@ -195,7 +198,7 @@ public async ValueTask<DatabaseUsage> DescribeDatabasesAsync(CancellationToken t
Cardinality = DatabaseCardinality.DynamicMultiple, Databases = dict.Values.ToList()
};

foreach (var pair in _tenantToDatabase) dict[pair.Value].TenantIds.Add(pair.Key);
foreach (var pair in _tenantToDatabase) dict[pair.Value].TenantIds.Fill(pair.Key);

return usage;
}
Expand Down
5 changes: 3 additions & 2 deletions src/Marten/Storage/StaticMultiTenancy.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
using System.Threading.Tasks;
using ImTools;
using JasperFx;
using JasperFx.Core;
using JasperFx.Descriptors;
using JasperFx.MultiTenancy;
using Marten.Schema;
Expand Down Expand Up @@ -60,7 +61,7 @@ public ValueTask<DatabaseUsage> DescribeDatabasesAsync(CancellationToken token)

foreach (var pair in _tenants.Enumerate())
{
dict[pair.Value.Database.Identifier].TenantIds.Add(pair.Key);
dict[pair.Value.Database.Identifier].TenantIds.Fill(pair.Key);
}

return new ValueTask<DatabaseUsage>(usage);
Expand Down Expand Up @@ -200,7 +201,7 @@ public DatabaseExpression ForTenants(params string[] tenantIds)
foreach (var tenantId in tenantIds)
{
var tenant = new Tenant(tenantId, _database);
_database.TenantIds.Add(tenantId);
_database.TenantIds.Fill(tenantId);
_parent._tenants = _parent._tenants.AddOrUpdate(tenantId, tenant);
}

Expand Down
5 changes: 0 additions & 5 deletions src/Marten/Storage/Tenant2.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,6 @@ public Tenant(string tenantId, IMartenDatabase inner)
{
Database = inner;
TenantId = tenantId;

if (Database is MartenDatabase db)
{
db.TenantIds.Fill(tenantId);
}
}

public string TenantId { get; }
Expand Down
Loading