JET_ERRCAT

Applies to: Windows | Windows Server

JET_ERRCAT

The JET_ERRCAT group of constants describes higher-level classifications or categories of errors. This group of constants enables applications to define default treatment for a classification of errors, rather than handling each error case individually. It also ensures that the application does not have to handle new error conditions that are included in existing classifications.

Note: This documentation is based on a preliminary release of the Extensible Storage Engine. This information is subject to change.

The JET_ERRCAT constants are arranged in a specific hierarchy of conditions and subconditions, as follows:

|--- Error |--- Operation(al) | |--- Fatal | |--- IO | |--- Resource | |--- Memory | |--- Quota | |--- Disk | |--- Data | |--- Corruption | |--- Inconsistent | |--- Fragmentation | |--- Api |--- Usage |--- State

The following table lists the JET_ERRCAT constants and provides a description and recovery information, as applicable.

Constant/value

Description

Recovery

JET_errcatUnknown 0

An invalid error category.

N/A.

JET_errcatError 1

The top level category (no errors should be of this class).

See the specific error constants.

JET_errcatOperation 2

Represents errors that can happen at any time due to uncontrollable conditions and are often temporary. See subcategories if specified.

Retry and if the error continues, inform the operator.

JET_errcatFatal 3

Represents fatal errors that, when they occur, create a risk that ESE cannot continue in a safe (often transactional) way, and data may become corrupted.

Restart the instance or process. If the problem persists, inform the operator.

JET_errcatIO 4

Represents IO errors, which come from the operating system, and are out of ESE's control. This type of error may be temporary.

Retry, and if the error continues, ask the operator to check the disk.

JET_errcatResource 5

Represents a category of errors related to lack of resource conditions.

See subcategories.

JET_errcatMemory 6

Represents an error caused by lack of memory.

Retry after a period of time, free up memory, or quit.

JET_errcatQuota 7

Certain "specialty" resources are in pools of a certain size, making it easier to detect leaks of these resources.

The application should Assert() to detect these issues during development . However, in retail code, the application should treat this as a memory error.

JET_errcatDisk 8

Represents an error caused by lack of disk space.

Retry later to determine whether more disk space is available, or ask the operator to free some disk space.

JET_errcatData 9

Represents a top-level category for errors related to data.

See subcategories.

JET_errcatCorruption 10

Represents a corruption issue, which is often permanent without corrective action.

Restore from backup by using the ESE utilities repair operation (this operation restores only the data that is left/lossy). Also when the recovery(JetInit) method is used, recovery can be performed by allowing data loss (for more information, see JET_bitReplayIgnoreLostLogs.

JET_errcatInconsistent 11

Represents an error in which the database and/or log files are in a state that is inconsistent and cannot be reconciled. This error might be caused by application/administrator mishandling.

Restore from backup by using the ESE utilities repair operation (which only restores the data that is left/lossy). Also in the case of the recovery(JetInit) operation, recovery can be performed by allowing data loss (for more information, see JET_bitReplayIgnoreLostLogs.

JET_errcatFragmentation 12

Represents a class of errors in which some persisted internal resource ran out.

For database errors, offline defragmentation will fix the problem. For the log files, first recover all attached databases to a clean shutdown, and then delete all the log files and the checkpoint.

JET_errcatApi 13

See subcategories.

See subcategories.

JET_errcatUsage 14

Represents a usage error. The client code did not pass the correct arguments to the JET API. This error will persist with retry.

Client code should use the Assert() method to ensure that this class of errors is not returned, so issues can be caught during development. In retail, the application should notify the operator about the error.

JET_errcatState 15

Represents a class of messages that the API can return to describe the state of the database. For example, the JetSeek() method might return JET_errRecordNotFound when the requested record was not found.

Varies based on the API.

JET_errcatObsolete 16

Represents errors that are from a previous version of the engine. These errors should not be returned by the current engine.

Unknown.

JET_errcatMax 17

A constant that indicates the end of the enumeration.

N/A.

Requirements

Requirement Value

Client

Requires Windows 8.

Server

Requires Windows 8 Server.

Header

Declared in Esent.h.