|
|
1.1 ! root 1: # include <ingres.h> ! 2: # include <access.h> ! 3: # include <sccs.h> ! 4: ! 5: SCCSID(@(#)inpcloser.c 8.1 12/31/84) ! 6: ! 7: /* ! 8: ** inpcloser - close an input relation ! 9: ** ! 10: ** The relation must have been opened by openr with ! 11: ** mode 0 (read only) ! 12: ** ! 13: ** return values: ! 14: ** <0 fatal error ! 15: ** 0 success ! 16: ** 1 relation was not open ! 17: ** 2 relation was opened in write mode ! 18: ** ! 19: ** Trace Flags: ! 20: ** 21.10-11 ! 21: */ ! 22: ! 23: inpcloser(d) ! 24: register DESC *d; ! 25: { ! 26: register int i; ! 27: ! 28: # ifdef xATR1 ! 29: if (tTf(21, 10)) ! 30: printf("inpcloser: %.14s\n", d->reldum.relid); ! 31: # endif ! 32: if (abs(d->relopn) != (d->relfp + 1) * 5) ! 33: /* relation not open */ ! 34: return (1); ! 35: ! 36: if (d->relopn < 0) ! 37: return (2); /* relation open in write mode */ ! 38: ! 39: i = flush_rel(d, TRUE); /* flush and reset all pages */ ! 40: ! 41: if (close(d->relfp)) ! 42: i = acc_err(AMCLOSE_ERR); ! 43: d->relopn = 0; ! 44: return (i); ! 45: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.