Skip to content

Commit b687120

Browse files
VladoKurucbeikov
authored andcommitted
HHH-18225 Fix for Informix syntax error in DISTINCT clause before SKIP clause
1 parent 224e8ca commit b687120

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

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

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@
1010

1111
import org.hibernate.engine.spi.SessionFactoryImplementor;
1212
import org.hibernate.query.sqm.ComparisonOperator;
13+
import org.hibernate.sql.ast.Clause;
1314
import org.hibernate.sql.ast.SqlAstNodeRenderingMode;
1415
import org.hibernate.sql.ast.spi.AbstractSqlAstTranslator;
1516
import org.hibernate.sql.ast.spi.SqlSelection;
1617
import org.hibernate.sql.ast.tree.Statement;
17-
import org.hibernate.sql.ast.tree.cte.CteStatement;
1818
import org.hibernate.sql.ast.tree.expression.Expression;
1919
import org.hibernate.sql.ast.tree.expression.Literal;
2020
import org.hibernate.sql.ast.tree.expression.SqlTuple;
@@ -35,6 +35,21 @@ public InformixSqlAstTranslator(SessionFactoryImplementor sessionFactory, Statem
3535
super( sessionFactory, statement );
3636
}
3737

38+
@Override
39+
public void visitSelectClause(SelectClause selectClause) {
40+
getClauseStack().push( Clause.SELECT );
41+
42+
try {
43+
appendSql( "select " );
44+
visitSqlSelections( selectClause );
45+
renderVirtualSelections( selectClause );
46+
}
47+
finally {
48+
getClauseStack().pop();
49+
}
50+
51+
}
52+
3853
@Override
3954
protected void visitSqlSelections(SelectClause selectClause) {
4055
if ( supportsSkipFirstClause() ) {
@@ -43,6 +58,9 @@ protected void visitSqlSelections(SelectClause selectClause) {
4358
else {
4459
renderFirstClause( (QuerySpec) getQueryPartStack().getCurrent() );
4560
}
61+
if ( selectClause.isDistinct() ) {
62+
appendSql( "distinct " );
63+
}
4664
super.visitSqlSelections( selectClause );
4765
}
4866

0 commit comments

Comments
 (0)