|
|
1.1 ! root 1: # ! 2: /* ! 3: ** SYMBOL.H -- definition of internal symbols. ! 4: ** ! 5: ** Version: ! 6: ** @(#)symbol.h 8.1 12/31/84 ! 7: */ ! 8: ! 9: # ifndef AND ! 10: ! 11: ! 12: ! 13: # define AND 'a' ! 14: # define OR 'o' ! 15: # define UOP 'U' /* UNARY OPERATORS */ ! 16: # define opPLUS 0 ! 17: # define opMINUS 1 ! 18: # define opNOT 2 ! 19: # define opATAN 3 ! 20: # define opCOS 4 ! 21: # define opGAMMA 5 ! 22: # define opLOG 6 ! 23: # define opASCII 7 ! 24: # define opSIN 8 ! 25: # define opSQRT 9 ! 26: # define opABS 10 ! 27: # define opEXP 11 ! 28: # define opINT1 12 ! 29: # define opINT2 13 ! 30: # define opINT4 14 ! 31: # define opFLOAT4 15 ! 32: # define opFLOAT8 16 ! 33: ! 34: # define BOP 'B' /* BINARY OPERATORS */ ! 35: # define opADD 0 ! 36: # define opSUB 1 ! 37: # define opMUL 2 ! 38: # define opDIV 3 ! 39: # define opPOW 4 ! 40: # define opEQ 5 ! 41: # define opNE 6 ! 42: # define opLT 7 ! 43: # define opLE 8 ! 44: # define opGT 9 ! 45: # define opGE 10 ! 46: # define opMOD 11 ! 47: # define opCONCAT 12 ! 48: ! 49: # define AOP 'A' /* AGGREGATE OPERATORS */ ! 50: # define opCOUNT 0 ! 51: # define opCOUNTU 1 ! 52: # define opSUM 2 ! 53: # define opSUMU 3 ! 54: # define opAVG 4 ! 55: # define opAVGU 5 ! 56: # define opMIN 6 ! 57: # define opMAX 7 ! 58: # define opANY 8 ! 59: ! 60: # define COP 'C' /* CONSTANT OPERATORS */ ! 61: # define BADCOP -1 /* error return on lookup */ ! 62: # define opDBA 0 ! 63: # define opUSERCODE 1 ! 64: # define opDATE 2 ! 65: # define opTIME 3 ! 66: ! 67: ! 68: # define RESDOM 'r' /* RESULT DOMAIN NUMBER */ ! 69: # define VAR 'v' /* VARIABLE */ ! 70: # define S_VAR 's' /* variable for which ! 71: * a substitution has been done, * Only occurs in the ovqp-decomp ! 72: * merged process. ! 73: */ ! 74: ! 75: # define QMODE 'Q' /* QUERY MODE */ ! 76: # define mdRETTERM 0 /* retrieve to terminal, used by decomp-ovqp */ ! 77: # define mdRETR 1 /* retrieve, into rel perhaps */ ! 78: # define mdAPP 2 /* append to rel */ ! 79: # define mdREPL 3 /* replace in rel */ ! 80: # define mdDEL 4 /* delete from rel */ ! 81: # define mdCOPY 5 /* copy into/from rel */ ! 82: # define mdCREATE 6 /* create new relation */ ! 83: # define mdDESTROY 7 /* destroy old relation */ ! 84: # define mdHELP 8 /* print info on relation */ ! 85: # define mdINDEX 9 /* create secondary index */ ! 86: # define mdMODIFY 10 /* change access structure of rel */ ! 87: # define mdPRINT 11 /* print rel on terminal */ ! 88: # define mdRANGE 12 /* declare range variable */ ! 89: # define mdSAVE 13 /* save relation date */ ! 90: /* unused 14 unused */ ! 91: # define mdRET_UNI 15 /* retrieve unique */ ! 92: # define mdVIEW 16 /* extra info for view def, to qrymod */ ! 93: # define mdUPDATE 17 /* update processor */ ! 94: # define mdRESETREL 18 /* modify to truncated */ ! 95: # define mdDISPLAY 19 /* dump qm decl */ ! 96: # define mdNETQRY 20 /* reserved for distr ingres */ ! 97: # define mdMOVEREL 21 /* reserved for distr ingres */ ! 98: # define mdPROT 22 /* extra info for permit def, to qrymod */ ! 99: # define mdINTEG 23 /* extra info for integrity def, to qrymod */ ! 100: # define mdDCREATE 24 /* reserved for distr ingres */ ! 101: # define mdWAITQRY 25 /* reserved for distr ingres */ ! 102: # define mdREMQM 26 /* remove permit integrity definition */ ! 103: # define mdDISTRIB 27 /* reserved for distr ingres */ ! 104: # define mdKSORT 28 /* ksort function */ ! 105: # define mdSYSFUNC 29 /* sysmod routine */ ! 106: # define mdSTOP 30 /* extra info for Heidi */ ! 107: ! 108: /* special modes used only for control module communication */ ! 109: # define mdQRY 1 /* general query call */ ! 110: # define mdDECOMP 2 /* call decomp */ ! 111: # define mdPARSER 3 /* parser module */ ! 112: ! 113: # define ROOT 'R' /* ROOT of QUERY TREE */ ! 114: # define QLEND 'q' /* NULL branch at end of QUAL */ ! 115: # define TREE 'T' /* SIGNALS BEGINNING of TREE */ ! 116: # define BYHEAD 'H' /* BY LIST HEAD */ ! 117: # define AGHEAD 'h' /* AGGREGATE HEAD */ ! 118: ! 119: # define SITE 'S' /* reserved for distr ingres */ ! 120: ! 121: # define INT 'i' /* INTEGER CONSTANT */ ! 122: # define FLOAT 'f' /* FLOATING POINT CONSTANT */ ! 123: # define CHAR 'c' /* CHARACTER CONSTANT */ ! 124: # define BINARY 'b' /* BINARY CONSTANT (used in printup */ ! 125: # define TUPLE 't' /* TUPLE (used in ctlmod) */ ! 126: ! 127: ! 128: # define RESULTVAR '=' /* RESULT RELATION VAR NO. */ ! 129: # define SOURCEID '<' /* SOURCE RELATION NAME(S) */ ! 130: # define RESULTID '>' /* RESULT RELATION NAME */ ! 131: ! 132: ! 133: ! 134: ! 135: # define CHANGESTRAT 'g' /* FOR OVQP TO DEVISE NEW STRATEGY */ ! 136: # define USERQRY 'u' /* Tells OVQP result rel is a user rel */ ! 137: # define EXIT 'x' /* tells OVQP that query is done */ ! 138: # define ACK 1 /* OVQP should write an acknowledging EOP */ ! 139: # define NOACK 2 /* OVQP should not acknowledge */ ! 140: # define RUBACK 3 /* internal mode for DECOMP */ ! 141: # define REOPENRES 'O' /* OVQP should reopen result relation */ ! 142: # define RETVAL 'V' /* RETURN FROM OVQP */ ! 143: # define UPDATE -3 /* tells DECOMP to call update */ ! 144: # define NOUPDATE -2 /* tells DECOMP not to call update */ ! 145: # define EMPTY -1 ! 146: # define NONEMPTY 0 ! 147: # define EOTUP 'Z' /* end of tuple symbol send by OVQP to equel */ ! 148: ! 149: /* The following are pattern matching symbols used by ovqp */ ! 150: # define PAT_ANY 1 /* matches 0 or more char */ ! 151: # define PAT_ONE 2 /* matches any one char */ ! 152: # define PAT_LBRAC 3 /* left bracket for char groupings */ ! 153: # define PAT_RBRAC 4 /* right bracket for char groupings */ ! 154: # define PAT_GLOB 5 /* indicates global string matching */ ! 155: # define PAT_SPEC 6 /* matches 0 or more char and indexes them */ ! 156: ! 157: /* The following are interval delimiter types used by ovqp */ ! 158: # define OPEN 0 ! 159: # define CLOSED 1 ! 160: ! 161: # endif AND
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.