Good food for thought, thanks. I've never used predselect. Will have to read up on it. -- bc
On Tue, Jun 24, 2014 at 4:11 PM, Glenn Knickerbocker <[email protected]> wrote: > On 6/24/2014 2:49 PM, Bob Cronin wrote: > > I want to keep only those primary stream records for which ALL the > > mail-serverN names listed on that record are found in the secondary > stream. > > So, you want to discard records for which ANY name is NOT found. SPLIT > the names, LOOKUP to find the bad ones, and PREDSELECT to toss the bad > record. Feed another copy of the original to input 2 of PREDSELECT to > trigger the good records to go to output 1. > > (end /) ... | dup: fanout | notfound: predselect | ... (bad recs here) > / dup: | not chop blank | split | found: lookup > / ... (server list here) | found: | notfound: | ... (good recs here) > / dup: | notfound: > > If this is something that'll be running forever and you're being extra > picky about performance, you can use the primary output of CHOP 0 to > avoid the cost of the extra copy from FANOUT: > > (end /) ... | next: not chop 0 | dup: fanout | notfound: predselect > | ... (bad recs here) > / dup: | not chop blank | split | found: lookup > / ... (server list here) | found: | notfound: | ... (good recs here) > / next: | strliteral append | notfound: > > ¬R >
