Annotation of 43BSD/ingres/source/iutil/paramd.c, revision 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.