Informix Error -26061: Procedure (%s) was created with an older version of the server and must be dropped and recreated again in order to work properly.
Cause and resolution
Procedure (%s) was created with an older version of the server and must be dropped and recreated again in order to work properly.
This procedure was created with an older version of the server and contains statements similar to: CREATE TRIGGER statements, CREATE TABLE statements with fragmentation expressions, ALTER TABLE or CREATE TABLE with constraint expressions or nested CREATE PROCEDURE statements. These types of procedures must be dropped and recreated again using the current server.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-26061 fires when the named SPL procedure was created under an older server version and contains constructs the current server 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 server.
Solutions / Resolution
- Drop and recreate the named procedure using the current server, per the official guidance.
Examples
Recreating an old procedure
DROP PROCEDURE old_proc;
CREATE PROCEDURE old_proc()
...
END PROCEDURE;
Diagnostic Checks
- Check the named procedure's body for
CREATE TRIGGER, fragmentation/constraint expressions, or nestedCREATE PROCEDURE, and drop/recreate it under the current server.
Related Errors / Related Topics
- -26060 — "Procedure was created with an older version of the engine and must be dropped and created again in order to work properly." The same condition, worded for "engine" rather than naming the specific procedure and using "server."
A named procedure created under an older server version needs to be dropped and recreated under the current server.