
| Key: |
HHH-3090
|
| Type: |
Bug
|
| Status: |
Open
|
| Priority: |
Major
|
| Assignee: |
Unassigned
|
| Reporter: |
Jaime Porras
|
| Votes: |
5
|
| Watchers: |
4
|
|
If you were logged in you would be able to see more operations.
|
|
|
|
Time Tracking:
|
|
Original Estimate:
|
10 minutes
|
|
|
Remaining Estimate:
|
10 minutes
|
|
|
Time Spent:
|
Not Specified
|
|
|
|
|
When a polymorphic search is performed HQLQueryPlan.performList() never return any results because there is a mistake in this code:
for ( int x = 0; x < size; x++ ) {
final Object result = tmp.get( x );
if ( distinction.add( result ) ) {
continue;
}
includedCount++;
if ( includedCount < first ) {
continue;
}
combinedResults.add( result );
if ( max >= 0 && includedCount > max ) {
// break the outer loop !!!
break translator_loop;
}
}
The call to distinction.add( result ) returns true when the result is added and false when the result is already in the set. So the if code should be:
if ( !distinction.add( result ) ) {
continue;
}
|
|
Description
|
When a polymorphic search is performed HQLQueryPlan.performList() never return any results because there is a mistake in this code:
for ( int x = 0; x < size; x++ ) {
final Object result = tmp.get( x );
if ( distinction.add( result ) ) {
continue;
}
includedCount++;
if ( includedCount < first ) {
continue;
}
combinedResults.add( result );
if ( max >= 0 && includedCount > max ) {
// break the outer loop !!!
break translator_loop;
}
}
The call to distinction.add( result ) returns true when the result is added and false when the result is already in the set. So the if code should be:
if ( !distinction.add( result ) ) {
continue;
}
|
Show » |
|