Clarify :full_outer v :outer joins
asummers opened this issue · 1 comments
In investigating the Dialyzer errors (see also #80), I found that flow.ex
operates on join
of both :outer
and :full_outer
. The docs and the usage in Flow.Materialize
and the tests suggest it should be :full_outer
but the there are uses of :outer
in the @join
module attribute and the @type join
, as well as several function calls. Which of these is actually intended?
Additionally, the typespec for @typep producers
needs to be | {:join, join, t, t, fun(), fun(), fun()}
with the join
as the second argument. Whenever the :full_outer
v :outer
is resolved, and this is added, that section of the errors will disappear.
Good catch. The join one is full_outer. The other :outer is unrelated. Thanks for all fo the fixes!