# 2.11BSD#431 - /usr/ingres/source/tree.h

##### struct's

    qt_ag             X
    qt_op             X
    qt_res            X
    qt_root           X
    qt_v              X
    qt_var            X
    querytree         X
    srcid             X
    symbol            X

       1: /*
       2: **	Structures Used In The Nodes Of The Querytree
       3: */
       4:
       5: /*
       6: **	Basic symbol structure. "Type" is one of the symbols
       7: **	in "symbol.h", "len" is the length of the "value"
       8: **	field (0 to 255 bytes), "value" is variable length and
       9: **	holds the actual value (if len != 0) of the node.
      10: */
      11: struct symbol
      12: {
      13:     char    type;           /* type codes in symbol.h */
      14:     char    len;            /* length in bytes of value field */
      15:     int value[];        /* variable length (0 - 255 bytes) */
      16: };
      17:
      18: /*
      19: **	Basic node in the querytree. Each node has a left and
      20: **	right descendent. If the node is a leaf node then the
      21: **	left and right pointers will be NULL. Depending on the
      22: **	"type" field of the symbol structure, there may be additional
      23: **	information. The cases are itemized below.
      24: */
      25:
      26: struct querytree
      27: {
      28:     struct querytree    *left;
      29:     struct querytree    *right;
      30:     struct symbol       sym;
      31: };
      32:
      33:
      34: /*
      35: **	Variable nodes of the form:
      36: **		varno.attno
      37: **	"Varno" is the variable number which can be translated
      38: **	to a relation name by indexing into the range table.
      39: **	"Attno" is the attribute number specifically the
      40: **	"attid" field in the attribute tuple for the attribute.
      41: **	"Frmt" and "frml" are the type and length of the attribute.
      42: **	"Valptr" is used only in decomposition. If the variable
      43: **	is tuple substituted then "valptr" will have a pointer to
      44: **	the substituted value for the attribute; otherwise it will
      45: **	be NULL. If reduction or one variable restriction has changed
      46: **	the attribute number, then "valptr" will point to the next
      47: **	active VAR node for this VAR.
      48: */
      49:
      50: struct qt_var
      51: {
      52:     char    filler[6];
      53:     char    varno;
      54:     char    attno;
      55:     char    frmt;
      56:     char    frml;
      57:     char    *valptr;
      58: };
      59:
      60:
      61: /*
      62: **	Structure for ROOT, AGHEAD, and AND nodes. In the parser and qrymod
      63: **	these nodes are of length zero and none of this information
      64: **	is present. Decomp maintains information about the variables
      65: **	in the left and right descendents of the nodes.
      66: **	The "rootuser" flag is present only in the ROOT and AGHEAD nodes.
      67: **	It is TRUE only in the original ROOT node of the query.
      68: */
      69:
      70: struct qt_root
      71: {
      72:     char    filler[6];
      73:     char    tvarc;      /* total of var's in sub-tree */
      74:     char    lvarc;      /* # of variables in left branch */
      75:     int lvarm;      /* bit map of var's in left branch */
      76:     int rvarm;      /* bit map of var's in right branch*/
      77:     int rootuser;   /* flag: TRUE if root of user generated query */
      78: };
      79:
      80: struct qt_res                   /* RESDOM and AOP nodes */
      81: {
      82:     char    filler[6];
      83:     int resno;          /* result domain number */
      84:                     /* type and length are referenced as
      85: 					** frmt and frml */
      86: };
      87:
      88: struct qt_ag
      89: {
      90:     char    filler[6];
      91:     char    filler2[4];     /* fill in over aop_type, frmt, and frml */
      92:     char    agfrmt, agfrml;     /* result format type and length for agg's */
      93: };
      94: struct qt_op
      95: {
      96:     char    filler[6];
      97:     int opno;           /* operator number */
      98: };
      99:
     100: struct qt_v
     101: {
     102:     int fill[2];
     103:     char    vtype;  /* variable type */
     104:     char    vlen;   /* variable length */
     105:     int *vpoint;    /* variable pointer to value */
     106: };
     107: /*
     108: ** structure for referencing a SOURCEID type symbol for
     109: **	pipe transmission
     110: **
     111: **	SOURCEID is a range table element.
     112: */
     113: struct srcid
     114: {
     115:     char    type;           /* type codes in symbol.h */
     116:     char    len;            /* length in bytes of value field */
     117:     int srcvar;         /* variable number */
     118:     char    srcname[MAXNAME];   /* relation name */
     119:     char    srcown[2];      /* relation owner usercode */
     120:     int srcstat;        /* relstat field */
     121: };

