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: }

Defined functions

getmode defined in line 80; used 2 times
parami defined in line 57; never used
Last modified: 1986-04-17
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 890
Valid CSS Valid XHTML 1.0 Strict