Informix Error -791
-791 Cannot find fragment for the row.
An error occurred while finding a fragment for the row. For an interval fragmented table or index, a failure occurred while evaluating the fragment position for the row.
Examine the data value in the row with the definition of your fragmentation strategy to verify that the row can be stored in one of the initial range fragments or the interval fragments.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-791 is the interval-fragmentation-specific analog of -772: it fires when the server can't evaluate which fragment (initial range or interval) a row's data belongs in — per the official guidance, the fix is to compare the row's actual data against the fragmentation strategy's definition.
- A row whose fragmentation-key value doesn't fit any initial range fragment and can't generate a valid interval fragment, per the official guidance — the direct, common cause.
- A fragmentation strategy with a logic gap, similar to -772's underlying cause, but specific to the interval-fragmentation mechanism's range/interval evaluation.
Solutions / Resolution
- Examine the row's data value against the fragmentation strategy's definition, per the official guidance, to verify it can be stored in one of the initial range fragments or the interval fragments.
- Check the interval fragmentation scheme's definition:
SELECT partn, evaltext FROM sysfragments WHERE tabid = (SELECT tabid FROM systables WHERE tabname = 'orders') AND fragtype = 'T'; -- review the interval fragmentation strategy's initial ranges and interval expression - Correct the row's value, or adjust the fragmentation strategy, once the mismatch is understood — the same general resolution shape as -772.
Examples
Comparing a row's value against the fragmentation strategy
-- Review the row's fragmentation-key value:
SELECT order_date FROM orders WHERE order_id = 42;
-- against the table's interval fragmentation strategy's initial
-- ranges and interval expression, to understand why it didn't fit.
Diagnostic Checks
- Compare the specific row's fragmentation-key value against the interval fragmentation strategy's initial ranges and interval definition.
Related Errors / Related Topics
- -772 — "Record/key doesn't qualify for any table/index fragment." The general form of this same underlying condition, for expression-based fragmentation rather than interval fragmentation specifically.
- -790 — "Cannot create interval fragment." A related interval-fragmentation error, about the automatic fragment-creation step itself failing, rather than the row simply not fitting the strategy.
The interval-fragmentation-specific analog of -772 — compare the row's value against the strategy's initial ranges and interval definition.