Skip to content

Commit 58c67d8

Browse files
committed
HHH-19560 Remove TupleTransformer and ResultListTransformer from interpretation caching
1 parent d309460 commit 58c67d8

File tree

4 files changed

+13
-35
lines changed

4 files changed

+13
-35
lines changed

hibernate-core/src/main/java/org/hibernate/query/sql/internal/NativeQueryImpl.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1005,13 +1005,10 @@ public static int determineBindValueMaxCount(boolean paddingEnabled, int inExprL
10051005
}
10061006

10071007
private SelectInterpretationsKey selectInterpretationsKey(ResultSetMapping resultSetMapping) {
1008-
final QueryOptions options = getQueryOptions();
10091008
return new SelectInterpretationsKey(
10101009
getQueryString(),
10111010
resultSetMapping,
1012-
getSynchronizedQuerySpaces(),
1013-
options.getTupleTransformer(),
1014-
options.getResultListTransformer()
1011+
getSynchronizedQuerySpaces()
10151012
);
10161013
}
10171014

hibernate-core/src/main/java/org/hibernate/query/sql/spi/SelectInterpretationsKey.java

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,36 +20,36 @@ public class SelectInterpretationsKey implements QueryInterpretationCache.Key {
2020
private final String sql;
2121
private final JdbcValuesMappingProducer jdbcValuesMappingProducer;
2222
private final Collection<String> querySpaces;
23-
private final TupleTransformer<?> tupleTransformer;
24-
private final ResultListTransformer<?> resultListTransformer;
2523
private final int hash;
2624

25+
@Deprecated(forRemoval = true)
2726
public SelectInterpretationsKey(
2827
String sql,
2928
JdbcValuesMappingProducer jdbcValuesMappingProducer,
3029
Collection<String> querySpaces,
3130
TupleTransformer<?> tupleTransformer,
3231
ResultListTransformer<?> resultListTransformer) {
32+
this( sql, jdbcValuesMappingProducer, querySpaces );
33+
}
34+
35+
public SelectInterpretationsKey(
36+
String sql,
37+
JdbcValuesMappingProducer jdbcValuesMappingProducer,
38+
Collection<String> querySpaces) {
3339
this.sql = sql;
3440
this.jdbcValuesMappingProducer = jdbcValuesMappingProducer;
3541
this.querySpaces = querySpaces;
36-
this.tupleTransformer = tupleTransformer;
37-
this.resultListTransformer = resultListTransformer;
3842
this.hash = generateHashCode();
3943
}
4044

4145
private SelectInterpretationsKey(
4246
String sql,
4347
JdbcValuesMappingProducer jdbcValuesMappingProducer,
4448
Collection<String> querySpaces,
45-
TupleTransformer<?> tupleTransformer,
46-
ResultListTransformer<?> resultListTransformer,
4749
int hash) {
4850
this.sql = sql;
4951
this.jdbcValuesMappingProducer = jdbcValuesMappingProducer;
5052
this.querySpaces = querySpaces;
51-
this.tupleTransformer = tupleTransformer;
52-
this.resultListTransformer = resultListTransformer;
5353
this.hash = hash;
5454
}
5555

@@ -64,8 +64,6 @@ public QueryInterpretationCache.Key prepareForStore() {
6464
sql,
6565
jdbcValuesMappingProducer.cacheKeyInstance(),
6666
new HashSet<>( querySpaces ),
67-
tupleTransformer,
68-
resultListTransformer,
6967
hash
7068
);
7169
}
@@ -89,8 +87,6 @@ public boolean equals(Object o) {
8987
}
9088
return sql.equals( that.sql )
9189
&& Objects.equals( jdbcValuesMappingProducer, that.jdbcValuesMappingProducer )
92-
&& Objects.equals( querySpaces, that.querySpaces )
93-
&& Objects.equals( tupleTransformer, that.tupleTransformer )
94-
&& Objects.equals( resultListTransformer, that.resultListTransformer );
90+
&& Objects.equals( querySpaces, that.querySpaces );
9591
}
9692
}

