Skip to content

Commit ac366ab

Browse files
committed
minor code cleanups in Dialects
1 parent 058c56d commit ac366ab

File tree

5 files changed

+57
-59
lines changed

5 files changed

+57
-59
lines changed

hibernate-core/src/main/java/org/hibernate/dialect/CockroachDialect.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -179,11 +179,12 @@ public DatabaseVersion determineDatabaseVersion(DialectResolutionInfo info) {
179179

180180
protected static DatabaseVersion fetchDataBaseVersion(DialectResolutionInfo info) {
181181
String versionString = null;
182-
if ( info.getDatabaseMetadata() != null ) {
183-
try ( java.sql.Statement s = info.getDatabaseMetadata().getConnection().createStatement() ) {
184-
final ResultSet rs = s.executeQuery( "SELECT version()" );
185-
if ( rs.next() ) {
186-
versionString = rs.getString( 1 );
182+
final DatabaseMetaData databaseMetadata = info.getDatabaseMetadata();
183+
if ( databaseMetadata != null ) {
184+
try ( var statement = databaseMetadata.getConnection().createStatement() ) {
185+
final ResultSet resultSet = statement.executeQuery( "SELECT version()" );
186+
if ( resultSet.next() ) {
187+
versionString = resultSet.getString( 1 );
187188
}
188189
}
189190
catch (SQLException ex) {

hibernate-core/src/main/java/org/hibernate/dialect/H2Dialect.java

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@
4545
import org.hibernate.exception.spi.SQLExceptionConversionDelegate;
4646
import org.hibernate.exception.spi.TemplatedViolatedConstraintNameExtractor;
4747
import org.hibernate.exception.spi.ViolatedConstraintNameExtractor;
48-
import org.hibernate.internal.util.StringHelper;
4948
import org.hibernate.metamodel.mapping.EntityMappingType;
5049
import org.hibernate.metamodel.spi.RuntimeModelCreationContext;
5150
import org.hibernate.persister.entity.mutation.EntityMutationTarget;
@@ -87,6 +86,7 @@
8786

8887
import static org.hibernate.exception.spi.TemplatedViolatedConstraintNameExtractor.extractUsingTemplate;
8988
import static org.hibernate.internal.util.JdbcExceptionHelper.extractErrorCode;
89+
import static org.hibernate.internal.util.StringHelper.split;
9090
import static org.hibernate.query.common.TemporalUnit.SECOND;
9191
import static org.hibernate.type.SqlTypes.BIGINT;
9292
import static org.hibernate.type.SqlTypes.BINARY;
@@ -144,7 +144,7 @@ public H2Dialect() {
144144
}
145145

146146
public H2Dialect(DatabaseVersion version) {
147-
super(version);
147+
super( version );
148148

149149
// Prior to 1.4.200 there was no support for 'current value for sequence_name'
150150
// After 2.0.202 there is no support for 'sequence_name.nextval' and 'sequence_name.currval'
@@ -155,13 +155,13 @@ public H2Dialect(DatabaseVersion version) {
155155
// 1.4.200 introduced changes in current_time and current_timestamp
156156
useLocalTime = true;
157157

158-
this.sequenceInformationExtractor = SequenceInformationExtractorLegacyImpl.INSTANCE;
159-
this.querySequenceString = "select * from INFORMATION_SCHEMA.SEQUENCES";
158+
sequenceInformationExtractor = SequenceInformationExtractorLegacyImpl.INSTANCE;
159+
querySequenceString = "select * from INFORMATION_SCHEMA.SEQUENCES";
160160
}
161161

162162
@Override
163163
public DatabaseVersion determineDatabaseVersion(DialectResolutionInfo info) {
164-
return staticDetermineDatabaseVersion(info);
164+
return staticDetermineDatabaseVersion( info );
165165
}
166166

167167
// Static version necessary to call from constructor
@@ -177,9 +177,10 @@ private static int parseBuildId(DialectResolutionInfo info) {
177177
if ( databaseVersion == null ) {
178178
return 0;
179179
}
180-
181-
final String[] bits = StringHelper.split( ". -", databaseVersion );
182-
return bits.length > 2 ? Integer.parseInt( bits[2] ) : 0;
180+
else {
181+
final String[] bits = split( ". -", databaseVersion );
182+
return bits.length > 2 ? Integer.parseInt( bits[2] ) : 0;
183+
}
183184
}
184185

185186
@Override
@@ -231,7 +232,6 @@ protected String castType(int sqlTypeCode) {
231232
protected void registerColumnTypes(TypeContributions typeContributions, ServiceRegistry serviceRegistry) {
232233
super.registerColumnTypes( typeContributions, serviceRegistry );
233234
final DdlTypeRegistry ddlTypeRegistry = typeContributions.getTypeConfiguration().getDdlTypeRegistry();
234-
235235
ddlTypeRegistry.addDescriptor( new DdlTypeImpl( UUID, "uuid", this ) );
236236
ddlTypeRegistry.addDescriptor( new DdlTypeImpl( GEOMETRY, "geometry", this ) );
237237
ddlTypeRegistry.addDescriptor( new DdlTypeImpl( INTERVAL_SECOND, "interval second($p,$s)", this ) );
@@ -243,10 +243,9 @@ protected void registerColumnTypes(TypeContributions typeContributions, ServiceR
243243
@Override
244244
public void contributeTypes(TypeContributions typeContributions, ServiceRegistry serviceRegistry) {
245245
super.contributeTypes( typeContributions, serviceRegistry );
246-
247-
final JdbcTypeRegistry jdbcTypeRegistry = typeContributions.getTypeConfiguration()
248-
.getJdbcTypeRegistry();
249-
246+
final JdbcTypeRegistry jdbcTypeRegistry =
247+
typeContributions.getTypeConfiguration()
248+
.getJdbcTypeRegistry();
250249
jdbcTypeRegistry.addDescriptor( TimeUtcAsOffsetTimeJdbcType.INSTANCE );
251250
jdbcTypeRegistry.addDescriptor( TimestampUtcAsInstantJdbcType.INSTANCE );
252251
jdbcTypeRegistry.addDescriptorIfAbsent( UUIDJdbcType.INSTANCE );
@@ -275,9 +274,10 @@ public boolean hasOddDstBehavior() {
275274

276275
@Override
277276
public void initializeFunctionRegistry(FunctionContributions functionContributions) {
278-
super.initializeFunctionRegistry(functionContributions);
277+
super.initializeFunctionRegistry( functionContributions );
279278

280-
CommonFunctionFactory functionFactory = new CommonFunctionFactory(functionContributions);
279+
final CommonFunctionFactory functionFactory =
280+
new CommonFunctionFactory( functionContributions );
281281

282282
// H2 needs an actual argument type for aggregates like SUM, AVG, MIN, MAX to determine the result type
283283
functionFactory.aggregates( this, SqlAstNodeRenderingMode.NO_PLAIN_PARAMETER );

hibernate-core/src/main/java/org/hibernate/dialect/MySQLDialect.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,9 @@ protected void initDefaultProperties() {
251251
}
252252

253253
private MySQLStorageEngine createStorageEngine() {
254-
final String storageEngine = Environment.getProperties().getProperty( AvailableSettings.STORAGE_ENGINE );
254+
final String storageEngine =
255+
Environment.getProperties()
256+
.getProperty( AvailableSettings.STORAGE_ENGINE );
255257
return storageEngine == null
256258
? getDefaultMySQLStorageEngine()
257259
: switch ( storageEngine ) {
@@ -577,7 +579,8 @@ public int getPreferredSqlTypeCodeForArray() {
577579
public void initializeFunctionRegistry(FunctionContributions functionContributions) {
578580
super.initializeFunctionRegistry(functionContributions);
579581

580-
CommonFunctionFactory functionFactory = new CommonFunctionFactory(functionContributions);
582+
final CommonFunctionFactory functionFactory =
583+
new CommonFunctionFactory( functionContributions );
581584

582585
functionFactory.soundex();
583586
functionFactory.radians();
@@ -629,9 +632,10 @@ public void initializeFunctionRegistry(FunctionContributions functionContributio
629632
functionFactory.makedateMaketime();
630633
functionFactory.localtimeLocaltimestamp();
631634

632-
BasicTypeRegistry basicTypeRegistry = functionContributions.getTypeConfiguration().getBasicTypeRegistry();
635+
final BasicTypeRegistry basicTypeRegistry =
636+
functionContributions.getTypeConfiguration().getBasicTypeRegistry();
633637

634-
SqmFunctionRegistry functionRegistry = functionContributions.getFunctionRegistry();
638+
final SqmFunctionRegistry functionRegistry = functionContributions.getFunctionRegistry();
635639

636640
// pi() produces a value with 7 digits unless we're explicit
637641
functionRegistry.patternDescriptorBuilder( "pi", "cast(pi() as double)" )
@@ -756,7 +760,8 @@ public String castPattern(CastType from, CastType to) {
756760
}
757761

758762
private void time(FunctionContributions queryEngine) {
759-
queryEngine.getFunctionRegistry().namedDescriptorBuilder( "time" )
763+
queryEngine.getFunctionRegistry()
764+
.namedDescriptorBuilder( "time" )
760765
.setExactArgumentCount( 1 )
761766
.setInvariantType( queryEngine.getTypeConfiguration().getBasicTypeRegistry()
762767
.resolve( StandardBasicTypes.STRING ) )

hibernate-core/src/main/java/org/hibernate/dialect/SQLServerDialect.java

Lines changed: 18 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@
5757
import org.hibernate.exception.spi.SQLExceptionConversionDelegate;
5858
import org.hibernate.exception.spi.TemplatedViolatedConstraintNameExtractor;
5959
import org.hibernate.exception.spi.ViolatedConstraintNameExtractor;
60-
import org.hibernate.internal.util.config.ConfigurationHelper;
6160
import org.hibernate.mapping.AggregateColumn;
6261
import org.hibernate.mapping.CheckConstraint;
6362
import org.hibernate.mapping.Column;
@@ -103,6 +102,7 @@
103102
import static org.hibernate.internal.util.JdbcExceptionHelper.extractSqlState;
104103
import static org.hibernate.internal.util.StringHelper.isBlank;
105104
import static org.hibernate.internal.util.StringHelper.isNotEmpty;
105+
import static org.hibernate.internal.util.config.ConfigurationHelper.getInteger;
106106
import static org.hibernate.query.common.TemporalUnit.NANOSECOND;
107107
import static org.hibernate.query.sqm.produce.function.FunctionParameterType.INTEGER;
108108
import static org.hibernate.type.SqlTypes.BLOB;
@@ -176,11 +176,9 @@ public Size resolveSize(
176176
@Override
177177
protected void applyAggregateColumnCheck(StringBuilder buf, AggregateColumn aggregateColumn) {
178178
final JdbcType jdbcType = aggregateColumn.getType().getJdbcType();
179-
if ( jdbcType.isXml() ) {
180-
// XML columns can't have check constraints
181-
return;
179+
if ( !jdbcType.isXml() ) { // XML columns can't have check constraints
180+
super.applyAggregateColumnCheck( buf, aggregateColumn );
182181
}
183-
super.applyAggregateColumnCheck( buf, aggregateColumn );
184182
}
185183
};
186184

@@ -190,7 +188,7 @@ public SQLServerDialect() {
190188

191189
public SQLServerDialect(DatabaseVersion version) {
192190
super(version);
193-
exporter = createSequenceExporter(version);
191+
exporter = new SqlServerSequenceExporter( this );
194192
}
195193

196194
public SQLServerDialect(DialectResolutionInfo info) {
@@ -217,10 +215,11 @@ private static DatabaseVersion staticDetermineDatabaseVersion(DialectResolutionI
217215
private static Integer getCompatibilityLevel(DialectResolutionInfo info) {
218216
final DatabaseMetaData databaseMetaData = info.getDatabaseMetadata();
219217
if ( databaseMetaData != null ) {
220-
try ( java.sql.Statement statement = databaseMetaData.getConnection().createStatement() ) {
221-
final ResultSet rs = statement.executeQuery( "SELECT compatibility_level FROM sys.databases where name = db_name();" );
222-
if ( rs.next() ) {
223-
return rs.getInt( 1 );
218+
try ( var statement = databaseMetaData.getConnection().createStatement() ) {
219+
final ResultSet resultSet =
220+
statement.executeQuery( "SELECT compatibility_level FROM sys.databases where name = db_name();" );
221+
if ( resultSet.next() ) {
222+
return resultSet.getInt( 1 );
224223
}
225224
}
226225
catch (SQLException e) {
@@ -229,11 +228,7 @@ private static Integer getCompatibilityLevel(DialectResolutionInfo info) {
229228
}
230229

231230
// default to the dialect-specific configuration setting
232-
return ConfigurationHelper.getInteger( SQL_SERVER_COMPATIBILITY_LEVEL, info.getConfigurationValues() );
233-
}
234-
235-
private StandardSequenceExporter createSequenceExporter(DatabaseVersion version) {
236-
return new SqlServerSequenceExporter(this);
231+
return getInteger( SQL_SERVER_COMPATIBILITY_LEVEL, info.getConfigurationValues() );
237232
}
238233

239234
@Override
@@ -350,14 +345,10 @@ public int getMaxIdentifierLength() {
350345
@Override
351346
public void contributeTypes(TypeContributions typeContributions, ServiceRegistry serviceRegistry) {
352347
super.contributeTypes( typeContributions, serviceRegistry );
353-
354348
// Need to bind as java.sql.Timestamp because reading OffsetDateTime from a "datetime2" column fails
355349
typeContributions.contributeJdbcType( TimestampUtcAsJdbcTimestampJdbcType.INSTANCE );
356-
357-
typeContributions.getTypeConfiguration().getJdbcTypeRegistry().addDescriptor(
358-
Types.TINYINT,
359-
TinyIntAsSmallIntJdbcType.INSTANCE
360-
);
350+
typeContributions.getTypeConfiguration().getJdbcTypeRegistry()
351+
.addDescriptor( Types.TINYINT, TinyIntAsSmallIntJdbcType.INSTANCE );
361352
typeContributions.contributeJdbcType( SQLServerCastingXmlJdbcType.INSTANCE );
362353
typeContributions.contributeJdbcType( UUIDJdbcType.INSTANCE );
363354
typeContributions.contributeJdbcTypeConstructor( SQLServerCastingXmlArrayJdbcTypeConstructor.INSTANCE );
@@ -367,12 +358,13 @@ public void contributeTypes(TypeContributions typeContributions, ServiceRegistry
367358
public void initializeFunctionRegistry(FunctionContributions functionContributions) {
368359
super.initializeFunctionRegistry(functionContributions);
369360

370-
final BasicTypeRegistry basicTypeRegistry = functionContributions.getTypeConfiguration().getBasicTypeRegistry();
371-
BasicType<Date> dateType = basicTypeRegistry.resolve( StandardBasicTypes.DATE );
372-
BasicType<Date> timeType = basicTypeRegistry.resolve( StandardBasicTypes.TIME );
373-
BasicType<Date> timestampType = basicTypeRegistry.resolve( StandardBasicTypes.TIMESTAMP );
361+
final BasicTypeRegistry basicTypeRegistry =
362+
functionContributions.getTypeConfiguration().getBasicTypeRegistry();
363+
final BasicType<Date> dateType = basicTypeRegistry.resolve( StandardBasicTypes.DATE );
364+
final BasicType<Date> timeType = basicTypeRegistry.resolve( StandardBasicTypes.TIME );
365+
final BasicType<Date> timestampType = basicTypeRegistry.resolve( StandardBasicTypes.TIMESTAMP );
374366

375-
CommonFunctionFactory functionFactory = new CommonFunctionFactory(functionContributions);
367+
final CommonFunctionFactory functionFactory = new CommonFunctionFactory(functionContributions);
376368

377369
// For SQL-Server we need to cast certain arguments to varchar(max) to be able to concat them
378370
functionContributions.getFunctionRegistry().register(

hibernate-core/src/main/java/org/hibernate/dialect/SybaseASEDialect.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -207,10 +207,10 @@ public long getDefaultLobLength() {
207207
private static boolean isAnsiNull(DialectResolutionInfo info) {
208208
final DatabaseMetaData databaseMetaData = info.getDatabaseMetadata();
209209
if ( databaseMetaData != null ) {
210-
try ( java.sql.Statement s = databaseMetaData.getConnection().createStatement() ) {
211-
final ResultSet rs = s.executeQuery( "SELECT @@options" );
212-
if ( rs.next() ) {
213-
final byte[] optionBytes = rs.getBytes( 1 );
210+
try ( var statement = databaseMetaData.getConnection().createStatement() ) {
211+
final ResultSet resultSet = statement.executeQuery( "SELECT @@options" );
212+
if ( resultSet.next() ) {
213+
final byte[] optionBytes = resultSet.getBytes( 1 );
214214
// By trial and error, enabling and disabling ansinull revealed that this bit is the indicator
215215
return ( optionBytes[4] & 2 ) == 2;
216216
}
@@ -226,10 +226,10 @@ private static boolean isAnsiNull(DialectResolutionInfo info) {
226226
private int pageSize(DialectResolutionInfo info) {
227227
final DatabaseMetaData databaseMetaData = info.getDatabaseMetadata();
228228
if ( databaseMetaData != null ) {
229-
try ( java.sql.Statement s = databaseMetaData.getConnection().createStatement() ) {
230-
final ResultSet rs = s.executeQuery( "SELECT @@maxpagesize" );
231-
if ( rs.next() ) {
232-
return rs.getInt( 1 );
229+
try ( var statement = databaseMetaData.getConnection().createStatement() ) {
230+
final ResultSet resultSet = statement.executeQuery( "SELECT @@maxpagesize" );
231+
if ( resultSet.next() ) {
232+
return resultSet.getInt( 1 );
233233
}
234234
}
235235
catch (SQLException ex) {

0 commit comments

Comments
 (0)