Informix Error -870
-870 Cannot specify duplicate remainder fragments.
You specified duplicate remainder fragments. Remove one of the remainder fragments from your SQL statement.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-870 fires when a fragmentation specification includes more than one REMAINDER fragment — per
the official guidance, only one is allowed.
REMAINDERspecified more than once in the same fragmentation specification — the direct, only cause.- A generated or copy-pasted fragmentation specification that duplicated a
REMAINDERclause along with other fragments.
Solutions / Resolution
- Remove one of the remainder fragments, per the official guidance, from the SQL
statement — keeping only a single
REMAINDERclause.
Examples
The disallowed duplicate
CREATE TABLE orders (order_id INT, region CHAR(10))
FRAGMENT BY EXPRESSION
(region = 'east') IN dbspace1,
REMAINDER IN dbspace2,
REMAINDER IN dbspace3;
-- -870: two REMAINDER fragments specified
Corrected
CREATE TABLE orders (order_id INT, region CHAR(10))
FRAGMENT BY EXPRESSION
(region = 'east') IN dbspace1,
REMAINDER IN dbspace2;
Diagnostic Checks
- Scan the fragmentation specification for more than one
REMAINDERclause.
Related Errors / Related Topics
- -772 — "Record/key doesn't qualify for any table/index fragment." A related fragmentation
error, about a missing
REMAINDERfragment rather than a duplicated one.
A straightforward duplicate REMAINDER clause — remove one, keeping only a single REMAINDER
fragment.