1414import org .hibernate .boot .model .relational .QualifiedTableName ;
1515import org .hibernate .boot .model .relational .SqlStringGenerationContext ;
1616import org .hibernate .cfg .AvailableSettings ;
17+ import org .hibernate .cfg .MappingSettings ;
1718import org .hibernate .dialect .Dialect ;
1819import org .hibernate .engine .jdbc .env .spi .IdentifierHelper ;
1920import org .hibernate .engine .jdbc .env .spi .JdbcEnvironment ;
@@ -33,8 +34,8 @@ public static SqlStringGenerationContext fromConfigurationMap(
3334 JdbcEnvironment jdbcEnvironment ,
3435 Database database ,
3536 Map <String , Object > configurationMap ) {
36- String defaultCatalog = (String ) configurationMap .get ( AvailableSettings .DEFAULT_CATALOG );
37- String defaultSchema = (String ) configurationMap .get ( AvailableSettings .DEFAULT_SCHEMA );
37+ final String defaultCatalog = (String ) configurationMap .get ( MappingSettings .DEFAULT_CATALOG );
38+ final String defaultSchema = (String ) configurationMap .get ( MappingSettings .DEFAULT_SCHEMA );
3839 return create ( jdbcEnvironment , database , defaultCatalog , defaultSchema , false );
3940 }
4041
@@ -48,8 +49,8 @@ public static SqlStringGenerationContext fromConfigurationMapForMigration(
4849 JdbcEnvironment jdbcEnvironment ,
4950 Database database ,
5051 Map <String , Object > configurationMap ) {
51- String defaultCatalog = (String ) configurationMap .get ( AvailableSettings .DEFAULT_CATALOG );
52- String defaultSchema = (String ) configurationMap .get ( AvailableSettings .DEFAULT_SCHEMA );
52+ final String defaultCatalog = (String ) configurationMap .get ( MappingSettings .DEFAULT_CATALOG );
53+ final String defaultSchema = (String ) configurationMap .get ( MappingSettings .DEFAULT_SCHEMA );
5354 return create ( jdbcEnvironment , database , defaultCatalog , defaultSchema , true );
5455 }
5556
@@ -74,27 +75,34 @@ private static SqlStringGenerationContext create(
7475 String defaultCatalog ,
7576 String defaultSchema ,
7677 boolean forMigration ) {
77- final Namespace .Name implicitNamespaceName = database .getPhysicalImplicitNamespaceName ();
78- final IdentifierHelper identifierHelper = jdbcEnvironment .getIdentifierHelper ();
79- final NameQualifierSupport nameQualifierSupport = jdbcEnvironment .getNameQualifierSupport ();
80-
81- Identifier actualDefaultCatalog = null ;
82- if ( nameQualifierSupport .supportsCatalogs () ) {
83- actualDefaultCatalog = identifierHelper .toIdentifier ( defaultCatalog );
84- if ( actualDefaultCatalog == null ) {
85- actualDefaultCatalog = implicitNamespaceName .catalog ();
86- }
87- }
78+ final var implicitNamespaceName = database .getPhysicalImplicitNamespaceName ();
79+ final var identifierHelper = jdbcEnvironment .getIdentifierHelper ();
80+ final var nameQualifierSupport = jdbcEnvironment .getNameQualifierSupport ();
81+ final Identifier actualDefaultCatalog =
82+ actualDefaultCatalog ( defaultCatalog , nameQualifierSupport , identifierHelper , implicitNamespaceName );
83+ final Identifier actualDefaultSchema =
84+ actualDefaultSchema ( defaultSchema , nameQualifierSupport , identifierHelper , implicitNamespaceName );
85+ return new SqlStringGenerationContextImpl ( jdbcEnvironment , actualDefaultCatalog , actualDefaultSchema , forMigration );
86+ }
8887
89- Identifier actualDefaultSchema = null ;
88+ private static Identifier actualDefaultSchema ( String defaultSchema , NameQualifierSupport nameQualifierSupport , IdentifierHelper identifierHelper , Namespace . Name implicitNamespaceName ) {
9089 if ( nameQualifierSupport .supportsSchemas () ) {
91- actualDefaultSchema = identifierHelper .toIdentifier ( defaultSchema );
92- if ( defaultSchema == null ) {
93- actualDefaultSchema = implicitNamespaceName .schema ();
94- }
90+ Identifier actualDefaultSchema = identifierHelper .toIdentifier ( defaultSchema );
91+ return actualDefaultSchema == null ? implicitNamespaceName .schema () : actualDefaultSchema ;
92+ }
93+ else {
94+ return null ;
9595 }
96+ }
9697
97- return new SqlStringGenerationContextImpl ( jdbcEnvironment , actualDefaultCatalog , actualDefaultSchema , forMigration );
98+ private static Identifier actualDefaultCatalog (String defaultCatalog , NameQualifierSupport nameQualifierSupport , IdentifierHelper identifierHelper , Namespace .Name implicitNamespaceName ) {
99+ if ( nameQualifierSupport .supportsCatalogs () ) {
100+ final Identifier actualDefaultCatalog = identifierHelper .toIdentifier ( defaultCatalog );
101+ return actualDefaultCatalog == null ? implicitNamespaceName .catalog () : actualDefaultCatalog ;
102+ }
103+ else {
104+ return null ;
105+ }
98106 }
99107
100108 public static SqlStringGenerationContext forTests (JdbcEnvironment jdbcEnvironment ) {
@@ -123,12 +131,12 @@ private SqlStringGenerationContextImpl(
123131 Identifier defaultCatalog ,
124132 Identifier defaultSchema ,
125133 boolean migration ) {
126- this .dialect = jdbcEnvironment .getDialect ();
127- this .identifierHelper = jdbcEnvironment .getIdentifierHelper ();
128- this .qualifiedObjectNameFormatter = jdbcEnvironment .getQualifiedObjectNameFormatter ();
129134 this .defaultCatalog = defaultCatalog ;
130135 this .defaultSchema = defaultSchema ;
131136 this .migration = migration ;
137+ dialect = jdbcEnvironment .getDialect ();
138+ identifierHelper = jdbcEnvironment .getIdentifierHelper ();
139+ qualifiedObjectNameFormatter = jdbcEnvironment .getQualifiedObjectNameFormatter ();
132140 }
133141
134142 @ Override
@@ -138,7 +146,9 @@ public Dialect getDialect() {
138146
139147 @ Override
140148 public Identifier toIdentifier (String text ) {
141- return identifierHelper != null ? identifierHelper .toIdentifier ( text ) : Identifier .toIdentifier ( text );
149+ return identifierHelper != null
150+ ? identifierHelper .toIdentifier ( text )
151+ : Identifier .toIdentifier ( text );
142152 }
143153
144154 @ Override
@@ -168,16 +178,21 @@ public String format(QualifiedName qualifiedName) {
168178
169179 @ Override
170180 public String formatWithoutCatalog (QualifiedSequenceName qualifiedName ) {
171- QualifiedSequenceName nameToFormat ;
181+ return qualifiedObjectNameFormatter .format ( nameToFormat ( qualifiedName ), dialect );
182+ }
183+
184+ private QualifiedSequenceName nameToFormat (QualifiedSequenceName qualifiedName ) {
172185 if ( qualifiedName .getCatalogName () != null
173186 || qualifiedName .getSchemaName () == null && defaultSchema != null ) {
174- nameToFormat = new QualifiedSequenceName ( null ,
175- schemaWithDefault ( qualifiedName .getSchemaName () ), qualifiedName .getSequenceName () );
187+ return new QualifiedSequenceName (
188+ null ,
189+ schemaWithDefault ( qualifiedName .getSchemaName () ),
190+ qualifiedName .getSequenceName ()
191+ );
176192 }
177193 else {
178- nameToFormat = qualifiedName ;
194+ return qualifiedName ;
179195 }
180- return qualifiedObjectNameFormatter .format ( nameToFormat , dialect );
181196 }
182197
183198 @ Override
0 commit comments