I'm not sure whether this is a bug or a "feature".  If it is a bug,
I'll add this as a JIRA entry instead.  It certainly seems like a bug
to me.

At some point between January and May of this year, the behavior of
filter parameters changed when used with joins.  This only really a
problem for outer joins.

Filters used to produce SQL similar to the following:

SELECT <fields>
FROM Table1
LEFT JOIN Table2
ON Table1.id = Table2.id
AND Table2.SomeOtherField = 'Some value'

The key there is that the filter t2.SomeOtherField = 'Some value' is
appended to the ON clause of the LEFT JOIN.  This allows rows from
Table1 to be returned even if no matching rows from Table2 exist.
After some change, the SQL now looks like this:

SELECT <fields>
FROM Table1
LEFT JOIN Table2
ON Table1.id = Table2.id
WHERE Table2.SomeOtherField = 'Some value'

This renders the LEFT JOIN useless, because the filter criteria is now
applied to the overall where clause.  It seems the filter should only
by applied to selects from Table2.

FYI I'm using .NET 3.5, Sql 2005 dialect
--~--~---------~--~----~------------~-------~--~----~
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