DeleteRFile
Delete ISAM file and associated indexes.
Short Name
DELRFIL()
Type
ISAM function
Declaration
COUNT DeleteRFile(FILNO datno)
Description
DeleteRFile() deletes the file and indexes referenced by the ISAM data file with file number datno, if and only if the file and indexes have been opened in exclusive mode.
Return
Value |
Symbolic Constant |
Explanation |
---|---|---|
0 |
NO_ERROR |
Successful file deletion. |
55 |
DLTF_ERR |
File could not be deleted. Does any process have the file open? |
56 |
DLTP_ERR |
File is not opened in the ctEXCLUSIVE mode. Delete is not performed. |
See FairCom DB Error Codes for a complete listing of valid FairCom DB error values.
Example
FILNO datno = 5;
TEXT filnam[15];
printf("\nEnter file name to delete:")
scanf("%14s", filnam);
if (OpenFileWithResource(datno, filnam, ctEXCLUSIVE))
printf("\nCould not open data file or index, error = %d,
file = %d",isam_err,isam_fil);
else if (DeleteRFile(datno))
printf("\nCould not delete data file or index, error = %d,
file = %d",isam_err,isam_fil);
Limitations
DeleteRFile() calls the Low-Level DeleteCtFile() function, which first closes the file before deletion.
In a non-server model, this permits another process to have a small window of opportunity to gain control of the file in which case the delete will fail and result in an error DLTF_ERR (55).
See also
DeleteIFile which deletes files based on incremental ISAM structures and DeleteCtFile