1: # include "../ingres.h" 2: # include "../aux.h" 3: # include "qrymod.h" 4: 5: /* 6: ** QRYMOD -- main driver for query modification 7: ** 8: ** Reads in the query tree, performs the modifications, writes 9: ** it out, and does process syncronization with below. The 10: ** calling routine must sync with the process above. 11: ** 12: ** Parameters: 13: ** root1 -- a pointer to the tree to modify. 14: ** 15: ** Returns: 16: ** A pointer to the modified tree. 17: ** 18: ** Side Effects: 19: ** You've got to be kidding. The side effects are 20: ** all of this module. 21: ** 22: ** Requires: 23: ** protect -- the protection algorithm. 24: ** view -- the view processor. 25: ** integrity -- the integrity processor. 26: ** 27: ** Required By: 28: ** main 29: ** 30: ** Trace Flags: 31: ** 1 32: ** 33: ** History: 34: ** 2/14/79 -- version 6.2 release. 35: */ 36: 37: 38: QTREE * 39: qrymod(root1) 40: QTREE *root1; 41: { 42: register QTREE *root; 43: extern QTREE *view(), *integrity(), *protect(); 44: 45: root = root1; 46: 47: # ifdef xQTR1 48: if (tTf(1, 0)) 49: treepr(root, "->QRYMOD"); 50: # endif 51: 52: /* view processing */ 53: root = view(root); 54: 55: /* integrity processing */ 56: root = integrity(root); 57: 58: /* protection processing */ 59: root = protect(root); 60: 61: return (root); 62: }