# 2.11BSD#431 - /usr/ingres/source/access/closecatalog.c

##### Functions

    closecatalog      X

       1: # include   "../ingres.h"
       2: # include   "../aux.h"
       3: # include   "../access.h"
       4:
       5: /*
       6: **  CLOSECATALOG -- close system catalog
       7: **
       8: **	This routine closes the sysetm relations opened by calls
       9: **	to opencatalog.
      10: **
      11: **	The 'Desxx' struct defines which relations will be closed
      12: **	in this manner and is defined in .../source/aux.h.
      13: **
      14: **	The actual desxx structure definition is in the file
      15: **
      16: **		catalog_desc.c
      17: **
      18: **	which defines which relations can be cached and if any
      19: **	alias descriptors exist for the relations. That file
      20: **	can be redefined to include various caching.
      21: **
      22: **
      23: **	Parameters:
      24: **		really - whether to actually close the relations
      25: **			or just update and flush them.
      26: **
      27: **	Returns:
      28: **		none
      29: **
      30: **	Side Effects:
      31: **		A relation is (may be) closed and its pages flushed
      32: **
      33: **	Requires:
      34: **		Desxx -- a structure which defines the relations which
      35: **			should be closed. A default structure is defined in
      36: **			catalog_desc.c
      37: **
      38: **	Called By:
      39: **		most dbu routines.
      40: **		qrymod.
      41: **		parser.
      42: **		decomp.
      43: **		creatdb.
      44: **
      45: **	Trace Flags:
      46: **		none
      47: **
      48: **	Diagnostics:
      49: **		none
      50: **
      51: **	Syserrs:
      52: **
      53: **	History:
      54: **		1/30/79 (rse) -- closecat(really) needed to clear relopn
      55: **		12/12/78 (rse) -- Split from opencatalog.c
      56: */
      57:
      58:
      59: closecatalog(really)
      60: int really;
      61: {
      62:     register struct desxx       *p;
      63:     register int            r;
      64:     extern struct desxx     Desxx[];
      65:
      66:     r = really;
      67:
      68:     for (p = Desxx; p->cach_relname; p++)
      69:         if (r && !p->cach_alias)
      70:         {
      71:             if (closer(p->cach_desc) < 0)
      72:                 syserr("closecat %s", p->cach_relname);
      73:         }
      74:         else
      75:         {
      76:             if (noclose(p->cach_desc) < 0)
      77:                 syserr("closecat %s", p->cach_relname);
      78:             if (r)
      79:                 p->cach_desc->relopn = 0;
      80:         }
      81: }

#### Defined functions

closecatalog defined in line 59; used 11 times

- in /usr/ingres/source/dbu/main.c line 277, 337
- in /usr/ingres/source/decomp/call_dbu70.c line 69
- in /usr/ingres/source/decomp/call_ovqp70.c line 266
- in /usr/ingres/source/ovqp/support.c line 84
- in /usr/ingres/source/support/purge.c line 136, 171, 179, 224
- in /usr/ingres/source/support/restore.c line 144, 281

Last modified: 1980-12-17 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: 389 |