#### Defined struct's

qt_ag defined in line 88; used 26 times

- in /usr/ingres/source/decomp/makenode.c line 104-105(4)
- in /usr/ingres/source/decomp/writenod.c line 49(4)
- in /usr/ingres/source/parser/format.c line 48(2), 66-67(4), 74-75(4)
- in /usr/ingres/source/parser/tree.c line 72-73(4)
- in /usr/ingres/source/qrymod/treepr.c line 203-204(4)

qt_op defined in line 94; used 62 times

- in /usr/ingres/source/dbu/pr_tree.c line 283(2), 295(2), 302-304(4), 311(2), 321(2), 333(2), 360(2)
- in /usr/ingres/source/decomp/aggregate.c line 621(2)
- in /usr/ingres/source/decomp/byeval.c line 296(2)
- in /usr/ingres/source/parser/format.c line 42(2), 113(2), 121-125(4), 218-223(4), 313(2)
- in /usr/ingres/source/parser/norml.c line 189(2), 233-265(18), 272(2)
- in /usr/ingres/source/parser/tree.c line 60-65(4), 209(2)

qt_res defined in line 80; used 50 times

- in /usr/ingres/source/dbu/pr_tree.c line 207(2)
- in /usr/ingres/source/decomp/ageval.c line 73(2)
- in /usr/ingres/source/decomp/aggregate.c line 108(2)
- in /usr/ingres/source/decomp/byeval.c line 147(2), 187(2)
- in /usr/ingres/source/decomp/reformat.c line 395(2), 413(2)
- in /usr/ingres/source/decomp/ret_unique.c line 21(2), 62(2)
- in /usr/ingres/source/decomp/tempvar.c line 72(2)
- in /usr/ingres/source/decomp/writenod.c line 47(2)
- in /usr/ingres/source/parser/tree.c line 76(2), 161(2), 168(2), 232(2)
- in /usr/ingres/source/qrymod/integrity.c line 107(2)
- in /usr/ingres/source/qrymod/protect.c line 734(2), 741(2)
- in /usr/ingres/source/qrymod/treepr.c line 193(2), 200(2)
- in /usr/ingres/source/qrymod/trscan.c line 129(2), 361(2)
- in /usr/ingres/source/qrymod/view.c line 460(2), 466(2), 484(2)

qt_root defined in line 70; used 198 times

- in /usr/ingres/source/decomp/ageval.c line 55(2)
- in /usr/ingres/source/decomp/aggregate.c line 76(4), 88(4), 427-428(8), 484(4)
- in /usr/ingres/source/decomp/byeval.c line 128(2), 168(2), 287(8)
- in /usr/ingres/source/decomp/call_ovqp.c line 77(2), 120(2), 173(2)
- in /usr/ingres/source/decomp/call_ovqp70.c line 92(2), 122(2), 150-151(4)
- in /usr/ingres/source/decomp/decision.c line 68-72(4), 89(4), 349-353(6), 421-426(6)
- in /usr/ingres/source/decomp/decomp.c line 52(2), 103(2), 162(2), 170(2), 270(2)
- in /usr/ingres/source/decomp/lockit.c line 29(4)
- in /usr/ingres/source/decomp/makenode.c line 85(10)
- in /usr/ingres/source/decomp/mapvar.c line 29-38(8), 44(2)
- in /usr/ingres/source/decomp/openrs.c line 108(4)
- in /usr/ingres/source/decomp/pull_const.c line 37(2), 51(4)
- in /usr/ingres/source/decomp/pull_sq.c line 39(2), 52-59(8), 78-80(4), 88(2), 109-116(12), 237-245(10)
- in /usr/ingres/source/decomp/readq.c line 114(2)
- in /usr/ingres/source/decomp/reduction.c line 144(2)
- in /usr/ingres/source/decomp/reformat.c line 72-74(6)
- in /usr/ingres/source/decomp/ret_unique.c line 29(2), 65(2)
- in /usr/ingres/source/decomp/selectv.c line 94(4), 184(2)
- in /usr/ingres/source/decomp/setvar.c line 59-73(18)
- in /usr/ingres/source/decomp/writenod.c line 40-42(10)

