Fstat
fstat
is a numeric status that is returned upon execution of a database operation, a sequential file operation, or a lock instruction.
fstat
# MYTABLE is a table with a key called KEY1, that has a unique component called KEYVAL# Create a record in the table MYTABLE with they key value 1 if it doesn't exist Local File MYTABLE [MYT]Read [MYT]KEY1=1If fstat[MYT]KEYVAL=1 : Write [MYT]If fstatMSG="The key was created in the mean time"ElseMSG="Key created"EndifElseMSG="Key already exists"Endif
fstat
is always set to '0' if the operation is successfully completed, and has a non-null value if there is an error:
fstat
is set to '1' at the end of the file.fstat
is set to '1' if the lock could not be performed.Note that the use of literal numbers should be avoided: dedicated constants exist for this purpose.
Constant | Value | Explanation |
---|---|---|
[V]CST_AOK | 0 | Operation succeeded. |
[V]CST_ALOCK | 1 | Record is locked. |
[V]CST_AOUTSEARCH | 2 | In <= or >= read mode, indicates that read succeeded, but the key found is not equal to the value. |
[V]CST_ADUPKEY | 3 | Duplicate value on unique index. |
[V]CST_AOUTKEYS | 4 | Attempt of reading a key value that is smaller or greater than all existing key values. |
[V]CST_ANOREC | 5 | Record not read (no current record exists). |
[V]CST_ARECTICKUPD | 6 | Update conflict: the line no longer exists with the right updtick value (concurrency error during an update operation). |
[V]CST_ARECTICKDEL | 7 | Delete conflict: The line no longer exists with the right updtick value (concurrency error during a delete operation). |
Getseq, Rdseq, Lock, Read, Look, Readlock, For, Write, Delete,Rewrite, DeleteByKey, RewriteByKey.