|
|
1.1 root 1: # include <stdio.h>
2: # include <ingres.h>
3: # include <batch.h>
4: # include <opsys.h>
5: # include <version.h>
6: # include <pv.h>
7: # include <symbol.h>
8: # include <sccs.h>
9:
10: SCCSID(@(#)sort.c 8.1 12/31/84)
11:
12: sortfile(infile, d, del)
13: char *infile;
14: register DESC *d;
15: int del;
16: {
17: char out[MAXNAME + 4];
18: register int j, i;
19: char buf[50];
20: char *temp;
21: int len;
22:
23: if (del)
24: {
25: concat(DEL_OUT, Fileset, out);
26: if ((Del_outfp = fopen(out, "w")) == NULL)
27: syserr("can't open %s", out);
28: fclose(Del_outfp);
29: }
30: else
31: {
32: concat(REPL_OUT, Fileset, out);
33: if ((Repl_outfp = fopen(out, "w")) == NULL)
34: syserr("can't open %s", out);
35: fclose(Repl_outfp);
36: }
37:
38: flush_rel(d, TRUE);
39: resetacc(NULL);
40:
41: len = length(Fileset) + 1;
42: /*
43: temp = (char *) need(Qbuf, len);
44: */
45: temp = (char *) calloc(1,len);
46: bmove(Fileset, temp, len);
47:
48: initp();
49: setp(PV_STR, temp);
50: setp(PV_STR, infile);
51: setp(PV_STR, out);
52:
53: setp(PV_STR, d->reldum.relid);
54: setp(PV_STR, d->reldum.relowner);
55: setp(PV_INT, d->reldum.relspec);
56: setp(PV_INT, d->reldum.relindxd);
57: setp(PV_INT, d->reldum.relstat2);
58: setp(PV_INT, d->reldum.relstat);
59: setp(PV_INT, d->reldum.relsave);
60: setp(PV_INT, d->reldum.reltups);
61: setp(PV_INT, d->reldum.relatts);
62: setp(PV_INT, d->reldum.relwid);
63: setp(PV_INT, d->reldum.relprim);
64: setp(PV_INT, d->reldum.relfree);
65: setp(PV_INT, d->reldum.relstamp);
66: /* whether or not relation is ordered is irrelevant */
67: setp(PV_INT, 0);
68:
69: setp(PV_STR, d->relvname);
70: setp(PV_INT, d->relfp);
71: setp(PV_INT, d->relopn);
72: setp(PV_INT, d->reladds);
73: setp(PV_INT, d->reltid.ltid);
74: for (i = 0; i <= d->reldum.relatts; ++i)
75: {
76: setp(PV_INT, d->reloff[i]);
77: setp(PV_INT, d->relfrmt[i]);
78: setp(PV_INT, d->relfrml[i]);
79: setp(PV_INT, d->relxtra[i]);
80: setp(PV_INT, d->relgiven[i]);
81: }
82:
83: call(mdKSORT, NULL);
84:
85: flush_rel(d, TRUE);
86: resetacc(NULL);
87:
88: if (del)
89: fclose(Del_outfp);
90: else
91: fclose(Repl_outfp);
92: cfree(temp);
93: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.