+1 for option 3

do you have access to Fabio's Artorius code? I guess it would be best if
that could be reused instead of having to duplicate Fabio's efforts here.  I
have no idea where he hosting that code though... if he's hosting it online
at all.

On Sat, Jan 17, 2009 at 2:40 PM, Ayende Rahien <[email protected]> wrote:

> I am reviewing the possibilities that we have for a robust Linq
> implementation, and it seems like we have several options.
>
> As a reminder, iMeta has granted us a full time developer for 3 months for
> this task, so we have someone that can actually work on this specific task
> full time (which solves the biggest problem that we had so far with this).
>
> Now, as I see this, we actually have two separate issues with NH Linq. The
> first is the actual linq parsing, the second is moving from the expression
> tree to a query.
>
> The first problem is not something that really concerns me. I think that we
> can make use of existing linq providers impl to build our own. Basing
> ourselves on something like IQueryable Toolkit or similar frameworks.
> The second is the more complex issue, and that relates to the thorn in our
> side, HQL AST.
>
> I think that we have 3 main options for NH Linq query building.
>
> 1) build a 3rd way to query the DB, sibling to HQL and Criteria. That would
> be, in my opinion, stupid in the extreme, because of the scope of the task
> and the fact that it would only cause more issues, not less.
>
> 2) take the Linq expression tree and generate HQL out of it, which we will
> then use to perform the actual query.
> This is probably the easiest approach, it would require minimal
> modification from NHibernate and we can get it out the door very quickly.
> This feels hacky, however.
>
> 3) build the HQL AST, port the AST query approach from Hibernate. Base the
> Linq implementation on the AST.
> That is where I _want_ to go. It is the biggest task, but I think that it
> will leave us in a much better position overall. We also have the benefit of
> being able to port the feature (except for the actual parsing) directly from
> Hibernate, making the actual task much easier, and getting the benefits of
> the test cases that they have.
>
> As a bonus, Steve, the developer that we have for this task, has some
> experience with GOLD parser, Which is what Artorius (the latest attempt to
> create the NH HQL AST) is written in.
>
> I would like to get your opinions about where we should go.




-- 
Davy Brion
http://davybrion.com

Reply via email to