Site icon EfmSoft

What does HRESULT 0xC80005EA (hrTaggedNotNULL) mean?

 
Previous Next
hrColumnCannotIndex hrNoCurrentIndex

hrTaggedNotNULL

Where the operation crossed the contract

hrTaggedNotNULL means a tagged-column operation used null semantics that are not valid for this representation or engine version.

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

The key comparison is: hrNullInvalid is ordinary column nullability; this result is specific to tagged-column storage semantics. The first useful observation is to capture column flags, itag sequence, grbits, and whether the caller intended deletion, zero length, or null.

Reconstruct the engine state

  • Code-specific observation: capture column flags, itag sequence, grbits, and whether the caller intended deletion, zero length, or null.
  • the complete row-size contribution from fixed, variable, tagged, and long-value data; associate it with this result rather than with a later generic exception.
  • JET_COLUMNDEF fields, flags, code page, maximum length, and column ID origin; associate it with this result rather than with a later generic exception.
  • the encoded value length, null/empty state, and itag sequence.

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 conditiona tagged-column operation used null semantics that are not valid for this representation or engine version
First corrective directionuse the documented tagged-value delete/set operation and distinguish null from empty data

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 0xC80005EA, the Jet API name, and the current instance/session ownership.
  2. Verify the code-specific precondition: capture column flags, itag sequence, grbits, and whether the caller intended deletion, zero length, or null.
  3. Apply the targeted fix: use the documented tagged-value delete/set operation and distinguish null from empty data.

Do not collapse these codes together

hrRecordTooBigthe assembled row exceeds the record-size budget after fixed, variable, tagged, and key overhead are considered
hrTooManyColumnsa table definition has reached the supported number of columns
hrNullInvalidthe target column definition requires a non-null value

Actions that can hide or worsen the problem

  • Do not alter the column schema in place without a migration and rollback plan.

Technical references


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

Exit mobile version