| Previous | Next |
| hrwrnDataHasChanged | hrFileOpenReadOnly |
hrKeyChanged
Operational meaning
hrKeyChanged means cursor movement or update caused the current index key to change.
The stored value is 0x88000652 (positive JET status 1618; 1618). The HRESULT carries a warning, so the call may have useful output or a valid cursor state that must be inspected. Current ESE documentation uses JET_wrnKeyChanged for the corresponding published JET condition.
The first useful distinction is that the record may still exist; the warning says its ordering key changed, not that it was deleted. Start by recording old and new key values, index identity, update columns, transaction level, and post-update cursor position.
Before altering files or retrying
- Code-specific observation: record old and new key values, index identity, update columns, transaction level, and post-update cursor position.
Comparison points
It specifically means that the record may still exist; the warning says its ordering key changed, not that it was deleted. Related values below can appear in the same workflow but require a different response:
hrSeekNotEqual | a less-than-or-equal or greater-than-or-equal seek positioned the cursor without finding an exact key match |
|---|---|
hrTableEmpty | the table opened successfully but contains no current record for navigation |
hrFLDKeyTooBig | an index key exceeded the legacy key budget and was truncated rather than represented in full |
Objects and state involved
| Diagnostic layer | cursor position, current-record validity, and ordered index navigation |
|---|---|
| Relevant API surface | seek, move, range, key construction, table open, and post-update navigation |
| Code-specific condition | cursor movement or update caused the current index key to change |
| Narrow corrective direction | reseek or refresh range state before continuing ordered iteration |
A warning can leave the cursor positioned on a valid non-equal record. Cursor state must be rechecked after updates, deletes, and key changes.
Recommended handling
- Record it,
0x88000652, the API name, the current phase, and all live context or file owners. - Verify the condition by recording old and new key values, index identity, update columns, transaction level, and post-update cursor position.
- Apply only the targeted fix: reseek or refresh range state before continuing ordered iteration.
Actions that can make diagnosis worse
- Do not assume ordered iteration remains valid after an indexed key changes.
- Do not read columns before confirming a current record.
Technical references
- ESE warning table — API ordering, file semantics, warning/error interpretation, or recovery behavior relevant to this HRESULT.
- JET_ERR enumeration
- Open-source ESE implementation
Looking for a different code? Search another status or error code.
