Just for my own edification, could you explain in a bit more detail
why Lookup doesn't terminate when the records I am NOT feeding back to
it via the fanintwo (i.e. what would constitute the sole source of
records on the primary input were the fanintwo not there) runs out? I
mean, if there's no more records there, there's no chance anything
else will arrive on the secondary input of the fanintwo ...
--
bc

On Wed, Aug 5, 2009 at 3:50 PM, Glenn Knickerbocker<[email protected]> wrote:
> Bob Cronin wrote:
>> send them to the faninany preceding the lookup. When I do that with
>> copy or elastic, the pipe stalls. Ideas?
>
> You need something to sever LOOKUP's primary input at EOF.  As long as
> it's still feeding back to itself, it can never terminate.  The simplest
> way I've come up with is to feed the alternate output of COUNT to GATE.
> That avoids making any new copies of records with FANOUT, or delaying
> any records with TAKE LAST.
>
> Also, given the possibility that you might reprocess a record more than
> once, you want FANINTWO rather than FANINANY, so that the next record
> can't be read until you're done with this one.
>
>  (end ?)
>    end: fanin
>  | stop: gate
>  ? ...
>  | count: count lines
>  | feedback: fanintwo
>  | stop:
>  | match: lookup ...
>  ? ...
>  | match:
>  | locate ...
>  | copy
>  | feedback:
>  ? count:
>  | end:
>
> ¬R
>

Reply via email to