Skip to content

Commit 58ea18e

Browse files
DavideDSanne
authored andcommitted
Fix compilation errors with latest ORM 6.2 snapshot
1 parent 7b445a5 commit 58ea18e

File tree

5 files changed

+45
-18
lines changed

5 files changed

+45
-18
lines changed

hibernate-reactive-core/src/main/java/org/hibernate/reactive/loader/ast/internal/DatabaseSnapshotExecutor.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import org.hibernate.LockOptions;
1313
import org.hibernate.engine.jdbc.env.spi.JdbcEnvironment;
1414
import org.hibernate.engine.jdbc.spi.JdbcServices;
15+
import org.hibernate.engine.spi.LoadQueryInfluencers;
1516
import org.hibernate.engine.spi.SessionFactoryImplementor;
1617
import org.hibernate.engine.spi.SharedSessionContractImplementor;
1718
import org.hibernate.internal.util.collections.ArrayHelper;
@@ -77,6 +78,7 @@ class DatabaseSnapshotExecutor {
7778
LockOptions.NONE,
7879
DatabaseSnapshotExecutor::visitEmptyFetchList,
7980
true,
81+
LoadQueryInfluencers.NONE,
8082
sessionFactory
8183
);
8284

@@ -86,11 +88,10 @@ class DatabaseSnapshotExecutor {
8688
true,
8789
rootPath,
8890
null,
91+
null,
8992
() -> rootQuerySpec::applyPredicate,
90-
state,
91-
sessionFactory
93+
state
9294
);
93-
9495
rootQuerySpec.getFromClause().addRoot( rootTableGroup );
9596
state.getFromClauseAccess().registerTableGroup( rootPath, rootTableGroup );
9697

hibernate-reactive-core/src/main/java/org/hibernate/reactive/sql/exec/internal/StandardReactiveSelectExecutor.java

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535
import org.hibernate.reactive.sql.results.spi.ReactiveListResultsConsumer;
3636
import org.hibernate.reactive.sql.results.spi.ReactiveResultsConsumer;
3737
import org.hibernate.reactive.sql.results.spi.ReactiveValuesMappingProducer;
38-
import org.hibernate.reactive.util.impl.CompletionStages;
3938
import org.hibernate.sql.exec.SqlExecLogger;
4039
import org.hibernate.sql.exec.internal.JdbcExecHelper;
4140
import org.hibernate.sql.exec.spi.ExecutionContext;
@@ -320,29 +319,37 @@ public CompletionStage<ReactiveValuesResultSet> resolveJdbcValuesSource(String q
320319
if ( cachedResults == null ) {
321320
if ( queryResultsCacheKey == null ) {
322321
return mappingProducer
323-
.reactiveResolve( resultSetAccess, factory )
322+
.reactiveResolve( resultSetAccess, session.getLoadQueryInfluencers(), factory )
324323
.thenApply( jdbcValuesMapping -> new ReactiveValuesResultSet( resultSetAccess, null, queryIdentifier, executionContext.getQueryOptions(), jdbcValuesMapping, null, executionContext ) );
325324
}
326325
else {
327326
// If we need to put the values into the cache, we need to be able to capture the JdbcValuesMetadata
328327
final CapturingJdbcValuesMetadata capturingMetadata = new CapturingJdbcValuesMetadata( resultSetAccess );
329328
JdbcValuesMetadata metadataForCache = capturingMetadata.resolveMetadataForCache();
330329
return mappingProducer
331-
.reactiveResolve( resultSetAccess, factory )
330+
.reactiveResolve( resultSetAccess, session.getLoadQueryInfluencers(), factory )
332331
.thenApply( jdbcValuesMapping -> new ReactiveValuesResultSet( resultSetAccess, queryResultsCacheKey, queryIdentifier, executionContext.getQueryOptions(), jdbcValuesMapping, metadataForCache, executionContext ) );
333332
}
334333
}
335334
else {
336335
// If we need to put the values into the cache, we need to be able to capture the JdbcValuesMetadata
337336
final CapturingJdbcValuesMetadata capturingMetadata = new CapturingJdbcValuesMetadata( resultSetAccess );
338-
CompletionStage<JdbcValuesMapping> stage = CompletionStages.nullFuture();
337+
final CompletionStage<JdbcValuesMapping> stage;
339338
if ( cachedResults.isEmpty() || !( cachedResults.get( 0 ) instanceof JdbcValuesMetadata ) ) {
340-
stage = stage.thenCompose(v -> mappingProducer.reactiveResolve(resultSetAccess, factory));
339+
stage = mappingProducer.reactiveResolve( resultSetAccess, session.getLoadQueryInfluencers(), factory );
341340
}
342341
else {
343-
stage = stage.thenCompose(v -> mappingProducer.reactiveResolve( (JdbcValuesMetadata) cachedResults.get( 0 ), factory ));
342+
stage = mappingProducer.reactiveResolve( (JdbcValuesMetadata) cachedResults.get( 0 ), session.getLoadQueryInfluencers(), factory );
344343
}
345-
return stage.thenApply(jdbcValuesMapping -> new ReactiveValuesResultSet( resultSetAccess, queryResultsCacheKey, queryIdentifier, executionContext.getQueryOptions(), jdbcValuesMapping, capturingMetadata, executionContext));
344+
return stage.thenApply( jdbcValuesMapping -> new ReactiveValuesResultSet(
345+
resultSetAccess,
346+
queryResultsCacheKey,
347+
queryIdentifier,
348+
executionContext.getQueryOptions(),
349+
jdbcValuesMapping,
350+
capturingMetadata,
351+
executionContext
352+
) );
346353
}
347354
}
348355

