flaim.h File Reference

#include "flaimtk.h"

Classes

struct  CREATE_OPTS
 Database create options. This structure is passed to FlmDbCreate() to specify create options for a new database. More...
class  F_NameTable
 Class for mapping names to IDs and vice versa. Methods in this class allow an application to get the dictionary number for a field, index, or container using the field name, index name, or container name. It also allows an application to to get a field name, index name, or field name using the dictionary number. More...
struct  FINDEX_STATUS
 Structure returned from FlmIndexStatus() to report current status of an index. More...
struct  OPT_INFO
 Structure returned when FCURSOR_GET_OPT_INFO_LIST option is passed to FlmCursorGetConfig(). More...
struct  FLM_CACHE_USAGE
 Structure that holds cache usage statistics. The statistics will be for either block cache or record cache. More...
struct  FLM_MEM_INFO
 Structure returned from FlmGetMemoryInfo(). More...
struct  FLM_TRANS_EVENT
 Structure returned to an event handler function whenever transaction events occur. Specifically, this structure is returned for transaction begin, commit, and abort events. More...
struct  FLM_UPDATE_EVENT
 Structure returned to an event handler function whenever database update events occur. Specifically, this structure is returned for record add, modify, and delete events, as well as DRN reserve events. More...
struct  FLM_RFL_SIZE_EVENT
 Structure returned to an event handler function whenever RFL size events occur. Specifically, this structure is returned whenever the RFL exceeds the on-disk size threshold specified for a database. More...
struct  CHECKPOINT_INFO
 Structure that gives the current state of the checkpoint thread. Returned from FlmDbGetConfig() when eDbGetConfigType::FDB_GET_CHECKPOINT_INFO is passed in as the option. More...
struct  SWEEP_INFO
 Structure that reports information on the progress of FlmDbSweep(). More...
struct  FCURSOR_SUBQUERY_STATUS
 Structure that reports query processing progress. More...
struct  DB_COPY_INFO
 Structure that is returned to the callback function that is passed to FlmDbCopy(). More...
struct  CHK_RECORD
 Structure that is returned to the callback function that is passed to FlmDbRebuild(). More...
struct  DB_UPGRADE_INFO
 Structure that is returned to the callback function that is passed to FlmDbUpgrade(). More...
struct  DB_BACKUP_INFO
 Structure that is returned to the callback function that is passed to FlmDbBackup(). More...
struct  DB_RENAME_INFO
 Structure that is returned to the callback function that is passed to FlmDbRename(). More...
struct  NODE
 Structure for nodes used in GEDCOM functions. Nodes are the basic components of GEDCOM trees. More...
class  FlmRecordSet
 This class allows an application to keep a set of FlmRecord objects. More...
class  FlmUserPredicate
 This is an abstract base class which defines the interface that an application must implement to embed its own predicate in a query. More...
struct  DISKIO_STAT
 Structure used in gathering statistics to hold a operation count, a byte count, and an elapsed time. More...
struct  RTRANS_STATS
 Statistics for read transactions. More...
struct  UTRANS_STATS
 Statistics for update transactions. More...
struct  BLOCKIO_STATS
 Statistics for block reads and writes. More...
struct  LFILE_STATS
 Statistics gathered for a particular logical file (index or container). More...
struct  DB_STATS
 Database statistics. More...
struct  FLM_STATS
 FLAIM statistics returned from FlmGetStats(). More...
class  F_UnknownStream
 This is an abstract base class that allows an application to read "unknown" data from the RFL or to write "unknown" data to the RFL. More...
struct  BYTE_PROGRESS
 Structure used to report the progress of a restore operation. More...
class  F_Restore
 This is an abstract base class for reading backup data during a FlmDbRestore() operation. More...
class  FlmBlob
 This class provides an interface for handling binary large objects. More...
class  FlmRecord
 Class for creating and modifying database records. More...
struct  BLOCK_INFO
 Structure containing statistics collected during FlmDbCheck() for a particular category of blocks in the database. More...
struct  REC_KEY
 Structure used to create a linked list of index keys from a record. More...
struct  CORRUPT_INFO
 Structure containing information about a specific corruption that is being reported by FlmDbCheck(). More...
struct  LEVEL_INFO
 Statistics for a particular level in an index or container b-tree. These statistics are gathered by FlmDbCheck(). More...
struct  LF_STATS
 Statistics gathered by FlmDbCheck() for a particular logical file (index or container). More...
struct  DB_CHECK_PROGRESS
 Structure returned during status callback from FlmDbCheck(). More...
struct  REBUILD_INFO
 Structure returned during status callback from FlmDbRebuild(). More...
struct  FMAINT_STATUS
 This structure is returned from FlmMaintenanceStatus(). It contains information about the background maintenance thread. More...

Defines

#define FERR_OK   NE_FLM_OK
 0 - Operation succeeded
#define FERR_BOF_HIT   NE_FLM_BOF_HIT
 0xC001 - Beginning of file or set hit.
#define FERR_EOF_HIT   NE_FLM_EOF_HIT
 0xC002 - End of file or set hit.
#define FERR_END   0xC003
 0xC003 - End of GEDCOM file - this is an internal error.
#define FERR_EXISTS   NE_FLM_EXISTS
 0xC004 - Record already exists.
#define FERR_FAILURE   NE_FLM_FAILURE
 0xC005 - Internal failure.
#define FERR_NOT_FOUND   NE_FLM_NOT_FOUND
 0xC006 - A record, key, or key reference was not found.
#define FERR_BAD_DICT_ID   0xC007
 0xC007 - Invalid dictionary record number -- outside unreserved range.
#define FERR_BAD_CONTAINER   0xC008
 0xC008 - Invalid container number.
#define FERR_NO_ROOT_BLOCK   0xC009
 0xC009 - LFILE does not have a root block - always handled internally - never returned to application.
#define FERR_BAD_DRN   0xC00A
 0xC00A - Cannot pass a zero DRN into modify or delete or 0xFFFFFFFF into add.
#define FERR_BAD_FIELD_NUM   0xC00B
 0xC00B - Bad field number in record being added.
#define FERR_BAD_FIELD_TYPE   0xC00C
 0xC00C - Bad field type in record being added.
#define FERR_BAD_HDL   0xC00D
 0xC00D - Request contained bad db handle.
#define FERR_BAD_IX   0xC00E
 0xC00E - Invalid index number.
#define FERR_BACKUP_ACTIVE   0xC00F
 0xC00F - Operation could not be completed - a backup is being performed.
#define FERR_SERIAL_NUM_MISMATCH   0xC010
 0xC010 - Comparison of serial numbers failed.
#define FERR_BAD_RFL_DB_SERIAL_NUM   0xC011
 0xC011 - Bad database serial number in RFL file header.
#define FERR_BTREE_ERROR   NE_FLM_BTREE_ERROR
 0xC012 - A corruption was found in an index or container b-tree.
#define FERR_BTREE_FULL   NE_FLM_BTREE_FULL
 0xC013 - An index or container b-tree is full.
#define FERR_BAD_RFL_FILE_NUMBER   0xC014
 0xC014 - Bad RFL file number in RFL file header.
#define FERR_CANNOT_DEL_ITEM   0xC015
 0xC015 - Cannot delete field definitions.
#define FERR_CANNOT_MOD_FIELD_TYPE   0xC016
 0xC016 - Cannot modify a field's type.
#define FERR_64BIT_NUMS_NOT_SUPPORTED   0xC017
 0xC017 - 64 bit numbers not supported for databases whose revision is less than 462
#define FERR_CONV_BAD_DEST_TYPE   0xC018
 0xC018 - Bad destination type specified for conversion.
#define FERR_CONV_BAD_DIGIT   0xC019
 0xC019 - Non-numeric digit found in text to numeric conversion.
#define FERR_CONV_BAD_SRC_TYPE   0xC01A
 0xC01A - Bad source type specified for conversion.
#define FERR_RFL_FILE_NOT_FOUND   0xC01B
 0xC01B - Could not open an RFL file.
#define FERR_CONV_DEST_OVERFLOW   NE_FLM_CONV_DEST_OVERFLOW
 0xC01C - Destination buffer not large enough to hold converted data.
#define FERR_CONV_ILLEGAL   NE_FLM_CONV_ILLEGAL
 0xC01D - Illegal conversion -- not supported.
#define FERR_CONV_NULL_SRC   0xC01E
 0xC01E - Source cannot be a NULL pointer in conversion.
#define FERR_CONV_NULL_DEST   0xC01F
 0xC01F - Destination cannot be a NULL pointer in conversion.
#define FERR_CONV_NUM_OVERFLOW   NE_FLM_CONV_NUM_OVERFLOW
 0xC020 - Numeric overflow (GT upper bound) converting to numeric type.
#define FERR_CONV_NUM_UNDERFLOW   0xC021
 0xC021 - Numeric underflow (LT lower bound) converting to numeric type.
#define FERR_DATA_ERROR   NE_FLM_DATA_ERROR
 0xC022 - Database corruption found.
#define FERR_NOT_USED_C023   0xC023
 0xC023 - Not used
#define FERR_DD_ERROR   0xC024
 0xC024 - Corruption found in logical file block chain.
#define FERR_INVALID_FILE_SEQUENCE   0xC025
 0xC025 - Incremental backup file number provided during a restore is invalid.
#define FERR_ILLEGAL_OP   NE_FLM_ILLEGAL_OP
 0xC026 - Illegal operation for database.
#define FERR_DUPLICATE_DICT_REC   0xC027
 0xC027 - Duplicate dictionary record found.
#define FERR_CANNOT_CONVERT   0xC028
 0xC028 - Condition occurred which prevents database conversion.
#define FERR_UNSUPPORTED_VERSION   0xC029
 0xC029 - Database version is not supported.
#define FERR_FILE_ER   0xC02A
 0xC02A - File error in a GEDCOM routine.
#define FERR_BAD_FIELD_LEVEL   0xC02B
 0xC02B - Invalid field level.
#define FERR_GED_BAD_RECID   0xC02C
 0xC02C - Bad record ID syntax.
#define FERR_GED_BAD_VALUE   0xC02D
 0xC02D - Bad or ambiguous/extra value in GEDCOM.
#define FERR_GED_MAXLVLNUM   0xC02E
 0xC02E - Exceeded GED_MAXLVLNUM in gedcom routines.
#define FERR_GED_SKIP_LEVEL   0xC02F
 0xC02F - Bad GEDCOM tree structure -- level skipped.
#define FERR_ILLEGAL_TRANS   0xC030
 0xC030 - Attempt to start an illegal type of transaction.
#define FERR_ILLEGAL_TRANS_OP   0xC031
 0xC031 - Illegal operation for transaction type.
#define FERR_INCOMPLETE_LOG   0xC032
 0xC032 - Incomplete log record encountered during recovery.
#define FERR_INVALID_BLOCK_LENGTH   0xC033
 0xC033 - Invalid block length.
#define FERR_INVALID_TAG   0xC034
 0xC034 - Invalid tag name.
#define FERR_KEY_NOT_FOUND   0xC035
 0xC035 - A key or reference is not found -- modify/delete error.
#define FERR_VALUE_TOO_LARGE   0xC036
 0xC036 - Value too large.
#define FERR_MEM   NE_FLM_MEM
 0xC037 - Memory allocation error.
#define FERR_BAD_RFL_SERIAL_NUM   0xC038
 0xC038 - Bad serial number in RFL file header.
#define FERR_NOT_USED_C039   0xC039
 0xC039 - Not used
#define FERR_NEWER_FLAIM   0xC03A
 0xC03A - Database version newer than this code base will support, must use newer version of code.
#define FERR_CANNOT_MOD_FIELD_STATE   0xC03B
 0xC03B - Attempted to change a field state illegally.
#define FERR_NO_MORE_DRNS   0xC03C
 0xC03C - The highest DRN number has already been used in an add.
#define FERR_NO_TRANS_ACTIVE   0xC03D
 0xC03D - Attempted to updated database outside transaction.
#define FERR_NOT_UNIQUE   NE_FLM_NOT_UNIQUE
 0xC03E - Found duplicate key for unique index.
#define FERR_NOT_FLAIM   0xC03F
 0xC03F - File is not a FLAIM database.
#define FERR_NULL_RECORD   0xC040
 0xC040 - NULL record cannot be passed to add or modify.
#define FERR_NO_HTTP_STACK   0xC041
 0xC041 - No http stack was loaded.
#define FERR_OLD_VIEW   0xC042
 0xC042 - While reading was unable to get previous version of block or record.
#define FERR_PCODE_ERROR   0xC043
 0xC043 - Corruption found in dictionary.
#define FERR_PERMISSION   0xC044
 0xC044 - Invalid permission for file operation.
#define FERR_SYNTAX   NE_FLM_SYNTAX
 0xC045 - Dictionary record has improper syntax, or syntax error in query criteria.
#define FERR_CALLBACK_FAILURE   0xC046
 0xC046 - Callback failure.
#define FERR_TRANS_ACTIVE   0xC047
 0xC047 - Attempted to close database while transaction was active.
#define FERR_RFL_TRANS_GAP   0xC048
 0xC048 - A gap was found in the transaction sequence in the RFL.
#define FERR_BAD_COLLATED_KEY   0xC049
 0xC049 - Something in collated key is bad.
#define FERR_UNSUPPORTED_FEATURE   0xC04A
 0xC04A - Attempting a feature that is not supported for the database version.
#define FERR_MUST_DELETE_INDEXES   0xC04B
 0xC04B - Attempting to delete a container that has indexes defined for it -- indexes must be deleted first.
#define FERR_RFL_INCOMPLETE   0xC04C
 0xC04C - RFL file is incomplete.
#define FERR_CANNOT_RESTORE_RFL_FILES   0xC04D
 0xC04D - Cannot restore RFL files - not using multiple RFL files.
#define FERR_INCONSISTENT_BACKUP   0xC04E
 0xC04E - A problem (corruption, etc) was detected in a backup set.
#define FERR_BLOCK_CHECKSUM   0xC04F
 0xC04F - Block checksum error.
#define FERR_ABORT_TRANS   0xC050
 0xC050 - Attempted operation after a critical error - should abort transaction.
#define FERR_NOT_RFL   0xC051
 0xC051 - Attempted to open file which was not an RFL file.
#define FERR_BAD_RFL_PACKET   0xC052
 0xC052 - RFL packet was bad.
#define FERR_DATA_PATH_MISMATCH   0xC053
 0xC053 - Bad data path specified to open database.
#define FERR_HTTP_REGISTER_FAILURE   0xC054
 0xC054 - Call to FlmConfig() with FLM_HTTP_REGISTER_URL option failed.
#define FERR_HTTP_DEREG_FAILURE   0xC055
 0xC055 - Call to FlmConfig() with FLM_HTTP_DEREGISTER_URL option failed.
#define FERR_IX_FAILURE   0xC056
 0xC056 - Indexing process failed, non-unique data was found when a unique index was being created.
#define FERR_HTTP_SYMS_EXIST   0xC057
 0xC057 - Tried to import new http related symbols before unimporting the old ones.
#define FERR_NOT_USED_C058   0xC058
 0xC058 - Not used
#define FERR_FILE_EXISTS   0xC059
 0xC059 - Attempt to create a database, but the database already exists.
#define FERR_SYM_RESOLVE_FAIL   0xC05A
 0xC05A - Could not resolve a symbol needed to run.
#define FERR_BAD_SERVER_CONNECTION   0xC05B
 0xC05B - Connection to FLAIM server is bad.
#define FERR_CLOSING_DATABASE   0xC05C
 0xC05C - Database is being closed due to a critical error.
#define FERR_INVALID_CRC   0xC05D
 0xC05D - CRC could not be verified.
#define FERR_KEY_OVERFLOW   0xC05E
 0xC05E - Key generated by the record causes the maximum key size to be exceeded.
#define FERR_NOT_IMPLEMENTED   NE_FLM_NOT_IMPLEMENTED
 0xC05F - Functionality not implemented.
#define FERR_MUTEX_OPERATION_FAILED   0xC060
 0xC060 - Mutex operation failed.
#define FERR_MUTEX_UNABLE_TO_LOCK   0xC061
 0xC061 - Unable to get the mutex lock.
#define FERR_SEM_OPERATION_FAILED   0xC062
 0xC062 - Semaphore operation failed.
