From f82dd465b124f00df58a30a1faf9d0d0d2287685 Mon Sep 17 00:00:00 2001 From: Timofey Gorshkov Date: Thu, 2 Feb 2017 17:36:09 +0300 Subject: [PATCH] HHH-11458 - Optimize the SQL formatter call when iterating through multiple targets --- .../hibernate/tool/schema/internal/AbstractSchemaMigrator.java | 3 ++- .../org/hibernate/tool/schema/internal/SchemaCreatorImpl.java | 3 ++- .../org/hibernate/tool/schema/internal/SchemaDropperImpl.java | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/hibernate-core/src/main/java/org/hibernate/tool/schema/internal/AbstractSchemaMigrator.java b/hibernate-core/src/main/java/org/hibernate/tool/schema/internal/AbstractSchemaMigrator.java index 6bdb4af198..49d9b9e29c 100644 --- a/hibernate-core/src/main/java/org/hibernate/tool/schema/internal/AbstractSchemaMigrator.java +++ b/hibernate-core/src/main/java/org/hibernate/tool/schema/internal/AbstractSchemaMigrator.java @@ -519,9 +519,10 @@ public abstract class AbstractSchemaMigrator implements SchemaMigrator { ExecutionOptions options, GenerationTarget... targets) { if ( !StringHelper.isEmpty( sqlString ) ) { + String sqlStringFormatted = formatter.format( sqlString ); for ( GenerationTarget target : targets ) { try { - target.accept( formatter.format( sqlString ) ); + target.accept( sqlStringFormatted ); } catch (CommandAcceptanceException e) { if ( !quiet ) { diff --git a/hibernate-core/src/main/java/org/hibernate/tool/schema/internal/SchemaCreatorImpl.java b/hibernate-core/src/main/java/org/hibernate/tool/schema/internal/SchemaCreatorImpl.java index 3963bc0c76..0de5e13f60 100644 --- a/hibernate-core/src/main/java/org/hibernate/tool/schema/internal/SchemaCreatorImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/tool/schema/internal/SchemaCreatorImpl.java @@ -435,8 +435,9 @@ public class SchemaCreatorImpl implements SchemaCreator { } try { + String sqlStringFormatted = formatter.format( sqlString ); for ( GenerationTarget target : targets ) { - target.accept( formatter.format( sqlString ) ); + target.accept( sqlStringFormatted ); } } catch (CommandAcceptanceException e) { diff --git a/hibernate-core/src/main/java/org/hibernate/tool/schema/internal/SchemaDropperImpl.java b/hibernate-core/src/main/java/org/hibernate/tool/schema/internal/SchemaDropperImpl.java index d89f2c057d..66395c39d1 100644 --- a/hibernate-core/src/main/java/org/hibernate/tool/schema/internal/SchemaDropperImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/tool/schema/internal/SchemaDropperImpl.java @@ -369,9 +369,10 @@ public class SchemaDropperImpl implements SchemaDropper { return; } + String sqlStringFormatted = formatter.format( sqlString ); for ( GenerationTarget target : targets ) { try { - target.accept( formatter.format( sqlString ) ); + target.accept( sqlStringFormatted ); } catch (CommandAcceptanceException e) { options.getExceptionHandler().handleException( e );