mirror of
https://github.com/hibernate/hibernate-orm
synced 2025-02-14 15:14:56 +00:00
HHH-18225 Fix for Informix syntax error in DISTINCT clause before SKIP clause
This commit is contained in:
parent
224e8ca57a
commit
b687120bad
@ -10,11 +10,11 @@
|
||||
|
||||
import org.hibernate.engine.spi.SessionFactoryImplementor;
|
||||
import org.hibernate.query.sqm.ComparisonOperator;
|
||||
import org.hibernate.sql.ast.Clause;
|
||||
import org.hibernate.sql.ast.SqlAstNodeRenderingMode;
|
||||
import org.hibernate.sql.ast.spi.AbstractSqlAstTranslator;
|
||||
import org.hibernate.sql.ast.spi.SqlSelection;
|
||||
import org.hibernate.sql.ast.tree.Statement;
|
||||
import org.hibernate.sql.ast.tree.cte.CteStatement;
|
||||
import org.hibernate.sql.ast.tree.expression.Expression;
|
||||
import org.hibernate.sql.ast.tree.expression.Literal;
|
||||
import org.hibernate.sql.ast.tree.expression.SqlTuple;
|
||||
@ -35,6 +35,21 @@ public InformixSqlAstTranslator(SessionFactoryImplementor sessionFactory, Statem
|
||||
super( sessionFactory, statement );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitSelectClause(SelectClause selectClause) {
|
||||
getClauseStack().push( Clause.SELECT );
|
||||
|
||||
try {
|
||||
appendSql( "select " );
|
||||
visitSqlSelections( selectClause );
|
||||
renderVirtualSelections( selectClause );
|
||||
}
|
||||
finally {
|
||||
getClauseStack().pop();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void visitSqlSelections(SelectClause selectClause) {
|
||||
if ( supportsSkipFirstClause() ) {
|
||||
@ -43,6 +58,9 @@ protected void visitSqlSelections(SelectClause selectClause) {
|
||||
else {
|
||||
renderFirstClause( (QuerySpec) getQueryPartStack().getCurrent() );
|
||||
}
|
||||
if ( selectClause.isDistinct() ) {
|
||||
appendSql( "distinct " );
|
||||
}
|
||||
super.visitSqlSelections( selectClause );
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user