|
|
1.1 root 1: # include <ingres.h>
2: # include <access.h>
3: # include <sccs.h>
4:
5: SCCSID(@(#)purgetup.c 7.1 2/5/81)
6:
7: /*
8: ** Remove tuples from the specified system relation.
9: **
10: ** 'Desa' is a descriptor for a system relation and
11: ** key[12] and dom[12] are the keys and domain numbers
12: ** to match on for the delete.
13: ** All the tuples in 'desa' with key1 and key2
14: ** are deleted from the relation.
15: */
16:
17: purgetup(d, key1, dom1, key2, dom2)
18: register DESC *d;
19: char *key1;
20: int dom1;
21: char *key2;
22: int dom2;
23: {
24: TID tid, limtid;
25: register int i;
26: char tupkey[MAXTUP], tuple[MAXTUP];
27:
28: setkey(d, tupkey, key1, dom1);
29: setkey(d, tupkey, key2, dom2);
30: if (i = find(d, EXACTKEY, &tid, &limtid, tupkey))
31: syserr("purgetup:find:%d", i);
32: while ((i = get(d, &tid, &limtid, tuple, TRUE)) == 0)
33: {
34: if (kcompare(d, tuple, tupkey) == 0)
35: if (i = delete(d, &tid))
36: syserr("attflush: delete %d", i);
37: }
38:
39: if (i < 0)
40: syserr("purgetup:get %.14s:%d", d->reldum.relid, i);
41: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.