Skip to content

Commit b9a3cec

Browse files
committed
HHH-18366 fix concat function without INLINE_ALL_PARAMETERS usage
1 parent 77e01f1 commit b9a3cec

File tree

3 files changed

+19
-6
lines changed

3 files changed

+19
-6
lines changed

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,6 @@ public void initializeFunctionRegistry(FunctionContributions functionContributio
302302
functionFactory.initcap();
303303
functionFactory.yearMonthDay();
304304
functionFactory.ceiling_ceil();
305-
functionFactory.concat_pipeOperator( SqlAstNodeRenderingMode.INLINE_ALL_PARAMETERS );
306305
functionFactory.ascii();
307306
functionFactory.char_chr();
308307
functionFactory.addMonths();

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

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import org.hibernate.sql.ast.spi.AbstractSqlAstTranslator;
1616
import org.hibernate.sql.ast.spi.SqlSelection;
1717
import org.hibernate.sql.ast.tree.Statement;
18+
import org.hibernate.sql.ast.tree.expression.CaseSearchedExpression;
1819
import org.hibernate.sql.ast.tree.expression.Expression;
1920
import org.hibernate.sql.ast.tree.expression.Literal;
2021
import org.hibernate.sql.ast.tree.expression.SqlTuple;
@@ -65,6 +66,24 @@ protected void visitSqlSelections(SelectClause selectClause) {
6566
super.visitSqlSelections( selectClause );
6667
}
6768

69+
@Override
70+
protected void visitCaseSearchedExpression(CaseSearchedExpression caseSearchedExpression, boolean inSelect) {
71+
if ( inSelect ) {
72+
withParameterRenderingMode(
73+
SqlAstNodeRenderingMode.INLINE_ALL_PARAMETERS,
74+
() -> super.visitCaseSearchedExpression( caseSearchedExpression, inSelect )
75+
);
76+
}
77+
else {
78+
super.visitCaseSearchedExpression( caseSearchedExpression, inSelect );
79+
}
80+
}
81+
82+
@Override
83+
protected void renderSelectExpression(Expression expression) {
84+
renderSelectExpressionWithCastedOrInlinedPlainParameters( expression );
85+
}
86+
6887
@Override
6988
protected boolean needsRowsToSkip() {
7089
return !supportsSkipFirstClause();

hibernate-core/src/main/java/org/hibernate/dialect/function/CommonFunctionFactory.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1342,18 +1342,13 @@ public void week_weekofyear() {
13421342
* Almost every database
13431343
*/
13441344
public void concat_pipeOperator() {
1345-
concat_pipeOperator( SqlAstNodeRenderingMode.DEFAULT );
1346-
}
1347-
1348-
public void concat_pipeOperator( SqlAstNodeRenderingMode inferenceArgumentRenderingMode ) {
13491345
functionRegistry.patternDescriptorBuilder( "concat", "(?1||?2...)" )
13501346
.setInvariantType(stringType)
13511347
.setMinArgumentCount( 1 )
13521348
.setArgumentTypeResolver(
13531349
StandardFunctionArgumentTypeResolvers.impliedOrInvariant( typeConfiguration, STRING )
13541350
)
13551351
.setArgumentListSignature( "(STRING string0[, STRING string1[, ...]])" )
1356-
.setArgumentRenderingMode( inferenceArgumentRenderingMode )
13571352
.register();
13581353
}
13591354

0 commit comments

Comments
 (0)