Informix Error -859
Cause and resolution
"Distributions Only" is not meaningful in an update statistics LOW request.
You cannot specify the DISTRIBUTIONS ONLY option in the LOW mode of the UPDATE STATISTICS statement.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-859 fires when DISTRIBUTIONS ONLY is included on an UPDATE STATISTICS LOW statement — per
the official guidance, this combination isn't supported, the same general family of mode/clause
incompatibilities as -736's RESOLUTION/SAMPLING SIZE restriction.
DISTRIBUTIONS ONLYincluded on aLOW-modeUPDATE STATISTICSstatement, per the official guidance — sinceLOWmode doesn't build distributions at all (per -736's discussion), an option scoping the update to distributions specifically has nothing to apply to in that mode.- A statement copy-pasted from a
MEDIUM/HIGH-mode template, with the mode changed toLOWbut the now-inapplicableDISTRIBUTIONS ONLYclause left in place.
Solutions / Resolution
- Remove the
DISTRIBUTIONS ONLYclause, ifLOWmode is genuinely what's needed. - Change the mode to
MEDIUMorHIGH, if updating distributions specifically was actually the goal — those are the modes that build distributions at all.
Examples
The disallowed combination
UPDATE STATISTICS LOW DISTRIBUTIONS ONLY FOR TABLE orders;
-- -859: LOW mode doesn't build distributions at all
Corrected — remove the clause for LOW mode
UPDATE STATISTICS LOW FOR TABLE orders;
Or corrected — switch to a mode that builds distributions
UPDATE STATISTICS MEDIUM DISTRIBUTIONS ONLY FOR TABLE orders;
Diagnostic Checks
- Check whether
UPDATE STATISTICS LOWincludesDISTRIBUTIONS ONLY, and either remove the clause or switch toMEDIUM/HIGHmode.
Related Errors / Related Topics
- -736 — "The RESOLUTION and SAMPLING SIZE clauses are not valid for the LOW mode of the
UPDATE STATISTICS statement." Same family of
LOW-mode clause incompatibilities. - -738 — "DROP DISTRIBUTIONS is only valid in LOW mode." A related
UPDATE STATISTICSmode-compatibility restriction, going the opposite direction —DROP DISTRIBUTIONSrequiresLOW, whileDISTRIBUTIONS ONLYis incompatible with it.
Same family of LOW-mode clause restrictions as -736 — LOW mode never builds distributions,
so distribution-specific clauses (other than DROP DISTRIBUTIONS, per -738) don't apply there.