Yes except that getResultSize() can have a side effect (ie. call the actual query). If things become more complex, we can introduce this object but probably not for hasPartialResults alone. Make sense?
On 6 nov. 2010, at 16:50, Sanne Grinovero wrote: > there's a similar case already: > query.getResultSize() //relates to the last returned list > > and so looking at the complexity of proposed alternatives, I'm not > strongly against your original suggestion to provide > a method on the query object. > > Alternatively we might consider there might be enough good reasons to > create a new object to > collect information about the executed query. > > query.getLastQueryExecutionMetadata(). > .hasPartialResults() > .executionTime() //possibly interesting > .getResultSize() > > I would be fine too in considering the Query object the right place > for this info (as it currently is) documenting that these methods > refer to the last execution. > > Sanne > > 2010/11/6 Emmanuel Bernard <emman...@hibernate.org>: >> The other option I've been thinking about is to get limitFetchTime() / >> limitTimeAllowedTo() to return a Future object or some equivalent notion say >> a BooleanHolder. >> >> BooleanHolder hasPartialResults = query.limitTimeAllowedTo(500, >> MILLISECONDS, hasPartialResults); >> query.list(); >> if ( hasPartialResults.get() ) { >> //do stuffs >> } >> >> But: >> - that's a bit weird to get a future in this sync API >> - it breaks the method chaining used in the rest of the API >> >> Another possibility is to optionally let people pass the boolean holder that >> is populated after the call >> >> BooleanHolder hasPartialResults = new BooleanHolder(); >> List results = query.limitTimeAllowedTo(500, MILLISECONDS, >> hasPartialResults).list(); >> if ( hasPartialResults.get() ) { >> //do stuffs >> } >> >> WDYT? >> >> On 6 nov. 2010, at 15:25, Emmanuel Bernard wrote: >> >>> You'll need to extend: >>> - List >>> - Iterator >>> - ScrollableResults >>> >>> Not sure that's a good thing. >>> >>> You can reuse the query as long as you check hasPartialResults() before >>> calling list/iterate/scroll query again. >>> >>> PS: we should add tests about query reusability, I'm not sure it works as >>> expected today. >>> >>> >>> On 6 nov. 2010, at 12:31, Sanne Grinovero wrote: >>> >>>> Hello, >>>> about naming I have no better ideas: >>>> .limitFetchTime() //slightly different, not very happy about it either >>>> >>>> about API, does it really make sense to have hasPartialResults() as a >>>> method of the Query? >>>> It should be a List property I think - I have no strong opinions about >>>> this as I don't like having to extend the List implementation. >>>> >>>> But really Query is something I might want to reuse - unlikely but I'd >>>> expect that to work fine. >>>> So what about: >>>> >>>> SomeNewList results = query.list(500, TimeUnit.MILLISECONDS) >>>> or a batter named method. >>>> >>>> So: >>>> >>>> if ( results.hasPartialResults() ) { >>>> displayWarningToUser(); >>>> } >>>> >>>> This is one of those cases in which I miss the option of having a >>>> couple of values from a function. >>>> >>>> Sanne >>>> >>>> 2010/11/5 Emmanuel Bernard <emman...@hibernate.org>: >>>>> If you can find better name for the API, please advise. I am not happy >>>>> with the current version >>>>> >>>>> Query luceneQuery = ...; >>>>> FullTextQuery query = fullTextSession.createFullTextQuery(luceneQuery, >>>>> User.class); >>>>> >>>>> //define the timeout in seconds >>>>> query.limitFetchingTime(500, TimeUnit.MILLISECONDS); >>>>> List results = query.list(); >>>>> >>>>> if ( query.hasPartialResults() ) { >>>>> displayWarningToUser(); >>>>> } >>>>> >>>>> Emmanuel >>>>> _______________________________________________ >>>>> hibernate-dev mailing list >>>>> hibernate-dev@lists.jboss.org >>>>> https://lists.jboss.org/mailman/listinfo/hibernate-dev >>>>> >>> >>> >>> _______________________________________________ >>> hibernate-dev mailing list >>> hibernate-dev@lists.jboss.org >>> https://lists.jboss.org/mailman/listinfo/hibernate-dev >> >> _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev