Hi,

@Miles, I'm using the single-threaded pipeline executer, and still the
> JoinOperation does use the CachingEnumerable which doesn't respect the
> pipeline work:


I think you've misunderstood how the JoinOperation works internally: a row
from the left can match multiple rows on the right (just like a sql join),
which, as SimoneB says, requires the
enumerable to be cached so it can be enumerated multiple times.  Otherwise,
you're really talking about some sort of "merge" operation - and you have to
write that yourself :-), or executing some sort of lookup query once per
row, which is pretty expensive, and you have to write that yourself too!

One thing - you could try switching which query is left and which is right,
so the query with the fewest rows is the cached one.

Miles



>
> A check should be there in the JoinOperation
>
> If(Pipeline.UseCache)
>   // then use the cachingEnumerable
> else
> // don't use it ...
>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Rhino Tools Dev" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/rhino-tools-dev/-/vLPKO9szxNcJ.
>
> 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/rhino-tools-dev?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" 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/rhino-tools-dev?hl=en.

Reply via email to