hibernate-reactive-core/src/main/java/org/hibernate/reactive/sql/results/ReactiveResultSetMapping.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import java.util.function.BiConsumer;
1414
import java.util.function.Consumer;
1515

16+
import org.hibernate.engine.spi.LoadQueryInfluencers;
1617
import org.hibernate.engine.spi.SessionFactoryImplementor;
1718
import org.hibernate.query.named.NamedResultSetMappingMemento;
1819
import org.hibernate.query.results.ResultBuilder;
@@ -39,7 +40,10 @@ public ReactiveResultSetMapping(ResultSetMapping resultSetMapping) {
3940
}
4041

4142
@Override
42-
public JdbcValuesMapping resolve(JdbcValuesMetadata jdbcResultsMetadata, SessionFactoryImplementor sessionFactory) {
43+
public JdbcValuesMapping resolve(
44+
JdbcValuesMetadata jdbcResultsMetadata,
45+
LoadQueryInfluencers loadQueryInfluencers,
46+
SessionFactoryImplementor sessionFactory) {
4347
throw LOG.nonReactiveMethodCall( "reactiveResolve" );
4448
}
4549

@@ -48,10 +52,14 @@ public void addAffectedTableNames(Set<String> affectedTableNames, SessionFactory
4852
delegate.addAffectedTableNames( affectedTableNames, sessionFactory );
4953
}
5054

51-
public CompletionStage<JdbcValuesMapping> reactiveResolve(JdbcValuesMetadata jdbcResultsMetadata, SessionFactoryImplementor sessionFactory) {
55+
@Override
56+
public CompletionStage<JdbcValuesMapping> reactiveResolve(
57+
JdbcValuesMetadata jdbcResultsMetadata,
58+
LoadQueryInfluencers loadQueryInfluencers,
59+
SessionFactoryImplementor sessionFactory) {
5260
return ( (ReactiveResultSetAccess) jdbcResultsMetadata )
5361
.getReactiveResultSet()
54-
.thenApply( columnCount -> delegate.resolve( jdbcResultsMetadata, sessionFactory ) );
62+
.thenApply( columnCount -> delegate.resolve( jdbcResultsMetadata, loadQueryInfluencers, sessionFactory ) );
5563
}
5664

5765
@Override

hibernate-reactive-core/src/main/java/org/hibernate/reactive/sql/results/internal/ReactiveStandardValuesMappingProducer.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import java.util.List;
1010
import java.util.concurrent.CompletionStage;
1111

12+
import org.hibernate.engine.spi.LoadQueryInfluencers;
1213
import org.hibernate.engine.spi.SessionFactoryImplementor;
1314
import org.hibernate.reactive.logging.impl.Log;
1415
import org.hibernate.reactive.logging.impl.LoggerFactory;
@@ -32,13 +33,19 @@ public ReactiveStandardValuesMappingProducer(List<SqlSelection> sqlSelections, L
3233
}
3334

3435
@Override
35-
public JdbcValuesMapping resolve(JdbcValuesMetadata jdbcResultsMetadata, SessionFactoryImplementor sessionFactory) {
36+
public JdbcValuesMapping resolve(
37+
JdbcValuesMetadata jdbcResultsMetadata,
38+
LoadQueryInfluencers loadQueryInfluencers,
39+
SessionFactoryImplementor sessionFactory) {
3640
// In this class the ValuesMapping has been already resolved, so it should be fine to implement this method
37-
return super.resolve( jdbcResultsMetadata, sessionFactory );
41+
return super.resolve( jdbcResultsMetadata, loadQueryInfluencers, sessionFactory );
3842
}
3943

4044
@Override
41-
public CompletionStage<JdbcValuesMapping> reactiveResolve(JdbcValuesMetadata jdbcResultsMetadata, SessionFactoryImplementor sessionFactory) {
42-
return completedFuture( super.resolve( jdbcResultsMetadata, sessionFactory ) );
45+
public CompletionStage<JdbcValuesMapping> reactiveResolve(
46+
JdbcValuesMetadata jdbcResultsMetadata,
47+
LoadQueryInfluencers loadQueryInfluencers,
48+
SessionFactoryImplementor sessionFactory) {
49+
return completedFuture( super.resolve( jdbcResultsMetadata, loadQueryInfluencers, sessionFactory ) );
4350
}
4451
}

hibernate-reactive-core/src/main/java/org/hibernate/reactive/sql/results/spi/ReactiveValuesMappingProducer.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import java.util.concurrent.CompletionStage;
99

10+
import org.hibernate.engine.spi.LoadQueryInfluencers;
1011
import org.hibernate.engine.spi.SessionFactoryImplementor;
1112
import org.hibernate.sql.results.jdbc.spi.JdbcValuesMapping;
1213
import org.hibernate.sql.results.jdbc.spi.JdbcValuesMetadata;
@@ -16,5 +17,8 @@
1617
*/
1718
public interface ReactiveValuesMappingProducer {
1819

19-
CompletionStage<JdbcValuesMapping> reactiveResolve(JdbcValuesMetadata jdbcResultsMetadata, SessionFactoryImplementor sessionFactory);
20+
CompletionStage<JdbcValuesMapping> reactiveResolve(
21+
JdbcValuesMetadata jdbcResultsMetadata,
22+
LoadQueryInfluencers loadQueryInfluencers,
23+
SessionFactoryImplementor sessionFactory);
2024
}

0 commit comments

Comments
 (0)