Skip to content

Commit 3118666

Browse files
committed
Wrap mapping usages in StaticDialectMappingWrapper in Configuration class
1 parent 40779f9 commit 3118666

File tree

1 file changed

+19
-12
lines changed

1 file changed

+19
-12
lines changed

src/NHibernate/Cfg/Configuration.cs

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -244,10 +244,14 @@ private class StaticDialectMappingWrapper : IMapping
244244
{
245245
private readonly IMapping _mapping;
246246

247-
public StaticDialectMappingWrapper(IMapping mapping)
247+
public StaticDialectMappingWrapper(IMapping mapping): this(mapping, mapping.Dialect)
248+
{
249+
}
250+
251+
public StaticDialectMappingWrapper(IMapping mapping, Dialect.Dialect dialect)
248252
{
249253
_mapping = mapping;
250-
Dialect = mapping.Dialect;
254+
Dialect = dialect;
251255
}
252256

253257
public IType GetIdentifierType(string className)
@@ -939,11 +943,12 @@ public string[] GenerateSchemaCreationScript(Dialect.Dialect dialect)
939943

940944
var script = new List<string>();
941945

946+
var staticDialectMapping = new StaticDialectMappingWrapper(mapping, dialect);
942947
foreach (var table in TableMappings)
943948
{
944949
if (table.IsPhysicalTable && IncludeAction(table.SchemaActions, SchemaAction.Export))
945950
{
946-
script.Add(table.SqlCreateString(dialect, mapping, defaultCatalog, defaultSchema));
951+
script.Add(table.SqlCreateString(dialect, staticDialectMapping, defaultCatalog, defaultSchema));
947952
script.AddRange(table.SqlCommentStrings(dialect, defaultCatalog, defaultSchema));
948953
}
949954
}
@@ -956,7 +961,7 @@ public string[] GenerateSchemaCreationScript(Dialect.Dialect dialect)
956961
{
957962
foreach (var uk in table.UniqueKeyIterator)
958963
{
959-
string constraintString = uk.SqlCreateString(dialect, mapping, defaultCatalog, defaultSchema);
964+
string constraintString = uk.SqlCreateString(dialect, staticDialectMapping, defaultCatalog, defaultSchema);
960965
if (constraintString != null)
961966
{
962967
script.Add(constraintString);
@@ -966,7 +971,7 @@ public string[] GenerateSchemaCreationScript(Dialect.Dialect dialect)
966971

967972
foreach (var index in table.IndexIterator)
968973
{
969-
script.Add(index.SqlCreateString(dialect, mapping, defaultCatalog, defaultSchema));
974+
script.Add(index.SqlCreateString(dialect, staticDialectMapping, defaultCatalog, defaultSchema));
970975
}
971976

972977
if (dialect.SupportsForeignKeyConstraintInAlterTable)
@@ -975,7 +980,7 @@ public string[] GenerateSchemaCreationScript(Dialect.Dialect dialect)
975980
{
976981
if (fk.IsGenerated(dialect) && IncludeAction(fk.ReferencedTable.SchemaActions, SchemaAction.Export))
977982
{
978-
script.Add(fk.SqlCreateString(dialect, mapping, defaultCatalog, defaultSchema));
983+
script.Add(fk.SqlCreateString(dialect, staticDialectMapping, defaultCatalog, defaultSchema));
979984
}
980985
}
981986
}
@@ -992,7 +997,7 @@ public string[] GenerateSchemaCreationScript(Dialect.Dialect dialect)
992997
{
993998
if (auxDbObj.AppliesToDialect(dialect))
994999
{
995-
script.Add(auxDbObj.SqlCreateString(dialect, mapping, defaultCatalog, defaultSchema));
1000+
script.Add(auxDbObj.SqlCreateString(dialect, staticDialectMapping, defaultCatalog, defaultSchema));
9961001
}
9971002
}
9981003

@@ -2363,6 +2368,7 @@ public string[] GenerateSchemaUpdateScript(Dialect.Dialect dialect, IDatabaseMet
23632368
var defaultSchema = GetQuotedDefaultSchema(dialect);
23642369

23652370
var script = new List<string>(50);
2371+
var staticDialectMapping = new StaticDialectMappingWrapper(mapping, dialect);
23662372
foreach (var table in TableMappings)
23672373
{
23682374
if (table.IsPhysicalTable && IncludeAction(table.SchemaActions, SchemaAction.Update))
@@ -2371,11 +2377,11 @@ public string[] GenerateSchemaUpdateScript(Dialect.Dialect dialect, IDatabaseMet
23712377
table.Catalog ?? defaultCatalog, table.IsQuoted);
23722378
if (tableInfo == null)
23732379
{
2374-
script.Add(table.SqlCreateString(dialect, mapping, defaultCatalog, defaultSchema));
2380+
script.Add(table.SqlCreateString(dialect, staticDialectMapping, defaultCatalog, defaultSchema));
23752381
}
23762382
else
23772383
{
2378-
string[] alterDDL = table.SqlAlterStrings(dialect, mapping, tableInfo, defaultCatalog, defaultSchema);
2384+
string[] alterDDL = table.SqlAlterStrings(dialect, staticDialectMapping, tableInfo, defaultCatalog, defaultSchema);
23792385
script.AddRange(alterDDL);
23802386
}
23812387

@@ -2403,7 +2409,7 @@ public string[] GenerateSchemaUpdateScript(Dialect.Dialect dialect, IDatabaseMet
24032409
&& (!(dialect is MySQLDialect) || tableInfo.GetIndexMetadata(fk.Name) == null));
24042410
if (create)
24052411
{
2406-
script.Add(fk.SqlCreateString(dialect, mapping, defaultCatalog, defaultSchema));
2412+
script.Add(fk.SqlCreateString(dialect, staticDialectMapping, defaultCatalog, defaultSchema));
24072413
}
24082414
}
24092415
}
@@ -2413,7 +2419,7 @@ public string[] GenerateSchemaUpdateScript(Dialect.Dialect dialect, IDatabaseMet
24132419
{
24142420
if (tableInfo == null || tableInfo.GetIndexMetadata(index.Name) == null)
24152421
{
2416-
script.Add(index.SqlCreateString(dialect, mapping, defaultCatalog, defaultSchema));
2422+
script.Add(index.SqlCreateString(dialect, staticDialectMapping, defaultCatalog, defaultSchema));
24172423
}
24182424
}
24192425
}
@@ -2439,6 +2445,7 @@ public void ValidateSchema(Dialect.Dialect dialect, IDatabaseMetadata databaseMe
24392445
{
24402446
SecondPassCompile();
24412447

2448+
var staticDialectMapping = new StaticDialectMappingWrapper(mapping, dialect);
24422449
var defaultCatalog = GetQuotedDefaultCatalog(dialect);
24432450
var defaultSchema = GetQuotedDefaultSchema(dialect);
24442451

@@ -2465,7 +2472,7 @@ public void ValidateSchema(Dialect.Dialect dialect, IDatabaseMetadata databaseMe
24652472
}
24662473
else
24672474
{
2468-
validationErrors.AddRange(table.ValidateColumns(dialect, mapping, tableInfo));
2475+
validationErrors.AddRange(table.ValidateColumns(dialect, staticDialectMapping, tableInfo));
24692476
}
24702477
}
24712478
}

0 commit comments

Comments
 (0)