Skip to content

Commit 6955b7a

Browse files
committed
use 'var' in Structures
1 parent 166e3e7 commit 6955b7a

File tree

3 files changed

+49
-72
lines changed

3 files changed

+49
-72
lines changed

hibernate-core/src/main/java/org/hibernate/id/enhanced/SequenceStructure.java

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,13 @@
44
*/
55
package org.hibernate.id.enhanced;
66

7-
import java.sql.PreparedStatement;
8-
import java.sql.ResultSet;
97
import java.sql.SQLException;
108

119
import org.hibernate.AssertionFailure;
1210
import org.hibernate.boot.model.relational.Database;
13-
import org.hibernate.boot.model.relational.Namespace;
1411
import org.hibernate.boot.model.relational.QualifiedName;
1512
import org.hibernate.boot.model.relational.Sequence;
1613
import org.hibernate.boot.model.relational.SqlStringGenerationContext;
17-
import org.hibernate.engine.jdbc.spi.JdbcCoordinator;
1814
import org.hibernate.engine.spi.SharedSessionContractImplementor;
1915
import org.hibernate.id.IntegralDataTypeHolder;
2016

@@ -107,30 +103,31 @@ public AccessCallback buildCallback(final SharedSessionContractImplementor sessi
107103
public IntegralDataTypeHolder getNextValue() {
108104
accessCounter++;
109105
try {
110-
final JdbcCoordinator jdbcCoordinator = session.getJdbcCoordinator();
111-
final PreparedStatement st = jdbcCoordinator.getStatementPreparer().prepareStatement( sql );
106+
final var jdbcCoordinator = session.getJdbcCoordinator();
107+
final var statement = jdbcCoordinator.getStatementPreparer().prepareStatement( sql );
108+
final var resourceRegistry = jdbcCoordinator.getLogicalConnection().getResourceRegistry();
112109
try {
113-
final ResultSet rs = jdbcCoordinator.getResultSetReturn().extract( st, sql );
110+
final var resultSet = jdbcCoordinator.getResultSetReturn().extract( statement, sql );
114111
try {
115-
rs.next();
116-
final IntegralDataTypeHolder value = getIntegralDataTypeHolder( numberType );
117-
value.initialize( rs, 1 );
112+
resultSet.next();
113+
final var value = getIntegralDataTypeHolder( numberType );
114+
value.initialize( resultSet, 1 );
118115
if ( JDBC_LOGGER.isTraceEnabled() ) {
119116
JDBC_LOGGER.sequenceValueRetrievedFromDatabase( value.makeValue() );
120117
}
121118
return value;
122119
}
123120
finally {
124121
try {
125-
jdbcCoordinator.getLogicalConnection().getResourceRegistry().release( rs, st );
122+
resourceRegistry.release( resultSet, statement );
126123
}
127124
catch( Throwable ignore ) {
128125
// intentionally empty
129126
}
130127
}
131128
}
132129
finally {
133-
jdbcCoordinator.getLogicalConnection().getResourceRegistry().release( st );
130+
resourceRegistry.release( statement );
134131
jdbcCoordinator.afterStatementExecution();
135132
}
136133

@@ -163,7 +160,7 @@ public void registerExportables(Database database) {
163160

164161
@Override
165162
public void initialize(SqlStringGenerationContext context) {
166-
this.sql = context.getDialect().getSequenceSupport()
163+
sql = context.getDialect().getSequenceSupport()
167164
.getSequenceNextValString( context.format( physicalSequenceName ) );
168165
}
169166

@@ -181,20 +178,20 @@ protected QualifiedName getQualifiedName() {
181178
}
182179

183180
protected void buildSequence(Database database) {
184-
final int sourceIncrementSize = getSourceIncrementSize();
185-
186-
final Namespace namespace = database.locateNamespace(
181+
final var namespace = database.locateNamespace(
187182
logicalQualifiedSequenceName.getCatalogName(),
188183
logicalQualifiedSequenceName.getSchemaName()
189184
);
190-
Sequence sequence = namespace.locateSequence( logicalQualifiedSequenceName.getObjectName() );
185+
final int sourceIncrementSize = getSourceIncrementSize();
186+
final var objectName = logicalQualifiedSequenceName.getObjectName();
187+
Sequence sequence = namespace.locateSequence( objectName );
191188
if ( sequence != null ) {
192189
sequence.validate( initialValue, sourceIncrementSize );
193190
}
194191
else {
195192
sequence = namespace.createSequence(
196-
logicalQualifiedSequenceName.getObjectName(),
197-
(physicalName) -> new Sequence(
193+
objectName,
194+
physicalName -> new Sequence(
198195
contributor,
199196
namespace.getPhysicalName().catalog(),
200197
namespace.getPhysicalName().schema(),
@@ -205,7 +202,6 @@ protected void buildSequence(Database database) {
205202
)
206203
);
207204
}
208-
209205
physicalSequenceName = sequence.getName();
210206
}
211207
}

hibernate-core/src/main/java/org/hibernate/id/enhanced/SequenceStyleGenerator.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,6 @@ public void initialize(SqlStringGenerationContext context) {
346346
* @param jdbcEnv The JdbcEnvironment
347347
* @return The sequence name
348348
*/
349-
@SuppressWarnings("UnusedParameters")
350349
protected QualifiedName determineSequenceName(
351350
Properties params,
352351
JdbcEnvironment jdbcEnv,

hibernate-core/src/main/java/org/hibernate/id/enhanced/TableStructure.java

Lines changed: 33 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -14,27 +14,18 @@
1414
import org.hibernate.boot.model.naming.Identifier;
1515
import org.hibernate.boot.model.relational.Database;
1616
import org.hibernate.boot.model.relational.InitCommand;
17-
import org.hibernate.boot.model.relational.Namespace;
1817
import org.hibernate.boot.model.relational.QualifiedName;
1918
import org.hibernate.boot.model.relational.SqlStringGenerationContext;
20-
import org.hibernate.dialect.Dialect;
2119
import org.hibernate.engine.jdbc.internal.FormatStyle;
2220
import org.hibernate.engine.jdbc.spi.SqlStatementLogger;
2321
import org.hibernate.engine.spi.SessionEventListenerManager;
2422
import org.hibernate.engine.spi.SharedSessionContractImplementor;
25-
import org.hibernate.event.monitor.spi.EventMonitor;
26-
import org.hibernate.event.monitor.spi.DiagnosticEvent;
27-
import org.hibernate.mapping.Column;
2823
import org.hibernate.id.IdentifierGenerationException;
2924
import org.hibernate.id.IntegralDataTypeHolder;
3025
import org.hibernate.jdbc.AbstractReturningWork;
3126
import org.hibernate.mapping.Table;
32-
import org.hibernate.stat.spi.StatisticsImplementor;
33-
import org.hibernate.type.BasicType;
3427
import org.hibernate.type.StandardBasicTypes;
3528

36-
import org.hibernate.type.spi.TypeConfiguration;
37-
3829
import static org.hibernate.LockMode.PESSIMISTIC_WRITE;
3930
import static org.hibernate.id.IdentifierGeneratorHelper.getIntegralDataTypeHolder;
4031
import static org.hibernate.id.enhanced.TableGeneratorLogger.TABLE_GENERATOR_LOGGER;
@@ -148,8 +139,8 @@ public AccessCallback buildCallback(final SharedSessionContractImplementor sessi
148139
throw new AssertionFailure( "SequenceStyleGenerator's TableStructure was not properly initialized" );
149140
}
150141

151-
final SessionEventListenerManager statsCollector = session.getEventListenerManager();
152-
final SqlStatementLogger statementLogger =
142+
final var statsCollector = session.getEventListenerManager();
143+
final var statementLogger =
153144
session.getFactory().getJdbcServices()
154145
.getSqlStatementLogger();
155146

@@ -160,48 +151,48 @@ public IntegralDataTypeHolder getNextValue() {
160151
new AbstractReturningWork<>() {
161152
@Override
162153
public IntegralDataTypeHolder execute(Connection connection) throws SQLException {
163-
final IntegralDataTypeHolder value = makeValue();
154+
final var value = makeValue();
164155
int rows;
165156
do {
166-
try ( PreparedStatement selectStatement = prepareStatement(
157+
try ( var selectStatement = prepareStatement(
167158
connection,
168159
selectQuery,
169160
statementLogger,
170161
statsCollector,
171162
session
172163
) ) {
173-
final ResultSet selectRS = executeQuery(
164+
final var resultSet = executeQuery(
174165
selectStatement,
175166
statsCollector,
176167
selectQuery,
177168
session
178169
);
179-
if ( !selectRS.next() ) {
170+
if ( !resultSet.next() ) {
180171
throw new IdentifierGenerationException(
181172
"Could not read a hi value, populate the table: "
182173
+ physicalTableName );
183174
}
184-
value.initialize( selectRS, 1 );
185-
selectRS.close();
175+
value.initialize( resultSet, 1 );
176+
resultSet.close();
186177
}
187178
catch (SQLException sqle) {
188179
TABLE_GENERATOR_LOGGER.unableToReadHiValue( physicalTableName.render(), sqle );
189180
throw sqle;
190181
}
191182

192183

193-
try ( PreparedStatement updatePS = prepareStatement(
184+
try ( var updateStatement = prepareStatement(
194185
connection,
195186
updateQuery,
196187
statementLogger,
197188
statsCollector,
198189
session
199190
) ) {
200191
final int increment = applyIncrementSizeToSourceValues ? incrementSize : 1;
201-
final IntegralDataTypeHolder updateValue = value.copy().add( increment );
202-
updateValue.bind( updatePS, 1 );
203-
value.bind( updatePS, 2 );
204-
rows = executeUpdate( updatePS, statsCollector, updateQuery, session );
192+
final var updateValue = value.copy().add( increment );
193+
updateValue.bind( updateStatement, 1 );
194+
value.bind( updateStatement, 2 );
195+
rows = executeUpdate( updateStatement, statsCollector, updateQuery, session );
205196
}
206197
catch (SQLException e) {
207198
TABLE_GENERATOR_LOGGER.unableToUpdateHiValue( physicalTableName.render(), e );
@@ -232,9 +223,9 @@ private PreparedStatement prepareStatement(
232223
SessionEventListenerManager statsCollector,
233224
SharedSessionContractImplementor session) throws SQLException {
234225
logger.logStatement( sql, FormatStyle.BASIC.getFormatter() );
235-
final EventMonitor eventMonitor = session.getEventMonitor();
236-
final DiagnosticEvent creationEvent = eventMonitor.beginJdbcPreparedStatementCreationEvent();
237-
final StatisticsImplementor stats = session.getFactory().getStatistics();
226+
final var eventMonitor = session.getEventMonitor();
227+
final var creationEvent = eventMonitor.beginJdbcPreparedStatementCreationEvent();
228+
final var stats = session.getFactory().getStatistics();
238229
try {
239230
statsCollector.jdbcPrepareStatementStart();
240231
if ( stats != null && stats.isStatisticsEnabled() ) {
@@ -256,8 +247,8 @@ private int executeUpdate(
256247
SessionEventListenerManager statsCollector,
257248
String sql,
258249
SharedSessionContractImplementor session) throws SQLException {
259-
final EventMonitor eventMonitor = session.getEventMonitor();
260-
final DiagnosticEvent executionEvent = eventMonitor.beginJdbcPreparedStatementExecutionEvent();
250+
final var eventMonitor = session.getEventMonitor();
251+
final var executionEvent = eventMonitor.beginJdbcPreparedStatementExecutionEvent();
261252
try {
262253
statsCollector.jdbcExecuteStatementStart();
263254
return ps.executeUpdate();
@@ -274,8 +265,8 @@ private ResultSet executeQuery(
274265
SessionEventListenerManager statsCollector,
275266
String sql,
276267
SharedSessionContractImplementor session) throws SQLException {
277-
final EventMonitor eventMonitor = session.getEventMonitor();
278-
final DiagnosticEvent executionEvent = eventMonitor.beginJdbcPreparedStatementExecutionEvent();
268+
final var eventMonitor = session.getEventMonitor();
269+
final var executionEvent = eventMonitor.beginJdbcPreparedStatementExecutionEvent();
279270
try {
280271
statsCollector.jdbcExecuteStatementStart();
281272
return ps.executeQuery();
@@ -293,43 +284,35 @@ public boolean isPhysicalSequence() {
293284

294285
@Override
295286
public void registerExportables(Database database) {
296-
297-
final Namespace namespace = database.locateNamespace(
287+
final var namespace = database.locateNamespace(
298288
logicalQualifiedTableName.getCatalogName(),
299289
logicalQualifiedTableName.getSchemaName()
300290
);
301291

302-
Table table = namespace.locateTable( logicalQualifiedTableName.getObjectName() );
292+
final var objectName = logicalQualifiedTableName.getObjectName();
293+
Table table = namespace.locateTable( objectName );
303294
final boolean tableCreated;
304295
if ( table == null ) {
305-
table = namespace.createTable(
306-
logicalQualifiedTableName.getObjectName(),
307-
(identifier) -> new Table( contributor, namespace, identifier, false )
308-
);
296+
table = namespace.createTable( objectName,
297+
identifier -> new Table( contributor, namespace, identifier, false ) );
309298
tableCreated = true;
310299
}
311300
else {
312301
tableCreated = false;
313302
}
314303
physicalTableName = table.getQualifiedTableName();
315304

316-
valueColumnNameText = logicalValueColumnNameIdentifier.render( database.getJdbcEnvironment().getDialect() );
305+
valueColumnNameText = logicalValueColumnNameIdentifier.render( database.getDialect() );
317306
if ( tableCreated ) {
318-
final TypeConfiguration typeConfiguration = database.getTypeConfiguration();
319-
final BasicType<Long> type = typeConfiguration.getBasicTypeRegistry().resolve( StandardBasicTypes.LONG );
320-
final Column valueColumn = ExportableColumnHelper.column(
321-
database,
322-
table,
323-
valueColumnNameText,
324-
type,
307+
final var typeConfiguration = database.getTypeConfiguration();
308+
final var type = typeConfiguration.getBasicTypeRegistry().resolve( StandardBasicTypes.LONG );
309+
final String typeName =
325310
typeConfiguration.getDdlTypeRegistry()
326-
.getTypeName( type.getJdbcType().getDdlTypeCode(), database.getDialect() )
327-
);
328-
311+
.getTypeName( type.getJdbcType().getDdlTypeCode(), database.getDialect() );
312+
final var valueColumn =
313+
ExportableColumnHelper.column( database, table, valueColumnNameText, type, typeName );
329314
table.addColumn( valueColumn );
330-
331315
table.setOptions( options );
332-
333316
table.addInitCommand( context -> new InitCommand(
334317
"insert into " + context.format( physicalTableName )
335318
+ " ( " + valueColumnNameText + " ) values ( " + initialValue + " )"
@@ -339,14 +322,13 @@ public void registerExportables(Database database) {
339322

340323
@Override
341324
public void initialize(SqlStringGenerationContext context) {
342-
final Dialect dialect = context.getDialect();
325+
final var dialect = context.getDialect();
343326
final String formattedPhysicalTableName = context.format( physicalTableName );
344327
final String lockedTable =
345328
dialect.appendLockHint( new LockOptions( PESSIMISTIC_WRITE ), formattedPhysicalTableName )
346329
+ dialect.getForUpdateString();
347330
selectQuery = "select " + valueColumnNameText + " as id_val" +
348331
" from " + lockedTable ;
349-
350332
updateQuery = "update " + formattedPhysicalTableName +
351333
" set " + valueColumnNameText + "= ?" +
352334
" where " + valueColumnNameText + "=?";

0 commit comments

Comments
 (0)