Skip to content

Commit 9683a0c

Browse files
committed
HHH-19632 Give access to optional parameter info in SqlAstTranslator and deduplicate parameters with native ParameterMarkerStrategy
1 parent b505d6c commit 9683a0c

File tree

117 files changed

+775
-179
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

117 files changed

+775
-179
lines changed

hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/AltibaseDialect.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
package org.hibernate.community.dialect;
66

77
import jakarta.persistence.TemporalType;
8+
import org.checkerframework.checker.nullness.qual.Nullable;
89
import org.hibernate.boot.model.FunctionContributions;
910
import org.hibernate.boot.model.TypeContributions;
1011
import org.hibernate.community.dialect.pagination.AltibaseLimitHandler;
@@ -41,6 +42,7 @@
4142
import org.hibernate.service.ServiceRegistry;
4243
import org.hibernate.sql.ast.SqlAstTranslator;
4344
import org.hibernate.sql.ast.SqlAstTranslatorFactory;
45+
import org.hibernate.sql.ast.SqlParameterInfo;
4446
import org.hibernate.sql.ast.spi.SqlAppender;
4547
import org.hibernate.sql.ast.spi.StandardSqlAstTranslatorFactory;
4648
import org.hibernate.sql.ast.tree.Statement;
@@ -295,8 +297,8 @@ public SqlAstTranslatorFactory getSqlAstTranslatorFactory() {
295297
return new StandardSqlAstTranslatorFactory() {
296298
@Override
297299
protected <T extends JdbcOperation> SqlAstTranslator<T> buildTranslator(
298-
SessionFactoryImplementor sessionFactory, Statement statement) {
299-
return new AltibaseSqlAstTranslator<>( sessionFactory, statement );
300+
SessionFactoryImplementor sessionFactory, Statement statement, @Nullable SqlParameterInfo parameterInfo) {
301+
return new AltibaseSqlAstTranslator<>( sessionFactory, statement, parameterInfo );
300302
}
301303
};
302304
}

hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/AltibaseSqlAstTranslator.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@
66

77
import java.util.List;
88

