1: # include "../ingres.h" 2: # include "../aux.h" 3: # include "../tree.h" 4: # include "decomp.h" 5: # include "../pipes.h" 6: 7: writeback(flag) 8: int flag; 9: { 10: struct pipfrmt buf; 11: extern struct pipfrmt Inpipe; 12: extern struct retcode Retcode; 13: 14: flush(); 15: wrpipe(P_PRIME, &buf, EXEC_PARSER, 0, 0); 16: if (flag > 0) 17: { 18: /* send back tuple count info */ 19: 20: # ifdef xDTR1 21: if (tTf(8, 10)) 22: printf("%s tups found\n", locv(Retcode.rc_tupcount)); 23: # endif 24: 25: wrpipe(P_NORM, &buf, W_up, &Retcode, sizeof (Retcode)); 26: } 27: 28: if (flag < 0) 29: { 30: rdpipe(P_PRIME, &Inpipe); 31: copypipes(&Inpipe, R_down, &buf, W_up); 32: } 33: if (flag >= 0) 34: wrpipe(P_END, &buf, W_up); 35: }