Default to OUTER JOIN for Table, KeyValue backends #277
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently we default to an INNER join for the Table and KeyValue backends, although this never has any impact when using
where
since we always have equality predicates which don't fall through to the default. But fororder
, we currently use INNER join, which means that:will only return posts that have a non-NULL
title
column. This seems counter-intuitive to me, so I'm changing the behaviour to use an OUTER join here so that all posts will be returned, even if they do not have a translation (in this casetitle
will be ordered as if it wasnil
).I also found a small bug where
&&
was returningfalse
instead ofnil
, fixed here.