Index of Functions: A B C D E F G H I J K L M N O P Q R S T U V W X
Index Page ekdelr_c
Table of contents
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
       ekdelr_c ( EK, delete record from segment )

       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, an error is signaled by a routine in the
           call tree of this routine. The file will not be modified.

       2)  If `segno' is out of range, the error SPICE(INVALIDINDEX) is
           signaled by a routine in the call tree of this routine. The
           file will not be modified.

       3)  If `recno' is out of range, the error SPICE(INVALIDINDEX) is
           signaled by a routine in the call tree of this routine. The
           file will not be modified.

       4)  If an I/O error occurs while reading or writing the indicated
           file, the error is signaled by a routine in the call tree of
           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)
       J. Diaz del Rio     (ODC Space)
#### Version
       -CSPICE Version 1.0.1, 10-AUG-2021 (JDR)

           Edited the header to comply with NAIF standard.

       -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

    Fri Dec 31 18:41:05 2021