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.