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

##### Functions

    del_tuple         X

       1: # include   "../ingres.h"
       2: # include   "../access.h"
       3:
       4: del_tuple(tid, width)
       5: struct tup_id   *tid;
       6: int     width;
       7:
       8: /*
       9: **	Delete the specified tuple from the
      10: **	current page.
      11: **
      12: **	The space occupied by the tuple is
      13: **	compacted and the effected remaining
      14: **	tuple line offsets are adjusted.
      15: */
      16:
      17: {
      18:     register char   *startpt, *midpt;
      19:     register int    i;
      20:     char        *endpt;
      21:     int     cnt, offset, nextline;
      22:     int     linenum;
      23:     char        *get_addr();
      24:
      25:     linenum = tid->line_id & I1MASK;
      26:     offset = Acc_head->linetab[-linenum];
      27:     nextline = Acc_head->nxtlino;
      28:
      29:     startpt = get_addr(tid);
      30:     midpt = startpt + width;
      31:     endpt = &((struct raw_accbuf *)Acc_head)->acc_buf[0] + Acc_head->linetab[-nextline];
      32:
      33:     cnt = endpt - midpt;
      34:
      35:     /* delete tuple */
      36:     Acc_head->linetab[-linenum] = 0;
      37:
      38:     /* update affected line numbers */
      39:     for (i = 0; i <= nextline; i++)
      40:     {
      41:         if (Acc_head->linetab[-i] > offset)
      42:             Acc_head->linetab[-i] -= width;
      43:     }
      44:
      45:     /* compact the space */
      46:     while (cnt--)
      47:         *startpt++ = *midpt++;
      48:     Acc_head->bufstatus |= BUF_DIRTY;
      49: }

#### Defined functions

del_tuple defined in line 4; used 3 times

- in /usr/ingres/source/access/delete.c line 45
- in /usr/ingres/source/access/replace.c line 154, 166

Last modified: 1995-02-12 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: 404 |