Skip to content

Commit 1522d3c

Browse files
committed
HHH-18647 Fix insert values check for table group joins
1 parent 71dfffd commit 1522d3c

File tree

1 file changed

+2
-20
lines changed

1 file changed

+2
-20
lines changed

hibernate-core/src/main/java/org/hibernate/query/sqm/sql/BaseSqmToSqlAstConverter.java

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -353,19 +353,7 @@
353353
import org.hibernate.sql.ast.tree.expression.TrimSpecification;
354354
import org.hibernate.sql.ast.tree.expression.UnaryOperation;
355355
import org.hibernate.sql.ast.tree.expression.UnparsedNumericLiteral;
356-
import org.hibernate.sql.ast.tree.from.CorrelatedPluralTableGroup;
357-
import org.hibernate.sql.ast.tree.from.CorrelatedTableGroup;
358-
import org.hibernate.sql.ast.tree.from.EmbeddableFunctionTableGroup;
359-
import org.hibernate.sql.ast.tree.from.FromClause;
360-
import org.hibernate.sql.ast.tree.from.FunctionTableGroup;
361-
import org.hibernate.sql.ast.tree.from.NamedTableReference;
362-
import org.hibernate.sql.ast.tree.from.PluralTableGroup;
363-
import org.hibernate.sql.ast.tree.from.QueryPartTableGroup;
364-
import org.hibernate.sql.ast.tree.from.QueryPartTableReference;
365-
import org.hibernate.sql.ast.tree.from.TableGroup;
366-
import org.hibernate.sql.ast.tree.from.TableGroupJoin;
367-
import org.hibernate.sql.ast.tree.from.TableGroupJoinProducer;
368-
import org.hibernate.sql.ast.tree.from.TableReference;
356+
import org.hibernate.sql.ast.tree.from.*;
369357
import org.hibernate.sql.ast.tree.insert.ConflictClause;
370358
import org.hibernate.sql.ast.tree.insert.InsertSelectStatement;
371359
import org.hibernate.sql.ast.tree.insert.InsertStatement;
@@ -1279,8 +1267,7 @@ public InsertStatement visitInsertValuesStatement(SqmInsertValuesStatement<?> sq
12791267
this
12801268
);
12811269

1282-
if ( !rootTableGroup.getTableReferenceJoins().isEmpty()
1283-
|| !rootTableGroup.getTableGroupJoins().isEmpty() ) {
1270+
if ( hasJoins( rootTableGroup ) ) {
12841271
throw new HibernateException( "Not expecting multiple table references for an SQM INSERT-SELECT" );
12851272
}
12861273

@@ -1299,11 +1286,6 @@ public InsertStatement visitInsertValuesStatement(SqmInsertValuesStatement<?> sq
12991286
rootTableGroup
13001287
);
13011288

1302-
if ( !rootTableGroup.getTableReferenceJoins().isEmpty()
1303-
|| !rootTableGroup.getTableGroupJoins().isEmpty() ) {
1304-
throw new SemanticException( "Not expecting multiple table references for an SQM INSERT-SELECT" );
1305-
}
1306-
13071289
for ( SqmValues sqmValues : sqmStatement.getValuesList() ) {
13081290
final Values values = visitValues( sqmValues );
13091291
additionalInsertValues.applyValues( values );

0 commit comments

Comments
 (0)