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

##### Functions

    insert            X

       1: # include   "../ingres.h"
       2: # include   "../access.h"
       3:
       4: /*
       5: **	INSERT - add a new tuple to a relation
       6: **
       7: **	Insert puts a given tuple into a relation in
       8: **	the "correct" position.
       9: **
      10: **	If insert is called with checkdups == TRUE then
      11: **	the tuple will not be inserted if it is a duplicate
      12: **	of some already existing tuple. If the relation is a
      13: **	heap then checkdups is made false.
      14: **
      15: **	Tid will be set to the tuple id where the
      16: **	tuple is placed.
      17: **
      18: **	returns:
      19: **		<0  fatal eror
      20: **		0   success
      21: **		1   tuple was a duplicate
      22: */
      23:
      24: insert(desc, tid1, tuple, checkdups)
      25: struct descriptor   *desc;
      26: struct tup_id       *tid1;
      27: char            *tuple;
      28: int         checkdups;
      29: {
      30:     register struct descriptor  *d;
      31:     register struct tup_id      *tid;
      32:     register int            i;
      33:     int             need;
      34:
      35:     d = desc;
      36:     tid = tid1;
      37:
      38: #	ifdef xATR1
      39:     if (tTf(94, 0))
      40:     {
      41:         printf("insert:%.14s,", d->relid);
      42:         dumptid(tid);
      43:         printup(d, tuple);
      44:     }
      45: #	endif
      46:     /* determine how much space is needed for tuple */
      47:     need = canonical(d, tuple);
      48:
      49:     /* find the "best" page to place tuple */
      50:     if (i = findbest(d, tid, tuple, need, checkdups))
      51:         return (i);
      52:
      53:     /* put tuple in position "tid" */
      54:     put_tuple(tid, Acctuple, need);
      55:
      56:     d->reladds++;
      57:
      58:     return (0);
      59: }

#### Defined functions

insert defined in line 24; used 14 times

- in /usr/ingres/source/dbu/copy.c line 355
- in /usr/ingres/source/dbu/create.c line 368, 521
- in /usr/ingres/source/dbu/index.c line 175, 194
- in /usr/ingres/source/dbu/modify.c line 719, 934
- in /usr/ingres/source/dbu/secupdate.c line 157
- in /usr/ingres/source/dbu/update.c line 93
- in /usr/ingres/source/ovqp/scan.c line 272
- in /usr/ingres/source/qrymod/d_integ.c line 168
- in /usr/ingres/source/qrymod/d_prot.c line 282
- in /usr/ingres/source/qrymod/define.c line 331, 352

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