Right, i was also thinking on ending some pending work. This one is just for seeing what others think.
Created the issue NH-1513 <http://jira.nhibernate.org/browse/NH-1513> for that purpose. On Mon, Oct 6, 2008 at 4:12 PM, Fabio Maulo <[EMAIL PROTECTED]> wrote: > Hi.Tuna, your proposal of improv is interesting but, as you sure know, we > have many other things to do in core. > Please create a JIRA ticket (as "improv" or "new feature") and we can > continue the discussion there and users have the oppotunity to vote it. > > IMO is better if we concentrate our effort to end some pending work instead > create a new pending work. > > Bye. > Fabio. > > > 2008/10/5 Tuna Toksöz <[EMAIL PROTECTED]> > > I also wonder how UniqueResult can be batched. Maybe using a lambda? >> >> >> On Mon, Oct 6, 2008 at 12:43 AM, Diego Jancic <[EMAIL PROTECTED]> wrote: >> >>> Yes, you're right! That has no sense at all! >>> >>> >>> >>> *From:* [email protected] [mailto: >>> [EMAIL PROTECTED] *On Behalf Of *Tuna Toksöz >>> *Sent:* Sunday, October 05, 2008 18:36 >>> >>> *To:* [email protected] >>> *Subject:* [nhibernate-development] Re: MultiCriteria, MultiQuery needs >>> some modifications >>> >>> >>> >>> Nope, batch query will probably not have >>> >>> object UniqueResult(); >>> >>> T UniqueResult<T>(); >>> >>> because it is a multi-query. So it should be another class that doesn't >>> inherit from INhQuery >>> >>> >>> >>> List and UniqueResult, hmm maybe. I am thinking on Linq queries and yes >>> this may have List that refers to .ToList() and UniqueResult() to .First() >>> >>> >>> >>> >>> >>> On Mon, Oct 6, 2008 at 12:26 AM, Diego Jancic <[EMAIL PROTECTED]> wrote: >>> >>> Hi, >>> >>> I've an idea that sounds more intuitive to me. The problem is that I >>> would expect to be able to do something like: >>> >>> >>> >>> INHQuery query = GiveMeAQueryUsingTheMethodYouWant(); >>> >>> query.List() >>> >>> >>> >>> Because a query is useless if I can't see the results, I think that the >>> INHQuery should be at least something like this: >>> >>> >>> >>> interface INhQuery >>> >>> { >>> >>> object List(); >>> >>> IList<T> List<T>(); >>> >>> object UniqueResult(); >>> >>> T UniqueResult<T>(); >>> >>> >>> >>> // As we are in NHibernate and not in ADO.NET, and the Caching >>> feature is >>> >>> // in the core of the framework, I would add the caching methods >>> too. >>> >>> } >>> >>> >>> >>> Also, the batcher is not an special class alone, it could be just another >>> INhQuery that contains INhQueries. Something like this: >>> >>> >>> >>> class BatchQuery : INhQuery >>> >>> { >>> >>> void AddQuery(INhQuery query); >>> >>> * * >>> >>> * // Methods from INhQuery:* >>> >>> object List(); >>> >>> IList<T> List<T>(); >>> >>> object UniqueResult(); >>> >>> T UniqueResult<T>(); >>> >>> } >>> >>> >>> >>> Of course the BatchQuery could be an interface instead of a concrete >>> class, but I don't see why it might be needed. Of course you know so much >>> better how NH works, and probably have several reasons for that. It's just >>> an idea. >>> >>> Thoughts? >>> >>> >>> >>> Diego >>> >>> >>> >>> *From:* [email protected] [mailto: >>> [EMAIL PROTECTED] *On Behalf Of *Tuna Toksöz >>> *Sent:* Sunday, October 05, 2008 12:40 >>> *To:* [email protected] >>> *Subject:* [nhibernate-development] Re: MultiCriteria, MultiQuery needs >>> some modifications >>> >>> >>> >>> No other thoughts? >>> >>> On Sat, Oct 4, 2008 at 11:10 PM, Tuna Toksöz <[EMAIL PROTECTED]> wrote: >>> >>> Doesn't have to have any method, a marker interface just works. But if we >>> are to define, then we can use >>> >>> >>> >>> interface INhQuery >>> >>> { >>> >>> void SetCachable(bool); >>> >>> void SetCacheRegion(string); >>> >>> void SetCacheMode(whatever); >>> >>> } >>> >>> >>> >>> Those are the biggest set of methods that are common among Hql,Criteria >>> and Linq(in the future) >>> >>> On Sat, Oct 4, 2008 at 11:00 PM, Fabio Maulo <[EMAIL PROTECTED]> >>> wrote: >>> >>> Which should be the contract of INhQuery ? >>> >>> 2008/10/4 Tuna Toksöz <[EMAIL PROTECTED]> >>> >>> >>> >>> Hello everybody, >>> >>> When studying the issue NH-1508<http://jira.nhibernate.org/browse/NH-1508>, >>> I realized that MultiQuery is coupled to Hql(Sql is not possible). Fabio >>> told me to throw NotSupportedException temporarily, just to let the user >>> know about the situation. >>> The discussion between Fabio and me brought some ideas in my mind. >>> >>> Let me tell what I have in my mind. >>> >>> 1. Define an interface INHQuery (a better name would be IQuery but it is >>> used for Hql) which will be base for IQuery and ICriteria, and in the future >>> Linq Queries. Can be either a marker interface or a set of common methods >>> such as cacheable etc. This part is optional) >>> 2. Define a Batcher class(I need to study NH more to come up with full >>> declaration) and an interface IBatchQueryAppender<T> where T:INhQuery >>> The batcher will accept any INhQuery as long as its Appender is >>> defined. It will do the work to append the query to the batch. >>> >>> This way, different querying methods can be used in the same batch. >>> >>> This implementation will make MultiQuery and MultiCriteria obselete and >>> current implementations for those will redirect method calls to INhQuery in >>> order to prevent breaking changes. >>> >>> This is my initial thoughts about the issue. Comments are welcome. >>> >>> Cheers! >>> -- >>> Tuna Toksöz >>> >>> Typos included to enhance the readers attention >>> >>> >>> >>> >>> -- >>> Fabio Maulo >>> >>> >>> >>> >>> -- >>> Tuna Toksöz >>> >>> Typos included to enhance the readers attention! >>> >>> >>> >>> >>> -- >>> Tuna Toksöz >>> >>> Typos included to enhance the readers attention! >>> >>> >>> >>> >>> -- >>> Tuna Toksöz >>> >>> Typos included to enhance the readers attention! >>> >> >> >> >> -- >> Tuna Toksöz >> >> Typos included to enhance the readers attention! >> > > > > -- > Fabio Maulo > -- Tuna Toksöz Typos included to enhance the readers attention!
