The problem is that join and branching operations are special cases which are somewhat not directly tied to the pipeline executor and perform themselves execution of their inner operations in whatever way they believe is the best way. Perhaps the concept of executor should be extended to be consistent in the entire pipeline, but I'm not sure it would work in every case.
On Mon, Jul 11, 2011 at 14:44, jalchr <[email protected]> wrote: > Miles, > If you want to use the Single-Threaded-Pipe-line to consume less memory, > then you don't want any "CachingEnumerable" in the way holding resources > .... think of millions of records which can't stay in the memory. In this > case, you don't care if it is queried more than once from the source, as > long as it doesn't OOM. > > So the join operation should bend with the current pipeline > > protected IEnumerable<Row> GetRightEnumerable() > { > > If(Pipeline.UseCache) > // then use the cachingEnumerable > IEnumerable<Row> rightEnumerable = new CachingEnumerable<Row>( > new EventRaisingEnumerator(right, right.Execute(null)) > ); > else > // don't use it ... > IEnumerable<Row> rightEnumerable = new EventRaisingEnumerator(right, > right.Execute(null)); > > -- > 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/-/u_XrzPJ7zroJ. > > 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.
