Skip to content

Commit cf27ecc

Browse files
committed
fix problems with unaliased tables on Informix
1 parent 7500882 commit cf27ecc

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import org.hibernate.community.dialect.unique.InformixUniqueDelegate;
2525
import org.hibernate.dialect.DatabaseVersion;
2626
import org.hibernate.dialect.Dialect;
27+
import org.hibernate.dialect.DmlTargetColumnQualifierSupport;
2728
import org.hibernate.dialect.NullOrdering;
2829
import org.hibernate.dialect.Replacer;
2930
import org.hibernate.dialect.SelectItemReferenceStrategy;
@@ -1083,4 +1084,9 @@ public IdentifierHelper buildIdentifierHelper(IdentifierHelperBuilder builder, @
10831084
}
10841085
return super.buildIdentifierHelper( builder, metadata );
10851086
}
1087+
1088+
@Override
1089+
public DmlTargetColumnQualifierSupport getDmlTargetColumnQualifierSupport() {
1090+
return DmlTargetColumnQualifierSupport.TABLE_ALIAS;
1091+
}
10861092
}

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.hibernate.sql.ast.tree.expression.SelfRenderingExpression;
2424
import org.hibernate.sql.ast.tree.expression.SqlTuple;
2525
import org.hibernate.sql.ast.tree.expression.Summarization;
26+
import org.hibernate.sql.ast.tree.from.NamedTableReference;
2627
import org.hibernate.sql.ast.tree.from.ValuesTableReference;
2728
import org.hibernate.sql.ast.tree.insert.ConflictClause;
2829
import org.hibernate.sql.ast.tree.insert.InsertSelectStatement;
@@ -342,4 +343,12 @@ public void visitBinaryArithmeticExpression(BinaryArithmeticExpression arithmeti
342343
}
343344
super.visitBinaryArithmeticExpression( arithmeticExpression );
344345
}
346+
347+
@Override
348+
protected void renderDmlTargetTableExpression(NamedTableReference tableReference) {
349+
super.renderDmlTargetTableExpression( tableReference );
350+
if ( getClauseStack().getCurrent() != Clause.INSERT ) {
351+
renderTableReferenceIdentificationVariable( tableReference );
352+
}
353+
}
345354
}

0 commit comments

Comments
 (0)