Chapter 4. Error Messages

This section lists the errors that may be encountered when using the B Tree system. The occurrence of most of these errors indicates a serious failure in the B Tree system, with the following exceptions:

QNOKEY

The key given as a parameter to bfndky (or its brethren) does not exist.

QDUP

The key given as a parameter to binsky (or its brethren) already exists in the index. Duplicate keys are not permitted.

QBUSY

File busy, a normal hazard when using shared access mode in a multiuser environment.

QNOWRT

The B Tree file was originally opened with read-only permission, and a write has subsequently been attempted. Probably an application program error.

QNOBTF

Attempt to perform operation on B Tree file, but there is no file attached to the context pointer provided, likely an application error.

QINERR

Attempt made to open the same file again, likely an application error.

QDELCR

An attempt has been made to delete the current root, or worse, the super root. This is forbidden by the BT library.

QBADOP

Unknown debug option passed to bdbug, likely an application error.

QNOACT

Maximum number of concurrently open B Tree files reached - may be an application error.

QBADAP

Illegal context pointer passed to a B Tree function - may be an application error.

QDNEG

A negative length data record has been passed to a B Tree function.

QBADVR

The B Tree index file was created using an older version of the B Tree library, and cannot be accessed safely with this version. Extract data using a program based on the previous version of the B Tree library, and import into a index file created with the new. Alternatively, it may be possible to use the btr recovery tool to migrate an older BTree index file to the latest version.

QDAOVR

A new data record cannot be entered as the maximum value of a data block pointer has been exceeded.

QF2BIG

The index file has reached its maximum size for this implementation.

QBADAL

Unable to set alarm for for file lock handling. This may be a problem with the underlying OS.

QBADCTXT

Index context invalid for current key operation. An attempt was made to delete or update the current key, but the context is not valid. A valid context is set by bfndky, bnxtky, bprvky, btsel, btseln, or btselp.

QNODUPS

Duplicates are not permitted in the superroot. Attempting to permit duplicate keys in the superroot, via btdups(..,TRUE), is prohibited.

QNOT64BIT

Index file was created with a non-64 bit version (LFS=0) of the library. However, access is being attempted with a 64 bit version.

Q64BIT

Index file was created with a 64 bit version (LFS=1) of the library. However, access is being attempted with a non-64 bit version.

Table 4.1. B Tree Error Messages

1QBLKNRBlock %s is not a root block
2QCLSIOUnable to close index file: "file"
3QCRTIOUnable to create index file: "file"
4QCPBLKUnable to read source or destination block
5QWRBLKI/O error writing block
6QRDSUPI/O error reading super root
7QWRSUPI/O error writing super root
8QOPNIOI/O error opening index file: "file"
9QRDBLKI/O error reading block
10QIXOPNAn index file is already open
11QSPLITCan't split full block
12QINFERBad info block index used
13QNOMEMUnable to acquire a free memory block
14QSTKUFStack underflow
15QSTKOFStack overflow
16QBLKFLCan't insert key at block: %s
17QLOCTBReplace location out of range
18QSPKEYSplit: search for middle key failed
19QWRMEMRequested write block not in memory
20QBALSEBalance: search for key failed
21QDELEXExact flag not set for delete
22QDELERInternal inconsistency in delete operation
23QDELRPSearch for deleted key replacement failed (in block %s)
24QDEMSEDemote search failed
25QDEMSPDemote split failed
26QJNSEJoin search failed
27QNODEFCannot locate default root ($$default)
28QDELCRDeletion of the current or super root is forbidden
29QBADIXNegative in-memory index encountered
30QNOBTFNo index file open for this operation
31QINERRIndex file already in use
32QBADOPDebug option not recognised
33QNOACTNo more index files may be opened (limit reached)
34QBADAPInvalid index file context pointer
35QBUSYFile is busy
37QNOBLKNo block available for data storage
38QNEGSZData block usage gone bad: %s
39QNOTDAData segment header references a non-data block: %s
40QBADCTXTIndex context invalid for current key operation
41QDLOOPCircular data segment pointer encountered
42QUNLCKUnlock operation failed
43QLRUERLRU queue corrupt - index not in list
44QDAERRUnable to insert data record
45QDNEGData record cannot be negative
46QDUPKey "key" already exists in index
47QNOKEYKey "key" does not exist in index
48QNOWRTWrite access to index prohibited
49QNOTFRBlock on free list is not marked as free
50QBADVRIndex file is incompatible with current version: "version"
51QDAOVRData capacity exceeded at block: "block"
52QF2BIGIndex file is at maximum size
53QBADALUnable to set alarm for locking
54QDRANEGData record address is negative: "address"
55QBLKSZERRDefined block size is not a power of two: "size"
56QNODUPSDuplicates keys are not allowed for the superroot
57QPOSERRLocation search exceeds key count at block: %s
58QNOT64BIT Index file likely not LFS (64bit) enabled; doesn't match library.
59Q64BIT Index file likely LFS (64bit) enabled; doesn't match library.
60QNOTDUP Duplicate key address does not reference a duplicate block: %s.
61QDUPSZ Duplicate key entry has wrong size.
62QBADIR Bad direction parameter.