Thanks for the clarification. I agree regarding the PRs you suggested,
specifically on documenting this fact.

The problem is when I read this
<https://github.com/jeremyevans/sequel/blob/master/lib/sequel/plugins/dataset_associations.rb#L46>
I
thought dataset_associations_join would solve all problems and include
dynamic conditions based on other columns in other tables (since it was now
joining).



On Sat, Aug 26, 2017 at 10:13 PM, Jeremy Evans <[email protected]>
wrote:

> On Saturday, August 26, 2017 at 8:35:29 PM UTC-7, Aryk Grosz wrote:
>>
>> Hi Jeremy,
>>
>> I was looking through the code:
>>
>> https://github.com/jeremyevans/sequel/blob/master/lib/
>> sequel/plugins/dataset_associations.rb#L94
>>
>> It seems like any special conditions put on the association are largely
>> ignored. For example, if there is a :graph_block which would normally get
>> used on association_join, the #associated call does not use any of it, even
>> with the :dataset_associations_join block that was added at the bottom.
>>
>> I would expect associated to honor the conditions in the join. Is there a
>> reason why we can't use them? For example, here
>> <https://github.com/jeremyevans/sequel/blob/master/lib/sequel/plugins/dataset_associations.rb#L137>
>>  it
>> ignores join conditions that would otherwise be getting used on
>> associations_join.
>>
>
> Dataset associations in general supports options supported with normal
> loading and eager loading, not eager_graph loading and association_join.
> So it uses the association block as well as the :conditions option, not
> :graph_block and :graph_conditions.  It's not possible to support both
> types of options at the same time.  Check the dataset_associations plugin
> specs for how the :conditions option and association block are used for
> filtering.
>
> Considering how dataset_associations works (using subqueries, not joins),
> I wouldn't expect it to use graph/join specific options for that part.
> Now, if :dataset_associations_join is used, it may be possible (I'm not
> sure) to use the eager_graph specific options for the join, but as it would
> break backwards compatibility, we'd probably need to use a new option/value
> to enable it (e.g. :dataset_associations_join=>:graph).  I'll consider a
> pull request that adds such support, if it supports all association types
> that ship with Sequel and includes updates to both the plugin specs and
> integration tests.
>
> The current dataset_associations documentation sort of assumes that eager
> loading means via eager and not eager_graph.  I'll also consider a
> documentation pull request that makes the current behavior more clear.
>
> Thanks,
> Jeremy
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "sequel-talk" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/
> topic/sequel-talk/HygadFiidM4/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/sequel-talk.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sequel-talk.
For more options, visit https://groups.google.com/d/optout.

Reply via email to