qt_v defined in line 100; used 22 times

- in /usr/ingres/source/decomp/call_ovqp70.c line 299-300(4), 311(2), 320-322(4)
- in /usr/ingres/source/ovqp/interp1.c line 49-51(6)
- in /usr/ingres/source/ovqp/prsym.c line 29-31(6)

qt_var defined in line 50; used 292 times

- in /usr/ingres/source/dbu/pr_tree.c line 496-498(6)
- in /usr/ingres/source/decomp/aggregate.c line 104(2), 291-295(4), 324(2), 539-540(4), 600(2), 702(2)
- in /usr/ingres/source/decomp/call_ovqp.c line 319-324(8), 330-333(6)
- in /usr/ingres/source/decomp/call_ovqp70.c line 298-320(22)
- in /usr/ingres/source/decomp/makenode.c line 104-110(12), 124-130(14)
- in /usr/ingres/source/decomp/mapvar.c line 49-51(4)
- in /usr/ingres/source/decomp/pull_sq.c line 178(2), 203(2), 212(2)
- in /usr/ingres/source/decomp/reformat.c line 159(2), 165-171(8), 395(2), 402-403(4), 564(2)
- in /usr/ingres/source/decomp/setvar.c line 39(2), 48-52(8), 106-107(4)
- in /usr/ingres/source/decomp/tempvar.c line 51(2), 58-61(6), 69-72(6), 84(4), 114-120(16), 148-149(4)
- in /usr/ingres/source/decomp/usubr.c line 105-106(4)
- in /usr/ingres/source/decomp/writenod.c line 30-32(14), 47(4)
- in /usr/ingres/source/parser/format.c line 37-38(4), 88-95(8)
- in /usr/ingres/source/parser/tree.c line 43-47(10), 78-79(4), 153-156(8), 162-163(4), 169-170(4)
- in /usr/ingres/source/qrymod/d_integ.c line 209-210(4)
- in /usr/ingres/source/qrymod/d_prot.c line 162-164(4)
- in /usr/ingres/source/qrymod/protect.c line 715-716(4)
- in /usr/ingres/source/qrymod/range.c line 260-261(4)
- in /usr/ingres/source/qrymod/treepr.c line 185-188(8), 194-195(4), 201-202(4)
- in /usr/ingres/source/qrymod/trscan.c line 192(4), 251(2), 369-371(6), 378(2), 386-390(4), 396-400(4)
- in /usr/ingres/source/qrymod/view.c line 473(4), 479-484(6)

querytree defined in line 26; used 642 times

