1: # include   <pv.h>
   2: # include   <ingres.h>
   3: # include   <aux.h>
   4: # include   <batch.h>
   5: # include   <access.h>
   6: # include   <func.h>
   7: # include   <sccs.h>
   8: 
   9: SCCSID(@(#)resetrel.c	8.2	1/15/85)
  10: 
  11: extern  short   tTdbu[];
  12: extern  int resetrel();
  13: extern  int null_fn();
  14: 
  15: struct fn_def ResetrFn =
  16: {
  17:     "RESETREL",
  18:     resetrel,
  19:     null_fn,        /* initialization function */
  20:     null_fn,
  21:     NULL,
  22:     0,
  23:     tTdbu,
  24:     100,
  25:     'Z',
  26:     0
  27: };
  28: /*
  29: **	RESETREL -- will change a relation to an empty heap.  This is only
  30: **		to be used on temporary relations and should only be called
  31: **		by the DECOMP process.
  32: */
  33: 
  34: resetrel(pc, pv)
  35: int pc;
  36: PARM    pv[];
  37: 
  38: {
  39:     extern DESC Reldes;
  40:     DESC        desc;
  41:     char        relname[MAXNAME + 4];
  42:     long        lnum;
  43: 
  44:     opencatalog("relation", OR_WRITE);
  45:     while (pc-- > 0)
  46:     {
  47:         if (openr(&desc, OR_RELTID, pv->pv_val.pv_str))
  48:             syserr("RESETREL: openr %s", pv->pv_val.pv_str);
  49:         if (!bequal(Usercode, desc.reldum.relowner, sizeof desc.reldum.relowner))
  50:             syserr("RESETREL: not owner of %s", pv->pv_val.pv_str);
  51:         ingresname(desc.reldum.relid, desc.reldum.relowner, relname);
  52:         if ((desc.relfp = creat(relname, FILEMODE)) < 0)
  53:             syserr("RESETREL: create %s", relname);
  54:         lnum = 1;
  55:         if (formatpg(&desc, lnum))
  56:             syserr("RESETREL: formatpg %s", relname);
  57:         desc.reldum.reltups = 0;
  58:         desc.reldum.relspec = M_HEAP;
  59:         desc.reldum.relprim = 1;
  60:         close(desc.relfp);
  61:         if (replace(&Reldes, &desc.reltid, &desc, FALSE) < 0)
  62:             syserr("RESETREL: replace rel %s", relname);
  63:         pv++;
  64:     }
  65:     return (0);
  66: 
  67: }

Defined functions

resetrel defined in line 34; used 2 times

Defined variables

ResetrFn defined in line 15; never used
Last modified: 1986-04-17
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 739
Valid CSS Valid XHTML 1.0 Strict