#define FERR_SEM_UNABLE_TO_LOCK   0xC063
 0xC063 - Unable to get the semaphore lock.
#define FERR_NOT_USED_C064   0xC064
 0xC064 - Not used
#define FERR_NOT_USED_C065   0xC065
 0xC065 - Not used
#define FERR_NOT_USED_C066   0xC066
 0xC066 - Not used
#define FERR_NOT_USED_C067   0xC067
 0xC067 - Not used
#define FERR_NOT_USED_C068   0xC068
 0xC068 - Not used
#define FERR_BAD_REFERENCE   0xC069
 0xC069 - Bad reference in the dictionary.
#define FERR_NOT_USED_C06A   0xC06A
 0xC06A - Not used
#define FERR_NOT_USED_C06B   0xC06B
 0xC06B - Not used
#define FERR_NOT_USED_C06C   0xC06C
 0xC06C - Not used
#define FERR_NOT_USED_C06D   0xC06D
 0xC06D - Not used
#define FERR_NOT_USED_C06E   0xC06E
 0xC06E - Not used
#define FERR_NOT_USED_C06F   0xC06F
 0xC06F - Not used
#define FERR_UNALLOWED_UPGRADE   0xC070
 0xC070 - FlmDbUpgrade cannot upgrade the database.
#define FERR_NOT_USED_C071   0xC071
 0xC071 - Not used
#define FERR_NOT_USED_C072   0xC072
 0xC072 - Not used
#define FERR_NOT_USED_C073   0xC073
 0xC073 - Not used
#define FERR_ID_RESERVED   0xC074
 0xC074 - Attempted to use a dictionary ID that has been reserved.
#define FERR_CANNOT_RESERVE_ID   0xC075
 0xC075 - Attempted to reserve a dictionary ID that has been used.
#define FERR_DUPLICATE_DICT_NAME   0xC076
 0xC076 - Dictionary record with duplicate name found.
#define FERR_CANNOT_RESERVE_NAME   0xC077
 0xC077 - Attempted to reserve a dictionary name that is in use.
#define FERR_BAD_DICT_DRN   0xC078
 0xC078 - Attempted to add, modify, or delete a dictionary DRN >= FLM_RESERVED_TAG_NUMS.
#define FERR_CANNOT_MOD_DICT_REC_TYPE   0xC079
 0xC079 - Cannot modify a dictionary item into another type of item, must delete then add.
#define FERR_PURGED_FLD_FOUND   0xC07A
 0xC07A - Record contained a field whose field definition has been marked as purged.
#define FERR_DUPLICATE_INDEX   0xC07B
 0xC07B - Duplicate index.
#define FERR_TOO_MANY_OPEN_DBS   0xC07C
 0xC07C - Too many open databases.
#define FERR_ACCESS_DENIED   0xC07D
 0xC07D - Cannot access database.
#define FERR_NOT_USED_C07E   0xC07E
 0xC07E - Not used
#define FERR_CACHE_ERROR   0xC07F
 0xC07F - Cache block is corrupt.
#define FERR_NOT_USED_C080   0xC080
 0xC080 - Not used
#define FERR_BLOB_MISSING_FILE   0xC081
 0xC081 - Missing BLOB file on add/modify.
#define FERR_NO_REC_FOR_KEY   0xC082
 0xC082 - Record pointed to by an index key is missing.
#define FERR_DB_FULL   0xC083
 0xC083 - Database is full, cannot create more blocks.
#define FERR_TIMEOUT   0xC084
 0xC084 - Operation timed out (usually a query operation).
#define FERR_CURSOR_SYNTAX   0xC085
 0xC085 - Query criteria had improper syntax.
#define FERR_THREAD_ERR   0xC086
 0xC086 - Thread error.
#define FERR_UNIMPORT_SYMBOL   0xC087
 0xC087 - Failed to unimport a public symbol.
#define FERR_EMPTY_QUERY   0xC088
 0xC088 - Warning: Query has no results.
#define FERR_INDEX_OFFLINE   0xC089
 0xC089 - Warning: Index is offline and being rebuilt.
#define FERR_TRUNCATED_KEY   0xC08A
 0xC08A - Warning: Can't evaluate truncated key against selection criteria.
#define FERR_INVALID_PARM   NE_FLM_INVALID_PARM
 0xC08B - Invalid parameter.
#define FERR_USER_ABORT   0xC08C
 0xC08C - User or application aborted the operation.
#define FERR_RFL_DEVICE_FULL   0xC08D
 0xC08D - No space on RFL device for logging.
#define FERR_MUST_WAIT_CHECKPOINT   0xC08E
 0xC08E - Must wait for a checkpoint before starting transaction - due to disk problems - usually in RFL volume.
#define FERR_NAMED_SEMAPHORE_ERR   0xC08F
 0xC08F - Error occurred while accessing a named semaphore.
#define FERR_LOAD_LIBRARY   0xC090
 0xC090 - Failed to load a shared library module.
#define FERR_UNLOAD_LIBRARY   0xC091
 0xC091 - Failed to unload a shared library module.
#define FERR_IMPORT_SYMBOL   0xC092
 0xC092 - Failed to import a symbol from a shared library module.
#define FERR_BLOCK_FULL   0xC093
 0xC093 - Destination block for insert is full.
#define FERR_BAD_BASE64_ENCODING   0xC094
 0xC094 - Could not perform base 64 encoding.
#define FERR_MISSING_FIELD_TYPE   0xC095
 0xC095 - Field type not specified in field definition record.
#define FERR_BAD_DATA_LENGTH   0xC096
 0xC096 - Invalid field data length.
#define FERR_IO_ACCESS_DENIED   NE_FLM_IO_ACCESS_DENIED
 0xC201 - Access denied. Caller is not allowed access to a file.
#define FERR_IO_BAD_FILE_HANDLE   NE_FLM_IO_BAD_FILE_HANDLE
 0xC202 - Bad file handle.
#define FERR_IO_COPY_ERR   NE_FLM_IO_COPY_ERR
 0xC203 - Copy error.
#define FERR_IO_DISK_FULL   NE_FLM_IO_DISK_FULL
 0xC204 - Disk full.
#define FERR_IO_END_OF_FILE   NE_FLM_IO_END_OF_FILE
 0xC205 - End of file.
#define FERR_IO_OPEN_ERR   NE_FLM_IO_OPEN_ERR
 0xC206 - Error opening file.
#define FERR_IO_SEEK_ERR   NE_FLM_IO_SEEK_ERR
 0xC207 - File seek error.
#define FERR_IO_DIRECTORY_ERR   NE_FLM_IO_DIRECTORY_ERR
 0xC208 - Error occurred while accessing or deleting a directory.
#define FERR_IO_PATH_NOT_FOUND   NE_FLM_IO_PATH_NOT_FOUND
 0xC209 - Path not found.
#define FERR_IO_TOO_MANY_OPEN_FILES   NE_FLM_IO_TOO_MANY_OPEN_FILES
 0xC20A - Too many files open.
#define FERR_IO_PATH_TOO_LONG   NE_FLM_IO_PATH_TOO_LONG
 0xC20B - Path too long.
#define FERR_IO_NO_MORE_FILES   NE_FLM_IO_NO_MORE_FILES
 0xC20C - No more files in directory.
#define FERR_DELETING_FILE   NE_FLM_IO_DELETING_FILE
 0xC20D - Had error deleting a file.
#define FERR_IO_FILE_LOCK_ERR   NE_FLM_IO_FILE_LOCK_ERR
 0xC20E - File lock error.
#define FERR_IO_FILE_UNLOCK_ERR   NE_FLM_IO_FILE_UNLOCK_ERR
 0xC20F - File unlock error.
#define FERR_IO_PATH_CREATE_FAILURE   NE_FLM_IO_PATH_CREATE_FAILURE
 0xC210 - Path create failed.
#define FERR_IO_RENAME_FAILURE   NE_FLM_IO_RENAME_FAILURE
 0xC211 - File rename failed.
#define FERR_IO_INVALID_PASSWORD   NE_FLM_IO_INVALID_PASSWORD
 0xC212 - Invalid file password.
#define FERR_SETTING_UP_FOR_READ   NE_FLM_SETTING_UP_FOR_READ
 0xC213 - Had error setting up to do a read.
#define FERR_SETTING_UP_FOR_WRITE   NE_FLM_SETTING_UP_FOR_WRITE
 0xC214 - Had error setting up to do a write.
#define FERR_IO_AT_PATH_ROOT   NE_FLM_IO_CANNOT_REDUCE_PATH
 0xC215 - Currently positioned at the path root level.
#define FERR_INITIALIZING_IO_SYSTEM   NE_FLM_INITIALIZING_IO_SYSTEM
 0xC216 - Had error initializing the file system.
#define FERR_FLUSHING_FILE   NE_FLM_FLUSHING_FILE
 0xC217 - Had error flushing a file.
#define FERR_IO_INVALID_PATH   NE_FLM_IO_INVALID_FILENAME
 0xC218 - Invalid path.
#define FERR_IO_CONNECT_ERROR   NE_FLM_IO_CONNECT_ERROR
 0xC219 - Failed to connect to a remote network resource.
#define FERR_OPENING_FILE   NE_FLM_OPENING_FILE
 0xC21A - Had error opening a file.
#define FERR_DIRECT_OPENING_FILE   NE_FLM_DIRECT_OPENING_FILE
 0xC21B - Had error opening a file for direct I/O.
#define FERR_CREATING_FILE   NE_FLM_CREATING_FILE
 0xC21C - Had error creating a file.
#define FERR_DIRECT_CREATING_FILE   NE_FLM_DIRECT_CREATING_FILE
 0xC21D - Had error creating a file for direct I/O.
#define FERR_READING_FILE   NE_FLM_READING_FILE
 0xC21E - Had error reading a file.
#define FERR_DIRECT_READING_FILE   NE_FLM_DIRECT_READING_FILE
 0xC21F - Had error reading a file using direct I/O.
#define FERR_WRITING_FILE   NE_FLM_WRITING_FILE
 0xC220 - Had error writing to a file.
#define FERR_DIRECT_WRITING_FILE   NE_FLM_DIRECT_WRITING_FILE
 0xC221 - Had error writing to a file using direct I/O.
#define FERR_POSITIONING_IN_FILE   NE_FLM_POSITIONING_IN_FILE
 0xC222 - Had error positioning within a file.
#define FERR_GETTING_FILE_SIZE   NE_FLM_GETTING_FILE_SIZE
 0xC223 - Had error getting file size.
#define FERR_TRUNCATING_FILE   NE_FLM_TRUNCATING_FILE
 0xC224 - Had error truncating a file.
#define FERR_PARSING_FILE_NAME   NE_FLM_PARSING_FILE_NAME
 0xC225 - Had error parsing a file name.
#define FERR_CLOSING_FILE   NE_FLM_CLOSING_FILE
 0xC226 - Had error closing a file.
#define FERR_GETTING_FILE_INFO   NE_FLM_GETTING_FILE_INFO
 0xC227 - Had error getting file information.
#define FERR_EXPANDING_FILE   NE_FLM_EXPANDING_FILE
 0xC228 - Had error expanding a file (using direct I/O).
#define FERR_GETTING_FREE_BLOCKS   NE_FLM_GETTING_FREE_BLOCKS
 0xC229 - Had error getting free blocks from file system.
#define FERR_CHECKING_FILE_EXISTENCE   NE_FLM_CHECKING_FILE_EXISTENCE
 0xC22A - Had error checking if a file exists.
#define FERR_RENAMING_FILE   NE_FLM_RENAMING_FILE
 0xC22B - Had error renaming a file.
#define FERR_SETTING_FILE_INFO   NE_FLM_SETTING_FILE_INFO
 0xC22C - Had error setting file information.
#define FERR_NICI_CONTEXT   0xC301
 0xC301 - Failed to obtain a NICI context.
#define FERR_NICI_FIND_INIT   0xC302
 0xC302 - CCS_FindInit failed.
#define FERR_NICI_FIND_OBJECT   0xC303
 0xC303 - CCS_FindObject failed.
#define FERR_NICI_WRAPKEY_NOT_FOUND   0xC304
 0xC304 - Could not locate a wrapping key.
#define FERR_NICI_ATTRIBUTE_VALUE   0xC305
 0xC305 - CCS_AttributeValue failed.
#define FERR_NICI_BAD_ATTRIBUTE   0xC306
 0xC306 - Invalid attribute.
#define FERR_NICI_BAD_RANDOM   0xC307
 0xC307 - CCS_GetRandom failed.
#define FERR_NOT_USED_C308   0xC308
 0xC308 - Not used
#define FERR_NICI_WRAPKEY_FAILED   0xC309
 0xC309 - CCS_WrapKey failed.
#define FERR_NICI_GENKEY_FAILED   0xC30A
 0xC30A - CCS_GenerateKey failed.
#define FERR_REQUIRE_PASSWD   0xC30B
 0xC30B - Password required to unwrap key.
#define FERR_NICI_SHROUDKEY_FAILED   0xC30C
 0xC30C - CCS_pbeShroudPrivateKey failed.
#define FERR_NICI_UNSHROUDKEY_FAILED   0xC30D
 0xC30D - CCS_pbdUnshroudPrivateKey failed.
#define FERR_NICI_UNWRAPKEY_FAILED   0xC30E
 0xC30E - CCS_UnrapKey failed.
#define FERR_NICI_ENC_INIT_FAILED   0xC30F
 0xC30F - CCS_DataEncryptInit failed.
#define FERR_NICI_ENCRYPT_FAILED   0xC310
 0xC310 - CCS_DataEncrypt failed.
#define FERR_NICI_DECRYPT_INIT_FAILED   0xC311
 0xC311 - CCS_DataDecryptInit failed.
#define FERR_NICI_DECRYPT_FAILED   0xC312
 0xC312 - CCS_DataDecrypt failed.
#define FERR_NICI_INIT_FAILED   0xC313
 0xC313 - CCS_Init failed.
#define FERR_NICI_KEY_NOT_FOUND   0xC314
 0xC314 - Could not locate encryption/decryption key.
#define FERR_NICI_INVALID_ALGORITHM   0xC315
 0xC315 - Unsupported NICI ecncryption algorithm.
#define FERR_FLD_NOT_ENCRYPTED   0xC316
 0xC316 - Field is not encrypted.
#define FERR_CANNOT_SET_KEY   0xC317
 0xC317 - Attempted to set an encryption key for new encryption definition record.
#define FERR_MISSING_ENC_TYPE   0xC318
 0xC318 - Encryption type not specified in encryption definition record.
#define FERR_CANNOT_MOD_ENC_TYPE   0xC319
 0xC319 - Attempting to change the encryption type in encryption definition record.
#define FERR_MISSING_ENC_KEY   0xC31A
 0xC31A - Encryption key must be present in modified encryption definition record.
#define FERR_CANNOT_CHANGE_KEY   0xC31B
 0xC31B - Attempt to modify the encryption key in an encryption definition record.
#define FERR_BAD_ENC_KEY   0xC31C
 0xC31C - Bad encryption key.
#define FERR_CANNOT_MOD_ENC_STATE   0xC31D
 0xC31D - Illegal state change for an encryption definition record.
#define FERR_DATA_SIZE_MISMATCH   0xC31E
 0xC31E - Calculated encrypted data length does not match the length returned from encryption/decryption routines.
#define FERR_ENCRYPTION_UNAVAILABLE   0xC31F
 0xC31F - Encryption capabilities are not available for encrypting/decrypting data in database.
#define FERR_PURGED_ENCDEF_FOUND   0xC320
 0xC320 - Cannot use encryption ID for encryption of data - encryption definition record is marked as purged.
#define FERR_FLD_NOT_DECRYPTED   0xC321
 0xC321 - Attempting to access data from a field that is encrypted, field could not be decrypted for some reason - probably because encryption/decryption capabilities are not available.
#define FERR_BAD_ENCDEF_ID   0xC322
 0xC322 - Encryption ID is invalid - not defined in dictionary.
#define FERR_PBE_ENCRYPT_FAILED   0xC323
 0xC323 - Call to NICI function CCS_pbeEncrypt failed.
#define FERR_DIGEST_FAILED   0xC324
 0xC324 - Call to NICI function CCS_Digest failed.
#define FERR_DIGEST_INIT_FAILED   0xC325
 0xC325 - Call to NICI function CCS_DigestInit failed.
