HHH-15720 Using multiple select in a multiselect generates java.lang.ArrayIndexOutOfBoundsException

This commit is contained in:
Andrea Boriero 2023-06-28 15:06:29 +02:00 committed by Andrea Boriero
parent 0b8384c67f
commit afd3bee28e
1 changed files with 9 additions and 1 deletions

View File

@ -8241,7 +8241,15 @@ public abstract class BaseSqmToSqlAstConverter<T extends Statement> extends Base
offset = countIndividualSelections( ( (SqmDynamicInstantiation<?>) selectableNode ).getArguments() ) - 1; offset = countIndividualSelections( ( (SqmDynamicInstantiation<?>) selectableNode ).getArguments() ) - 1;
} }
else if ( selectableNode instanceof SqmJpaCompoundSelection<?> ) { else if ( selectableNode instanceof SqmJpaCompoundSelection<?> ) {
offset += ( (SqmJpaCompoundSelection<?>) selectableNode ).getSelectionItems().size() - 1; for ( SqmSelectableNode<?> node : ( (SqmJpaCompoundSelection<?>) selectableNode ).getSelectionItems() ) {
if ( node instanceof SqmDynamicInstantiation<?> ) {
offset += countIndividualSelections( ( (SqmDynamicInstantiation<?>) node ).getArguments() ) ;
}
else {
offset += 1;
}
}
offset -= 1;
} }
} }
return offset + selections.size(); return offset + selections.size();