- in line 28-29(4)
- in /usr/ingres/source/dbu/pr_tree.c line 121(2), 158(2), 195(2), 269-273(4), 368-370(4), 487-489(4), 508-510(4), 528-530(4)
- in /usr/ingres/source/dbu/readtree.c line 205(2)
- in /usr/ingres/source/decomp/ageval.c line 36-48(18), 118(2), 127(2)
- in /usr/ingres/source/decomp/aggregate.c line 8-10(6), 16(2), 23(2), 61-67(8), 233-234(4), 249(2), 277-278(4), 286-288(4), 304(2), 335(2), 394-399(10), 439-443(6), 473-481(8), 566-572(8), 612-614(4), 640-643(4), 664-665(4), 683(2)
- in /usr/ingres/source/decomp/byeval.c line 51-68(16), 267-274(8)
- in /usr/ingres/source/decomp/call_ovqp.c line 34(2), 50(2), 187(2), 194(2), 295-303(6)
- in /usr/ingres/source/decomp/call_ovqp70.c line 41(2), 57(2), 274(2), 282-284(4), 337(2), 344(2)
- in /usr/ingres/source/decomp/decision.c line 31(2), 53(2), 59-60(4), 242-243(4), 264(2), 290-291(4), 323(2), 340-341(4), 365(2), 378(2), 395-396(4), 410(2)
- in /usr/ingres/source/decomp/decomp.c line 35(2), 47(2), 79(2), 99(2), 128(2), 148-156(6), 256(2), 266(2)
- in /usr/ingres/source/decomp/exec_sq.c line 22(2), 39(2), 105(2), 120(2), 148(2), 167(2), 185(2)
- in /usr/ingres/source/decomp/lockit.c line 14-17(4)
- in /usr/ingres/source/decomp/makenode.c line 7-11(6), 19(2), 36-37(4), 46-48(6), 77-80(4), 92-96(6), 115-123(8)
- in /usr/ingres/source/decomp/mapvar.c line 12-17(6)
- in /usr/ingres/source/decomp/mklist.c line 18-21(4)
- in /usr/ingres/source/decomp/openrs.c line 95(2), 103(2)
- in /usr/ingres/source/decomp/printree.c line 7(2), 16-18(4)
- in /usr/ingres/source/decomp/pull_const.c line 24-28(6)
- in /usr/ingres/source/decomp/pull_sq.c line 17-26(10), 160-166(8), 193-200(8)
- in /usr/ingres/source/decomp/qryproc.c line 12-18(6)
- in /usr/ingres/source/decomp/readq.c line 27-33(6), 82-87(6), 137(2)
- in /usr/ingres/source/decomp/reduction.c line 115(2), 132-134(4), 154-155(4), 170-172(4), 224(2)
- in /usr/ingres/source/decomp/reformat.c line 39-42(4), 59(2), 109(2), 129-132(6), 180-183(4), 203-208(4), 354(2), 382-385(4), 401(2), 423(2), 544(2), 555(2)
- in /usr/ingres/source/decomp/ret_unique.c line 8(2), 16(2), 34(2), 47-49(4)
- in /usr/ingres/source/decomp/selectv.c line 85-87(4), 155(2)
- in /usr/ingres/source/decomp/setvar.c line 17(2), 28-31(4), 85(2), 95-97(4)
- in /usr/ingres/source/decomp/tempvar.c line 20-21(4), 41-43(4), 58-59(4), 97-98(4), 108(2), 116(2), 130-131(4), 141(2), 149(2)
- in /usr/ingres/source/decomp/usubr.c line 20(2), 97(2), 115-118(4), 194(2), 222-228(8)
- in /usr/ingres/source/decomp/writenod.c line 11-14(4)
- in /usr/ingres/source/iutil/trbuild.c line 35-41(6), 48-49(6), 61-66(4), 78(2), 84(2), 91(2)
- in /usr/ingres/source/parser/format.c line 25-28(4)
- in /usr/ingres/source/parser/norml.c line 14-20(10), 46-53(12), 149-154(8), 170-175(8), 210-215(8), 286-289(6), 305-314(10), 325-327(4)
- in /usr/ingres/source/parser/p_util.c line 158-163(8)
- in /usr/ingres/source/parser/tree.c line 14-17(6), 24-27(4), 35(2), 102-104(4), 140-142(4), 220-224(4), 244-249(8)
- in /usr/ingres/source/parser/xdot.c line 16(2), 25-30(8)
- in /usr/ingres/source/qrymod/readtree.c line 184(2)

srcid defined in line 113; used 32 times

