|
|
1.1 root 1: # include <ingres.h>
2: # include <access.h>
3: # include <sccs.h>
4:
5: SCCSID(@(#)add_prim.c 8.1 12/31/84)
6:
7: /*
8: ** ADD_PRIM -- Add a primary page to the relation. Assumes it is to
9: ** be tacked onto page in current access method buffer. No
10: ** disk write is done but the page is marked for writing.
11: ** It is assumed that the current page in access method buffer
12: ** is the last physical page in the relation.
13: **
14: ** Trace Flags:
15: ** 26.0,2
16: */
17:
18: add_prim(d, tidx)
19: DESC *d;
20: TID *tidx;
21: {
22: register struct accbuf *b;
23: register int i;
24:
25: b = Acc_head;
26: b->mainpg = b->thispage + 1;
27: b->bufstatus |= BUF_DIRTY;
28: if (i = pageflush(b))
29: return (i);
30:
31: /*
32: ** Now form the new primary page
33: */
34:
35: b->thispage = b->mainpg;
36: b->mainpg = 0;
37: b->ovflopg = 0;
38: b->linetab[0] = (int) b->firstup - (int) b;
39: b->nxtlino = 0;
40: b->bufstatus |= BUF_DIRTY;
41:
42: /*
43: ** Update tid to be new page
44: */
45: stuff_page(tidx, &b->thispage);
46: return (0);
47: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.