Skip to content

Commit 704c5b8

Browse files
committed
NH-4043 - Optimize to only initialize SchemaUpdate once.
1 parent 14aae0c commit 704c5b8

File tree

1 file changed

+20
-7
lines changed

1 file changed

+20
-7
lines changed

src/NHibernate/Tool/hbm2ddl/SchemaUpdate.cs

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ namespace NHibernate.Tool.hbm2ddl
1111
public class SchemaUpdate
1212
{
1313
private static readonly IInternalLogger log = LoggerProvider.LoggerFor(typeof (SchemaUpdate));
14+
private bool wasInitialized;
1415
private readonly Configuration configuration;
1516
private readonly IConnectionHelper connectionHelper;
1617
private readonly Dialect.Dialect dialect;
@@ -42,6 +43,24 @@ public SchemaUpdate(Configuration cfg, Settings settings)
4243
formatter = (settings.SqlStatementLogger.FormatSql ? FormatStyle.Ddl : FormatStyle.None).Formatter;
4344
}
4445

46+
private void Initialize()
47+
{
48+
if (wasInitialized)
49+
{
50+
return;
51+
}
52+
53+
string autoKeyWordsImport = PropertiesHelper.GetString(Environment.Hbm2ddlKeyWords, configuration.Properties, "not-defined");
54+
autoKeyWordsImport = autoKeyWordsImport.ToLowerInvariant();
55+
if (autoKeyWordsImport == Hbm2DDLKeyWords.AutoQuote)
56+
{
57+
SchemaMetadataUpdater.Update(configuration, dialect);
58+
SchemaMetadataUpdater.QuoteTableAndColumns(configuration, dialect);
59+
}
60+
61+
wasInitialized = true;
62+
}
63+
4564
/// <summary>
4665
/// Returns a List of all Exceptions which occurred during the export.
4766
/// </summary>
@@ -137,13 +156,7 @@ public void Execute(Action<string> scriptAction, bool doUpdate)
137156
{
138157
log.Info("Running hbm2ddl schema update");
139158

140-
string autoKeyWordsImport = PropertiesHelper.GetString(Environment.Hbm2ddlKeyWords, configuration.Properties, "not-defined");
141-
autoKeyWordsImport = autoKeyWordsImport.ToLowerInvariant();
142-
if (autoKeyWordsImport == Hbm2DDLKeyWords.AutoQuote)
143-
{
144-
SchemaMetadataUpdater.Update(configuration, dialect);
145-
SchemaMetadataUpdater.QuoteTableAndColumns(configuration, dialect);
146-
}
159+
Initialize();
147160

148161
DbConnection connection;
149162
DbCommand stmt = null;

0 commit comments

Comments
 (0)