9+
import org.checkerframework.checker.nullness.qual.Nullable;
910
import org.hibernate.engine.spi.SessionFactoryImplementor;
1011
import org.hibernate.internal.util.collections.Stack;
1112
import org.hibernate.query.sqm.ComparisonOperator;
1213
import org.hibernate.query.common.FrameExclusion;
1314
import org.hibernate.query.common.FrameKind;
1415
import org.hibernate.sql.ast.Clause;
16+
import org.hibernate.sql.ast.SqlParameterInfo;
1517
import org.hibernate.sql.ast.spi.AbstractSqlAstTranslator;
1618
import org.hibernate.sql.ast.tree.Statement;
1719
import org.hibernate.sql.ast.tree.delete.DeleteStatement;
@@ -39,10 +41,15 @@
3941
*/
4042
public class AltibaseSqlAstTranslator<T extends JdbcOperation> extends AbstractSqlAstTranslator<T> {
4143

44+
@Deprecated(forRemoval = true, since = "7.1")
4245
public AltibaseSqlAstTranslator(SessionFactoryImplementor sessionFactory, Statement statement) {
4346
super( sessionFactory, statement );
4447
}
4548

49+
public AltibaseSqlAstTranslator(SessionFactoryImplementor sessionFactory, Statement statement, @Nullable SqlParameterInfo parameterInfo) {
50+
super( sessionFactory, statement, parameterInfo );
51+
}
52+
4653
@Override
4754
public void visitOffsetFetchClause(QueryPart queryPart) {
4855
if ( !isRowNumberingCurrentQueryPart() ) {

hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/CUBRIDDialect.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
import java.sql.Types;
88

9+
import org.checkerframework.checker.nullness.qual.Nullable;
910
import org.hibernate.boot.model.FunctionContributions;
1011
import org.hibernate.boot.model.TypeContributions;
1112
import org.hibernate.community.dialect.identity.CUBRIDIdentityColumnSupport;
@@ -30,6 +31,7 @@
3031
import org.hibernate.service.ServiceRegistry;
3132
import org.hibernate.sql.ast.SqlAstTranslator;
3233
import org.hibernate.sql.ast.SqlAstTranslatorFactory;
34+
import org.hibernate.sql.ast.SqlParameterInfo;
3335
import org.hibernate.sql.ast.spi.SqlAppender;
3436
import org.hibernate.sql.ast.spi.StandardSqlAstTranslatorFactory;
3537
import org.hibernate.sql.ast.tree.Statement;
@@ -368,8 +370,8 @@ public SqlAstTranslatorFactory getSqlAstTranslatorFactory() {
368370
return new StandardSqlAstTranslatorFactory() {
369371
@Override
370372
protected <T extends JdbcOperation> SqlAstTranslator<T> buildTranslator(
371-
SessionFactoryImplementor sessionFactory, Statement statement) {
372-
return new CUBRIDSqlAstTranslator<>( sessionFactory, statement );
373+
SessionFactoryImplementor sessionFactory, Statement statement, @Nullable SqlParameterInfo parameterInfo) {
374+
return new CUBRIDSqlAstTranslator<>( sessionFactory, statement, parameterInfo );
373375
}
374376
};
375377
}

hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/CUBRIDSqlAstTranslator.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@
66

77
import java.util.List;
88

9+
import org.checkerframework.checker.nullness.qual.Nullable;
910
import org.hibernate.engine.spi.SessionFactoryImplementor;
1011
import org.hibernate.query.sqm.ComparisonOperator;
12+
import org.hibernate.sql.ast.SqlParameterInfo;
1113
import org.hibernate.sql.ast.spi.AbstractSqlAstTranslator;
1214
import org.hibernate.sql.ast.spi.SqlSelection;
1315
import org.hibernate.sql.ast.tree.Statement;
@@ -25,10 +27,15 @@
2527
*/
2628
public class CUBRIDSqlAstTranslator<T extends JdbcOperation> extends AbstractSqlAstTranslator<T> {
2729

30+
@Deprecated(forRemoval = true, since = "7.1")
2831
public CUBRIDSqlAstTranslator(SessionFactoryImplementor sessionFactory, Statement statement) {
2932
super( sessionFactory, statement );
3033
}
3134

35+
public CUBRIDSqlAstTranslator(SessionFactoryImplementor sessionFactory, Statement statement, @Nullable SqlParameterInfo parameterInfo) {
36+
super( sessionFactory, statement, parameterInfo );
37+
}
38+
3239
@Override
3340
public void visitOffsetFetchClause(QueryPart queryPart) {
3441
renderCombinedLimitClause( queryPart );

hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/CacheDialect.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
import jakarta.persistence.GenerationType;
88
import jakarta.persistence.TemporalType;
9+
import org.checkerframework.checker.nullness.qual.Nullable;
910
import org.hibernate.LockMode;
1011
import org.hibernate.LockOptions;
1112
import org.hibernate.Locking;
@@ -39,6 +40,7 @@
3940
import org.hibernate.query.sqm.IntervalType;
4041
import org.hibernate.sql.ast.SqlAstTranslator;
4142
import org.hibernate.sql.ast.SqlAstTranslatorFactory;
43+
import org.hibernate.sql.ast.SqlParameterInfo;
4244
import org.hibernate.sql.ast.spi.LockingClauseStrategy;
4345
import org.hibernate.sql.ast.spi.SqlAppender;
4446
import org.hibernate.sql.ast.spi.StandardSqlAstTranslatorFactory;
@@ -340,8 +342,8 @@ public SqlAstTranslatorFactory getSqlAstTranslatorFactory() {
340342
return new StandardSqlAstTranslatorFactory() {
341343
@Override
342344
protected <T extends JdbcOperation> SqlAstTranslator<T> buildTranslator(
343-
SessionFactoryImplementor sessionFactory, Statement statement) {
344-
return new CacheSqlAstTranslator<>( sessionFactory, statement );
345+
SessionFactoryImplementor sessionFactory, Statement statement, @Nullable SqlParameterInfo parameterInfo) {
346+
return new CacheSqlAstTranslator<>( sessionFactory, statement, parameterInfo );
345347
}
346348
};
347349
}

hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/CacheSqlAstTranslator.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,11 @@
66

77
import java.util.List;
88

9+
import org.checkerframework.checker.nullness.qual.Nullable;
910
import org.hibernate.Locking;
1011
import org.hibernate.engine.spi.SessionFactoryImplementor;
1112
import org.hibernate.query.sqm.ComparisonOperator;
13+
import org.hibernate.sql.ast.SqlParameterInfo;
1214
import org.hibernate.sql.ast.spi.AbstractSqlAstTranslator;
1315
import org.hibernate.sql.ast.spi.SqlSelection;
1416
import org.hibernate.sql.ast.tree.Statement;
@@ -28,10 +30,15 @@
2830
*/
2931
public class CacheSqlAstTranslator<T extends JdbcOperation> extends AbstractSqlAstTranslator<T> {
3032

33+
@Deprecated(forRemoval = true, since = "7.1")
3134
public CacheSqlAstTranslator(SessionFactoryImplementor sessionFactory, Statement statement) {
3235
super( sessionFactory, statement );
3336
}
3437

38+
public CacheSqlAstTranslator(SessionFactoryImplementor sessionFactory, Statement statement, @Nullable SqlParameterInfo parameterInfo) {
39+
super( sessionFactory, statement, parameterInfo );
40+
}
41+
3542
@Override
3643
protected LockStrategy determineLockingStrategy(
3744
QuerySpec querySpec,

hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/CockroachLegacyDialect.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
import org.hibernate.service.ServiceRegistry;
6767
import org.hibernate.sql.ast.SqlAstTranslator;
6868
import org.hibernate.sql.ast.SqlAstTranslatorFactory;
69+
import org.hibernate.sql.ast.SqlParameterInfo;
6970
import org.hibernate.sql.ast.spi.SqlAppender;
7071
import org.hibernate.sql.ast.spi.StandardSqlAstTranslatorFactory;
7172
import org.hibernate.sql.ast.tree.Statement;
@@ -700,8 +701,8 @@ public SqlAstTranslatorFactory getSqlAstTranslatorFactory() {
700701
return new StandardSqlAstTranslatorFactory() {
701702
@Override
702703
protected <T extends JdbcOperation> SqlAstTranslator<T> buildTranslator(
703-
SessionFactoryImplementor sessionFactory, Statement statement) {
704-
return new CockroachLegacySqlAstTranslator<>( sessionFactory, statement );
704+
SessionFactoryImplementor sessionFactory, Statement statement, @Nullable SqlParameterInfo parameterInfo) {
705+
return new CockroachLegacySqlAstTranslator<>( sessionFactory, statement, parameterInfo );
705706
}
706707
};
707708
}

hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/CockroachLegacySqlAstTranslator.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@
44
*/
55
package org.hibernate.community.dialect;
66

7+
import org.checkerframework.checker.nullness.qual.Nullable;
78
import org.hibernate.Locking;
89
import org.hibernate.engine.spi.SessionFactoryImplementor;
910
import org.hibernate.sql.ast.Clause;
11+
import org.hibernate.sql.ast.SqlParameterInfo;
1012
import org.hibernate.sql.ast.spi.AbstractSqlAstTranslator;
1113
import org.hibernate.sql.ast.tree.Statement;
1214
import org.hibernate.sql.ast.tree.cte.CteMaterialization;
@@ -36,10 +38,15 @@
3638
*/
3739
public class CockroachLegacySqlAstTranslator<T extends JdbcOperation> extends AbstractSqlAstTranslator<T> {
3840

41+
@Deprecated(forRemoval = true, since = "7.1")
3942
public CockroachLegacySqlAstTranslator(SessionFactoryImplementor sessionFactory, Statement statement) {
4043
super( sessionFactory, statement );
4144
}
4245

46+
public CockroachLegacySqlAstTranslator(SessionFactoryImplementor sessionFactory, Statement statement, @Nullable SqlParameterInfo parameterInfo) {
47+
super( sessionFactory, statement, parameterInfo );
48+
}
49+
4350
@Override
4451
public void visitBinaryArithmeticExpression(BinaryArithmeticExpression arithmeticExpression) {
4552
if ( isIntegerDivisionEmulationRequired( arithmeticExpression ) ) {

hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DB2LegacyDialect.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@
7171
import org.hibernate.sql.ast.SqlAstNodeRenderingMode;
7272
import org.hibernate.sql.ast.SqlAstTranslator;
7373
import org.hibernate.sql.ast.SqlAstTranslatorFactory;
74+
import org.hibernate.sql.ast.SqlParameterInfo;
7475
import org.hibernate.sql.ast.spi.SqlAppender;
7576
import org.hibernate.sql.ast.spi.StandardSqlAstTranslatorFactory;
7677
import org.hibernate.sql.ast.tree.Statement;
@@ -1273,8 +1274,8 @@ public SqlAstTranslatorFactory getSqlAstTranslatorFactory() {
12731274
return new StandardSqlAstTranslatorFactory() {
12741275
@Override
12751276
protected <T extends JdbcOperation> SqlAstTranslator<T> buildTranslator(
1276-
SessionFactoryImplementor sessionFactory, Statement statement) {
1277-
return new DB2LegacySqlAstTranslator<>( sessionFactory, statement );
1277+
SessionFactoryImplementor sessionFactory, Statement statement, @Nullable SqlParameterInfo parameterInfo) {
1278+
return new DB2LegacySqlAstTranslator<>( sessionFactory, statement, parameterInfo );
12781279
}
12791280
};
12801281
}

hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/DB2LegacySqlAstTranslator.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import java.util.List;
88
import java.util.function.Consumer;
99

10+
import org.checkerframework.checker.nullness.qual.Nullable;
1011
import org.hibernate.LockMode;
1112
import org.hibernate.dialect.DatabaseVersion;
1213
import org.hibernate.engine.spi.SessionFactoryImplementor;
@@ -19,6 +20,7 @@
1920
import org.hibernate.query.common.FetchClauseType;
2021
import org.hibernate.sql.ast.Clause;
2122
import org.hibernate.sql.ast.SqlAstNodeRenderingMode;
23+
import org.hibernate.sql.ast.SqlParameterInfo;
2224
import org.hibernate.sql.ast.spi.AbstractSqlAstTranslator;
2325
import org.hibernate.sql.ast.spi.SqlSelection;
2426
import org.hibernate.sql.ast.tree.MutationStatement;
@@ -65,10 +67,15 @@ public class DB2LegacySqlAstTranslator<T extends JdbcOperation> extends Abstract
6567
// We have to track whether we are in a later query for applying lateral during window emulation
6668
private boolean inLateral;
6769

70+
@Deprecated(forRemoval = true, since = "7.1")
6871
public DB2LegacySqlAstTranslator(SessionFactoryImplementor sessionFactory, Statement statement) {
6972
super( sessionFactory, statement );
7073
}
7174

75+
public DB2LegacySqlAstTranslator(SessionFactoryImplementor sessionFactory, Statement statement, @Nullable SqlParameterInfo parameterInfo) {
76+
super( sessionFactory, statement, parameterInfo );
77+
}
78+
7279
@Override
7380
protected boolean needsRecursiveKeywordInWithClause() {
7481
return false;

0 commit comments

Comments
 (0)