|
|
1.1 root 1: # include <ingres.h>
2: # include <symbol.h>
3: # include <tree.h>
4: # include <pv.h>
5: # include "parser.h"
6: # include <sccs.h>
7:
8: SCCSID(@(#)call_tree.c 8.1 12/31/84)
9:
10: /*
11: ** CALL_TREE -- call the appropriate module below
12: **
13: ** Call_tree prepends a TREE node to the leftmost node on the tree,
14: ** adds the tree to the PARM, and does a CM call().
15: **
16: ** Parameters:
17: ** qmode -- qmode of query
18: ** dest -- module to call
19: ** err_fcn() -- function to call on error
20: **
21: ** Returns:
22: ** nothing
23: **
24: ** Trace Flags:
25: ** call_tree ~~ 44.0, 44.4
26: */
27:
28: call_tree(qmode, dest, err_fcn)
29: register int qmode;
30: int dest;
31: int (*err_fcn)();
32: {
33: extern int Resrng;
34: extern QTREE *Lastree;
35:
36: # ifdef xPTR2
37: tTfp(44, 0, "call_tree: qm=%d, dest=%d\n", qmode, dest);
38: # endif
39:
40: Qt.qt_qmode = qmode;
41:
42: # ifdef xPTR2
43:
44: if (tTf(44, 4))
45: if (Resrng >= 0)
46: printf("resvarno:%d\n", Resrng);
47: # endif
48:
49: Qt.qt_resvar = Resrng;
50:
51: /* the following attaches the TREE node to the far left of the tree */
52:
53: tlprepend(tree(NULL, NULL, TREE, 0), Lastree);
54:
55: setp(PV_QTREE, Lastree);
56:
57: call(dest, err_fcn);
58:
59: # ifdef xPTR2
60: tTfp(44, 5, "Call_tree: call returned\n");
61: # endif
62: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.