Site icon EfmSoft

What does HRESULT 0xC80005E4 (hrColumnDuplicate) mean?

 
Previous Next
hrColumnNotFound hrColumn2ndSysMaint

hrColumnDuplicate

Where the operation crossed the contract

hrColumnDuplicate means column creation reused a name already defined in the table.

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

The key comparison is: hrObjectDuplicate is namespace-generic; this code isolates a column collision. The first useful observation is to enumerate column metadata and compare type, flags, code page, and maximum length with the desired definition. This evidence separates schema definition, row-size accounting, null semantics, multivalue selection, and stale column IDs.

Reconstruct the engine state

The ESE objects in play

Diagnostic layercolumn schema, row-size accounting, tagged/multivalued storage, and column identifiers
Typical API surfaceJetAddColumn, JetDeleteColumn, JetSetColumn, JetRetrieveColumn, and JET_COLUMNDEF
Code-specific conditioncolumn creation reused a name already defined in the table
First corrective directionmake the migration idempotent only when the existing definition is semantically identical

Column IDs are metadata scoped to a table and should be refreshed after schema changes. Null, zero-length, deletion, and missing multivalue instances are distinct states.

Repair without destroying evidence

  1. Freeze the failing request context and record 0xC80005E4, the Jet API name, and the current instance/session ownership.
  2. Verify the code-specific precondition: enumerate column metadata and compare type, flags, code page, and maximum length with the desired definition.
  3. Apply the targeted fix: make the migration idempotent only when the existing definition is semantically identical.
  4. Before retrying the operation, reconcile column metadata, row layout, and the exact stored value state.

Do not collapse these codes together

hrColumnDoesNotFitthe field update cannot fit in the current record layout and remaining row budget
hrColumnInUsea schema change targets a column that an index or other active definition still depends on
hrColumnCannotIndexthe selected long-value or otherwise unsupported column cannot participate in an index key

Actions that can hide or worsen the problem

Technical references


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

Exit mobile version