Informix Error -773
-773 Expression required for new fragment.
When you add a fragment to an expression-based fragmentation strategy, you must specify an expression for the new fragment. Restate your SQL statement to include a fragment expression.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-773 fires when ALTER FRAGMENT ... ADD a new fragment to an expression-based fragmentation
strategy without supplying the new fragment's expression — per the official guidance, an
expression is required for every fragment in this strategy.
ALTER FRAGMENT ... ADDa fragment with no expression clause, per the official guidance — the direct, only cause, on a table using expression-based fragmentation.- A
REMAINDER-style addition attempted on a table that doesn't actually support a remainder fragment, confusing the syntax needed for expression-based fragmentation with theREMAINDERkeyword's own (expression-less) usage.
Solutions / Resolution
- Restate the statement to include a fragment expression, per the official guidance:
ALTER FRAGMENT ON TABLE orders ADD FRAGMENT new_dbspace (region = 'west'); - Confirm the table's actual fragmentation strategy before adding a fragment, since the
required syntax differs between expression-based and other strategies (round-robin, per -774,
takes no expression at all):
SELECT partn, evaltext FROM sysfragments WHERE tabid = (SELECT tabid FROM systables WHERE tabname = 'orders') AND fragtype = 'T'; -- review the fragmentation strategy for the table
Examples
The disallowed attempt
ALTER FRAGMENT ON TABLE orders ADD FRAGMENT new_dbspace;
-- -773: no expression supplied for an expression-based fragmentation strategy
Corrected
ALTER FRAGMENT ON TABLE orders ADD FRAGMENT new_dbspace (region = 'west');
Diagnostic Checks
- Confirm the table's fragmentation strategy is expression-based, and supply a matching expression for the new fragment.
Related Errors / Related Topics
- -772 — "Record/key doesn't qualify for any table/index fragment." A related fragmentation error, about existing rows not matching any fragment expression rather than a new fragment missing its expression.
- -774 — "Cannot specify fragment expressions with a round-robin fragmentation." The mirror-image restriction: an expression supplied where the strategy doesn't take one.
Expression-based fragmentation requires an expression for every fragment — confirm the table's strategy first, since round-robin (per -774) takes none at all.