Annotation of 42BSD/ingres/source/iutil/get_reltup.c, revision 1.1.1.1

1.1       root        1: # include <ingres.h>
                      2: # include <access.h>
                      3: # include <aux.h>
                      4: # include <sccs.h>
                      5: 
                      6: SCCSID(@(#)get_reltup.c        7.1     2/5/81)
                      7: 
                      8: /*
                      9: **  GET_RELTUP -- get appropriate tuple from relation catalog
                     10: **
                     11: **     Get the tuple for the relation specified by 'name'
                     12: **     and put it in the descriptor 'dx'.
                     13: **
                     14: **     First a relation named 'name' owned
                     15: **     by the current user is searched for. If that fails,
                     16: **     then a relation owned by the dba is searched for.
                     17: */
                     18: 
                     19: get_reltup(d, name)
                     20: register DESC  *d;
                     21: char           *name;
                     22: {
                     23:        struct relation rel;
                     24:        register int    i;
                     25: 
                     26:        clearkeys(&Admin.adreld);
                     27: 
                     28:        /* make believe relation relation is read only for concurrency */
                     29:        Admin.adreld.relopn = abs(Admin.adreld.relopn);
                     30: 
                     31:        /* relation relation is open. Search for relation 'name' */
                     32:        setkey(&Admin.adreld, (char *) &rel, name, RELID);
                     33:        setkey(&Admin.adreld, (char *) &rel, Usercode, RELOWNER);
                     34: 
                     35:        if ((i = getequal(&Admin.adreld, (char *) &rel, d, &d->reltid.s_tupid)) == 1)
                     36:        {
                     37:                /* not a user relation. try relation owner by dba */
                     38:                setkey(&Admin.adreld, (char *) &rel, Admin.adhdr.adowner, RELOWNER);
                     39:                i = getequal(&Admin.adreld, (char *) &rel, d, &d->reltid.s_tupid);
                     40:        }
                     41: 
                     42:        flush_rel(&Admin.adreld, TRUE);
                     43: 
                     44: #      ifdef xATR1
                     45:        if (tTf(21, 1))
                     46:                printf("get_reltup: %d\n", i);
                     47: #      endif
                     48: 
                     49:        /* restore relation relation to read/write mode */
                     50:        Admin.adreld.relopn = -Admin.adreld.relopn;
                     51:        return (i);
                     52: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.