Site icon EfmSoft

What does HRESULT 0xC8000644 (hrRecordClusteredChanged) mean?

 
Previous Next
hrNoCurrentRecord hrKeyDuplicate

hrRecordClusteredChanged

Interpretation in ESE terms

hrRecordClusteredChanged means an update attempted to change a clustered key in a way the engine cannot apply in place.

This is the legacy Directory Service backup/restore HRESULT form of JET_errRecordClusteredChanged (0xC8000644).

The key comparison is: hrKeyDuplicate is uniqueness failure; this code concerns changing the physical clustered identity. The first useful observation is to capture old and new clustered-key values, prepared update mode, index definition, and row dependencies. This evidence distinguishes failed lookup, lost cursor currency, deleted rows, invalid bookmarks, and prepared-update state.

The ESE objects in play

Diagnostic layercursor currency, bookmarks, prepared updates, and row lifecycle
Typical API surfaceJetMove, JetSeek, JetGetBookmark, JetGotoBookmark, JetPrepareUpdate, JetUpdate, and JetDelete
Code-specific conditionan update attempted to change a clustered key in a way the engine cannot apply in place
First corrective directiondelete/reinsert or migrate through a supported workflow when the clustered key must change

Preparing an update creates cursor state that must be completed or cancelled deliberately. Cursor currency can be invalidated by navigation, deletion, rollback, or concurrent changes.

Comparison with adjacent failures

hrNoCurrentRecordthe cursor is before-first, after-last, on a deleted row, or otherwise not positioned on a record
hrRecordDeletedthe cursor refers to a row that was deleted after it became the current record
hrInvalidBookmarka bookmark cannot be interpreted for the current table and index context

What to capture before retrying

Actions that can hide or worsen the problem

Operational response

  1. Freeze the failing request context and record 0xC8000644, the Jet API name, and the current instance/session ownership.
  2. Verify the code-specific precondition: capture old and new clustered-key values, prepared update mode, index definition, and row dependencies.
  3. Apply the targeted fix: delete/reinsert or migrate through a supported workflow when the clustered key must change.
  4. Before retrying the operation, reconcile cursor currency, row existence, bookmark validity, and prepared-update cleanup.

Technical references


Looking for a different code? Search another status or error code.

Exit mobile version