Skip to content

Commit 9df5521

Browse files
committed
Revert "Handle lack of alias support for delete statements in MariaDB before version 11.6"
This reverts commit 078a452.
1 parent 2e60091 commit 9df5521

File tree

1 file changed

+3
-26
lines changed

1 file changed

+3
-26
lines changed

hibernate-core/src/main/java/org/hibernate/dialect/sql/ast/MariaDBSqlAstTranslator.java

Lines changed: 3 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
import org.hibernate.sql.ast.tree.from.DerivedTableReference;
2626
import org.hibernate.sql.ast.tree.from.NamedTableReference;
2727
import org.hibernate.sql.ast.tree.from.QueryPartTableReference;
28-
import org.hibernate.sql.ast.tree.from.TableReference;
2928
import org.hibernate.sql.ast.tree.insert.ConflictClause;
3029
import org.hibernate.sql.ast.tree.insert.InsertSelectStatement;
3130
import org.hibernate.sql.ast.tree.predicate.BooleanExpressionPredicate;
@@ -118,9 +117,7 @@ protected void renderDeleteClause(DeleteStatement statement) {
118117
final Stack<Clause> clauseStack = getClauseStack();
119118
try {
120119
clauseStack.push( Clause.DELETE );
121-
if ( supportsDeleteTableVariable() ) {
122-
renderTableReferenceIdentificationVariable( statement.getTargetTable() );
123-
}
120+
renderTableReferenceIdentificationVariable( statement.getTargetTable() );
124121
if ( statement.getFromClause().getRoots().isEmpty() ) {
125122
appendSql( " from " );
126123
renderDmlTargetTableExpression( statement.getTargetTable() );
@@ -148,28 +145,11 @@ protected void renderUpdateClause(UpdateStatement updateStatement) {
148145
@Override
149146
protected void renderDmlTargetTableExpression(NamedTableReference tableReference) {
150147
super.renderDmlTargetTableExpression( tableReference );
151-
final Clause currentClause = getClauseStack().getCurrent();
152-
if ( getClauseStack().getCurrent() != Clause.INSERT
153-
&& (currentClause != Clause.DELETE || supportsDeleteTableVariable()) ) {
148+
if ( getClauseStack().getCurrent() != Clause.INSERT ) {
154149
renderTableReferenceIdentificationVariable( tableReference );
155150
}
156151
}
157152

158-
@Override
159-
protected void renderTableReferenceIdentificationVariable(TableReference tableReference) {
160-
final Stack<Clause> clauseStack = getCurrentClauseStack();
161-
if ( clauseStack.getCurrent() == Clause.FROM && clauseStack.depth() > 1
162-
&& clauseStack.peek( 1 ) == Clause.DELETE && !supportsDeleteTableVariable() ) {
163-
return;
164-
}
165-
super.renderTableReferenceIdentificationVariable( tableReference );
166-
}
167-
168-
private boolean supportsDeleteTableVariable() {
169-
// Until 11.6, a DELETE statement doesn't support aliasing tables
170-
return getDialect().getVersion().isSameOrAfter( 11, 6 );
171-
}
172-
173153
@Override
174154
protected JdbcOperationQueryInsert translateInsert(InsertSelectStatement sqlAst) {
175155
visitInsertStatement( sqlAst );
@@ -198,10 +178,7 @@ protected String determineColumnReferenceQualifier(ColumnReference columnReferen
198178
|| !( getCurrentDmlStatement() instanceof InsertSelectStatement insertSelectStatement )
199179
|| ( dmlAlias = insertSelectStatement.getTargetTable().getIdentificationVariable() ) == null
200180
|| !dmlAlias.equals( columnReference.getQualifier() ) ) {
201-
return !supportsDeleteTableVariable() && getCurrentDmlStatement() instanceof DeleteStatement statement
202-
&& statement.getTargetTable().getIdentificationVariable().equals( columnReference.getQualifier() )
203-
? getCurrentDmlStatement().getTargetTable().getTableExpression()
204-
: columnReference.getQualifier();
181+
return columnReference.getQualifier();
205182
}
206183
// Qualify the column reference with the table expression also when in subqueries
207184
else if ( qualifierSupport != DmlTargetColumnQualifierSupport.NONE || !getQueryPartStack().isEmpty() ) {

0 commit comments

Comments
 (0)