Hi Jérôme,
see below
On 11/05/2009 02:01 PM, Jerome Velociter wrote:
On 11/5/09 12:40 PM, Sergiu Dumitriu wrote:
On 11/04/2009 12:46 PM, Thomas Mortagne wrote:
On Wed, Nov 4, 2009 at 12:04, Jerome
Velociter<jerome(a)xwiki.com> wrote:
Hi Sergiu, all
I see in the XWikiHibernateStore that #countDocuments do distinct
documents by language while #searchDocuments does not.
I would have expect both to have the same behavior, so that we can use
them safely using the same query as input (for example for pagination).
Is there a reason for originally doing "select count(*)" versus select
"count(distinct doc.fullName)" ?
It looks like a bug to me.
Yes, it's a bug. Should be fixed.
OK. I've created
http://jira.xwiki.org/jira/browse/XWIKI-4555
Do you think it's safe to just replace by
count (distinct doc.fullName)
Any potential issues ?
Other than that it can take longer (since distinct might require a second pass
through the results depending on indexes and which of them are used in the where
expresison), I don't see another. But this problem also exists for the
searchDocuments(), and also, if one knows exactly what he's doing and wants to
optimize stuff, it could use protected API (select count without the distinct).
Happy hacking,
Anca
Thanks for the feedback,
Jerome.
According to javadoc ("API allowing to count
the total number of
documents that would be returned by a query.") countDocuments is
supposed to return the same thing that searchDocuments().size().
If the javadoc say it it's fine to fix it IMO, it's not like old
undocumented methods.
I think in any case we should have this API that does not distinct by
language. Should it replace the current behavior ? or should we add a
new API #countDocuments(String wheresql, boolean distinctFullname,
XWikiContext context) ?
Thanks,
Jerome.
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs