Index Page ekdelr_c

A B C D E F G H I J K L M N O P Q R S T U V W X

Procedure Abstract Required_Reading Keywords Brief_I/O Detailed_Input | Detailed_Output Parameters Exceptions Files Particulars Examples | Restrictions Literature_References Author_and_Institution Version Index_Entries

#### Procedure

       void ekdelr_c ( SpiceInt   handle,
                       SpiceInt   segno,
                       SpiceInt   recno )

#### Abstract

       Delete a specified record from a specified E-kernel segment.

#### Required_Reading

       EK

#### Keywords

       EK
       UTILITY

#### Brief_I/O

       Variable  I/O  Description
       --------  ---  --------------------------------------------------
       handle     I   File handle.
       segno      I   Segment number.
       recno      I   Record number.

#### Detailed_Input

       handle         is a file handle of an EK open for write access.

       segno          is the number of the segment to which the record
                      is to be added.  EK segment numbers range from
                      zero to N-1, where N is the number of segments
                      in the kernel.

       recno          is the index of the record to delete.  recno must
                      be in the range 0 : N, where N is the
                      number of records in the segment prior to the
                      insertion.

#### Detailed_Output

       None.  See the $Particulars section for a description of the
       effect of this routine.

#### Parameters

       None.

#### Exceptions

       1)  If handle is invalid, the error will be diagnosed by routines
           called by this routine.  The file will not be modified.

       2)  If segno is out of range, the error SPICE(INVALIDINDEX)
           will be signalled.  The file will not be modified.

       3)  If recno is out of range, the error SPICE(INVALIDINDEX)
           will be signalled.  The file will not be modified.

       4)  If an I/O error occurs while reading or writing the indicated
           file, the error will be diagnosed by routines called by this
           routine.  The file may be corrupted.

#### Files

       See the EK Required Reading for a discussion of the EK file
       format.

#### Particulars

       This routine operates by side effects:  it deletes a record
       from an EK segment.  Deleting a record implies:

          1) All column entries in the record are deleted.

          2) Link counts are decremented for data pages containing
             column entries in the record to be deleted.  Pages whose
             link counts drop to zero are freed.

          3) All column indexes are updated for the parent segment.

          4) The link count is decremented for the page containing the
             record pointer structure of the record to be deleted.  If
             the link count drops to zero, the page is freed.

          5) The pointer to the deleted record is deleted from the
             record tree for the parent segment.

          6) The segment's metadata is updated to reflect the new
             record count.

#### Examples

       1)  Suppose the second segment of an EK file designated by
           handle contains 5 records:

              +-----------------+
              |     Record 0    |
              +-----------------+
              |     Record 1    |
              +-----------------+
              |     Record 2    |
              +-----------------+
              |     Record 3    |
              +-----------------+
              |     Record 4    |
              +-----------------+

           Then the call

              ekdelr_c ( handle, 1, 2 )

           deletes the third record from the segment, leaving the
           segment's contents as follows:

              +-----------------+
              |     Record 0    |
              +-----------------+
              |     Record 1    |
              +-----------------+
              |     Record 3    |
              +-----------------+
              |     Record 4    |
              +-----------------+

#### Restrictions

       None.

#### Literature_References

       None.

#### Author_and_Institution

       N.J. Bachman   (JPL)

#### Version

       -CSPICE Version 1.0.0, 16-JUN-2000 (NJB)

#### Index_Entries

       delete record from an EK segment

#### Link to routine ekdelr_c source file ekdelr_c.c

    Wed Apr  5 17:54:33 2017