1: # include "../ingres.h" 2: 3: /* 4: ** PRINT RELATION DESCRIPTOR (for debugging) 5: ** 6: ** A pointer of a file descriptor is passed. All pertinent 7: ** info in that descriptor is printed on the standard output. 8: ** 9: ** For debugging purposes only 10: */ 11: 12: printdesc(d1) 13: struct descriptor *d1; 14: { 15: register struct descriptor *d; 16: register int i; 17: register int end; 18: 19: d = d1; 20: 21: printf("Descriptor 0%o %.12s %.2s\n", d, d->relid, d->relowner); 22: printf("spec %d, indxd %d, stat %d\n", 23: d->relspec, d->relindxd, d->relstat); 24: printf("save %s", locv(d->relsave)); 25: printf(", tups %s, atts %d, wid %d, prim ", 26: locv(d->reltups), d->relatts, d->relwid); 27: printf("%s\n", locv(d->relprim)); 28: printf("spare %s\n", locv(d->relspare)); 29: printf("fp %d, opn %d, tid %s", d->relfp, d->relopn, 30: locv(d->reltid)); 31: printf(", adds %s\n", locv(d->reladds)); 32: 33: end = d->relatts; 34: for (i = 0; i <= end; i++) 35: { 36: printf("[%2d] off %3d frmt %2d frml %3d, xtra %3d, given %3d\n", 37: i, d->reloff[i], d->relfrmt[i], 38: d->relfrml[i] & 0377, d->relxtra[i], d->relgiven[i]); 39: } 40: }