#define FERR_EXTRACT_KEY_FAILED   0xC326
 0xC326 - Call to NICI function CCS_ExtractKey failed.
#define FERR_INJECT_KEY_FAILED   0xC327
 0xC327 - Call to NICI function CCS_InjectKey failed.
#define FERR_PBE_DECRYPT_FAILED   0xC328
 0xC328 - Call to NICI function CCS_pbeDecrypt failed.
#define FERR_PASSWD_INVALID   0xC329
 0xC329 - Invalid password passed, database could not be opened.
#define FERR_BT_END_OF_DATA   0xFFFF
 0xFFFF - Used internally
#define FLM_SELECT_INDEX   32050
 Value passed to FlmCursorConfig() when FCURSOR_SET_FLM_IX is specified - allows FLAIM to select the index(es) for the query.

Typedefs

typedef void * HFDB
 Database handle.
typedef void * HFCURSOR
 Query object handle.
typedef void * HFBLOB
 BLOB handle.
typedef void * HFBACKUP
 Backup object handle.
typedef RCODE(* CURSOR_GET_FIELD_CB )(void *pvAppData, FlmRecord *pRecord, HFDB hDb, FLMUINT *puiFldPath, FLMUINT uiAction,#define FLM_FLD_FIRST#define FLM_FLD_NEXT#define FLM_FLD_CLEANUP#define FLM_FLD_VALIDATE#define FLM_FLD_RESET FlmRecord **ppFieldRecRV, void **ppFieldRV, FLMUINT *puiResult)
 Typedef for query "get field" function that can be inserted into query criteria wherever a field or field path could be inserted.
typedef void * HFEVENT
 Handle returned from FlmRegisterForEvent() - needed when calling FlmDeregisterForEvent().
typedef void(* FEVENT_CB )(FEventType eEventType, void *pvAppData, void *pvEventData1, void *pvEventData2)
 Typedef for function that is passed into FlmRegisterForEvent().
typedef void(* COMMIT_FUNC )(HFDB hDb, void *pvUserData)
 Function prototype for the commit function that can be set by calling FlmDbConfig() using the eDbConfigType::FDB_SET_COMMIT_CALLBACK option.
typedef FLMBOOL(* REC_VALIDATOR_HOOK )(eFlmFuncs eFlmFuncId, HFDB hDb, FLMUINT uiContainerId, FlmRecord *pRecord, FlmRecord *pOldRecord, void *pvAppData, RCODE *pRCode)
 Record validator function.
typedef RCODE(* IX_CALLBACK )(HFDB hDb, FLMUINT uiIndexNum, FLMUINT uiContainerNum, FLMUINT uiDrn, FlmRecord *pInputRecord, FlmRecord **ppModifiedRecord, void *pvAppData)
 Indexing callback function.
typedef RCODE(* STATUS_HOOK )(eStatusType eStatus, void *pvParm1, void *pvParm2, void *pvAppData)
 General purpose status callback function.
typedef RCODE(* BACKER_WRITE_HOOK )(void *pvBuffer, FLMUINT uiBytesToWrite, void *pvAppData)
 Typedef for callback function that is called from FlmDbBackup() to write out backed up data.

Enumerations

enum  qOptTypes { ,
  QOPT_USING_INDEX, QOPT_USING_PREDICATE, QOPT_SINGLE_RECORD_READ, QOPT_PARTIAL_CONTAINER_SCAN,
  QOPT_FULL_CONTAINER_SCAN
}
 Sub-query optimization types. More...
enum  eFlmFuncs { ,
  FLM_CURSOR_COMPARE_DRNS, FLM_CURSOR_CONFIG, FLM_CURSOR_FIRST, FLM_CURSOR_FIRST_DRN,
  FLM_CURSOR_GET_CONFIG, FLM_CURSOR_LAST, FLM_CURSOR_LAST_DRN, FLM_CURSOR_MOVE_RELATIVE,
  FLM_CURSOR_NEXT, FLM_CURSOR_NEXT_DRN, FLM_CURSOR_PREV, FLM_CURSOR_PREV_DRN,
  FLM_CURSOR_REC_COUNT, FLM_DB_CHECKPOINT, FLM_DB_UPGRADE, FLM_DB_CREATE,
  FLM_DB_GET_COMMIT_CNT, FLM_DB_GET_LOCK_INFO, FLM_DB_GET_LOCK_TYPE, FLM_DB_GET_TRANS_ID,
  FLM_DB_GET_TRANS_TYPE, FLM_DB_LOCK, FLM_DB_OPEN, FLM_DB_REDUCE_SIZE,
  FLM_DB_SWEEP, FLM_DB_TRANS_ABORT, FLM_DB_TRANS_BEGIN, FLM_DB_TRANS_COMMIT,
  FLM_DB_UNLOCK, FLM_INDEX_GET_NEXT, FLM_INDEX_STATUS, FLM_INDEX_RESUME,
  FLM_INDEX_SUSPEND, FLM_KEY_RETRIEVE, FLM_RESERVE_NEXT_DRN, FLM_RECORD_ADD,
  FLM_RECORD_MODIFY, FLM_RECORD_DELETE, FLM_RECORD_RETRIEVE
}
 FLAIM Functions. More...
enum  QTYPES { ,
  FLM_BOOL_VAL = 1, FLM_UINT32_VAL, FLM_INT32_VAL, FLM_REAL_VAL,
  FLM_REC_PTR_VAL, FLM_UINT64_VAL, FLM_INT64_VAL, FLM_BINARY_VAL = 9,
  FLM_STRING_VAL, FLM_UNICODE_VAL, FLM_TEXT_VAL , FLM_AND_OP = 100,
  FLM_OR_OP, FLM_NOT_OP, FLM_EQ_OP, FLM_MATCH_OP,
  FLM_MATCH_BEGIN_OP, FLM_MATCH_END_OP, FLM_CONTAINS_OP, FLM_NE_OP,
  FLM_LT_OP, FLM_LE_OP, FLM_GT_OP, FLM_GE_OP,
  FLM_BITAND_OP, FLM_BITOR_OP, FLM_BITXOR_OP, FLM_MULT_OP,
  FLM_DIV_OP, FLM_MOD_OP, FLM_PLUS_OP, FLM_MINUS_OP,
  FLM_NEG_OP, FLM_LPAREN_OP, FLM_RPAREN_OP
}
 Query value types and operators. More...
enum  eCursorConfigType {
  FCURSOR_CLEAR_QUERY = 2, FCURSOR_GEN_POS_KEYS, FCURSOR_SET_HDB, FCURSOR_SET_FLM_IX,
  FCURSOR_SET_OP_TIME_LIMIT, FCURSOR_SET_PERCENT_POS, FCURSOR_SET_POS, FCURSOR_SET_POS_FROM_DRN,
  FCURSOR_SET_REC_TYPE, FCURSOR_RETURN_KEYS_OK, FCURSOR_DISCONNECT = 14, FCURSOR_ALLOW_DUPS,
  FCURSOR_ELIMINATE_DUPS, FCURSOR_SET_REC_VALIDATOR, FCURSOR_SET_STATUS_HOOK, FCURSOR_SAVE_POSITION,
  FCURSOR_RESTORE_POSITION, FCURSOR_SET_ABS_POS
}
 Configuration options for FlmCursorConfig(). More...
enum  eCursorGetConfigType {
  FCURSOR_GET_OPT_INFO_LIST = 3, FCURSOR_GET_FLM_IX, FCURSOR_GET_OPT_INFO, FCURSOR_GET_PERCENT_POS,
  FCURSOR_GET_REC_TYPE = 9, FCURSOR_GET_FLAGS = 12, FCURSOR_GET_STATE, FCURSOR_GET_POSITIONABLE,
  FCURSOR_AT_BOF, FCURSOR_AT_EOF, FCURSOR_GET_ABS_POSITIONABLE, FCURSOR_GET_ABS_POS,
  FCURSOR_GET_ABS_COUNT
}
 Options for FlmCursorGetConfig(). More...
enum  eFlmConfigTypes {
  FLM_CLOSE_UNUSED_FILES, FLM_CLOSE_ALL_FILES, FLM_OPEN_THRESHOLD, FLM_OPEN_FILES,
  FLM_CACHE_LIMIT, FLM_SCACHE_DEBUG, FLM_START_STATS, FLM_STOP_STATS,
  FLM_RESET_STATS, FLM_TMPDIR, FLM_MAX_CP_INTERVAL, FLM_BLOB_EXT,
  FLM_MAX_TRANS_SECS, FLM_MAX_TRANS_INACTIVE_SECS, FLM_CACHE_ADJUST_INTERVAL, FLM_CACHE_CLEANUP_INTERVAL,
  FLM_UNUSED_CLEANUP_INTERVAL, FLM_MAX_UNUSED_TIME, FLM_BLOCK_CACHE_PERCENTAGE, FLM_CACHE_CHECK,
  FLM_CLOSE_FILE, FLM_LOGGER, FLM_ASSIGN_HTTP_SYMS, FLM_UNASSIGN_HTTP_SYMS,
  FLM_REGISTER_HTTP_URL, FLM_DEREGISTER_HTTP_URL, FLM_KILL_DB_HANDLES, FLM_QUERY_MAX,
  FLM_MAX_DIRTY_CACHE, FLM_DYNA_CACHE_SUPPORTED, FLM_QUERY_STRATIFY_LIMITS, FLM_DIRECT_IO_STATE
}
 Database system configuration options that are passed into FlmConfig() and FlmGetConfig(). More...
enum  FEventCategory { F_EVENT_LOCKS, F_EVENT_UPDATES, F_EVENT_SIZE }
 Event categories that an application can register to catch - see FlmRegisterForEvent(). More...
enum  FEventType {
  F_EVENT_LOCK_WAITING, F_EVENT_LOCK_GRANTED, F_EVENT_LOCK_SUSPENDED, F_EVENT_LOCK_RESUMED,
  F_EVENT_LOCK_RELEASED, F_EVENT_LOCK_TIMEOUT, F_EVENT_BEGIN_TRANS, F_EVENT_COMMIT_TRANS,
  F_EVENT_ABORT_TRANS, F_EVENT_ADD_RECORD, F_EVENT_MODIFY_RECORD, F_EVENT_DELETE_RECORD,
  F_EVENT_RESERVE_DRN, F_EVENT_INDEXING_COMPLETE, F_EVENT_RFL_SIZE
}
 Types of events returned to registered event handling functions. More...
enum  eStatusType { ,
  FLM_INDEXING_STATUS = 2, FLM_DELETING_STATUS, FLM_SWEEP_STATUS = 5, FLM_CHECK_STATUS = 7,
  FLM_SUBQUERY_STATUS = 13, FLM_DB_COPY_STATUS = 21, FLM_REBUILD_STATUS = 22, FLM_PROBLEM_STATUS,
  FLM_CHECK_RECORD_STATUS, FLM_EXAMINE_RECORD_STATUS, FLM_DB_UPGRADE_STATUS, FLM_DB_BACKUP_STATUS,
  FLM_DB_RENAME_STATUS, FLM_DELETING_KEYS, FLM_REBUILD_ADD_DICT_REC_STATUS
}
 Status types returned in the general purpose status callback function (STATUS_HOOK). More...
enum  eDbConfigType {
  FDB_SET_APP_VERSION = 3, FDB_RFL_KEEP_FILES, FDB_RFL_DIR, FDB_RFL_FILE_LIMITS,
  FDB_RFL_ROLL_TO_NEXT_FILE, FDB_KEEP_ABORTED_TRANS_IN_RFL, FDB_AUTO_TURN_OFF_KEEP_RFL, FDB_FILE_EXTEND_SIZE,
  FDB_SET_APP_DATA, FDB_SET_COMMIT_CALLBACK, FDB_ENABLE_FIELD_ID_TABLE, FDB_SET_RFL_SIZE_THRESHOLD,
  FDB_SET_RFL_SIZE_EVENT_INTERVALS, FDB_RFL_FOOTPRINT_SIZE, FDB_RBL_FOOTPRINT_SIZE
}
 Configuration options for FlmDbConfig(). More...
enum  eDbGetConfigType {
  FDB_GET_VERSION = 1, FDB_GET_BLKSIZ, FDB_GET_DEFAULT_LANG, FDB_GET_PATH = 17,
  FDB_GET_TRANS_ID, FDB_GET_CHECKPOINT_INFO, FDB_GET_LOCK_HOLDER, FDB_GET_LOCK_WAITERS,
  FDB_GET_LOCK_WAITERS_EX, FDB_GET_RFL_DIR, FDB_GET_RFL_FILE_NUM, FDB_GET_RFL_HIGHEST_NU,
  FDB_GET_RFL_FILE_SIZE_LIMITS, FDB_GET_RFL_KEEP_FLAG, FDB_GET_LAST_BACKUP_TRANS_ID, FDB_GET_BLOCKS_CHANGED_SINCE_BACKUP,
  FDB_GET_SERIAL_NUMBER, FDB_GET_AUTO_TURN_OFF_KEEP_RFL_FLAG, FDB_GET_KEEP_ABORTED_TRANS_IN_RFL_FLAG, FDB_GET_SIZES,
  FDB_GET_FILE_EXTEND_SIZE, FDB_GET_APP_DATA, FDB_GET_NEXT_INC_BACKUP_SEQ_NUM, FDB_GET_DICT_SEQ_NUM,
  FDB_GET_FFILE_ID, FDB_GET_MUST_CLOSE_RC, FDB_GET_RFL_FOOTPRINT_SIZE, FDB_GET_RBL_FOOTPRINT_SIZE
}
 Options for FlmDbGetConfig(). More...
enum  eDiagInfoType {
  FLM_GET_DIAG_INDEX_NUM = 1, FLM_GET_DIAG_DRN, FLM_GET_DIAG_FIELD_NUM, FLM_GET_DIAG_FIELD_TYPE,
  FLM_GET_DIAG_ENC_ID
}
 Types of diagnostic information available from FlmGetDiagInfo(). More...
enum  FBackupType { FLM_FULL_BACKUP = 0, FLM_INCREMENTAL_BACKUP }
 Types of backups supported by FLAIM. This type is passed into FlmDbBackupBegin(). More...
enum  eBackupGetConfigType { FBAK_GET_BACKUP_TRANS_ID = 1, FBAK_GET_LAST_BACKUP_TRANS_ID }
 Backup configuration information that can be requested by FlmBackupGetConfig(). More...
enum  eRestoreStatusType {
  RESTORE_BEGIN_TRANS = 1, RESTORE_COMMIT_TRANS, RESTORE_ABORT_TRANS, RESTORE_ADD_REC,
  RESTORE_DEL_REC, RESTORE_MOD_REC, RESTORE_RESERVE_DRN, RESTORE_INDEX_SET,
  RESTORE_PROGRESS, RESTORE_REDUCE, RESTORE_UPGRADE, RESTORE_ERROR,
  RESTORE_INDEX_SUSPEND, RESTORE_INDEX_RESUME, RESTORE_BLK_CHAIN_DELETE, RESTORE_WRAP_KEY,
  RESTORE_ENABLE_ENCRYPTION, RESTORE_CONFIG_SIZE_EVENT
}
 Restore status types reported through the F_Restore::status() method. More...
enum  eRestoreActionType { RESTORE_ACTION_CONTINUE = 0, RESTORE_ACTION_STOP, RESTORE_ACTION_SKIP, RESTORE_ACTION_RETRY }
 Actions that an application may want to tell FlmDbRestore() to take during a restore operation. More...
enum  FlmLogMessageType { FLM_QUERY_MESSAGE, FLM_TRANSACTION_MESSAGE, FLM_GENERAL_MESSAGE }
 Categories of messages that FLAIM can log and that an application can request to receive. More...
enum  eCorruptionType {
  FLM_NO_CORRUPTION = 0, FLM_BAD_CHAR, FLM_BAD_ASIAN_CHAR, FLM_BAD_CHAR_SET,
  FLM_BAD_TEXT_FIELD, FLM_BAD_NUMBER_FIELD, FLM_BAD_CONTEXT_FIELD, FLM_BAD_FIELD_TYPE,
  FLM_BAD_IX_DEF, FLM_MISSING_REQ_KEY_FIELD, FLM_BAD_TEXT_KEY_COLL_CHAR, FLM_BAD_TEXT_KEY_CASE_MARKER,
  FLM_BAD_NUMBER_KEY, FLM_BAD_CONTEXT_KEY, FLM_BAD_BINARY_KEY, FLM_BAD_DRN_KEY,
  FLM_BAD_KEY_FIELD_TYPE, FLM_BAD_KEY_COMPOUND_MARKER, FLM_BAD_KEY_POST_MARKER, FLM_BAD_KEY_POST_BYTE_COUNT,
  FLM_BAD_KEY_LEN, FLM_BAD_LFH_LIST_PTR, FLM_BAD_LFH_LIST_END, FLM_BAD_PCODE_LIST_END,
  FLM_BAD_BLK_END, FLM_KEY_COUNT_MISMATCH, FLM_REF_COUNT_MISMATCH, FLM_BAD_CONTAINER_IN_KEY,
  FLM_BAD_BLK_HDR_ADDR, FLM_BAD_BLK_HDR_LEVEL, FLM_BAD_BLK_HDR_PREV, FLM_BAD_BLK_HDR_NEXT,
  FLM_BAD_BLK_HDR_TYPE, FLM_BAD_BLK_HDR_ROOT_BIT, FLM_BAD_BLK_HDR_BLK_END, FLM_BAD_BLK_HDR_LF_NUM,
  FLM_BAD_AVAIL_LIST_END, FLM_BAD_PREV_BLK_NEXT, FLM_BAD_FIRST_ELM_FLAG, FLM_BAD_LAST_ELM_FLAG,
  FLM_BAD_LEM, FLM_BAD_ELM_LEN, FLM_BAD_ELM_KEY_SIZE, FLM_BAD_ELM_PKC_LEN,
  FLM_BAD_ELM_KEY_ORDER, FLM_BAD_ELM_KEY_COMPRESS, FLM_BAD_CONT_ELM_KEY, FLM_NON_UNIQUE_FIRST_ELM_KEY,
  FLM_BAD_ELM_FLD_OVERHEAD, FLM_BAD_ELM_FLD_LEVEL_JUMP, FLM_BAD_ELM_FLD_NUM, FLM_BAD_ELM_FLD_LEN,
  FLM_BAD_ELM_FLD_TYPE, FLM_BAD_ELM_END, FLM_BAD_PARENT_KEY, FLM_BAD_ELM_DOMAIN_SEN,
  FLM_BAD_ELM_BASE_SEN, FLM_BAD_ELM_IX_REF, FLM_BAD_ELM_ONE_RUN_SEN, FLM_BAD_ELM_DELTA_SEN,
  FLM_BAD_ELM_DOMAIN, FLM_BAD_LAST_BLK_NEXT, FLM_BAD_FIELD_PTR, FLM_REBUILD_REC_EXISTS,
  FLM_REBUILD_KEY_NOT_UNIQUE, FLM_NON_UNIQUE_ELM_KEY_REF, FLM_OLD_VIEW, FLM_COULD_NOT_SYNC_BLK,
  FLM_IX_REF_REC_NOT_FOUND, FLM_IX_KEY_NOT_FOUND_IN_REC, FLM_DRN_NOT_IN_KEY_REFSET, FLM_BAD_BLK_CHECKSUM,
  FLM_BAD_LAST_DRN, FLM_BAD_FILE_SIZE, FLM_BAD_AVAIL_BLOCK_COUNT, FLM_BAD_DATE_FIELD,
  FLM_BAD_TIME_FIELD, FLM_BAD_TMSTAMP_FIELD, FLM_BAD_DATE_KEY, FLM_BAD_TIME_KEY,
  FLM_BAD_TMSTAMP_KEY, FLM_BAD_BLOB_FIELD, FLM_BAD_PCODE_IXD_TBL, FLM_DICT_REC_ADD_ERR,
  FLM_BAD_FIELD_FLAG, FLM_BAD_FOP
}
 Types of corruption that can be reported by FlmDbCheck(). More...
enum  eCorruptionLocale { ,
  LOCALE_LFH_LIST, LOCALE_AVAIL_LIST = 3, LOCALE_B_TREE, LOCALE_IXD_TBL,
  LOCALE_INDEX
}
 Locations of corruptions in the database. More...
enum  eMaintAction { ,
  FLM_MAINT_IDLE, FLM_MAINT_LOOKING_FOR_WORK, FLM_MAINT_WAITING_FOR_LOCK, FLM_MAINT_ENDING_TRANS,
  FLM_MAINT_TERMINATED, FLM_MAINT_FREEING_BLOCKS
}
 Types of actions the background maintenance thread may currently be doing. More...

Functions

FLMEXP RCODE FLMAPI FlmCursorInit (HFDB hDb, FLMUINT uiContainerNum, HFCURSOR *phCursor)
 Initialize a query object.
FLMEXP RCODE FLMAPI FlmCursorFree (HFCURSOR *phCursor)
 Free a query object.
FLMEXP void FLMAPI FlmCursorReleaseResources (HFCURSOR hCursor)
 Release query object resources.
FLMEXP RCODE FLMAPI FlmCursorClone (HFCURSOR hSource, HFCURSOR *phCursor)
 Clone a query object.
FLMEXP RCODE FLMAPI FlmCursorConfig (HFCURSOR hCursor, eCursorConfigType eConfigType, void *pvValue1, void *pvValue2)
 Configure a query object.
FLMEXP RCODE FLMAPI FlmCursorGetConfig (HFCURSOR hCursor, eCursorGetConfigType eGetConfigType, void *pvValue1, void *pvValue2)
 Get query configuration.
FLMEXP RCODE FLMAPI FlmCursorSetOrderIndex (HFCURSOR hCursor, FLMUINT *puiFieldPaths, FLMUINT *puiIndex)
 Set order index for a query.
FLMEXP RCODE FLMAPI FlmCursorSetMode (HFCURSOR hCursor, FLMUINT uiFlags)
 Set mode for string comparison operations in query criteria.
FLMEXP RCODE FLMAPI FlmParseQuery (HFCURSOR hCursor, F_NameTable *pNameTable, const char *pszQueryCriteria)
 Parse a query string to set query criteria.
FLMEXP RCODE FLMAPI FlmCursorAddField (HFCURSOR hCursor, FLMUINT uiFieldNum, FLMUINT uiFlags)
 Add a field to the query criteria.
FLMEXP RCODE FLMAPI FlmCursorAddFieldPath (HFCURSOR hCursor, FLMUINT *puiFldPath, FLMUINT uiFlags)
 Add a field path to the query criteria.
FLMEXP RCODE FLMAPI FlmCursorAddUserPredicate (HFCURSOR hCursor, FlmUserPredicate *pPredicate)
 Add an application defined predicate to the query criteria.
FLMEXP RCODE FLMAPI FlmCursorAddFieldCB (HFCURSOR hCursor, FLMUINT *puiFldPath, FLMUINT uiFlags, FLMBOOL bValidateOnly, CURSOR_GET_FIELD_CB fnGetField, void *pvAppData, FLMUINT uiUserDataLen)
 Add a field callback function to the query criteria.
FLMEXP RCODE FLMAPI FlmCursorAddOp (HFCURSOR hCursor, QTYPES eOperator, FLMBOOL bResolveUnknown=FALSE)
 Add a query operator to the query criteria.
FLMEXP RCODE FLMAPI FlmCursorAddValue (HFCURSOR hCursor, QTYPES eValType, void *pVal, FLMUINT uiValLen)
 Add a value to the query criteria.
FLMEXP RCODE FLMAPI FlmCursorValidate (HFCURSOR hCursor)
 Finalize and validate query syntax.
FLMEXP RCODE FLMAPI FlmStartup (void)
 Startup FLAIM database system.
FLMEXP void FLMAPI FlmShutdown (void)
 Shutdown FLAIM database system.
FLMEXP RCODE FLMAPI FlmConfig (eFlmConfigTypes eConfigType, void *pvValue1, void *pvValue2)
 Configure the FLAIM database system.
FLMEXP RCODE FLMAPI FlmGetConfig (eFlmConfigTypes eConfigType, void *pvValue)
 Get configuration information about the FLAIM database system.
FLMEXP RCODE FLMAPI FlmSetDynamicMemoryLimit (FLMUINT uiCacheAdjustPercent, FLMUINT uiCacheAdjustMin, FLMUINT uiCacheAdjustMax, FLMUINT uiCacheAdjustMinToLeave)
 Set dynamic cache limit.
FLMEXP RCODE FLMAPI FlmSetHardMemoryLimit (FLMUINT uiPercent, FLMBOOL bPercentOfAvail, FLMUINT uiMin, FLMUINT uiMax, FLMUINT uiMinToLeave, FLMBOOL bPreallocate=FALSE)
 Set hard cache limit.
FLMEXP void FLMAPI FlmGetMemoryInfo (FLM_MEM_INFO *pMemInfo)
 Get cache information.
FLMEXP RCODE FLMAPI FlmGetThreadInfo (F_Pool *pPool, F_THREAD_INFO **ppThreadInfo, FLMUINT *puiNumThreads, const char *pszUrl=NULL)
 Get information on background threads in the FLAIM database system.
FLMEXP void FLMAPI FlmFreeMem (void *pMem)
 Free memory that was allocated by various functions.
FLMEXP RCODE FLMAPI FlmGetStats (FLM_STATS *pFlmStats)
 Get statistics.
FLMEXP void FLMAPI FlmFreeStats (FLM_STATS *pFlmStats)
 Free statistics.
FLMEXP RCODE FLMAPI FlmRegisterForEvent (FEventCategory eCategory, FEVENT_CB fnEventCB, void *pvAppData, HFEVENT *phEventRV)
 Register to catch events from the database system.
FLMEXP void FLMAPI FlmDeregisterForEvent (HFEVENT *phEventRV)
 Deregister event handling function.
FLMEXP RCODE FLMAPI FlmDbCreate (const char *pszDbFileName, const char *pszDataDir, const char *pszRflDir, const char *pszDictFileName, const char *pszDictBuf, CREATE_OPTS *pCreateOpts, HFDB *phDb)
 Create a new database.
FLMEXP RCODE FLMAPI FlmDbOpen (const char *pszDbFileName, const char *pszDataDir, const char *pszRflDir, FLMUINT uiOpenFlags, const char *pszPassword, HFDB *phDb)
 Open a database.
FLMEXP RCODE FLMAPI FlmDbClose (HFDB *phDb)
 Close a database.
FLMEXP RCODE FLMAPI FlmDbConfig (HFDB hDb, eDbConfigType eConfigType, void *pvValue1, void *pvValue2)
 Configure an open database.
FLMEXP RCODE FLMAPI FlmDbGetConfig (HFDB hDb, eDbGetConfigType eGetDbConfigType, void *pvValue1, void *pvValue2=NULL, void *pvValue3=NULL)
 Get configuration information on an open database.
FLMEXP void FLMAPI FlmSetIndexingCallback (HFDB hDb, IX_CALLBACK fnIxCallback, void *pvAppData)
 Set indexing callback function.
FLMEXP void FLMAPI FlmGetIndexingCallback (HFDB hDb, IX_CALLBACK *pfnIxCallback, void **ppvAppData)
 Get indexing callback function.
FLMEXP void FLMAPI FlmSetRecValidatorHook (HFDB hDb, REC_VALIDATOR_HOOK fnRecValidatorHook, void *pvAppData)
 Set record validator callback function.
FLMEXP void FLMAPI FlmGetRecValidatorHook (HFDB hDb, REC_VALIDATOR_HOOK *pfnRecValidatorHook, void **ppvAppData)
 Get the record validator callback function.
FLMEXP void FLMAPI FlmSetStatusHook (HFDB hDb, STATUS_HOOK fnStatusHook, void *pvAppData)
 Set the general purpose status callback function.
FLMEXP void FLMAPI FlmGetStatusHook (HFDB hDb, STATUS_HOOK *pfnStatusHook, void **ppvAppData)
 Get the general purpose status callback function.
FLMEXP RCODE FLMAPI FlmIndexStatus (HFDB hDb, FLMUINT uiIndexNum, FINDEX_STATUS *pIndexStatus)
 Retrieve status of an index.
FLMEXP RCODE FLMAPI FlmIndexGetNext (HFDB hDb, FLMUINT *puiIndexNum)
 Retrieve next index.
FLMEXP RCODE FLMAPI FlmIndexSuspend (HFDB hDb, FLMUINT uiIndexNum)
 Suspend an index.
FLMEXP RCODE FLMAPI FlmIndexResume (HFDB hDb, FLMUINT uiIndexNum)
 Resume an index.
FLMEXP FLMBOOL FLMAPI FlmErrorIsFileCorrupt (RCODE rc)
 Determine if a return code (RCODE) indicates a corruption.
FLMEXP const char *FLMAPI FlmErrorString (RCODE rc)
 Convert a return code (RCODE) into a string.
FLMEXP RCODE FLMAPI FlmGetDiagInfo (HFDB hDb, eDiagInfoType eDiagCode, void *pvDiagInfo)
 Get diagnostic information.
FLMEXP RCODE FLMAPI FlmDbTransBegin (HFDB hDb, FLMUINT uiTransType, FLMUINT uiMaxLockWait, FLMBYTE *pucHeader=NULL)
 Begin a transaction on the database.
FLMEXP RCODE FLMAPI FlmDbTransCommit (HFDB hDb, FLMBOOL *pbEmpty=NULL)
 Commit current transaction (if any) on a database.
FLMEXP RCODE FLMAPI FlmDbTransAbort (HFDB hDb)
 Abort current transaction (if any) on a database.
FLMEXP RCODE FLMAPI FlmDbGetTransType (HFDB hDb, FLMUINT *puiTransType)
 Get type of current transaction (if any) on a database.
FLMEXP RCODE FLMAPI FlmDbGetTransId (HFDB hDb, FLMUINT *puiTransID)
 Get current transaction ID.
FLMEXP RCODE FLMAPI FlmDbGetCommitCnt (HFDB hDb, FLMUINT *puiCommitCount)
 Get number of committed transactions for a database.
FLMEXP RCODE FLMAPI FlmDbLock (HFDB hDb, eLockType lockType, FLMINT iPriority, FLMUINT uiTimeout)
 Lock a database.
FLMEXP RCODE FLMAPI FlmDbUnlock (HFDB hDb)
 Unlock a database.
FLMEXP RCODE FLMAPI FlmDbGetLockType (HFDB hDb, eLockType *pLockType, FLMBOOL *pbImplicit)
 Get the type of lock currently in effect on a database (if any).
FLMEXP RCODE FLMAPI FlmDbCheckpoint (HFDB hDb, FLMUINT uiTimeout)
 Perform a checkpoint on the database.
FLMEXP RCODE FLMAPI FlmRecordAdd (HFDB hDb, FLMUINT uiContainerNum, FLMUINT *puiDrn, FlmRecord *pRecord, FLMUINT uiAutoTrans)
 Add a record to the database.
FLMEXP RCODE FLMAPI FlmRecordModify (HFDB hDb, FLMUINT uiContainerNum, FLMUINT uiDrn, FlmRecord *pRecord, FLMUINT uiAutoTrans)
 Modify a record in the database.
FLMEXP RCODE FLMAPI FlmRecordDelete (HFDB hDb, FLMUINT uiContainerNum, FLMUINT uiDrn, FLMUINT uiAutoTrans)
 Delete a record from the database.
FLMEXP RCODE FLMAPI FlmReserveNextDrn (HFDB hDb, FLMUINT uiContainerNum, FLMUINT *puiDrn)
 Reserve the next available DRN in a database container.
FLMEXP RCODE FLMAPI FlmFindUnusedDictDrn (HFDB hDb, FLMUINT uiStartDrn, FLMUINT uiEndDrn, FLMUINT *puiDrn)
 Find an unused DRN in the dictionary.
FLMEXP RCODE FLMAPI FlmGetItemName (HFDB hDb, FLMUINT uiItemId, FLMUINT uiNameBufSize, char *pszNameBuf)
 Get the name of a dictionary item.
FLMEXP RCODE FLMAPI FlmRecordRetrieve (HFDB hDb, FLMUINT uiContainerNum, FLMUINT uiDrn, FLMUINT uiFlag, FlmRecord **ppRecord, FLMUINT *puiDrn)
 Find and retrieve a record in a container.
FLMEXP RCODE FLMAPI FlmKeyRetrieve (HFDB hDb, FLMUINT uiIndex, FLMUINT uiContainerNum, FlmRecord *pSearchKey, FLMUINT uiSearchDrn, FLMUINT uiFlags, FlmRecord **ppFoundKey, FLMUINT *puiFoundDrn)
 Find and retrieve a key in an index.
FLMEXP RCODE FLMAPI FlmDbBackupBegin (HFDB hDb, FBackupType eBackupType, FLMBOOL bHotBackup, HFBACKUP *phBackup)
 Begin a database backup.
FLMEXP RCODE FLMAPI FlmBackupGetConfig (HFBACKUP hBackup, eBackupGetConfigType eConfigType, void *pvValue1, void *pvValue2=NULL)
 Get backup configuration on a backup that was started by FlmDbBackupBegin.
FLMEXP RCODE FLMAPI FlmDbBackup (HFBACKUP hBackup, const char *pszBackupPath, const char *pszPassword, BACKER_WRITE_HOOK fnWrite, STATUS_HOOK fnStatus, void *pvAppData, FLMUINT *puiIncSeqNum)
 Perform a backup that was started by FlmDbBackupBegin.
FLMEXP RCODE FLMAPI FlmDbBackupEnd (HFBACKUP *phBackup)
 End a backup that was started by FlmDbBackupBegin().
FLMEXP RCODE FLMAPI FlmDbRestore (const char *pszDbPath, const char *pszDataDir, const char *pszBackupPath, const char *pszRflDir, const char *pszPassword, F_Restore *pRestoreObj)
 Restore a database from a backup.
FLMEXP RCODE FLMAPI FlmAllocBlob (FlmBlob **ppBlob)
 Allocate a BLOB object that can then be used to create a new BLOB to store in a FlmRecord object.
FLMEXP RCODE FLMAPI FlmUINT2Storage (FLMUINT uiNum, FLMUINT *puiStorageLen, FLMBYTE *pucStorageBuf)
 Convert a FLMUINT value to FLAIM's internal storage format for numbers.
FLMEXP RCODE FLMAPI FlmUINT64ToStorage (FLMUINT64 ui64Num, FLMUINT *puiStorageLen, FLMBYTE *pucStorageBuf)
 Convert a FLMUINT64 value to FLAIM's internal storage format for numbers.
FLMEXP RCODE FLMAPI FlmINT2Storage (FLMINT iNum, FLMUINT *puiStorageLen, FLMBYTE *pucStorageBuf)
 Convert a FLMINT value to FLAIM's internal storage format for numbers.
FLMEXP RCODE FLMAPI FlmINT64ToStorage (FLMINT64 i64Num, FLMUINT *puiStorageLen, FLMBYTE *pucStorageBuf)
 Convert a FLMINT64 value to FLAIM's internal storage format for numbers.
FLMEXP RCODE FLMAPI FlmStorage2UINT (FLMUINT uiValueType, FLMUINT uiValueLength, const FLMBYTE *pucValue, FLMUINT *puiNum)
 Convert a value from FLAIM's internal format to a FLMUINT.
FLMEXP RCODE FLMAPI FlmStorage2UINT32 (FLMUINT uiValueType, FLMUINT uiValueLength, const FLMBYTE *pucValue, FLMUINT32 *pui32Num)
 Convert a value from FLAIM's internal format to a FLMUINT32.
FLMEXP RCODE FLMAPI FlmStorage2UINT64 (FLMUINT uiValueType, FLMUINT uiValueLength, const FLMBYTE *pucValue, FLMUINT64 *pui64Num)
 Convert a value from FLAIM's internal format to a FLMUINT64.
FLMEXP RCODE FLMAPI FlmStorage2INT (FLMUINT uiValueType, FLMUINT uiValueLength, const FLMBYTE *pucValue, FLMINT *puiNum)
 Convert a value from FLAIM's internal format to a FLMINT.
FLMEXP RCODE FLMAPI FlmStorage2INT32 (FLMUINT uiValueType, FLMUINT uiValueLength, const FLMBYTE *pucValue, FLMINT32 *pui32Num)
 Convert a value from FLAIM's internal format to a FLMINT32.
FLMEXP RCODE FLMAPI FlmStorage2INT64 (FLMUINT uiValueType, FLMUINT uiValueLength, const FLMBYTE *pucValue, FLMINT64 *pui64Num)
 Convert a value from FLAIM's internal format to a FLMINT64.
FLMEXP RCODE FLMAPI FlmUnicode2Storage (const FLMUNICODE *puzStr, FLMUINT *puiStorageLen, FLMBYTE *pucStorageBuf)
 Convert a unicode string to FLAIM's internal storage format.
FLMEXP FLMUINT FLMAPI FlmGetUnicodeStorageLength (const FLMUNICODE *puzStr)
 Determine the number of bytes needed to store a unicode string in FLAIM's internal storage format.
FLMEXP RCODE FLMAPI FlmStorage2Unicode (FLMUINT uiValueType, FLMUINT uiValueLength, const FLMBYTE *pucValue, FLMUINT *puiStrBufLen, FLMUNICODE *puzStrBuf)
 Convert a value from FLAIM's internal format to a unicode string.
FINLINE RCODE FlmGetUnicodeLength (FLMUINT uiValueType, FLMUINT uiValueLength, const FLMBYTE *pucValue, FLMUINT *puiUniLength)
 Get the number of bytes needed to convert a value from FLAIM's internal format to a unicode string.
FLMEXP RCODE FLMAPI FlmNative2Storage (const char *pszStr, FLMUINT uiStrLen, FLMUINT *puiStorageLen, FLMBYTE *pucStorageBuf)
 Convert a native string to FLAIM's internal storage format.
FLMEXP RCODE FLMAPI FlmStorage2Native (FLMUINT uiValueType, FLMUINT uiValueLength, const FLMBYTE *pucValue, FLMUINT *puiStrBufLen, char *pszStrBuf)
 Convert a value from FLAIM's internal format to a native string.
FLMEXP FLMUINT FLMAPI FlmGetNativeStorageLength (const char *pszStr)
 Determine the number of bytes needed to store a native string in FLAIM's internal storage format.
FINLINE RCODE FlmGetNativeLength (FLMUINT uiValueType, FLMUINT uiValueLength, const FLMBYTE *pucValue, FLMUINT *puiStrLength)
 Get the number of bytes needed to convert a value from FLAIM's internal format to a native string.
FINLINE RCODE FlmCursorFirst (HFCURSOR hCursor, FlmRecord **ppRecord)
 Positions to and retrieves the first record in the query result set.
FINLINE RCODE FlmCursorLast (HFCURSOR hCursor, FlmRecord **ppRecord)
 Positions to and retrieves the last record in the query result set.
FINLINE RCODE FlmCursorNext (HFCURSOR hCursor, FlmRecord **ppRecord)
 Positions to and retrieves the next record in the query result set.
FINLINE RCODE FlmCursorPrev (HFCURSOR hCursor, FlmRecord **ppRecord)
 Positions to and retrieves the previous record in the query result set.
FINLINE RCODE FlmCursorFirstDRN (HFCURSOR hCursor, FLMUINT *puiDrn)
 Positions to the first record in the query result set and retrieves the record's DRN.
FINLINE RCODE FlmCursorLastDRN (HFCURSOR hCursor, FLMUINT *puiDrn)
 Positions to the last record in the query result set and retrieves the record's DRN.
FINLINE RCODE FlmCursorNextDRN (HFCURSOR hCursor, FLMUINT *puiDrn)
 Positions to the next record in the query result set and retrieves the record's DRN.
FINLINE RCODE FlmCursorPrevDRN (HFCURSOR hCursor, FLMUINT *puiDrn)
 Positions to the previous record in the query result set and retrieves the record's DRN.
FLMEXP RCODE FLMAPI FlmCursorCurrent (HFCURSOR hCursor, FlmRecord **ppRecord)
 Retrieve current record from query result set.
FLMEXP RCODE FLMAPI FlmCursorCurrentDRN (HFCURSOR hCursor, FLMUINT *puiDrn)
 Retrieve the DRN of the current recrord in query result set.
FLMEXP RCODE FLMAPI FlmCursorMoveRelative (HFCURSOR hCursor, FLMINT *piPosition, FlmRecord **ppRecord)
 Position relative to the current record (forward or backward) in the query result set and retrieve the record positioned to.
FLMEXP RCODE FLMAPI FlmCursorRecCount (HFCURSOR hCursor, FLMUINT *puiCount)
 Get record count for a query result set.
FLMEXP RCODE FLMAPI FlmCursorCompareDRNs (HFCURSOR hCursor, FLMUINT uiDRN1, FLMUINT uiDRN2, FLMUINT uiTimeLimit, FLMINT *piCmpResult, FLMBOOL *pbTimedOut, FLMUINT *puiKeyCount)
 Determine the relative position of two records in a query's result set.
FLMEXP RCODE FLMAPI FlmCursorTestRec (HFCURSOR hCursor, FlmRecord *pRecord, FLMBOOL *pbIsMatch)
 Test a record to see if it passes the query criteria.
FLMEXP RCODE FLMAPI FlmCursorTestDRN (HFCURSOR hCursor, FLMUINT uiDRN, FLMBOOL *pbIsMatch)
 Retrieve and test a record (using a DRN) to see if it passes the query criteria.
FLMEXP const char *FLMAPI FlmVerifyErrToStr (eCorruptionType eCorruption)
 Return an error string for a corruption code.
FLMEXP RCODE FLMAPI FlmDbCheck (HFDB hDb, const char *pszDbFileName, const char *pszDataDir, const char *pszRflDir, FLMUINT uiCheckFlags, F_Pool *pPool, DB_CHECK_PROGRESS *pDbStats, STATUS_HOOK fnStatusHook, void *pvAppArg)
 Check a database for corruptions.
FLMEXP RCODE FLMAPI FlmDbRebuild (const char *pszSourceDbPath, const char *pszSourceDataDir, const char *pszDestDbPath, const char *pszDestDataDir, const char *pszDestRflDir, const char *pszDictPath, CREATE_OPTS *pCreateOpts, FLMUINT *puiTotalRecords, FLMUINT *puiRecsRecovered, STATUS_HOOK fnStatusHook, void *pvAppData)
 Rebuild a database.
FLMEXP RCODE FLMAPI FlmDbReduceSize (HFDB hDb, FLMUINT uiCount, FLMUINT *puiCount)
 Reduce the database size - returning unused blocks back to the file system.
FLMEXP RCODE FLMAPI FlmDbSweep (HFDB hDb, FLMUINT uiSweepMode, FLMUINT uiCallbackFlags, STATUS_HOOK fnStatusHook, void *pvAppData)
 Traverse records in the database looking for unused fields.
FLMEXP RCODE FLMAPI FlmDbUpgrade (HFDB hDb, FLMUINT uiNewVersion, STATUS_HOOK fnStatusCallback, void *pvAppData)
 Upgrade a database.
FLMEXP RCODE FLMAPI FlmMaintenanceStatus (HFDB hDb, FMAINT_STATUS *pMaintStatus)
 Get the current status of the background maintenance thread for a database.
FLMEXP RCODE FLMAPI FlmDbCopy (const char *pszSrcDbName, const char *pszSrcDataDir, const char *pszSrcRflDir, const char *pszDestDbName, const char *pszDestDataDir, const char *pszDestRflDir, STATUS_HOOK fnStatusCallback, void *pvAppData)
 Copy a database.
FLMEXP RCODE FLMAPI FlmDbRename (const char *pszDbName, const char *pszDataDir, const char *pszRflDir, const char *pszNewDbName, FLMBOOL bOverwriteDestOk, STATUS_HOOK fnStatusCallback, void *pvAppData)
 Rename a database.
FLMEXP RCODE FLMAPI FlmDbRemove (const char *pszDbName, const char *pszDataDir, const char *pszRflDir, FLMBOOL bRemoveRflFiles)
 Delete a database.
FLMEXP RCODE FLMAPI FlmEnableEncryption (HFDB hDb, FLMBYTE **ppucWrappingKey, FLMUINT32 *pui32KeyLen)
 Enable encryption for a database.
FLMEXP RCODE FLMAPI FlmDbWrapKey (HFDB hDb, const char *pszPassword)
 Wrap a database's encryption key in a password.

Detailed Description


Typedef Documentation

typedef RCODE(* BACKER_WRITE_HOOK)(void *pvBuffer,FLMUINT uiBytesToWrite,void *pvAppData)
 

Typedef for callback function that is called from FlmDbBackup() to write out backed up data.

It is this function's responsibility to write the data to an appropriate backup medium - tape, disk, etc.

typedef RCODE( * CURSOR_GET_FIELD_CB)(void *pvAppData,FlmRecord *pRecord,HFDB hDb,FLMUINT *puiFldPath,FLMUINT uiAction,#define FLM_FLD_FIRST#define FLM_FLD_NEXT#define FLM_FLD_CLEANUP#define FLM_FLD_VALIDATE#define FLM_FLD_RESET FlmRecord **ppFieldRecRV,void **ppFieldRV,FLMUINT *puiResult)
 

Typedef for query "get field" function that can be inserted into query criteria wherever a field or field path could be inserted.

This type of function is passed as a parameter to the FlmCursorAddFieldCB() function.

typedef RCODE(* IX_CALLBACK)(HFDB hDb,FLMUINT uiIndexNum,FLMUINT uiContainerNum,FLMUINT uiDrn,FlmRecord *pInputRecord,FlmRecord **ppModifiedRecord,void *pvAppData)
 

Indexing callback function.

This function is implemented by an application. It allows an application to modify a record after it has been indexed. This only happens when an index is first created or when its definition is modified.

typedef FLMBOOL(* REC_VALIDATOR_HOOK)(eFlmFuncs eFlmFuncId,HFDB hDb,FLMUINT uiContainerId,FlmRecord *pRecord,FlmRecord *pOldRecord,void *pvAppData,RCODE *pRCode)
 

Record validator function.

A record validator function has several uses. It is used in a query to allow an application to apply tests to records that are not easily expressed with FLAIM's query criteria syntax. The REC_VALIDATOR_HOOK callback returns an RCODE. In the case of an update operation, the RCODE returned by the validator function is ignored. However, in the case of a read operation, the return code is evaluated. If it is FERR_OK, the current record is returned to the application. Otherwise, the record is not returned, but the read operation is allowed to continue.

typedef RCODE(* STATUS_HOOK)(eStatusType eStatus,void *pvParm1,void *pvParm2,void *pvAppData)
 

General purpose status callback function.

This function is implemented by an application. It allows an application to receive all kinds of status information from FLAIM during various FLAIM operations.


Enumeration Type Documentation

enum eBackupGetConfigType
 

Backup configuration information that can be requested by FlmBackupGetConfig().

Enumerator:
FBAK_GET_BACKUP_TRANS_ID  Get backup transaction ID. pvValue1 is a FLMUINT * that returns the transaction ID.
FBAK_GET_LAST_BACKUP_TRANS_ID  Get the last backup transactioN ID. pvValue1 is a FLMUINT * that returns the last transaction ID.

enum eCorruptionLocale
 

Locations of corruptions in the database.

Enumerator:
LOCALE_LFH_LIST  Corruption was found in the list of logical file blocks.
LOCALE_AVAIL_LIST  Corruption was found in the list of available blocks.
LOCALE_B_TREE  Corruption was found in an index or container b-tree block.
LOCALE_IXD_TBL  Corruption was found in index table.
LOCALE_INDEX  Corruption was logical index corruption.

enum eCorruptionType
 

Types of corruption that can be reported by FlmDbCheck().

Enumerator:
FLM_NO_CORRUPTION  0
FLM_BAD_CHAR  1
FLM_BAD_ASIAN_CHAR  2
FLM_BAD_CHAR_SET  3
FLM_BAD_TEXT_FIELD  4
FLM_BAD_NUMBER_FIELD  5
FLM_BAD_CONTEXT_FIELD  6
FLM_BAD_FIELD_TYPE  7
FLM_BAD_IX_DEF  8
FLM_MISSING_REQ_KEY_FIELD  9
FLM_BAD_TEXT_KEY_COLL_CHAR  10
FLM_BAD_TEXT_KEY_CASE_MARKER  11
FLM_BAD_NUMBER_KEY  12
FLM_BAD_CONTEXT_KEY  13
FLM_BAD_BINARY_KEY  14
FLM_BAD_DRN_KEY  15
FLM_BAD_KEY_FIELD_TYPE  16
FLM_BAD_KEY_COMPOUND_MARKER  17
FLM_BAD_KEY_POST_MARKER  18
FLM_BAD_KEY_POST_BYTE_COUNT  19
FLM_BAD_KEY_LEN  20
FLM_BAD_LFH_LIST_PTR  21
FLM_BAD_LFH_LIST_END  22
FLM_BAD_PCODE_LIST_END  23
FLM_BAD_BLK_END  24
FLM_KEY_COUNT_MISMATCH  25
FLM_REF_COUNT_MISMATCH  26
FLM_BAD_CONTAINER_IN_KEY  27
FLM_BAD_BLK_HDR_ADDR  28
FLM_BAD_BLK_HDR_LEVEL  29
FLM_BAD_BLK_HDR_PREV  30
FLM_BAD_BLK_HDR_NEXT  31
FLM_BAD_BLK_HDR_TYPE  32
FLM_BAD_BLK_HDR_ROOT_BIT  33
FLM_BAD_BLK_HDR_BLK_END  34
FLM_BAD_BLK_HDR_LF_NUM  35
FLM_BAD_AVAIL_LIST_END  36
FLM_BAD_PREV_BLK_NEXT  37
FLM_BAD_FIRST_ELM_FLAG  38
FLM_BAD_LAST_ELM_FLAG  39
FLM_BAD_LEM  40
FLM_BAD_ELM_LEN  41
FLM_BAD_ELM_KEY_SIZE  42
FLM_BAD_ELM_PKC_LEN  43
FLM_BAD_ELM_KEY_ORDER  44
FLM_BAD_ELM_KEY_COMPRESS  45
FLM_BAD_CONT_ELM_KEY  46
FLM_NON_UNIQUE_FIRST_ELM_KEY  47
FLM_BAD_ELM_FLD_OVERHEAD  48
FLM_BAD_ELM_FLD_LEVEL_JUMP  49
FLM_BAD_ELM_FLD_NUM  50
FLM_BAD_ELM_FLD_LEN  51
FLM_BAD_ELM_FLD_TYPE  52
FLM_BAD_ELM_END  53
FLM_BAD_PARENT_KEY  54
FLM_BAD_ELM_DOMAIN_SEN  55
FLM_BAD_ELM_BASE_SEN  56
FLM_BAD_ELM_IX_REF  57
FLM_BAD_ELM_ONE_RUN_SEN  58
FLM_BAD_ELM_DELTA_SEN  59
FLM_BAD_ELM_DOMAIN  60
FLM_BAD_LAST_BLK_NEXT  61
FLM_BAD_FIELD_PTR  62
FLM_REBUILD_REC_EXISTS  63
FLM_REBUILD_KEY_NOT_UNIQUE  64
FLM_NON_UNIQUE_ELM_KEY_REF  65
FLM_OLD_VIEW  66
FLM_COULD_NOT_SYNC_BLK  67
FLM_IX_REF_REC_NOT_FOUND  68
FLM_IX_KEY_NOT_FOUND_IN_REC  69
FLM_DRN_NOT_IN_KEY_REFSET  70
FLM_BAD_BLK_CHECKSUM  71
FLM_BAD_LAST_DRN  72
FLM_BAD_FILE_SIZE  73
FLM_BAD_AVAIL_BLOCK_COUNT  74
FLM_BAD_DATE_FIELD  75
FLM_BAD_TIME_FIELD  76
FLM_BAD_TMSTAMP_FIELD  77
FLM_BAD_DATE_KEY  78
FLM_BAD_TIME_KEY  79
FLM_BAD_TMSTAMP_KEY  80
FLM_BAD_BLOB_FIELD  81
FLM_BAD_PCODE_IXD_TBL  82
FLM_DICT_REC_ADD_ERR  83
FLM_BAD_FIELD_FLAG  84
FLM_BAD_FOP  85

enum eCursorConfigType
 

Configuration options for FlmCursorConfig().

Enumerator:
FCURSOR_CLEAR_QUERY  Clear query criteria.
FCURSOR_GEN_POS_KEYS  Generate positioning keys.
FCURSOR_SET_HDB  Set the database handle for the query. pvValue1 is an HFDB - the database handle.
FCURSOR_SET_FLM_IX  Set the index for the query. pvValue1 is a FLMUINT - the index number. A value of zero may be specified to indicate that no index is to be used. A value of FLM_SELECT_INDEX specifies that FLAIM is to select the index. This is the default.
FCURSOR_SET_OP_TIME_LIMIT  Set a time limit for the query. pvValue1 is a FLMUINT - timeout in seconds.
FCURSOR_SET_PERCENT_POS  Position to a percent position in the query result set. pvValue1 is a FLMUINT between 1 and 100.
FCURSOR_SET_POS  Position to the same position another query object is positioned to. pvValue1 is CURSOR * - a pointer to the query object whose position we are to position to.
FCURSOR_SET_POS_FROM_DRN  Position to a specific record in the query result set. pvValue1 is a FLMUINT - the DRN of the record to be positioned to. If the record is not in the result set, an error will be returned.
FCURSOR_SET_REC_TYPE  Set the type of record that this query should return. This basically adds a special criteria for the query that specifies that only records whose root field number matches a certain value should be be returned. pvValue1 is a FLMUINT - the root field number (or record type) to be matched.
FCURSOR_RETURN_KEYS_OK  Sets a flag that specifies whether it is ok for this query to return keys from the index instead of actual records from the container. pvValue1 is a FLMBOOL - TRUE means that index keys may be returned. FALSE means that only real records from the container may be returned. This flag is only used if it is possible to test the query criteria using only information retrieved from an index - provided, of course, that an index is used to perform the query.
FCURSOR_DISCONNECT  Disconnect the cursor from any association with the current database handle, if any. If any internal read transaction is going, it will be aborted.
FCURSOR_ALLOW_DUPS  Allow duplicate records in query result set.
FCURSOR_ELIMINATE_DUPS  Disallow duplicate records in query result set.
FCURSOR_SET_REC_VALIDATOR  Set a record validator function that is to be called for each record that passes the query query criteria. pvValue1 is a REC_VALIDATOR_HOOK - the record validator function. The record validator function may apply additional criteria to determine if the record should really be allowed to be returned or if it should be failed.
FCURSOR_SET_STATUS_HOOK  Set a status function that is called to report progress in evaluating the query. pvValue1 is a STATUS_HOOK - the status function. pvValue2 is application data that will be passed to the status function whenever it is called.
FCURSOR_SAVE_POSITION  Save the current position of the query within its query result set. This option is provided so that an application can temporarily position to some other place in its result set, but then returned to a saved position easily.
FCURSOR_RESTORE_POSITION  Restore the current position of the query within its query result set.
FCURSOR_SET_ABS_POS  Set the absolute position in the query query result set. pvValue1 is a FLMUINT *. On input (FLMUINT *)pvValue1 is the absolute position the query is to be set to. On output, it returns the position actually set to. pvValue2 is a FLMBOOL. If record at the position specified does not pass the query criteria, this flag specifies whether to position to the next or previous record in the result set that does match the criteria.

enum eCursorGetConfigType
 

Options for FlmCursorGetConfig().

Enumerator:
FCURSOR_GET_OPT_INFO_LIST  Get the optimization information for the query. pvValue1 is a pointer to an array of OPT_INFO structures. If a NULL is passed, no optimization information is returned, but a count of OPT_INFO structures needed will be returned in the pvValue2 parameter. pvValue2 is a FLMUINT *. It returns the number of elements needed in the OPT_INFO array. One OPT_INFO structure is returned for each sub-query that is optimized separately from other sub-queries. Typically, an application should call FlmCursorGetConfig() twice for this option - the first time with a NULL in pvValue1 to get the size of the OPT_INFO array needed. Then, allocate memory for the array and call it again.
FCURSOR_GET_FLM_IX  Get the index being used for the query. pvValue1 is a FLMUINT *. The index number, if any, is returned here. A zero means that no index is being used. If multiple indexes are being used, pvValue1 will only return the first index. pvValue2 is a FLMUINT *. It returns flags which indicates if more than one index is being used. It will be one of the following:
  • HAVE_NO_INDEX - Query was not using an index (pvValue1 should return 0 in this case)
  • HAVE_ONE_INDEX - Query is using exactly one index (pvValue1 will return index number)
  • HAVE_ONE_INDEX_MULT_PARTS - Query is using exactly one index, but there are multiple parts of the index that are being searched
  • HAVE_MULTIPLE_INDEXES - Query is using multiple indexes (pvValue1 will return only the first index).
FCURSOR_GET_OPT_INFO  Get optimization information for the query. pvValue1 is a pointer to an OPT_INFO structure where the optimization information will be returned. This option only returns the first OPT_INFO structure. If there are multiple sub-queries, use eCursorGetConfigType::FCURSOR_GET_OPT_INFO_LIST.
FCURSOR_GET_PERCENT_POS  Get the current percent position of the query in the query result set. pvValue1 is a FLMUINT *. It returns the current percent position. NOTE: This option should only be called if the query is percent positionable - see eCursorGetConfigType::FCURSOR_GET_POSITIONABLE.
FCURSOR_GET_REC_TYPE  Get the record type that has been set for the query, if any. If a record type was set, it would have been set using the eCursorConfigType::FCURSOR_SET_REC_TYPE option of the FlmCursorConfig() function. pvValue1 is a FLMUINT *. It returns the record type.
FCURSOR_GET_FLAGS  Get the current mode flags for the query. These are the mode flags that would have been set using the FlmCursorSetMode() function. pvValue1 is a FLMUINT *. It returns the flags.
FCURSOR_GET_STATE  Get the current state of the query. pvValue1 is a FLMUINT *. It returns flags indicating what the current state of the query is. The flags are as follows:
  • FCURSOR_HAVE_CRITERIA - Indicates that some query criteria has been set. Query criteria may or may not be complete
  • FCURSOR_EXPECTING_OPERATOR - Indicates that the query criteria is expecting an operator to be submitted next
  • FCURSOR_QUERY_COMPLETE - Indicates that the query criteria is in a "complete" state - that is, it is syntatically complete and could be used to retrieve records
  • FCURSOR_QUERY_OPTIMIZED - Indicates that the query has already been optimized
  • FCURSOR_READ_PERFORMED - Indicates that the query is ready to have records retrieved.
FCURSOR_GET_POSITIONABLE  Get whether or not the query is "percentage" positionable. pvValue1 is a FLMBOOL *. It returns a TRUE/FALSE flag indicating whether the query can be percentage positioned.
FCURSOR_AT_BOF  Get whether or not the query is positioned at BOF. pvValue1 is a FLMBOOL *. It returns a TRUE/FALSE flag indicating whether the query is at BOF.
FCURSOR_AT_EOF  Get whether or not the query is positioned at EOF. pvValue1 is a FLMBOOL *. It returns a TRUE/FALSE flag indicating whether the query is at EOF.
FCURSOR_GET_ABS_POSITIONABLE  Get whether or not the query is "absolute" positionable. pvValue1 is a FLMBOOL *. It returns a TRUE/FALSE flag indicating whether the query is absolute positionable.
FCURSOR_GET_ABS_POS  Get the current absolute position of the query in the query result set. pvValue1 is a FLMUINT *. It returns the current absolute position. NOTE: This option should only be used if the query is absolute positionable - see eCursorGetConfigType::FCURSOR_GET_ABS_POSITIONABLE.
FCURSOR_GET_ABS_COUNT  Get the absolute count of the query result set. pvValue1 is a FLMBOOL *. It returns the absolute count. NOTE: This option should only be used if the query is absolute positionable - see eCursorGetConfigType::FCURSOR_GET_ABS_POSITIONABLE.

enum eDbConfigType
 

Configuration options for FlmDbConfig().

Enumerator:
FDB_SET_APP_VERSION  Set the application version numbers into the database header. pvValue1 is a FLMUINT which holds the major version number. pvValue2 is a FLMUINT which holds the minor version number.
FDB_RFL_KEEP_FILES  Sets flag which specifies whether or not to keep roll-forward log files. pvValue1 is a FLMBOOL which is TRUE or FALSE.
FDB_RFL_DIR  Set the roll-forward log directory. pvValue1 is a char * which contains the name of the RFL directory.
FDB_RFL_FILE_LIMITS  Set the minimum and maximum sizes for RFL files. pvValue1 is a FLMUINT which contains the minimum RFL file size (in bytes). pvValue2 is a FLMUINT which contains the maximum RFL file size (in bytes).
FDB_RFL_ROLL_TO_NEXT_FILE  Force the database to create and start using the next RFL file in the sequence.
FDB_KEEP_ABORTED_TRANS_IN_RFL  Set flag which specifies whether or not to keep aborted transactions in roll-forward log files. pvValue1 is a FLMBOOL which is TRUE or FALSE.
FDB_AUTO_TURN_OFF_KEEP_RFL  Set flag which specifies whether or not to automatically turn off keeping of RFL files when the RFL volume gets full. pvValue1 is a FLMBOOL which is TRUE or FALSE.
FDB_FILE_EXTEND_SIZE  Set the extend size for data files in the database. pvValue1 is a FLMUINT which specifies the extend size (in bytes). Whenever data files need to be extended, they will be extended by this amount.
FDB_SET_APP_DATA  Allows an application to have the database object remember some data. pvValue1 contains a pointer to the data to be remembered. An application may retrieve this pointer at any time by calling FlmDbGetConfig() with the eDbGetConfigType::FDB_GET_APP_DATA option.
FDB_SET_COMMIT_CALLBACK  Set a callback function that is to be called whenever this database handle commits an update transaction. pvValue1 is a pointer to the callback function - a COMMIT_FUNC. pvValue2 is a pointer to application data that will be passed into the function whenever it is called.
FDB_ENABLE_FIELD_ID_TABLE  Enable the creating of a field ID table for level-one fields in cached records for a specific container. pvValue1 is a FLMUINT that holds the container number. pvValue2 is a FLMBOOL indicating whether the field id table is to be enabled or disabled.
FDB_SET_RFL_SIZE_THRESHOLD  Sets the RFL size threshold (in K bytes).

If registered to receive RFL size events, an event will be reported when the on-disk size of the RFL exceeds this value. pvValue1 is a FLMUINT which specifies the threshold value in K bytes.

FDB_SET_RFL_SIZE_EVENT_INTERVALS  Sets the criteria for determining how often to report RFL size events once the RFL exceeds the size threshold. pvValue1 is a FLMUINT which specifies the minimum number of seconds between events. pvValue2 is a FLMUINT which specifies the minimum increase in K bytes of the RFL between events.
FDB_RFL_FOOTPRINT_SIZE  Set the footprint size of the RFL when files are not being kept. pvValue1 is a FLMUINT which specifies the footprint size (in bytes).
FDB_RBL_FOOTPRINT_SIZE  Set the footprint size of the roll-back log. pvValue1 is a FLMUINT which specifies the footprint size (in bytes).

enum eDbGetConfigType
 

Options for FlmDbGetConfig().

Enumerator:
FDB_GET_VERSION  Get the FLAIM database version. pvValue1 is a FLMUINT * that returns database version.
FDB_GET_BLKSIZ  Get the database block size. pvValue1 is a FLMUINT * that returns database block size.
FDB_GET_DEFAULT_LANG  Get the default language for the database. pvValue1 is a FLMUINT * that returns the language.
FDB_GET_PATH  Get the database file name. pvValue1 is a char * that points to a buffer where the file name is to be returned. Buffer should be large enough to hold the largest possible file name.
FDB_GET_TRANS_ID  Get the current transaction ID for the database. pvValue1 is a FLMUINT * that returns the transaction ID. NOTE: If no transaction is active, this option will return the last committed update transaction ID if this database handle has the database locked. Otherwise it will return zero.
FDB_GET_CHECKPOINT_INFO  Get the current state of the checkpoint thread. pvValue1 is a pointer to a CHECKPOINT_INFO structure where the checkpoint information is to be returned.
FDB_GET_LOCK_HOLDER  Get the current lock holder for the database. pvValue1 is a pointer to a F_LOCK_USER structure where the lock information is to be returned.
FDB_GET_LOCK_WAITERS  Get the entire list of threads that are either holding the lock on the database or are waiting to obtain the lock on the database. pvValue1 is a F_LOCK_USER **. This option will allocate an array of F_LOCK_USER structures and return a pointer to them. The zeroeth element of the array contains the lock holder. All other elements contain lock waiters. The last element in the array will be zeroed out. NOTE: The memory allocated by this function should be freed by calling FlmFreeMem().
FDB_GET_LOCK_WAITERS_EX  Get the lock holders and waiters using a IF_LockInfoClient object. pvValue1 is a pointer to the IF_LockInfoClient object that is to be used.
FDB_GET_RFL_DIR  Get the directory where RFL files are stored. pvValue1 is a char * that points to a buffer where the file name is to be returned. Buffer should be large enough to hold the largest possible directory name.
FDB_GET_RFL_FILE_NUM  Get the current RFL file number. pvValue1 is a FLMUINT * that returns the file number.
FDB_GET_RFL_HIGHEST_NU  Get the highest RFL file number that is not currently in use. pvValue1 is a FLMUINT * that returns the file number.
FDB_GET_RFL_FILE_SIZE_LIMITS  Get the minimum and maximum RFL file sizes. pvValue1 is a FLMUINT * that returns the minimum file size (in bytes). pvValue2 is a FLMUINT * that returns the maximum file file size (in bytes). NOTE: These sizes may be set by calling FlmDbConfig() using the eDbConfigType::FDB_RFL_FILE_LIMITS option.
FDB_GET_RFL_KEEP_FLAG  Get the flag which tells whether the database is configured to keep RFL files. pvValue1 is a FLMBOOL * which returns a TRUE or FALSE.
FDB_GET_LAST_BACKUP_TRANS_ID  Get the last backup transaction ID. pvValue1 is a FLMUINT * which returns the transaction ID.
FDB_GET_BLOCKS_CHANGED_SINCE_BACKUP  Get the number of blocks in the database that have changes since the last backup. pvValue1 is a FLMUINT * that returns the number of blocks.
FDB_GET_SERIAL_NUMBER  Get the database serial number. pvValue1 is a FLMBYTE * that points to a buffer where the serial number will be returned. The buffer should be at least F_SERIAL_NUM_SIZE bytes.
FDB_GET_AUTO_TURN_OFF_KEEP_RFL_FLAG  Get the flag which tells whether the database is configured to automatically turn off the keeping of RFL files when the RFL volume gets full. pvValue1 is a FLMBOOL * which returns a TRUE or FALSE. NOTE: This flag may be set by calling FlmDbConfig() using the eDbConfigType::FDB_AUTO_TURN_OFF_KEEP_RFL option.
FDB_GET_KEEP_ABORTED_TRANS_IN_RFL_FLAG  Get the flag which tells whether the database is configured to keep aborted transactions in the roll-forward log. pvValue1 is a FLMBOOL * which returns a TRUE or FALSE. NOTE: This flag may be set by calling FlmDbConfig() using the eDbConfigType::FDB_KEEP_ABORTED_TRANS_IN_RFL option.
FDB_GET_SIZES  Get database file sizes. pvValue1 is a FLMUINT64 * which returns the total size of all data files. pvValue2 is a FLMUINT64 * which returns the total size of all rollback files. pvValue3 is a FLMUINT64 * which returns the total size of all roll-forward log files.
FDB_GET_FILE_EXTEND_SIZE  Get the database file extend size. pvValue1 is a FLMUINT * which returns the file extend size. NOTE: This size may be set by calling FlmDbConfig() using the eDbConfigType::FDB_FILE_EXTEND_SIZE option.
FDB_GET_APP_DATA  Get the application data pointer that was set using the eDbConfigType::FDB_SET_APP_DATA option in FlmDbConfig(). pvValue1 is a void ** which returns the pointer.
FDB_GET_NEXT_INC_BACKUP_SEQ_NUM  Get the next incremental backup sequence number for the database. pvValue1 is a FLMUINT * that returns the sequence number.
FDB_GET_DICT_SEQ_NUM  Get the dictionary sequence number. pvValue1 is a FLMUINT * that returns the sequence number.
FDB_GET_FFILE_ID  Get the database's unique ID number. pvValue1 is a FLMUINT * that returns the number.
FDB_GET_MUST_CLOSE_RC  Get the RCODE that caused the "must close" flag to be set on the database. pvValue1 is an RCODE * that returns the RCODE.
FDB_GET_RFL_FOOTPRINT_SIZE  Get the RFL footprint size. pvValue1 is a FLMUINT * which returns the RFL footprint size. NOTE: This size may be set by calling FlmDbConfig() using the eDbConfigType::FDB_RFL_FOOTPRINT_SIZE option.
FDB_GET_RBL_FOOTPRINT_SIZE  Get the roll-back log footprint size. pvValue1 is a FLMUINT * which returns the RBL footprint size. NOTE: This size may be set by calling FlmDbConfig() using the eDbConfigType::FDB_RBL_FOOTPRINT_SIZE option.

enum eDiagInfoType
 

Types of diagnostic information available from FlmGetDiagInfo().

Enumerator:
FLM_GET_DIAG_INDEX_NUM  Get the index number. pvDiagInfo is a FLMUINT * that returns index number. This diagnostic is available when the RCODE::FERR_NOT_UNIQUE error code is returned.
FLM_GET_DIAG_DRN  Get the DRN. pvDiagInfo is a FLMUINT * that returns DRN. This diagnostic is available after attempting to add or modify a dictionary definition record to the dictionary. It is available for the following error codes:
FLM_GET_DIAG_FIELD_NUM  Get the field number. pvDiagInfo is a FLMUINT * that returns field number. This diagnostic is available after attempting to add or modify a record in the database. It is available for the following error codes:
FLM_GET_DIAG_FIELD_TYPE  Get the field type. pvDiagInfo is a FLMUINT * that returns field type. This diagnostics is available when the RCODE::FERR_BAD_FIELD_NUM error code is returned from a record add (FlmRecordAdd()) or record modify (FlmRecordModify()) operation.
FLM_GET_DIAG_ENC_ID  Get the encryption ID. pvDiagInfo is a FLMUINT * that returns encryption ID. This diagnostics is available when the RCODE::FERR_PURGED_ENCDEF_FOUND error code is returned.

enum eFlmConfigTypes
 

Database system configuration options that are passed into FlmConfig() and FlmGetConfig().

Enumerator:
FLM_CLOSE_UNUSED_FILES  FlmConfig(). Close all files that have not been used for the specified number of seconds.
Input: pvValue1 is (FLMUINT), unused seconds.
FLM_CLOSE_ALL_FILES  FlmConfig(). Close all available file handles as well as all used files as as they are available. Files opened after this call will not be immediately closed after use.
FLM_OPEN_THRESHOLD  FlmConfig(). Set maximum number of file handles.
Input: pvValue1 is (FLMUINT), maximum file handles.
FlmGetConfig(). Returns maximum number of files handles.
Output: pvValue is (FLMUINT *), returns maximum file handles.
FLM_OPEN_FILES  FlmGetConfig(). Returns number of open file handles.
Output: pvValue is (FLMUINT *), returns number of open file handles.
FLM_CACHE_LIMIT  FlmConfig(). Set maximum cache size in bytes.
Input: pvValue1 is (FLMUINT), maximum cache size in bytes.
Input: pvValue2 is (FLMBOOL), pre-allocate cache?
FLM_SCACHE_DEBUG  FlmConfig(). Enable/disable cache debugging.
Input: pvValue1 is (FLMBOOL), TRUE=enable, FALSE=disable.
FLM_START_STATS  FlmConfig(). Start gathering statistics.
FLM_STOP_STATS  FlmConfig(). Stop gathering statistics.
FLM_RESET_STATS  FlmConfig(). Reset statistics.
FLM_TMPDIR  FlmConfig(). Set temporary directory.
Input: pvValue1 is (char *), name of temporary directory.
FLM_MAX_CP_INTERVAL  FlmConfig(). Set maximum seconds between checkpoints.
Input: pvValue1 is (FLMUINT), maximum seconds between checkpoints.
FlmGetConfig(). Get maximum seconds between checkpoints.
Output: pvValue is (FLMUINT *), maximum seconds between checkpoints.
FLM_BLOB_EXT  FlmConfig(). Set BLOB override file extension.
Input: pvValue1 is (char *), file extension.
NULL or empty string disables override.
FlmGetConfig(). Get BLOB override fle extension.
Output: pvValue is (char *), at least a 4 byte buffer for extension.
FLM_MAX_TRANS_SECS  FlmConfig(). Set maximum transaction time limit. Used to determine whether a transaction should be killed.
Input: pvValue1 is (FLMUINT), maximum seconds.
FlmGetConfig(). Get maximum transaction time limit.
Output: pvValue is (FLMUINT *), maximum seconds.
FLM_MAX_TRANS_INACTIVE_SECS  FlmConfig(). Set maximum time a transaction can be inactive before it will be killed.
Input: pvValue1 is (FLMUINT), maximum seconds.
FlmGetConfig(). Get maximum time a transaction can be inactive before it will be killed.
Output: pvValue is (FLMUINT *), maximum seconds.
FLM_CACHE_ADJUST_INTERVAL  FlmConfig(). Set interval for dynamically adjusting cache limit.
Input: pvValue1 is (FLMUINT), interval in seconds.
FlmGetConfig(). Get interval for dynamically adjusting cache limit.
Output: pvValue is (FLMUINT *), interval in seconds.
FLM_CACHE_CLEANUP_INTERVAL  FlmConfig(). Set interval for dynamically cleaning out old cache blocks and records.
Input: pvValue1 is (FLMUINT), interval in seconds.
FlmGetConfig(). Get interval for dynamically cleaning out old cache blocks and records.
Output: pvValue is (FLMUINT *), interval in seconds.
FLM_UNUSED_CLEANUP_INTERVAL  FlmConfig(). Set interval for cleaning up unused structures.
Input: pvValue1 is (FLMUINT), interval in seconds.
FlmGetConfig(). Get interval for cleaning up unused structures.
Output: pvValue is (FLMUINT *), interval in seconds.
FLM_MAX_UNUSED_TIME  FlmConfig(). Set maximum time for an item to be unused.
Input: pvValue1 is (FLMUINT), maximum time in seconds.
FlmGetConfig(). Get maximum time for an item to be unused.
Output: pvValue is (FLMUINT *), maximum time in seconds.
FLM_BLOCK_CACHE_PERCENTAGE  FlmConfig(). Set percentage of cache to be allocated to block cache.
Input: pvValue1 is (FLMUINT), percent (0 to 100).
FlmGetConfig(). Get percentage of cache allocated to block cache.
Output: pvValue is (FLMUINT *), percent.
FLM_CACHE_CHECK  FlmConfig(). Enable/disable cache checking.
Input: pvValue1 is (FLMUINT), 0=disable,other=enable.
FlmGetConfig(). Get cache checking state.
Output: pvValue is (FLMBOOL *), FALSE=disabled,TRUE=enabled.
FLM_CLOSE_FILE  FlmConfig(). Force a database to close all of its files.
Input: pvValue1 is (char *), name of database.
FLM_LOGGER  FlmConfig(). Set the logger object.
Input: pvValue1 is (IF_LoggerClient *), pointer to logger object.
NULL means disable logging.
FLM_ASSIGN_HTTP_SYMS  FlmConfig(). Set function pointers for HTTP server.
Input: pvValue1 is (HTTPCONFIGPARAMS *), pointer to structure containing HTTP handling functions.
FLM_UNASSIGN_HTTP_SYMS  FlmConfig(). Unset function pointers for HTTP server functions to NULL. This effectively disables the HTTP server.
FLM_REGISTER_HTTP_URL  FlmConfig(). Set the base URL the HTTP server is going to handle.
Input: pvValue1 is (char *), base URL to start handling.
FLM_DEREGISTER_HTTP_URL  FlmConfig(). Unset the base URL the HTTP server was handling. Tells the HTTP server to no longer call our HTTP functions when a request for the specified URL comes in.
Input: pvValue1 is (char *), base URL to stop handling.
FLM_KILL_DB_HANDLES  FlmConfig(). Invalidate open database handles, forcing the database to (eventually) be closed.
Input: pvValue1 is (char *), name of database.
Input: pvValue2 is (char *), name of directory for database data files.
NOTE: Passing NULL for pvValue1 and pvValue2 will cause all active database handles to be forced to close.
FLM_QUERY_MAX  FlmConfig(). Set maximum number of queries to save for statistics.
Input: pvValue1 is (FLMUINT), maximum number of queries to save.
FlmGetConfig(). Get maximum number of queries to save for statistics.
Output: pvValue is (FLMUINT *), maximum number of queries to save.
FLM_MAX_DIRTY_CACHE  FlmConfig(). Set maximum dirty cache.
Input: pvValue1 is (FLMUINT), maximum dirty cache (bytes).
Input: pvValue2 is (FLMUINT), low dirty cache (bytes).
FlmGetConfig(). Get maximum dirty cache.
Output: pvValue is (FLMUINT *), maximum dirty cache (bytes).
FLM_DYNA_CACHE_SUPPORTED  FlmGetConfig(). Get whether dynamic cache limits are supported.
Output: pvValue is (FLMBOOL *), TRUE if dynamic cache limits are supported, FALSE if not.
FLM_QUERY_STRATIFY_LIMITS  FlmConfig(). Set maximum query stratify iterations and query stratify time limit.
Input: pvValue1 is (FLMUINT), maximum query stratify iterations.
Input: pvValue2 is (FLMUINT), query stratify time limit (seconds).
FlmGetConfig(). Get maximum query stratify iterations.
Output: pvValue is (FLMUINT *), maximum query stratify iterations.
FLM_DIRECT_IO_STATE  FlmConfig(). Enable or disable direct I/O.
Input: pvValue1 is (FLMBOOL), TRUE = enable, FALSE = disable.
FlmGetConfig(). Get direct I/O state.
Output: pvValue is (FLMBOOL *), TRUE = enabled, FALSE = disabled.

enum eFlmFuncs
 

FLAIM Functions.

Enumerator:
FLM_CURSOR_COMPARE_DRNS  FlmCursorCompareDRNs().
FLM_CURSOR_CONFIG  FlmCursorConfig().
FLM_CURSOR_FIRST  FlmCursorFirst().
FLM_CURSOR_FIRST_DRN  FlmCursorFirstDRN().
FLM_CURSOR_GET_CONFIG  FlmCursorGetConfig().
FLM_CURSOR_LAST  FlmCursorLast().
FLM_CURSOR_LAST_DRN  FlmCursorLastDRN().
FLM_CURSOR_MOVE_RELATIVE  FlmCursorMoveRelative().
FLM_CURSOR_NEXT  FlmCursorNext().
FLM_CURSOR_NEXT_DRN  FlmCursorNextDRN().
FLM_CURSOR_PREV  FlmCursorPrev().
FLM_CURSOR_PREV_DRN  FlmCursorPrevDRN().
FLM_CURSOR_REC_COUNT  FlmCursorRecCount().
FLM_DB_CHECKPOINT  FlmDbCheckpoint().
FLM_DB_UPGRADE  FlmDbUpgrade().
FLM_DB_CREATE  FlmDbCreate().
FLM_DB_GET_COMMIT_CNT  FlmDbGetCommitCnt().
FLM_DB_GET_LOCK_INFO  FlmDbGetLockInfo().
FLM_DB_GET_LOCK_TYPE  FlmDbGetLockType().
FLM_DB_GET_TRANS_ID  FlmDbGetTransId().
FLM_DB_GET_TRANS_TYPE  FlmDbGetTransType().
FLM_DB_LOCK  FlmDbLock().
FLM_DB_OPEN  FlmDbOpen().
FLM_DB_REDUCE_SIZE  FlmDbReduceSize().
FLM_DB_SWEEP  FlmDbSweep().
FLM_DB_TRANS_ABORT  FlmDbTransAbort().
FLM_DB_TRANS_BEGIN  FlmDbTransBegin().
FLM_DB_TRANS_COMMIT  FlmDbTransCommit().
FLM_DB_UNLOCK  FlmDbUnlock().
FLM_INDEX_GET_NEXT  FlmIndexGetNext().
FLM_INDEX_STATUS  FlmIndexStatus().
FLM_INDEX_RESUME  FlmIndexResume().
FLM_INDEX_SUSPEND  FlmIndexSuspend().
FLM_KEY_RETRIEVE  FlmKeyRetrieve().
FLM_RESERVE_NEXT_DRN  FlmReserveNextDrn().
FLM_RECORD_ADD  FlmRecordAdd().
FLM_RECORD_MODIFY  FlmRecordModify().
FLM_RECORD_DELETE  FlmRecordDelete().
FLM_RECORD_RETRIEVE  FlmRecordRetrieve().

enum eMaintAction
 

Types of actions the background maintenance thread may currently be doing.

Enumerator:
FLM_MAINT_IDLE  Thread is idle.
FLM_MAINT_LOOKING_FOR_WORK  Thread is looking for work to do.
FLM_MAINT_WAITING_FOR_LOCK  Thread is waiting to get the database lock.
FLM_MAINT_ENDING_TRANS  Thread is committing an update transaction.
FLM_MAINT_TERMINATED  Thread is not currently running.
FLM_MAINT_FREEING_BLOCKS  Thread is freeing blocks.

enum eRestoreActionType
 

Actions that an application may want to tell FlmDbRestore() to take during a restore operation.

These action codes are returned from the F_Restore::status() method.

Enumerator:
RESTORE_ACTION_CONTINUE  Continue restore.
RESTORE_ACTION_STOP  Abort the restore.
RESTORE_ACTION_SKIP  Skip the current operation. NOTE: FlmDbRestore does not currently do anything if this code is returned.
RESTORE_ACTION_RETRY  Retry the operation. This should only be returned when the F_Restore::status() method passes an eRestoreStatusType::RESTORE_ERROR and the application wants FlmDbRestore() to retry whatever it was that caused the error.

enum eRestoreStatusType
 

Restore status types reported through the F_Restore::status() method.

Enumerator:
RESTORE_BEGIN_TRANS  Restoring a FlmDbTransBegin() operation. pvValue1 is a FLMUINT that contains the transaction start time.
RESTORE_COMMIT_TRANS  Restoring a FlmDbTransCommit() operation.
RESTORE_ABORT_TRANS  Restoring a FlmDbTransAbort() operation.
RESTORE_ADD_REC  Restoring a FlmRecordAdd() operation. pvValue1 is a FLMUINT that contains the container number. pvValue2 is a FLMUINT that contains the DRN. pvValue3 is a FlmRecord * that points to the record object to be added.
RESTORE_DEL_REC  Restoring a FlmRecordDelete() operation. pvValue1 is a FLMUINT that contains the container number. pvValue2 is a FLMUINT that contains the DRN.
RESTORE_MOD_REC  Restoring a FlmRecordModify() operation. pvValue1 is a FLMUINT that contains the container number. pvValue2 is a FLMUINT that contains the DRN. pvValue3 is a FlmRecord * that points to the modified record object.
RESTORE_RESERVE_DRN  Restoring a FlmReserveNextDrn() operation. pvValue1 is a FLMUINT that contains the container number. pvValue2 is a FLMUINT that contains the DRN that was reserved.
RESTORE_INDEX_SET  Restoring index set of records operation. pvValue1 is a FLMUINT that contains the index number. pvValue2 is a FLMUINT that contains the start DRN to be indexed. pvValue3 is a FLMUINT that contains the end DRN to be indexed.
RESTORE_PROGRESS  Report restore progress. pvValue1 is a BYTE_PROGRESS *.
RESTORE_REDUCE  Restoring a FlmDbReduceSize() operation. pvValue1 is a FLMUINT that contains the count of blocks reduced.
RESTORE_UPGRADE  Restoring a FlmDbUpgrade() operation. pvValue1 is a FLMUINT that contains the old version being upgraded from. pvValue2 is a FLMUINT that contains the new version being upgraded to.
RESTORE_ERROR  Report an error that occurred during the restore. pvValue1 is a RCODE that contains the error which occurred.
RESTORE_INDEX_SUSPEND  Restoring a FlmIndexSuspend() operation. pvValue1 is a FLMUINT that contains the index number.
RESTORE_INDEX_RESUME  Restoring a FlmIndexResume() operation. pvValue1 is a FLMUINT that contains the index number.
RESTORE_BLK_CHAIN_DELETE  Restoring a block chaine delete operation - deleting blocks from an index or container. pvValue1 is a FLMUINT that contains the DRN of the record in the tracker that is being used to track this operation. pvValue2 is a FLMUINT that contains the number of blocks to delete. pvValue3 is a FLMUINT that contains the block address of the last block that was deleted.
RESTORE_WRAP_KEY  Restoring a FlmDbWrapKey() operation. pvValue1 is a FLMUINT that contains the length of the database key.
RESTORE_ENABLE_ENCRYPTION  Restoring a FlmEnableEncryption() operation. pvValue1 is a FLMUINT that contains the length of the database key.
RESTORE_CONFIG_SIZE_EVENT  Restoring a FlmSetSizeEventThreshold() operation. pvValue1 is a FLMUINT ....

enum eStatusType
 

Status types returned in the general purpose status callback function (STATUS_HOOK).

Enumerator:
FLM_INDEXING_STATUS  Reports indexing progress. pvParm1 is a FLMUINT that contains the last DRN that was indexed.
FLM_DELETING_STATUS  Reports progress of deleting an index or container. pvParm1 is a FLMUINT that contains the the number of blocks deleted so far. pvParm2 is a FLMUINT that contains the database block size.
FLM_SWEEP_STATUS  Reports the progress of a call to FlmDbSweep(). pvParm1 is a pointer to a SWEEP_INFO structure. pvParm2 is a FLMUINT that indicates why the callback is being called. It may be one of the following:
  • EACH_CONTAINER - callback happens once for each container that is traversed
  • EACH_RECORD - callback happens once for each record that is read
  • EACH_FIELD - callback happens for each field in the record
  • EACH_CHANGE - callback happens whenever a field definition that was marked as check is changed to unused, or whenever a field that was marked as purged is deleted.
FLM_CHECK_STATUS  Reports status of a database check - called from within FlmDbCheck(). This is returned to the callback function that is passed into FlmDbCheck(). pvParm1 is a pointer to a DB_CHECK_PROGRESS structure.
FLM_SUBQUERY_STATUS  Reports status of query processing. This is returned to the callback function that is set by calling FlmCursorConfig() with the eCursorConfigType::FCURSOR_SET_STATUS_HOOK option. pvParm1 is a pointer to a FCURSOR_SUBQUERY_STATUS structure. pvParm2 is a FLMBOOL that indicates whether a particular subquery is finished processing or not. TRUE is returned if it is finished, FALSE if not.
FLM_DB_COPY_STATUS  Reports status of a database copy - called from within FlmDbCopy(). This is returned to the callback function that is passed into FlmDbCopy(). pvParm1 is a pointer to a DB_COPY_INFO structure.
FLM_REBUILD_STATUS  Reports the status of a database rebuild operation - called from within FlmDbRebuild(). This is returned to the callback function that is passed into FlmDbRebuild(). pvParm1 is a pointer to a REBUILD_INFO structure.
FLM_PROBLEM_STATUS  Reports corruption found by FlmDbCheck(). This is returned to the callback fnction that that is passed into FlmDbCheck(). pvParm1 is a pointer to a CORRUPT_INFO structure. pvParm2 is a FLMBOOL *. If non-NULL, it means that this particular corruption is a logical index corruption that FlmDbCheck() can probably repair. The callback function should return a TRUE if it wants FlmDbCheck() to repair the corruption, FALSE otherwise.
FLM_CHECK_RECORD_STATUS  Reports each non-dictionary record found by FlmDbRebuild(). This is returned to the callback function that is passed into FlmDbRebuild(). It is only reported during the phase when FlmDbRebuild() is collecting dictionary records. pvParm1 is a pointer to a CHK_RECORD structure. The purpose of this status callback is to allow an application to extract dictionary information from non-dictionary records and supply them to FLAIM to inject into the dictionary it is rebuilding. This allows an application a backup mechanism for creating needed dictionary records if those records cannot be recovered from the dictionary container.
FLM_EXAMINE_RECORD_STATUS  Reports each non-dictionary record that is recovered by FlmDbRebuild(). This is returned to the callback function that is passed into FlmDbRebuild(). It is only reported during the phase when FlmDbRebuild() is recovering non-dictionary records. pvParm1 is a pointer to a CHK_RECORD structure. This callback status gives an applicatoin an opportunity to examine each non-dictionary record that is recovered - usually so that the application can collect whatever information it might need to as records are recovered. In this way, the application is not required to make another pass through the recovered records in the rebuilt database if it wants to extract information from the records that were recovered.
FLM_DB_UPGRADE_STATUS  Reports the status of a database upgrade operation - called from within FlmDbUpgrade(). This is returned to the callback funcgtion that is passed into FlmDbUpgrade(). pvParm1 is a pointer to a DB_UPGRADE_INFO structure.
FLM_DB_BACKUP_STATUS  Reports status of a backup - called from within FlmDbBackup(). This is returned to the callback function that is passed into FlmDbBackup(). pvParm1 is a pointer to a DB_BACKUP_INFO structure.
FLM_DB_RENAME_STATUS  Reports status of a rename - called from within FlmDbRename(). This is returned to the callback function that is passed into FlmDbRename(). pvParm1 is a pointer to a DB_RENAME_INFO structure.
FLM_DELETING_KEYS  Reports status of removing keys from an index that spans multiple containers. This is called when a container is deleted that the index spans. When that happens, all keys in the index that point to records in the container must be deleted from the index. This callback status reports the progress of removing those keys. pvParm1 is a FLMUINT that contains the index number whose keys are being removed. pvParm2 is a FLMUINT that contains the total number of elements that have been traversed in the index so far. The callback function that is called is the callback function that is registered when FlmSetStatusHook() is called to set the database handle's STATUS_HOOK callback function.
FLM_REBUILD_ADD_DICT_REC_STATUS  Called from within FlmDbRebuild() prior to adding a dictionary record to the dictionary container in the rebuilt database. This gives an application an opportunity to modify the dictionary record before it is added to the dictionary. pvParm1 is a pointer to the FlmRecord object that is to be added to the dictionary.

enum FBackupType
 

Types of backups supported by FLAIM. This type is passed into FlmDbBackupBegin().

Enumerator:
FLM_FULL_BACKUP  Full backup.
FLM_INCREMENTAL_BACKUP  Incremental backup.

enum FEventCategory
 

Event categories that an application can register to catch - see FlmRegisterForEvent().

Enumerator:
F_EVENT_LOCKS  Catch all database lock events.
F_EVENT_UPDATES  Catch all transaction and update event events.
F_EVENT_SIZE  Catch all size threshold events.

enum FEventType
 

Types of events returned to registered event handling functions.

See FlmRegisterForEvent() for information on how to register an event handling function.

Enumerator:
F_EVENT_LOCK_WAITING  Thread waiting for lock to be granted, pvEventData1 == database handle, pvEventData2 == thread id.
F_EVENT_LOCK_GRANTED  Lock granted to thread, pvEventData1 == database handle, pvEventData2 == thread id.
F_EVENT_LOCK_SUSPENDED  Thread suspended waiting for lock to be granted, pvEventData1 == database handle, pvEventData2 == thread id.
F_EVENT_LOCK_RESUMED  Lock granted to suspended thread, thread resumed, pvEventData1 == database handle, pvEventData2 == thread id.
F_EVENT_LOCK_RELEASED  Lock released by thread, pvEventData1 == database handle, pvEventData2 == thread id.
F_EVENT_LOCK_TIMEOUT  Thread timed out waiting for lock, pvEventData1 == database handle, pvEventData2 == thread id.
F_EVENT_BEGIN_TRANS  Transaction started, pvEventData1 == FLM_TRANS_EVENT *.
F_EVENT_COMMIT_TRANS  Transaction committed, pvEventData1 == FLM_TRANS_EVENT *.
F_EVENT_ABORT_TRANS  Transaction aborted, pvEventData1 == FLM_TRANS_EVENT *.
F_EVENT_ADD_RECORD  Record added to database, pvEventData1 == FLM_UPDATE_EVENT *.
F_EVENT_MODIFY_RECORD  Record modified in database, pvEventData1 == FLM_UPDATE_EVENT *.
F_EVENT_DELETE_RECORD  Record deleted from database, pvEventData1 == FLM_UPDATE_EVENT *.
F_EVENT_RESERVE_DRN  DRN reserved in database, pvEventData1 == FLM_UPDATE_EVENT *.
F_EVENT_INDEXING_COMPLETE  Background indexing status, pvEventData1 (FLMUINT) == index number, pvEventData2 (FLMUINT) == last drn indexed, if zero indexing is complete and the index is now online.
F_EVENT_RFL_SIZE  RFL size threshold has been exceeded, pvEventData1 == FLM_RFL_SIZE_EVENT *.

enum FlmLogMessageType
 

Categories of messages that FLAIM can log and that an application can request to receive.

Enumerator:
FLM_QUERY_MESSAGE  Query information is logged using this message type.
FLM_TRANSACTION_MESSAGE  Transactional messages, including updates.
FLM_GENERAL_MESSAGE  General category of messages - anything not belonging to the other message categories.

enum qOptTypes
 

Sub-query optimization types.

Enumerator:
QOPT_USING_INDEX  Sub-query was optimized using an index.
QOPT_USING_PREDICATE  Sub-query was optimized using an application-defined predicate.
QOPT_SINGLE_RECORD_READ  Sub-query was optimized to retrieve a single record.
QOPT_PARTIAL_CONTAINER_SCAN  Sub-query was optimized to scan through a subset of records in a container.
QOPT_FULL_CONTAINER_SCAN  Sub-query was optimized to scan through all of the records in a container.

enum QTYPES
 

Query value types and operators.

Enumerator:
FLM_BOOL_VAL  1 - Boolean value.
FLM_UINT32_VAL  2 - 32 bit unsigned integer value.
FLM_INT32_VAL  3 - 32 bit signed integer value.
FLM_REAL_VAL  4 - Real number value. NOTE: Not currently supported.
FLM_REC_PTR_VAL  5 - DRN value.
FLM_UINT64_VAL  6 - 64 bit unsigned integer value.
FLM_INT64_VAL  7 - 64 bit signed integer value.
FLM_BINARY_VAL  9 - Binary value.
FLM_STRING_VAL  10 - ASCII string value.
FLM_UNICODE_VAL  11 - Unicode string value.
FLM_TEXT_VAL  12 - Internal FLAIM string value.
FLM_AND_OP  100 - Logical AND operator.
FLM_OR_OP  101 - Logical OR operator.
FLM_NOT_OP  102 - Logical NOT operator.
FLM_EQ_OP  103 - Equals comparison operator.
FLM_MATCH_OP  104 - String match comparison operator.
FLM_MATCH_BEGIN_OP  105 - Sring match-begin comparison operator.
FLM_MATCH_END_OP  106 - String match-end comparison operator.
FLM_CONTAINS_OP  107 - String contains comparison operator.
FLM_NE_OP  108 - Not equal comparison operator.
FLM_LT_OP  109 - Less than comparison operator.
FLM_LE_OP  110 - Less than or equal comparison operator.
FLM_GT_OP  111 - Greater than comparison operator.
FLM_GE_OP  112 - Greater than or equal comparison operator.
FLM_BITAND_OP  113 - Bitwise-AND arithmetic operator.
FLM_BITOR_OP  114 - Bitwise-OR arithmetic operator.
FLM_BITXOR_OP  115 - Bitwise-XOR arithmetic operator.
FLM_MULT_OP  116 - Multiply arithmetic operator.
FLM_DIV_OP  117 - Divide arithmetic operator.
FLM_MOD_OP  118 - Modulo arithmetic operator.
FLM_PLUS_OP  119 - Addition arithmetic operator.
FLM_MINUS_OP  120 - Subtraction arithmetic operator.
FLM_NEG_OP  121 - Unary minus (negative) arithmetic operator.
FLM_LPAREN_OP  122 - Left parentheses.
FLM_RPAREN_OP  123 - Right parentheses.


Function Documentation

FLMEXP const char* FLMAPI FlmVerifyErrToStr eCorruptionType  eCorruption  ) 
 

Return an error string for a corruption code.

Parameters:
eCorruption  Corruption code.


Generated on Wed Oct 4 12:11:42 2006 for FLAIM by  doxygen 1.4.6