Informix Error -26060: Procedure was created with an older version of the engine and must be dropped and created again in order to work properly.
Cause and resolution
Procedure was created with an older version of the engine and must be dropped and created again in order to work properly.
This procedure was created with an older version of the engine and contains statements like CREATE TRIGGER, CREATE TABLE with fragmentation expressions, ALTER TABLE or CREATE TABLE with constraint expressions or nested CREATE PROCEDURE statements. Such procedures must be dropped and created again using the current engine.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-26060 fires when an SPL procedure created under an older engine version contains constructs the current engine can no longer run as originally compiled — per the official guidance.
- The procedure contains
CREATE TRIGGER,CREATE TABLEwith fragmentation expressions,ALTER TABLE/CREATE TABLEwith constraint expressions, or nestedCREATE PROCEDUREstatements, per the official guidance — the direct, only cause; such procedures need recompiling under the current engine.
Solutions / Resolution
- Drop and re-create the procedure using the current engine, per the official guidance.
Examples
Recreating an old procedure
DROP PROCEDURE old_proc;
CREATE PROCEDURE old_proc()
...
END PROCEDURE;
Diagnostic Checks
- Check the procedure's body for
CREATE TRIGGER, fragmentation/constraint expressions, or nestedCREATE PROCEDURE, and drop/recreate it under the current engine.
Related Errors / Related Topics
- -26061 — "Procedure (%s) was created with an older version of the server and must be dropped and recreated again in order to work properly." The same condition, naming the specific procedure and using "server" rather than "engine."
A procedure created under an older engine version needs to be dropped and recreated under the current engine.