Thanks, CSharper!

On Jan 22, 7:50 am, CSharper <[email protected]> wrote:
> Hi,
>
> semantically both mean the same because the operator precedence of OR
> is lower than the AND-precedence.
>
> So...
>         A and ((B and C) or (D and E))
> ... and ...
>         A and (B and C or D and E)
> ... are logically the same.
>
> Regards,
> CSharper
>
> On 21 Jan., 16:51, Borges <[email protected]> wrote:
>
>
>
>
>
>
>
> > Hello There!
>
> > I find this hard to believe, but it seems that for an NH query of
> > mine, the SQL logic
> > is different than the HQL :
>
> > HQL:
>
> > select vi, 0 from TableA vi
> > where (vi.ColumnA = ? and
> >          (vi.State <> ?) and
> >          ((vi.State in (?,?) and vi.VID = ? and vi.Mode = ?) or
> >           (vi.State in (?,?) and vi.VID <> ? and vi.IID = ? and
> > vi.Mode = ?)))
>
> > SQL where clause part captured by SQL Server Profiler:
>
> > where mappedTableA.MappedColumnA=@p0 and
> >         mappedTableA.MappedState<>@p1 and
> >         ((mappedTableA.MappedState in (@p2 , @p3)) and
> >           mappedTableA.MappedVID=@p4 and
> >           mappedTableA.MappedMode=@p5 or
> >           (mappedTableA.MappedState in (@p6 , @p7)) and
> >           mappedTableA.MappedVID<>@p8 and
> >           mappedTableA.MappedIID_=@p9 and
> >           reportingw0_.MappedMode=@p10)
>
> > Notice how the or in the HQL is inside brackets, while in the SQL it
> > is not. So, the logic is not the same.
>
> > Has anyone else encountered this issue? I am happy to prepare a test
> > project to repro, but I was just wondering
> > if this is a know issue?  We see this with NH 2.X and NH3 (alpha).
>
> > Thanks!
>
> > Aaron

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.

Reply via email to