Annotation of 43BSD/ingres/source/iutil/paramd.c, revision 1.1.1.1

1.1       root        1: # include      <ingres.h>
                      2: # include      <aux.h>
                      3: # include      <catalog.h>
                      4: # include      <access.h>
                      5: # include      <sccs.h>
                      6: 
                      7: SCCSID(@(#)paramd.c    8.2     2/8/85)
                      8: 
                      9: 
                     10: 
                     11: /*
                     12: **     PARAMD - get access parameters of a relation from its descriptor        
                     13: **             and return them in struct pointed to by "ap".
                     14: **
                     15: **     Parameters:
                     16: **             d - descriptor
                     17: **             ap - struct which holds the parameters
                     18: **
                     19: **     Return Codes:
                     20: **                     0
                     21: **
                     22: */
                     23: 
                     24: paramd(d, ap)
                     25: register DESC                  *d;
                     26: register struct accessparam    *ap;
                     27: {
                     28:        register int    i;
                     29:        int             p;
                     30: 
                     31: 
                     32:        ap->mode = getmode(d->reldum.relspec);
                     33:        ap->sec_index = FALSE;  /* indicate that this isn't the index-rel */
                     34: 
                     35:        for (i = 0; i < MAXDOM+1; i++)
                     36:                ap->keydno[i] = 0;
                     37: 
                     38:        for (p = 1; p <= d->reldum.relatts; p++)
                     39:                if (i = d->relxtra[p])
                     40:                        ap->keydno[i-1] = p;
                     41:        return (0);
                     42: }
                     43: 
                     44: 
                     45: /*
                     46: **     PARAMI -get indexes of a relation from  the index struct
                     47: **             and place them in the structure pointed to by param
                     48: **
                     49: **     Parameters:
                     50: **             ip - index struct
                     51: **             param - holds info about indexes
                     52: **
                     53: **     Return Codes:
                     54: **             0 -- successful
                     55: **
                     56: */
                     57: parami(ip, param)
                     58: struct index           *ip;
                     59: struct accessparam     *param;
                     60: {
                     61:        register struct accessparam     *ap;
                     62: 
                     63:        ap  = param;
                     64:        ap->mode = getmode(ip->irelspeci);
                     65:        ap->sec_index = TRUE;   /* this is an index */
                     66: 
                     67:        bmove(ip->idom, ap->keydno, MAXKEYS);
                     68:        ap->keydno[MAXKEYS] = 0;
                     69:        return(0);
                     70: }
                     71: 
                     72: /*
                     73: **     GETMODE - get the mode of the storage type      
                     74: **
                     75: **     Parameters:
                     76: **             spec - storage type
                     77: **
                     78: */
                     79: 
                     80: getmode(spec)
                     81: int    spec;
                     82: {
                     83:        switch (abs(spec))
                     84:        {
                     85:          case M_HEAP:
                     86:                return(NOKEY);
                     87: 
                     88:          case M_ISAM:
                     89:                return(LRANGEKEY);
                     90: 
                     91:          case M_HASH:
                     92:                return(EXACTKEY);
                     93: 
                     94:          default: 
                     95:                syserr("getmode:bad relspec %d", spec);
                     96:        }
                     97: }

unix.superglobalmegacorp.com

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