ekdelr_c

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

    Thu Apr 16 08:57:53 2009