| Previous | Next |
| hrNoWriteLock | hrTableEmpty |
hrColumnSetNull
Operational meaning
hrColumnSetNull means a column update resulted in a NULL value as an explicit outcome.
The stored value is 0x8800042C (positive JET status 1068; 1068). 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_wrnColumnSetNull for the corresponding published JET condition.
The first useful distinction is that this is an update-side warning; hrColumnNull is normally observed while retrieving a NULL value. Start by recording the column definition, set flags, input pointer and length, default rules, and whether the update was intended to delete the value.
Before altering files or retrying
- Code-specific observation: record the column definition, set flags, input pointer and length, default rules, and whether the update was intended to delete the value.
Comparison points
It specifically means that this is an update-side warning; hrColumnNull is normally observed while retrieving a NULL value. Related values below can appear in the same workflow but require a different response:
hrColumnNull | column retrieval found a genuine NULL value and therefore no payload bytes exist for that column |
|---|---|
hrBufferTruncated | the caller-provided output buffer did not hold the complete value even though the engine identified the value |
hrTooManyIO | the engine reached its outstanding-I/O throttle and refused to queue more storage work |
Objects and state involved
| Diagnostic layer | column NULL state, schema limits, and caller output-buffer contracts |
|---|---|
| Relevant API surface | JetRetrieveColumn, JetSetColumn, column enumeration, and schema creation |
| Code-specific condition | a column update resulted in a NULL value as an explicit outcome |
| Narrow corrective direction | confirm that NULL is intended, then keep the distinction from empty data through serialization and validation |
JET warnings can carry valid output state and must not be reduced to a boolean failure. NULL, empty, defaulted, and truncated values are distinct application states.
Recommended handling
- Record it,
0x8800042C, the API name, the current phase, and all live context or file owners. - Verify the condition by recording the column definition, set flags, input pointer and length, default rules, and whether the update was intended to delete the value.
- Apply only the targeted fix: confirm that NULL is intended, then keep the distinction from empty data through serialization and validation.
Acceptance criteria for a fix
A useful regression test should force the condition “a column update resulted in a NULL value as an explicit outcome”, call one documented API transition, and assert the exact HRESULT.
Actions that can make diagnosis worse
- Do not replace NULL with an empty value without an explicit data-model rule.
- Do not decode an undefined or partial buffer as a complete value.
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.
