| Previous | Next |
| hrColumnSetNull | hrCreateIndexFailed |
hrTableEmpty
State represented by this code
hrTableEmpty means the table opened successfully but contains no current record for navigation.
The stored value is 0x88000515 (positive JET status 1301; 1301). 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_wrnTableEmpty for the corresponding published JET condition.
The first useful distinction is that an empty table is not the same as a missing table, invalid table handle, or failed index selection. Start by capturing table identity, transaction snapshot, index selection, range restrictions, and the first move or seek result.
Data for a reproducible incident
- Code-specific observation: capture table identity, transaction snapshot, index selection, range restrictions, and the first move or seek result.
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 | the table opened successfully but contains no current record for navigation |
| Narrow corrective direction | treat empty as a normal dataset state and avoid reading columns until a move or seek establishes a record |
A warning can leave the cursor positioned on a valid non-equal record. Cursor state must be rechecked after updates, deletes, and key changes.
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.
Nearby ESE or AD backup states
It specifically means that an empty table is not the same as a missing table, invalid table handle, or failed index selection. 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 |
|---|---|
hrKeyChanged | cursor movement or update caused the current index key to change |
hrLogFileCorrupt | ESE detected structural or checksum corruption while reading a transaction log |
Next actions
- Record it,
0x88000515, the API name, the current phase, and all live context or file owners. - Verify the condition by capturing table identity, transaction snapshot, index selection, range restrictions, and the first move or seek result.
- Apply only the targeted fix: treat empty as a normal dataset state and avoid reading columns until a move or seek establishes a record.
Acceptance criteria for a fix
A useful regression test should force the condition “the table opened successfully but contains no current record for navigation”, call one documented API transition, and assert the exact HRESULT.
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.