A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
An attribute name ID is a unique number that represents an attribute's name and namespace. It may be any number between 1 and 0x0xFFFFFDFF. XFLAIM has reserved name IDs for its internal attributes that are used in dictionary definition documents. Reserved attribute name IDs begin at 0xFFFFFE00. To see a list of these, please access xflaim.h and look for the #define XFLM_FIRST_RESERVED_ATTRIBUTE_TAG.
Block I/O Statistics Structure - XFLM_BLOCKIO_STATS
The XFLM_BLOCKIO_STATS structure holds statistics about a particular block I/O information category. It has the following fields:
DATA TYPE FIELD NAME DESCRIPTION XFLM_DISKIO_STAT BlockReads Statistics on block reads. XFLM_DISKIO_STAT OldViewBlockReads Statistics on old view block reads. FLMUINT uiBlockChkErrs Number of times we had checksum errors reading blocks. FLMUINT uiOldViewBlockChkErrs Number of times we had checksum errors read an older version of a block. FLMUINT uiOldViewErrors Number of times we got an old view error when reading. XFLM_DISKIO_STAT BlockWrites Statistics on block writes.
BTree Level Info Structure - XFLM_BTREE_LEVEL_INFO
The XFLM_BTREE_LEVEL_INFOstructure holds information about a specific level of a b-tree inside a specific index or collection.
DATA TYPE FIELD NAME DESCRIPTION FLMUINT64 ui64BlockCount Total number of blocks in this level of the b-tree. FLMUINT64 ui64BlockLength Total number of bytes in this level of the b-tree (this is basically the total number of blocks multiplied by the block size). FLMUINT64 ui64BlockFreeSpace Total amount of free space in blocks in this level of the b-tree. FLMUINT64 ui64ElmCount Total number of "elements" in this level of the b-tree. Note that an element consists of a key part and optionally a data part. FLMUINT64 ui64ContElmCount Total number of the elements which are "continuation" elements in this level of the b-tree. FLMUINT64 ui64ElmFlagOvhd Total number of bytes consumed by the "flags" in elements in this level of the b-tree. FLMUINT64 ui64ElmKeyLengthOvhd Total number of bytes consumed by the key length in elements in this level of the b-tree. FLMUINT64 ui64ElmCountsOvhd Total number of bytes consumed by the "counts" part of elements in this level of the b-tree. NOTE: This should only be non-zero for non-leaf blocks (not level 0). Leaf blocks do not contain a "counts" part in their elements. FLMUINT64 ui64ElmChildAddrsOvhd Total number of bytes consumed by the "child block address" part of elements in this level of the b-tree. NOTE: This should only be non-zero for non-leaf blocks (not level 0). Leaf blocks do not contain a child block address part in their elements. FLMUINT64 ui64ElmDataLenOvhd Total number of bytes consumed by the "data length" part of elements in this level of the b-tree. NOTE: This should only be non-zero for leaf blocks (level 0). Non-leaf blocks do not contain data parts in their elements. FLMUINT64 ui64ElmOADataLenOvhd Total number of bytes consumed by the "overall data length" part of elements in this level of the b-tree. NOTE: This should only be non-zero for leaf blocks (level 0). Non-leaf blocks do not contain data parts in their elements. FLMUINT64 ui64ElmKeyLength Total number of bytes consumed by the "key length" part of elements in this level of the b-tree. FLMUINT64 ui64ElmDataLength Total number of bytes consumd by the "data length" part of elements in this level of the b-tree. NOTE: This should only be non-zero for leaf blocks (level 0). Non-leaf blocks do not contain data parts in their elements. FLMUINT64 ui64KeyDataSize This field, ui64KeyIdSize, and the uiKeyComponenentLengthsSize fields show how the ui64KeyLength field is sub-divided. They are only applicable to index keys. A key has three parts: key component value, key component value length, and key component node ids. This field is the total number of bytes in index keys that are actual key component values.
FLMUINT64 ui64KeyIdSize Total number of bytes in index keys that are the node ID for key components. FLMUINT64 ui64KeyComponentLengthsSize Total number of bytes in index keys that are the lengths of key components. FLMUINT64 ui64DataOnlyBlockCount Number of data-only blocks. This should be zero for any level in the b-tree except for the leaf level (level 0). FLMUINT64 ui64DataOnlyBlockLength Total number of bytes in data-only blocks. FLMUINT64 ui64DataOnlyBlockFreeSpace Total number of bytes of free space in data-only blocks.
Cache Info Structure - XFLM_CACHE_INFO
The XFLM_CACHE_INFO structure holds information about overall cache usage. It includes both block cache and node cache as well as extended cache. It has the following fields:
DATA TYPE FIELD NAME DESCRIPTION FLMUINT uiMaxBytes Maximum bytes that can be cached. FLMUINT uiTotalBytesAllocated Total bytes currently allocated in cache. FLMUINT bDynamicCacheAdjust Flag indicating if cache limit is a dynamic cache limit. FLMUINT uiCacheAdjustPercent If a dynamic cache limit is currently in use, this specifies the percentage of available memory that is to be allowed for cache. FLMUINT uiCacheAdjustMin If dynamic cache limit is currently in use, this specifies the minimum that uiMaxBytes may ever be set to. FLMUINT uiCacheAdjustMax If dynamic cache limit is currently in use, this specifies the maximum that uiMaxBytes may ever be set to. FLMUINT uiCacheAdjustMinToLeave If dynamic cache limit is currently in use, this specifies the minimum amount of memory that must be left - uiMaxBytes should not be set higher than available memory minus this amount. FLMUINT uiDirtyCount Number of blocks in block cache that are currently marked as "dirty" - i.e., they need to be written to disk. FLMUINT uiDirtyBytes Number of bytes in block cache that are marked as dirty. FLMUINT uiNewCount Number of blocks in block cache that are "new" blocks - i.e., blocks that have been newly created at the logical end of the database to extend the database. FLMUINT uiNewBytes Number of bytes in block cache that are "new" blocks (see above). FLMUINT uiLogCount Number of blocks in block cache that are prior versions of blocks that need to be written to the rollback log. FLMUINT uiLogBytes Number of bytes in block cache that are "prior versions" of blocks (see above). FLMUINT uiFreeCount Number of blocks in block cache that are "free" blocks - i.e., blocks that are not currently in use in the cache. FLMUINT uiFreeBytes Number of bytes in the block cache that are "free" blocks (see above). FLMUINT uiReplaceableCount Number of blocks in block cache that are "replaceable" blocks - i.e., blocks that could be replaced if needed in order to read in another block. FLMUINT uiReplaceableBytes Number of blocks in the block cache that are "replaceable" blocks (see above). FLMBOOL bPreallocatedCache Was the cache "preallocated"? That is, were all of the slabs allocated up front before they were actually needed? XFLM_CACHE_USAGE BlockCache Block cache usage structure. XFLM_CACHE_USAGE NodeCache Node cache usage structure. XFLM_ECACHE_USAGE ECache Extended cache usage structure.
Cache Usage Structure (Block or Node Cache) - XFLM_CACHE_USAGE
The XFLM_CACHE_USAGE structure holds information about cache usage. It is used to show usage for a particular cache - block cache or node cache. It has the following fields:
DATA TYPE FIELD NAME DESCRIPTION FLMUINT uiByteCount Total bytes currently cached. FLMUINT uiCount Total number of objects currently cached. FLMUINT uiOldVerCount Total number of "older version" objects currently cached. FLMUINT uiOldVerBytes Total bytes cached in "older version" objects. FLMUINT uiCacheHits Number of times objects have been found in cache. FLMUINT uiCacheHitLooks Number of objects that had to be examined to determine that an object was in cache. FLMUINT uiCacheFaults Number of times an object was not found in cache. FLMUINT uiCacheFaultLooks Number of objects that had to be examined to determine that objects were not in cache. XFLM_SLAB_USAGE slabUsage Structure that gives information on the underlying slab allocations that are being done for this particular cache.
Check Progress Information Structure - XFLM_PROGRESS_CHECK_INFO
The XFLM_PROGRESS_CHECK_INFO structure holds information about the progress of a database check operation. It is reported back via the IF_DbCheckStatus::reportProgress method. It has the following fields:
DATA TYPE FIELD NAME DESCRIPTION FLMINT iCheckPhase The phase of the database check operation we are currently in. It may be one of the following:
- XFLM_CHECK_LFH_BLOCKS. Check is reading through the list of logical file header (LFH) blocks.
- XFLM_CHECK_B_TREE. Check is reading the blocks in an index or collection b-tree.
- XFLM_CHECK_AVAIL_BLOCKS. Check is reading through the list of available blocks.
- XFLM_CHECK_RS_SORT. Check is sorting the result set that it gathered for checking keys in the indexes.
- XFLM_CHECK_DOM_LINKS. Check is verifying linkages between DOM nodes.
FLMBOOL bStartFlag Is this the start of a new phase? FLMUINT64 ui64FileSize Total size of all "data" files that comprise the database. FLMUINT uiNumLFs Total logical files (indexes and collections) in the database (only valid if iCheckPhase is XFLM_CHECK_B_TREE or XFLM_CHECK_DOM_LINKS). FLMUINT uiCurrLF Current logical file being checked (only valid if iCheckPhase is XFLM_CHECK_B_TREE or XFLM_CHECK_DOM_LINKS). FLMUINT uiLfNumber Number of index or collection that is currently being checked (only valid if iCheckPhase is XFLM_CHECK_B_TREE or XFLM_CHECK_DOM_LINKS). FLMUINT uiLfType Logical file type: XFLM_LF_COLLECTION or XFLM_LF_INDEX (only valid if iCheckPhase is XFLM_CHECK_B_TREE or XFLM_CHECK_DOM_LINKS). FLMUINT64 ui64BytesExamined Total bytes examined in the database so far. FLMUINT uiNumProblemsFixed Total corruptions fixed so far. FLMUINT64 ui64NumDomNodes Total DOM nodes in the current b-tree (only valid if iCheckPhase is XFLM_CHECK_DOM_LINKS). FLMUINT64 ui64NumDomLinksVerified Total DOM nodes that have been verified in the current b-tree (only valid if iCheckPhase is XFLM_CHECK_DOM_LINKS). FLMUINT64 ui64NumBrokenDomLinks Total links between DOM nodes that were incorrect (only valid if iCheckPhase is XFLM_CHECK_DOM_LINKS). FLMUINT64 ui64NumKeys Total keys in the current index b-tree (only valid if iCheckPhase is XFLM_CHECK_B_TREE). FLMUINT64 ui64NumDuplicateKeys Total duplicate keys found in the current index b-tree (only valid if iCheckPhase is XFLM_CHECK_B_TREE). FLMUINT64 ui64NumKeysExamined Total DOM nodes that have been verified in the current b-tree (only valid if iCheckPhase is XFLM_CHECK_B_TREE). FLMUINT64 ui64NumKeysNotFound Number of keys found in index that were not found in documents (only valid if iCheckPhase is XFLM_CHECK_B_TREE). FLMUINT64 ui64NumDocKeysNotFound Number of keys found in documents that were not found in index (only valid if iCheckPhase is XFLM_CHECK_B_TREE). FLMUINT64 ui64NumConflicts Total number of times the reported index corruption turned out NOT to be a corruption when a fix was attempted (only valid if iCheckPhase is XFLM_CHECK_B_TREE).
Checkpoint Information Structure - XFLM_CHECKPOINT_INFO
The XFLM_CHECKPOINT_INFO structure holds information about the checkpoint thread. It has the following fields:
FIELD NAME DESCRIPTION FLMBOOL bRunning Is the checkpoint thread currently running? FLMUINT uiRunningTime How long has it or did it run? FLMBOOL bForcingCheckpoint Is the checkpoint being forced? FLMUINT uiForceCheckpointRunningTime What is the checkpoint forced running time? FLMINT iForceCheckpointReason What is the reason for the forced checkpoint. Possible values are: CP_TIME_INTERVAL_REASON
CP_SHUTTING_DOWN_REASON
CP_RFL_VOLUME_PROBLEM
FLMBOOL bWritingDataBlocks Is the checkpoint thread writing blocks out? FLMUINT uiLogBlocksWritten How many log blocks have been written? FLMUINT uiDataBlocksWritten How many data blocks have been written? FLMUINT uiDirtyCacheBytes How many dirty cache bytes were / have been written? FLMUINT uiBlockSize What is the block size? FLMUINT uiWaitTruncateTime Has any time been spent waiting to truncate the database?
A collection is a place to store XML documents in XFlaim. There are two standard collections, the Default Data Collection and the Dictionary collection. Users can also create their own data collections. The collection numbers for these collections are as follows:
Default Data Collection - XFLM_DATA_COLLECTION
Dictionary Collection - XFLM_DICT_COLLECTION
This is an enumerated type for specifying colors to use when logging messages. See xflaim.h for a list of legal values.
The following define comparison rules for strings. These may be ORed together to specify various combinations of comparison rules. These are used in methods that have parameters which require string comparison rules (such as compareUTF8Strings and compareUnicodeStrings). They may also be specified during query operations on query operators for comparing two strings.
XFLM_COMP_CASE_INSENSITIVE Do case-insensitive comparison. XFLM_COMP_COMPRESS_WHITESPACE Treat consecutive whitespace characters as a single whitespace character. XFLM_COMP_NO_WHITESPACE Treat all whitespace characters as if they were not present. XFLM_COMP_NO_UNDERSCORES Treat all underscore characters ('_') as if they were whitespace characters. NOTE: This rule is applied before applying the rules that pertain to whitespace (XFLM_COMP_COMPRESS_WHITESPACE, XFLM_COMP_NO_WHITESPACE, XFLM_COMP_IGNORE_LEADING_SPACE, and XFLM_COMP_IGNORE_TRAILING_SPACE ). XFLM_COMP_NO_DASHES Treat all dash characters ('-') as if they were not present. XFLM_COMP_WHITESPACE_AS_SPACE Treat all newline, carriage return, and tabs the same as spaces. XFLM_COMP_IGNORE_LEADING_SPACE Treat all leading whitespace characters as if they were not present. XFLM_COMP_IGNORE_TRAILING_SPACE Treat all trailing whitespace characters as if they were not present.
Corrupt Info Structure - XFLM_CORRUPT_INFO
The XFLM_CORRUPT_INFO structure holds information about corruptions that have been detected in the database. It has the following fields:
DATA TYPE FIELD NAME DESCRIPTION FLMINT iErrCode Type of corruption that was detected. These may be converted to a string by calling the IF_DbSystem::checkErrorToStr method. FLMUINT uiErrLocale General location in the database where the corruption was detected. See xflaim.h for the list of these locations. FLMUINT uiErrLfNumber If non-zero, the index number or collection number where the corruption was detected. uiErrLfType specifies whether it is an index or a collection. FLMUINT uiErrLfType Specifies whether uiErrLfNumber is an index or a collection. Will contain XFLM_LF_COLLECTION if it is a collection, XFLM_LF_INDEX if it is an index. See eLFileType. FLMUINT uiErrBTreeLevel If corruption was in an index or collection, this will contain the level in the b-tree where the corruption was found. FLMUINT uiErrBlkAddress Block address of block containing the corruption. If corruption is not in a block, this will contain a zero. FLMUINT uiErrParentBlkAddress If corruption is in a b-tree block (index or collection), and the block has a parent block, this will contain the address of the parent block. Otherwise, it will contain a zero. FLMUINT uiErrElmOffset If corruption is in a b-tree block (index or collection), this will contain the offset of the particular element within that block where the corruption was found. If the corruption is not in an element, this will contain a zero. FLMUINT64 ui64ErrNodeId If the corruption is in a collection, this will contain the node ID of the corrupted node. If the corruption is not in a node, this will be zero. IF_DataVector * ifpErrIxKey If the corruption is a logical corruption to an index, this may contain the specific key that has a problem. If that cannot be obtained, this will have a NULL in it.
Count/Time Statistics Structure - XFLM_COUNT_TIME_STAT
The XFLM_COUNT_TIME_STAT structure holds occurrence count and elapsed time. It is used for all kinds of statistics and has the following fields:
DATA TYPE FIELD NAME DESCRIPTION FLMUINT64 ui64Count Total occurrences. FLMUINT64 ui64ElapMilli Total Elapsed milliseconds for all occurrences.
Create Options Structure - XFLM_CREATE_OPTS
This structure is used as a parameter to dbCreate to specify the create options for a database. The members of the structure are as follows:
DATA TYPE FIELD NAME DEFAULT VALUE FLMUINT uiBlockSize 4096. Allowed block sizes are 4096 and 8192 (bytes). FLMUINT uiVersionNum 500 (meaning 5.00) FLMUINT uiMinRflFileSize 100 MB FLMUINT uiMaxRflFileSize 4 GB FLMBOOL bKeepRflFiles FALSE FLMBOOL bLogAbortedTransToRfl FALSE FLMUINT uiDefaultLanguage English, United States
The following data types are supported in XFLAIM:
XFLM_NODATA_TYPE The DOM node does not contain any data. XFLM_TEXT_TYPE The data is text. It is stored in UTF8 format, although it may be retrieved and set as Unicode, Native or UTF8. XFLM_NUMBER_TYPE The data is a number. It is stored as a 64 bit value, either signed or unsigned. XFLM_BINARY_TYPE The data is binary. It is stored as a stream of binary data, unaltered. XFLM_POINTER_TYPE TBD
Database Backup Types - eDbBackupType
This is an enumerated type that lists legal backup types. See xflaim.h for the list of legal values.
Database Header Structure - XFLM_DB_HDR
This structure defines the database header. The members of the structure are as follows:
DATA TYPE FIELD NAME DEFAULT VALUE FLMUINT szSignature This is the signature for the database. It should always contain the string "FLAIMDB". FLMUINT8 ui8IsLittleEndian Indicates whether the header's numeric values are stored in little-endian or big-endian order. A non-zero value indicates little-endian. FLMUINT8 ui8DefaultLanguage Indicates the default language to be used when creating indexes in the database. See language codes. FLMUINT16 ui16BlockSize Specifies the block size of the database. Valid block sizes are: 4096 and 8192. FLMUINT32 ui32DbVersion Version of this database. FLMUINT8 ui8BlkChkSummingEnabled A flag indicating whether or not block checksumming is enabled. NOTE: This flag is not currently used. Block checksumming is done irrespective of the state of this flag. FLMUINT8 ui8RflKeepFiles A flag indicating whether or not RFL files should be kept. If non-zero, they will be kept. Otherwise, the current RFL file will be reused over and over. FLMUINT8 ui8RflAutoTurnOffKeep A flag indicating whether or not the database system should automatically turn off the keeping of RFL files if the disk where RFL files are being stored becomes full. If zero, and the RFL disk becomes full, new update transactions cannot be performed until space is made available on the RFL disk. If non-zero and the RFL disk becomes full, the current RFL file will be reused, and the ui8RflKeepFiles flag (see above) will be set to zero automatically. FLMUINT8 ui8RflKeepAbortedTrans A flag indicating whether or not aborted transactions should be kept in the RFL files. FLMUINT32 ui32RflCurrFileNum This is the current RFL file number. FLMUINT64 ui64LastRflCommitID This is the ID of the last transaction that was actually committed to the RFL file. Note that there may have been transactions that occurred after this that were aborted. FLMUINT32 ui32RflLastFileNumDeleted This is the number of the last RFL file that was deleted. FLMUINT32 ui32RflLastTransOffset This is the byte offset in the current RFL file where the last logged transaction ends. FLMUINT32 ui32RflLastCPFileNum This is number of the RFL where the last checkpointed transaction ends. FLMUINT32 ui32RflLastCPOffset This is the byte offset in the RFL file (specified by ui32RflLastCPFileNum) where the last checkpointed transaction ends. FLMUINT64 ui64RflLastCPTransID This is the ID of the last checkpointed transaction. FLMUINT32 ui32RflMinFileSize This is the size limit at which XFLAIM will roll to a new RFL file on a transaction boundary. It is preferable that we keep transactions entirely contained in the same RFL file if at all possible. Hence, once we exceed this minimum limit, XFLAIM won't roll to a new RFL file until the beginning of the next transaction. The exception to that rule is if the current transaction will also exceed the maximum limit specified in the ui32RflMaxFileSize field (see below). FLMUINT32 ui32RflMaxFileSize This is the size limit at which XFLAIM will roll to a new RFL file if the current transaction is going to exceed it. See explanation of ui32RflMinFileSize. FLMUINT64 ui64TransCommitCnt This is the total number of transactions that have committed. FLMUINT64 ui64CurrTransID This is the ID of the highest update transaction ever performed - meaning a transaction that was either committed or aborted. FLMUINT32 ui32RblEOF This is the logical EOF marker in the rollback log. It is where the last logged block ends. FLMUINT32 ui32RblFirstCPBlkAddr This is the address in the rollback log of the first block that was logged since the last checkpoint. This is used during recovery to determine where in the rollback log to start restoring logged blocks in order to restore the last checkpointed state of the database. FLMUINT32 ui32FirstAvailBlkAddr This is the address of the first block in the list of available blocks in the database. The list of available blocks is a doubly linked list. Whenever new blocks are needed, if the avail list is not empty, a block will be pulled from it before extending the file. FLMUINT32 ui32FirstLFBlkAddr This is the address of the first block in the list of blocks that are used to keep track of index and collection "logical file headers". The "logical file" block list is a doubly linked list of blocks. FLMUINT32 ui32LogicalEOF This is the logical EOF for data blocks in the database. If the avail list is empty, and new blocks are needed, they are allocated starting at this address. FLMUINT32 ui32MaxFileSize This is the maximum size (in bytes) that any physical file in the database is allowed to grow to. This applies to the files that are used to store data and rollback log blocks, but not to RFL files. RFL files have separate fields (see ui32RflMinFileSize and ui32RflMaxFileSize) that govern their size. FLMUINT64 ui64LastBackupTransID This is the ID of the last transaction that was backed up when a backup was last taken of this database. FLMUINT32 ui32IncBackupSeqNum This is the sequence number of the last incremental backup that was taken on this database. FLMUINT32 ui32BlksChangedSinceBackup This is the number of blocks that have been changed in the database since the last full or incremental backup was taken. FLMBYTE [16] ucDbSerialNum This is the serial number assigned to this database. It used during restore operations to verify that the RFL files being applied to the database do, in fact, belong to this database and not to another database. FLMBYTE [16] ucLastTransRflSerialNum This is the serial number of the current (or last) RFL file (i.e., the RFL file indicated in the ui32RflCurrFileNum field). FLMBYTE [16] ucNextRflSerialNum This is the serial number that will be used for the next RFL file when it is created. This serial number is generated before the next RFL file is generated, because the current RFL file's header holds the serial number of the next RFL file in the sequence. In this way, when replaying RFL files, the sequence of RFL files can be checked, thus preventing the accidental replaying of an incorrect sequence of RFL files. FLMBYTE [16] ucIncBackupSerialNum This is the serial number that will be assigned to the next incremental back that is taken on the database. Each incremental back is stamped with its serial number as well as the serial number of the next incremental backup. In this way, when reapplying incremental backups, the sequence of incremental backups can be checked, thus preventing the accidental applying of an incorrect sequence of incremental backups. It also helps prevent the accidental applying of an incremental backup to a full backup that it was not taken from. FLMBYTE [68] ucReserved This is space that is reserved for future use. It is always initialized to zero. FLMUINT32 ui32HdrCRC This is a CRC for the database header. It is verified whenever the header is read from disk. It is modified whenever the header is modified. It is intended that the CRC always be the last 4 bytes of the header, at offset 252. FLMUINT uiDbKeyLen This is the length (in bytes) of the database encryption key which is stored in DbKey. FLMBYTE [256] DbKey Database encryption key is stored here.
Database Lock Type - eDbLockType:
This is an enumerated type that specifies types of locks. See xflaim.h for a list of legal values.
Database Statistics Structure - XFLM_DB_STATS
The XFLM_DB_STATS structure holds statistics for a database. Its fields are as follows:
DATA TYPE FIELD NAME DESCRIPTION FLMBYTE pszDbName Database name. FLMBOOL bHaveStats Flag indicating whether or not there are statistics for this database. XFLM_RTRANS_STATS ReadTransStats Read Transaction Statistics. XFLM_UTRANS_STATS UpdateTransStats Update Transaction Statistics. FLMUINT uiLFileAllocSeq Internal use only. XFLM_LFILE_STATS pLFileStats Pointer to array for the statistics on indexes and collections (the logical files - LFILEs) in the database. FLMUINT uiLFileStatArraySize Total number of elements in the pLFileStats array. FLMUINT uiNumLFileStats Number of elements in the pLFileStats array that are currently in use - that actually have statistics. XFLM_BLOCKIO_STATS LFHBlockStats Block I/O statistics for the blocks which contain the database's logical file headers (LFH) - headers for indexes and collections. XFLM_BLOCKIO_STATS AvailBlockStats Block I/O statistics for the database's available blocks. XFLM_DISKIO_STAT DbHdrWrites Statistics on writes to the database header. XFLM_DISKIO_STAT LogBlockWrites Statistics on writes to blocks in the rollback log. XFLM_DISKIO_STAT LogBlockRestores Statistics on writes from the rollback log back into the database - during database recovery operations or while rolling back an aborted transaction. XFLM_DISKIO_STAT LogBlockReads Statistics on reading of blocks from the rollback log. FLMUINT uiLogBlockChkErrs Number of times there were checksum errors reading blocks from the rollback log. FLMUINT uiReadErrors Number of times there were read errors while reading blocks from the database. FLMUINT uiWriteErrors Number of times there were write errors while writing blocks to the database. XFLM_COUNT_TIME_STAT NoLocks Statistics on time periods when no lock was held on the database. XFLM_COUNT_TIME_STAT WaitingForLock Statistics on time periods spent waiting to obtain a lock on the database. XFLM_COUNT_TIME_STAT HeldLock Statistics on time periods spent holding a lock on the database.
Database Transaction Types - eDbTransType
This is an enumerated type that defines the types of transactions. See xflaim.h for a list of legal values.
Disk I/O Statistics Structure - XFLM_DISKIO_STAT
The XFLM_DISKIO_STAT structure holds statistics for an I/O operation. It is used for all kinds of different I/O statistics we may be tracking and includes the following fields:
DATA TYPE FIELD NAME DESCRIPTION FLMUINT64 ui64Count Total occurrences. FLMUINT64 ui64TotalBytes Total bytes that were part of this statistic. FLMUINT64 ui64ElapMilli Total elapsed milliseconds for the occurrences.
This is an enumerated type that defines the types of DOM nodes. See xflaim.h for a list of legal values.
This is an enumerated type that defines the potential locations for inserting a node in a document relative to another node in the document. See xflaim.h for a list of legal values.
An element name ID is a unique number that represents an element's name and namespace. It may be any number between 1 and 0x0xFFFFFDFF. XFLAIM has reserved name IDs for its internal elements that are used in dictionary definition documents. Reserved element name IDs begin at 0xFFFFFE00. To see a list of these, please access xflaim.h and look for the #define XFLM_FIRST_RESERVED_ELEMENT_TAG.
This is an enumerated type that specifies the type of logical file - index or collection. See xflaim.h for a list of legal values.
This is an enumerated type that represents the different actions that can be taken during a recover operation. See xflaim.h for a list of legal values.
This is an enumerated type that represents the kinds of events that an application may register to receive. See xflaim.h for a list of legal values.
This is an enumerated type that represents the states that an index may be in. See xflaim.h for a list of legal values.
Export Format Types - eExportFormatType
This is an enumerated type that represents the different export formats supported by the IF_Db::exportXML method. See xflaim.h for a list of legal values.
Extended Cache Usage Structure - XFLM_ECACHE_USAGE
The XFLM_ECACHE_USAGE structure holds information about extended cache usage. It has the following fields:
DATA TYPE FIELD NAME DESCRIPTION FLMUINT64 ui64TotalExtendedMemory Total extended memory available. FLMUINT64 ui64RemainingExtendedMemory Amount of extended memory not currently in use. FLMUINT64 ui64TotalBytesAllocated Total bytes allocated in extended memory. FLMUINT64 ui64CacheHits Number of times objects have been found in extended memory cache. FLMUINT64 ui64CacheFaults Number of times an object was not found in extended memory cache.
FLMBOOL is an unsigned integer that is used to hold only boolean values of 1 (TRUE) and 0 (FALSE).
FLMBYTE is an unsigned char.
FLMINT is a signed integer.
FLMINT32 is a signed 32 bit integer.
FLMINT64 is a signed 64 bit integer.
FLMUINT is an unsigned integer.
FLMUINT8 is an unsigned 8 bit integer.
FLMUINT16 is an unsigned 16 bit integer.
FLMUINT32 is an unsigned 32 bit integer
FLMUINT64 is an unsigned 64 bit integer.
FLMUNICODE is a 16 bit unicode character.
Import XML File Statistics - XFLM_IMPORT_STATS
The XFLM_IMPORT_STATS structure holds information about a document (or documents) import operation. It has the following fields:
DATA TYPE FIELD NAME DESCRIPTION FLMUINT uiLines Total lines read from import files. FLMUINT uiChars Total characters read from import files. FLMUINT uiAttributes Total XML attribute nodes parsed. FLMUINT uiElements Total XML element nodes parsed. FLMUINT uiText Total XML text nodes parsed. FLMUINT uiDocuments Total documents imported. FLMUINT uiErrLineNum If parsing error occurred, this field contains the line number where the error happened. FLMUINT uiErrLineOffset If parsing error occurred, this field contains the character offset (zero based) in the line where the error happened. XMLParseError eErrorType If parsing error occurred, this field contains the specific parsing error that happened. FLMUINT uiErrLineFilePos If parsing error occurred, this field contains the byte offset in the file of the beginning of the line where the error occurred. FLMUINT uiErrLineBytes If a parsing error occurred, this field contains the number of bytes (not characters) in the line where the error occurred. XMLEncoding eXMLEncoding Type of encoding of the current import file.
Index Status Structure - XFLM_INDEX_STATUS
The XFLM_INDEX_STATUS structure hold status information about an index. It has the following fields:
DATA TYPE FIELD NAME DESCRIPTION FLMUINT uiIndexNum Index number eXFlmIndexState eState Indicates the current state of the index - suspended, online, or bringing online. FLMUINT uiStartTime Start time of the offline process or zero. FLMUINT64 ui64LastDocumentIndexed If index state is not on-line, then this contains the document ID of the last document that was indexed. Otherwise, it is meaningless. FLMUINT64 ui64KeysProcessed Keys processed by background indexing thread. Only valid if the state is "bringing online". FLMUINT64 ui64DocumentsProcessed Documents processed by the background indexing thread. Only valid if the state is "bringing online". FLMUINT64 ui64Transactions Number of transactions executed by the background indexing thread. Only valid if the state is "bringing online".
XFLM_US_LANG English, United States XFLM_AF_LANG Afrikaans XFLM_AR_LANG Arabic XFLM_CA_LANG Catalan XFLM_HR_LANG Croatian XFLM_CZ_LANG Czech XFLM_DK_LANG Danish XFLM_NL_LANG Dutch XFLM_OZ_LANG English, Australia XFLM_CE_LANG English, Canada XFLM_UK_LANG English, United Kingdom XFLM_FA_LANG Farsi XFLM_SU_LANG Finnish XFLM_CF_LANG French, Canada XFLM_FR_LANG French, France XFLM_GA_LANG Galician XFLM_DE_LANG German, Germany XFLM_SD_LANG German, Switzerland XFLM_GR_LANG Greek XFLM_HE_LANG Hebrew XFLM_HU_LANG Hungarian XFLM_IS_LANG Icelandic XFLM_IT_LANG Italian XFLM_NO_LANG Norwegian XFLM_PL_LANG Polish XFLM_BR_LANG Portuguese, Brazil XFLM_PO_LANG Portuguese, Portugal XFLM_RU_LANG Russian XFLM_SL_LANG Slovak XFLM_ES_LANG Spanish XFLM_SV_LANG Swedish XFLM_YK_LANG Ukrainian XFLM_UR_LANG Urdu XFLM_TK_LANG Turkey XFLM_JP_LANG Japanese XFLM_KO_LANG Korean XFLM_CT_LANG Chinese-Traditional XFLM_CS_LANG Chinese-Simplified XFLM_LA_LANG another Asian language
Lock User Structure - XFLM_LOCK_USER
The XFLM_LOCK_USER structure holds information about a lock holder or lock waiter. The fields are as follows:
DATA TYPE FIELD NAME DESCRIPTION FLMUINT uiThreadId The identification number of the thread holding or waiting for the lock. FLMUINT uiTime For lock holder, this is the time the lock was obtained. For the lock waiter, this is the time he started waiting for the lock.
Logical File Statistics Structure - XFLM_LFILE_STATS
The XLM_LFILE_STATS structure contains statistics collected about a logical file (index or collection) in a database. It contains the following fields:
DATA TYPE FIELD NAME DESCRIPTION FLMBOOL bHaveStats Flag indicating whether or not there are statistics for this logical file. XFLM_BLOCK_IO_STATS RootBlockStats Statistics for the root block of this logical file. XFLM_BLOCK_IO_STATS MiddleBlockStats Statistics for blocks in this logical file that are neither the root block or leaf blocks. XFLM_BLOCK_IO_STATS LeafBlockStats Statistics for leaf blocks in this logical file. FLMUINT64 ui64BlockSplits Number of block splits that have occurred in this logical file. FLMUINT64 ui64BlockCombines Number of block combines that have occurred in this logical file. FLMUINT uiLFileNum Logical file number (index or collection number). eLFileType eLfType Type of logical file (index or collection).
Log Message Types - eLogMessageType
This is an enumerated type that specifies the possible log message types. See xflaim.h for a list of legal values.
Node Info Item Structure - XFLM_NODE_INFO_ITEM
The XFLM_NODE_INFO_ITEM structure contains an occurrence count and number of bytes of disk usage for node info items. It contains the following fields:
DATA TYPE FIELD NAME DESCRIPTION FLMUINT64 ui64Count The count of occurrences. FLMUINT64 ui64Bytes Total bytes of disk space used for the occurrences.
Node Info Structure - XFLM_NODE_INFO
The XFLM_NODE_INFO structure contains information about disk usage for nodes, sub-trees, and documents in a database. Each field represents some component that makes up the storage of a node.
DATA TYPE FIELD NAME DESCRIPTION XFLM_NODE_INFO_ITEM headerSize Disk space taken up by node header size overhead. XFLM_NODE_INFO_ITEM nodeAndDataType Disk space taken up by node type and data type overhead. XFLM_NODE_INFO_ITEM flags Disk space taken up by flags overhead. XFLM_NODE_INFO_ITEM nameId Disk space taken up by name id overhead. XFLM_NODE_INFO_ITEM prefixId Disk space taken up by prefix id overhead. XFLM_NODE_INFO_ITEM baseId Disk space taken up by base id overhead. A base id is sometimes stored so that the other ids can be stored as relative offsets from it. XFLM_NODE_INFO_ITEM documentId Disk space taken up by document id overhead. XFLM_NODE_INFO_ITEM parentId Disk space taken up by parent id overhead. XFLM_NODE_INFO_ITEM prevSibId Disk space taken up by previous sibling id overhead. XFLM_NODE_INFO_ITEM nextSibId Disk space taken up by next sibling id overhead. XFLM_NODE_INFO_ITEM firstChildId Disk space taken up by first child id overhead. XFLM_NODE_INFO_ITEM lastChildId Disk space taken up by last child id overhead. XFLM_NODE_INFO_ITEM childElmCount Disk space taken up by child element node count overhead. XFLM_NODE_INFO_ITEM dataChildCount Disk space taken up by data node count overhead. XFLM_NODE_INFO_ITEM attrCount Disk space taken up by attribute node count overhead. XFLM_NODE_INFO_ITEM attrBaseId Disk space taken up by attribute base id overhead. XFLM_NODE_INFO_ITEM attrFlags Disk space taken up by attribute flags overhead. XFLM_NODE_INFO_ITEM attrPayloadLen Disk space taken up by attribute payload length overhead. XFLM_NODE_INFO_ITEM annotationId Disk space taken up by annotation id overhead. XFLM_NODE_INFO_ITEM metaValue Disk space taken up by meta value overhead. XFLM_NODE_INFO_ITEM encDefId Disk space taken up by encryption id overhead. XFLM_NODE_INFO_ITEM unencDataLen Disk space taken up by unencrypted data length overhead. XFLM_NODE_INFO_ITEM childElmNameId Disk space taken up by child element name id overhead. XFLM_NODE_INFO_ITEM childElmNodeId Disk space taken up by child element node id overhead. XFLM_NODE_INFO_ITEM encIV Disk space taken up by encryption IV overhead. XFLM_NODE_INFO_ITEM encPadding Disk space taken up by encryption padding overhead. XFLM_NODE_INFO_ITEM totalOverhead Total disk space taken up by the overhead part of the nodes that were examined. Includes the sum of all of the fields above this one - but not the ones below it. XFLM_NODE_INFO_ITEM dataNodata Disk space taken up by the data part of a node whose data type is "no data". XFLM_NODE_INFO_ITEM dataString Disk space taken up by the data part of a node whose data type is "string". XFLM_NODE_INFO_ITEM dataNumeric Disk space taken up by the data part of a node whose data type is "numeric". XFLM_NODE_INFO_ITEM dataBinary Disk space taken up by the data part of a node whose data type is "binary". XFLM_NODE_INFO_ITEM attributeNode Disk space taken up by attribute nodes (includes their overhead and data). XFLM_NODE_INFO_ITEM elementNode Disk space taken up by element nodes (includes their overhead and data). XFLM_NODE_INFO_ITEM dataNode Disk space taken up by data nodes (includes their overhead and data). XFLM_NODE_INFO_ITEM commentNode Disk space taken up by comment nodes (includes their overhead and data). XFLM_NODE_INFO_ITEM otherNode Disk space taken up by nodes other than attributes, elements, data, and comment nodes (includes their overhead and data).
Query Functions - eQueryFunctions
This is an enumerated type that specifies the various predefined functions that may be used in query criteria expressions. See xflaim.h for a complete list.
Query Operators - eQueryOperators
This is an enumerated type that specifies the various operators that may be used in query criteria expressions. See xflaim.h for a complete list.
Query Optimization Information Structure - XFLM_OPT_INFO
The XFLM_OPT_INFO structure contains information about query optimization. Its fields are as follows:
DATA TYPE FIELD NAME DESCRIPTION eQOptTypes eOptType Type of optimization represented in this structure. FLMUINT uiCost Cost calculated for this particular optimization. FLMUINT64 ui64NodeId Gives the node id used in this optimization. Only valid if eOptType is XFLM_QOPT_SINGLE_NODE_IDor XFLM_QOPT_NODE_ID_RANGE. If eOptType is XFLM_QOPT_NODE_ID_RANGE, this node id is the starting node id for the range. FLMUINT64 ui64EndNodeId Ending node id for a range of node ids. Only valid if eOptType is XFLM_QOPT_NODE_ID_RANGE. FLMUINT uiIxNum Number of index used for this optimization. Only valid if eOptType is XFLM_QOPT_USING_INDEX. FLMBYTE [80] szIxName Name of index used for this optimization. Only valid if eOptType is XFLM_QOPT_USING_INDEX. FLMBOOL bMustVerifyPath Flag indicating that the path to the node must be verified. FLMBOOL bCanCompareOnKey Can we compare on data in the index keys without fetching the node? Only valid if eOptType is XFLM_QOPT_USING_INDEX. FLMUINT64 ui64KeysRead Total number of keys read. FLMUINT64 ui64KeyHadDupDoc Total number of keys for which pointed to the same document. FLMUINT64 ui64KeysPassed Total number of keys that passed the criteria in the query that pertained to them. FLMUINT64 ui64NodesRead Total number of DOM nodes that were read. FLMUINT64 ui64NodesTested Total number of DOM nodes that were tested against criteria. FLMUINT64 ui64NodesPassed Total number of DOM nodes that passed the criteria they were tested against. FLMUINT64 ui64DocsRead Total documents that were read. FLMUINT64 ui64DupDocsEliminated Total duplicate documents that were eliminated. FLMUINT64 ui64NodesFailedValidation Total nodes that passed criteria, but failed validation in the application callback. FLMUINT64 ui64DocsFailedValidation Total documents that passed query criteria, but failed validation in the application callback. FLMUINT64 ui64DocsPassed Total documents that passed query criteria.
Query Optimization Type - eQOptTypes
This is an enumerated type that lists the types of optimization done in a query. For a list of all possible values see xflaim.h.
The RCODE is a signed integer. It is used as a return code for most function calls.
Read Transaction Statistics Structure - XFLM_RTRANS_STATS
The XFLM_RTRANS_STATS structure contains statistics about read transactions. Its fields are as follows:
DATA TYPE FIELD NAME DESCRIPTION XFLM_COUNT_TIME_STAT CommittedTrans Statistics on committed transactions. XFLM_COUNT_TIME_STAT AbortedTrans Statistics on aborted transactions.
Rebuild Information Structure - XFLM_REBUILD_INFO
The XFLM_REBUILD_INFO structure contains information about a rebuild operation. Its fields are as follows:
DATA TYPE FIELD NAME DESCRIPTION FLMINT iDoingFlag What we are currently doing in the rebuild operation. It will be one of the following:
- REBUILD_GET_BLK_SIZ
- REBUILD_RECOVER_DICT
- REBUILD_RECOVER_DATA
FLMBOOL bStartFlag Is the current thing we are doing just starting? FLMUINT64 ui64FileSize Total bytes to be read to do rebuild operation. FLMUINT64 ui64BytesExamined Total bytes examined so far. FLMUINT64 ui64TotNodes Total nodes examined. FLMUINT64 ui64NodesRecov Total nodes recovered. FLMUINT64 ui64DiscardedDocs Total documents discarded.
Slab Allocation Usage Structure - XFLM_SLAB_USAGE
The XFLM_SLAB_USAGE structure holds information about the underlying slab allocations that have been done for a particular cache. It has the following fields:
DATA TYPE FIELD NAME DESCRIPTION FLMUINT64 ui64Slabs Total 64K slabs currently allocated. FLMUINT64 ui64SlabBytes Total bytes allocated. FLMUINT64 ui64AllocatedCells Total number of "cells" allocated within the allocated slabs. FLMUINT64 ui64FreeCells Total number of free "cells" within the allocated slabs.
Statistics Structure - XFLM_STATS
The XFLM_STATS structure contains the following fields:
DATA TYPE FIELD NAME DESCRIPTION XFLM_DB_STATS pDbStats Pointer to array of database statistics. Size of the array is given in the uiDbStatArraySize field. Number of elements in the array that are currently in use is given in the uiNumDbStats field. FLMUINT uiDBAllocSeq Allocation sequence number for database statistics. FLMUINT uiDbStatArraySize Size of the database statistics array. FLMUINT uiNumDbStats Number of elements in the database statistics array that are currently in use. FLMBOOL bCollectingStats Flag indicating whether or not we are currently collecting statistics. FLMUINT uiStartTime Time (GMT - seconds since Jan. 1, 1970) that we started collecting statistics. FLMUINT uiStopTime Time (GMT - seconds since Jan. 1, 1970) that we stopped collecting statistics.
Update Transaction Statistics Structure - XFLM_UTRANS_STATS
The XFLM_UTRANS_STATS structure contains statistics about update transactions. Its fields are as follows:
DATA TYPE FIELD NAME DESCRIPTION XFLM_COUNT_TIME_STAT CommittedTrans Statistics on committed transactions. XFLM_COUNT_TIME_STAT GroupCompletes Statistics on group completes. FLMUINT64 ui64GroupFinished Transactions finished in a group. XFLM_COUNT_TIME_STAT AbortedTrans Statistics on aborted transactions.
This is an enumerated type that defines which value is to be returned when the IF_QueryValFunc::getValue method is called. See xflaim.h for a list of legal values.
This is an enumerated type that defines the types of values that operands can have in query criteria. See xflaim.h for a list of legal values.
This is an enumerated type that defines the types of XML encoding formats that are supported during import operations. See xflaim.h for a list of legal values.
XML Parse Errors - XMLParseError
This is an enumerated type that defines the XML parse errors that can occur when importing an XML document into a database. See xflaim.h for a list of legal values.
XPATH Axis Types - eXPathAxisTypes
This is an enumerated type that defines the types of axis that may be part of an XPATH expression when setting up the XPATH query expression in an IF_Query object. See xflaim.h for a list of legal values.