[jira] [Commented] (OFBIZ-5701) Bug SQL Count Distinct command in GenericDAO.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Commented] (OFBIZ-5701) Bug SQL Count Distinct command in GenericDAO.java

Nicolas Malin (Jira)

    [ https://issues.apache.org/jira/browse/OFBIZ-5701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14100942#comment-14100942 ]

kieuanhvu commented on OFBIZ-5701:
----------------------------------

Hi, Jacques Le Roux, my use case as following:          
               EntityFindOptions options = new EntityFindOptions(true, EntityFindOptions.TYPE_SCROLL_INSENSITIVE, EntityFindOptions.CONCUR_READ_ONLY, true); // Line 1
                options.setDistinct(true); // Line 2
                options.setMaxRows(viewSize * (viewIndex + 1));//  viewSize = 10, viewIndex = 0
                lowIndex = viewIndex * viewSize + 1;
                highIndex = (viewIndex + 1) * viewSize;
                try {
                        EntityListIterator partyListIt = delegator.find("PartyRoleAndPartyDetail",
                                        EntityCondition.makeCondition(conditions, EntityOperator.AND), null, null, UtilMisc.toList("createdDate DESC"), options);
                        List<GenericValue> partyList = partyListIt.getPartialList(lowIndex, viewSize); // Line 9
                        int partyListSize = partyListIt.getResultsSizeAfterPartialList();  // Line 10
                        partyListIt.close();
                        if(highIndex > partyListSize){
                                highIndex = partyListSize;
                        }
                       /*.....*/
               }catch(GenericEntityException e){
               }

If I delete line 2 in my code, the partyListSize variable will have result as my expected (In my specific case, partyListSize = 19)
If I don't delete line 2, the partyListSize variable will equals 1, but size of partyList, in line 9, is 10 (because the viewSize = 10).

> Bug SQL Count Distinct command in GenericDAO.java
> --------------------------------------------------
>
>                 Key: OFBIZ-5701
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-5701
>             Project: OFBiz
>          Issue Type: Bug
>          Components: framework
>    Affects Versions: Trunk
>            Reporter: kieuanhvu
>         Attachments: GenericDAO.java.patch, SQLDistinctGenericDAO.diff, SQLDistinctGenericDAO.diff
>
>
> I have encounter the problem is: How can ofbiz framework count distinct for all selected fields in query function of delegator? Although EntityFindOptions.setDistinct(true) and the selected fields are all field, the ofbiz framework always count distinct follow only one field.
> I have resolved problem as my attact file



--
This message was sent by Atlassian JIRA
(v6.2#6252)