Hi again Harald.
On Tue, Mar 29, 2011 at 1:04 AM, Harald Mueller <[email protected]> wrote:
> Hi Patrick -
>
> (a) Timeline: "Slow going". I can work on my commute (Munich S-Bahn, about 45
> minutes/direction = 90 minutes/day).
It's no problem. We'll get things in there at some point. I just
hope that you'll have the persistence to make it through it all. :)
It seems like a tricky problem.
> (b) No, no tests for self joins. I'll add them in the evening.
>
> BUT!!!!!!!!!!!!
>
> (c) De Morgan allows us to "write an || with &&": A || B is the same as !(!A
> && !B). Although it is not clear that this is also true under the
> "navigational logic extension of ||", I managed to write a short test that
> shows that my code is still wrong. Adding some code for the ! operator fixed
> it, but I'm far from a complete test suite; and moreover, !(!(...)) will now
> create "suboptimal joins".
>
> (d) 2 more testcases I wrote with ||s of depth 3 fail. I have to look ...
I have to say I'm a bit concerned that there are apparently a number
of edge cases and unhandled situations. This may be completely
meaningless, but my feeling is that there is simplicity around the
corner if we look at the problem in a slightly different way.
> (e) I'm worried about the Any operator. I have not yet written tests for it,
> but I fear that "it doesn't work at all" (if the condition inside has
> navigations + ||s). I fear that this cannot be solved with Linq rewriting,
> but rather requires changes to the HQL generator (create OUTER JOINs for
> subselects???).
Well, if changes are needed, we can make them. I think few people
would complain about enhanced capabilities in hql anyways. Perhaps
some of this has already been implemented in Hibernate.
I'm at work too, so I'll shut up for now. :) Looking forward to
hearing from you again later.
Patrick Earl