getMostCommentedWeblogs() doesn't return most commented weblogs unless called
with limit = -1
---------------------------------------------------------------------------------------------
Key: ROL-1756
URL: https://issues.apache.org/roller/browse/ROL-1756
Project: Roller
Issue Type: Bug
Components: Database Access & Data Model
Affects Versions: 4.0
Environment: Doesn't look environment-specific. Environment was:
Roller 4.0, MySQL 5.0, unknown Java version.
Reporter: Anil Gangolli
Assignee: Roller Unassigned
Priority: Minor
This issue was originally reported by Guglielmo Carandente <[EMAIL PROTECTED]>
If you call getMostCommentedWeblogs() with a limit value other than -1, it may
not actually return the most commented weblogs.
This getMostCommentedWeblogs() method is exposed as part of the site model and
the call goes down to WeblogEntryManager.getMostCommentedWeblogEntries().
The problem results because the query itself does not do any ordering on its
result set because (according to a comment near the query definition) of a
restriction in JPA QL, yet if you pass a limit value other than -1 the query
result set is limited to the specified size. The ordering is then done by
sorting the results in the Java code within the method
WeblogEntryManager.getMostCommentedWeblogEntries(). So if you limit of the
result set, it may not contain the most commented entries. You'll just end up
sorting the first n entries returned by the query where n is the value of limit
passed.
To work around this bug, you can pass -1 for the length limit and then limit
the number of results you actually display in your velocity template.
The performance of this workaround may not be acceptable if you have a large
number of blogs on the site.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.