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!

Reply via email to