- in /usr/ingres/source/dbu/readtree.c line 93(2), 131-133(6)
- in /usr/ingres/source/decomp/readq.c line 53(2), 68-69(4)
- in /usr/ingres/source/parser/call_tree.c line 87-88(4)
- in /usr/ingres/source/qrymod/readtree.c line 64(2), 97(2), 116-119(8)
- in /usr/ingres/source/qrymod/writetree.c line 111(2)

symbol defined in line 11; used 188 times

- in line 30(2)
- in /usr/ingres/source/dbu/readtree.c line 92(2), 106(2), 161-165(4), 197(2)
- in /usr/ingres/source/decomp/call_ovqp.c line 54(2), 280-284(4), 300(2), 306(2)
- in /usr/ingres/source/decomp/call_ovqp70.c line 31(2), 60(2), 281(2), 296(2)
- in /usr/ingres/source/decomp/readq.c line 29(2)
- in /usr/ingres/source/decomp/writenod.c line 15(2)
- in /usr/ingres/source/iutil/trbuild.c line 40(2)
- in /usr/ingres/source/ovqp/equelpr.c line 19(2), 59(2)
- in /usr/ingres/source/ovqp/findsimps.c line 37-42(6), 155(2), 208(2), 230(2), 269-270(4), 286(2), 294(2), 345(2), 357-362(4)
- in /usr/ingres/source/ovqp/getqry.c line 40(2), 47(2), 61(2), 154(2), 177(2), 196(2), 210(2)
- in /usr/ingres/source/ovqp/interp.c line 38-44(6), 91(2), 130(2), 209-210(4)
- in /usr/ingres/source/ovqp/interp1.c line 28-29(4), 132-135(4), 174-177(4)
- in /usr/ingres/source/ovqp/key.c line 200(2)
- in /usr/ingres/source/ovqp/prsym.c line 9-13(4), 110-112(4)
- in /usr/ingres/source/ovqp/rdsym.c line 46(2), 52(2), 62(2), 70(2)
- in /usr/ingres/source/ovqp/scan.c line 27(2)
- in /usr/ingres/source/ovqp/string.c line 19(2), 32(2), 73(2), 82(2), 103-105(4)
- in /usr/ingres/source/ovqp/support.c line 108(2)
- in /usr/ingres/source/ovqp/typecheck.c line 14-17(4), 137-139(4), 149-151(4), 161-163(4), 177-179(4), 190-192(4), 202-204(4)
- in /usr/ingres/source/parser/call_tree.c line 70(2)
- in /usr/ingres/source/qrymod/readtree.c line 63(2), 86(2), 143-147(4), 176(2)
- in /usr/ingres/source/qrymod/util.c line 476-480(4), 506(2)
- in /usr/ingres/source/qrymod/writetree.c line 152(2)

#### Usage of this include

tree.h used 79 times

