Informix Error -2994: The form has exceeded the maximum number of joins between tables.
Cause and resolution
The form has exceeded the maximum number of joins between tables.
A limit exists on the number of joins that can be specified. You must find a way to simplify the form.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-2994 fires when a form specifies more joins between tables than the form compiler supports — per the official guidance, this is a hard restriction on the number of joins.
- Too many joins between tables defined in the form, per the official guidance — the direct, only cause.
Solutions / Resolution
- Find a way to simplify the form, per the official guidance — for example, by reducing the number of joined tables or splitting the form.
Examples
Simplifying a heavily-joined form
Reduce the number of tables joined in one form by moving some lookups into the calling 4GL program instead of the form specification, or by denormalizing frequently-joined lookup values into the base table.
Diagnostic Checks
- Count the joins defined across
ATTRIBUTESandCOMPOSITES, and reduce them if the compiler reports this limit exceeded.
Related Errors / Related Topics
- -2993 — "There is a circular join path specified in the form." A related join-structure error, about the joins forming a cycle rather than simply exceeding the count limit.
- -2995 — "The form has exceeded the maximum number of tables contained in joins." A related join-limit error, about the number of tables involved rather than the number of joins.
The form defines too many joins between tables — simplify the form to reduce the join count.