|
|
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.