hibernate-core/src/main/java/org/hibernate/query/sqm/internal/ConcreteSqmSelectQueryPlan.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@
7575
public class ConcreteSqmSelectQueryPlan<R> implements SelectQueryPlan<R> {
7676
private final SqmSelectStatement<?> sqm;
7777
private final DomainParameterXref domainParameterXref;
78-
private final RowTransformer<R> rowTransformer;
7978
private final SqmInterpreter<?, ? extends ResultsConsumer<?, R>> executeQueryInterpreter;
8079
private final SqmInterpreter<List<R>, Void> listInterpreter;
8180
private final SqmInterpreter<ScrollableResultsImplementor<R>, ScrollMode> scrollInterpreter;
@@ -92,8 +91,6 @@ public ConcreteSqmSelectQueryPlan(
9291
this.sqm = sqm;
9392
this.domainParameterXref = domainParameterXref;
9493

95-
this.rowTransformer = determineRowTransformer( sqm, resultType, tupleMetadata, queryOptions );
96-
9794
final ListResultsConsumer.UniqueSemantic uniqueSemantic =
9895
sqm.producesUniqueResults() && !containsCollectionFetches( queryOptions )
9996
? ListResultsConsumer.UniqueSemantic.NONE
@@ -118,7 +115,7 @@ public ConcreteSqmSelectQueryPlan(
118115
jdbcSelect,
119116
jdbcParameterBindings,
120117
listInterpreterExecutionContext( hql, executionContext, jdbcSelect, subSelectFetchKeyHandler ),
121-
rowTransformer,
118+
determineRowTransformer( sqm, resultType, tupleMetadata, queryOptions ),
122119
null,
123120
resultCountEstimate,
124121
resultsConsumer
@@ -150,7 +147,7 @@ public ConcreteSqmSelectQueryPlan(
150147
jdbcSelect,
151148
jdbcParameterBindings,
152149
listInterpreterExecutionContext( hql, executionContext, jdbcSelect, subSelectFetchKeyHandler ),
153-
rowTransformer,
150+
determineRowTransformer( sqm, resultType, tupleMetadata, queryOptions ),
154151
(Class<R>) executionContext.getResultType(),
155152
uniqueSemantic,
156153
resultCountEstimate
@@ -186,7 +183,7 @@ public ConcreteSqmSelectQueryPlan(
186183
scrollMode,
187184
jdbcParameterBindings,
188185
new SqmJdbcExecutionContextAdapter( executionContext, jdbcSelect ),
189-
rowTransformer,
186+
determineRowTransformer( sqm, resultType, tupleMetadata, queryOptions ),
190187
resultCountEstimate
191188
);
192189
}

hibernate-core/src/main/java/org/hibernate/query/sqm/internal/SqmInterpretationsKey.java

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@ public static SqmInterpretationsKey createInterpretationsKey(InterpretationsKeyS
2828
query.hashCode(),
2929
keySource.getResultType(),
3030
keySource.getQueryOptions().getLockOptions(),
31-
keySource.getQueryOptions().getTupleTransformer(),
32-
keySource.getQueryOptions().getResultListTransformer(),
3331
memoryEfficientDefensiveSetCopy( keySource.getLoadQueryInfluencers().getEnabledFetchProfileNames() )
3432
);
3533
}
@@ -86,8 +84,6 @@ public static QueryInterpretationCache.Key generateNonSelectKey(InterpretationsK
8684
private final Object query;
8785
private final Class<?> resultType;
8886
private final LockOptions lockOptions;
89-
private final TupleTransformer<?> tupleTransformer;
90-
private final ResultListTransformer<?> resultListTransformer;
9187
private final Collection<String> enabledFetchProfiles;
9288
private final int hashCode;
9389

@@ -96,15 +92,11 @@ private SqmInterpretationsKey(
9692
int hash,
9793
Class<?> resultType,
9894
LockOptions lockOptions,
99-
TupleTransformer<?> tupleTransformer,
100-
ResultListTransformer<?> resultListTransformer,
10195
Collection<String> enabledFetchProfiles) {
10296
this.query = query;
10397
this.hashCode = hash;
10498
this.resultType = resultType;
10599
this.lockOptions = lockOptions;
106-
this.tupleTransformer = tupleTransformer;
107-
this.resultListTransformer = resultListTransformer;
108100
this.enabledFetchProfiles = enabledFetchProfiles;
109101
}
110102

@@ -116,8 +108,6 @@ public QueryInterpretationCache.Key prepareForStore() {
116108
resultType,
117109
// Since lock options might be mutable, we need a copy for the cache key
118110
lockOptions.makeDefensiveCopy(),
119-
tupleTransformer,
120-
resultListTransformer,
121111
enabledFetchProfiles
122112
);
123113
}
@@ -139,8 +129,6 @@ public boolean equals(Object other) {
139129
&& this.query.equals( that.query )
140130
&& Objects.equals( this.resultType, that.resultType )
141131
&& Objects.equals( this.lockOptions, that.lockOptions )
142-
&& Objects.equals( this.tupleTransformer, that.tupleTransformer )
143-
&& Objects.equals( this.resultListTransformer, that.resultListTransformer )
144132
&& Objects.equals( this.enabledFetchProfiles, that.enabledFetchProfiles );
145133
}
146134

0 commit comments

Comments
 (0)