I was surprised to get a stall at EOF from this simple CALLPIPE:
'callpipe (end /) *: | sql nocommit execute | *:' ,
'/ *..1: | sql nocommit execute | *..1:'
when output 0 was fed back into input 1. The stall doesn't have
anything to do with SQL; it happens with any stages. If I use ADDPIPE
instead, it terminates fine. With CALLPIPE, I have to include something
like GATE to sever the fed back input at EOF. It can be in the calling
pipeline:
'PIPE (end /)' input '| 0: chop 0 | take last 1 | stop: gate' ,
'/ 0: | a:' mystage etc. '| a: |' output
or it can be on the input side of the CALLPIPE:
'callpipe (end /) *: | 0: chop 0 | take last 1 | stop: gate' ,
'/ 0: | insert ,0, | *:' ,
'/ *..1: | stop: | insert ,1, | *..1:'
It doesn't help if it's on the output side, though. This still stalls:
'callpipe (end /) *: | 0: chop 0 | take last 1 | stop: gate' ,
'/ 0: | insert ,0, | stop: | *:' ,
'/ *..1: | insert ,1, | *..1:'
¬R