Product Documentation

FairCom ISAM for C

Previous Topic

Next Topic

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

TOCIndex