- in /usr/ingres/source/dbu/dbuproctab.c line 2
- in /usr/ingres/source/dbu/display.c line 25
- in /usr/ingres/source/dbu/pr_prot.c line 27
- in /usr/ingres/source/dbu/pr_tree.c line 25
- in /usr/ingres/source/dbu/readtree.c line 4
- in /usr/ingres/source/decomp/ageval.c line 3
- in /usr/ingres/source/decomp/aggregate.c line 2
- in /usr/ingres/source/decomp/byeval.c line 2
- in /usr/ingres/source/decomp/call_dbu.c line 4
- in /usr/ingres/source/decomp/call_dbu70.c line 4
- in /usr/ingres/source/decomp/call_ovqp.c line 5
- in /usr/ingres/source/decomp/call_ovqp70.c line 5
- in /usr/ingres/source/decomp/decision.c line 3
- in /usr/ingres/source/decomp/decomp.c line 3
- in /usr/ingres/source/decomp/error.c line 3
- in /usr/ingres/source/decomp/exec_sq.c line 3
- in /usr/ingres/source/decomp/lockit.c line 2
- in /usr/ingres/source/decomp/makenode.c line 2
- in /usr/ingres/source/decomp/mapvar.c line 2
- in /usr/ingres/source/decomp/mklist.c line 2
- in /usr/ingres/source/decomp/openrs.c line 3
- in /usr/ingres/source/decomp/printree.c line 2
- in /usr/ingres/source/decomp/prlinks.c line 2
- in /usr/ingres/source/decomp/pull_const.c line 3
- in /usr/ingres/source/decomp/pull_sq.c line 2
- in /usr/ingres/source/decomp/qryproc.c line 2
- in /usr/ingres/source/decomp/readq.c line 3
- in /usr/ingres/source/decomp/reduction.c line 3
- in /usr/ingres/source/decomp/reformat.c line 3
- in /usr/ingres/source/decomp/reinit.c line 2
- in /usr/ingres/source/decomp/ret_unique.c line 3
- in /usr/ingres/source/decomp/selectv.c line 3
- in /usr/ingres/source/decomp/setvar.c line 2
- in /usr/ingres/source/decomp/tempvar.c line 2
- in /usr/ingres/source/decomp/usubr.c line 2
- in /usr/ingres/source/decomp/writeback.c line 3
- in /usr/ingres/source/decomp/writenod.c line 4
- in /usr/ingres/source/equel/runtime/IIflushtup.c line 4
- in /usr/ingres/source/iutil/trbuild.c line 2
- in /usr/ingres/source/ovqp/copyreturn.c line 4
- in /usr/ingres/source/ovqp/equelpr.c line 3
- in /usr/ingres/source/ovqp/findsimps.c line 3
- in /usr/ingres/source/ovqp/getqry.c line 4
- in /usr/ingres/source/ovqp/interp.c line 4
- in /usr/ingres/source/ovqp/interp1.c line 4
- in /usr/ingres/source/ovqp/key.c line 4
- in /usr/ingres/source/ovqp/main.c line 5
- in /usr/ingres/source/ovqp/prsym.c line 4
- in /usr/ingres/source/ovqp/rdsym.c line 3
- in /usr/ingres/source/ovqp/scan.c line 3
- in /usr/ingres/source/ovqp/startovqp.c line 3
- in /usr/ingres/source/ovqp/strategy.c line 5
- in /usr/ingres/source/ovqp/string.c line 4
- in /usr/ingres/source/ovqp/support.c line 4
- in /usr/ingres/source/ovqp/typecheck.c line 3
- in /usr/ingres/source/parser/attfcn.c line 3
- in /usr/ingres/source/parser/call_tree.c line 5
- in /usr/ingres/source/parser/format.c line 3
- in /usr/ingres/source/parser/main.c line 4
- in /usr/ingres/source/parser/master.grammar line 56
- in /usr/ingres/source/parser/norml.c line 4
- in /usr/ingres/source/parser/p_util.c line 3
- in /usr/ingres/source/parser/rngfcn.c line 4
- in /usr/ingres/source/parser/tree.c line 4
- in /usr/ingres/source/parser/xdot.c line 3
- in /usr/ingres/source/qrymod/d_integ.c line 5
- in /usr/ingres/source/qrymod/d_prot.c line 6
- in /usr/ingres/source/qrymod/d_view.c line 4
- in /usr/ingres/source/qrymod/integrity.c line 5
- in /usr/ingres/source/qrymod/issue.c line 4
- in /usr/ingres/source/qrymod/protect.c line 6
- in /usr/ingres/source/qrymod/range.c line 3
- in /usr/ingres/source/qrymod/readtree.c line 3
- in /usr/ingres/source/qrymod/tree.c line 2
- in /usr/ingres/source/qrymod/treepr.c line 3
- in /usr/ingres/source/qrymod/trscan.c line 3
- in /usr/ingres/source/qrymod/util.c line 4
- in /usr/ingres/source/qrymod/view.c line 4
- in /usr/ingres/source/qrymod/writetree.c line 4

Last modified: 1995-02-19 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: 1131 |