Informix Error -33065: Cursor/statement id '<name>' is too long when prefixed by </name> module name.
Cause and resolution
Cursor/statement id '<name>' is too long when prefixed by </name> module name.
This message is only a warning. When you use the -local preprocessing option, cursor names and statement names are prefixed with a unique tag generated from the module name. (On UNIX, the inode number of the source program is used as the unique tag.) The combined length of the cursor or statement name and the unique tag should not exceed the maximum length for identifiers, which depends on the database server. In IBM Informix Dynamic Server 9.2 or later, the maximum length is 128 characters. In other IBM Informix database servers, the maximum length is 18 characters.
In the case of <name>, the combined length of the name and unique tag exceeds the maximum length for identifiers. As a result, if the same name is used in a different source module, the two names might not be distinct, as the -local option requests. </name>
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-33065 is a preprocessor warning — per the official guidance, it fires when using the
-local option: cursor/statement names get prefixed with a unique tag derived from the
module name (the source file's inode number on UNIX), and the combined name+tag length
exceeds the target server's maximum identifier length (128 characters on IDS 9.2+, 18 on
earlier servers). As a result, the same name used in a different source module might not
stay distinct, defeating the purpose of -local.
- A cursor/statement name whose combined length with the
-localmodule tag exceeds the server's maximum identifier length, per the official guidance — the direct, only cause.
Solutions / Resolution
- Shorten the cursor/statement name so the combined name-plus-tag length fits within the server's identifier limit, per the official guidance's implication.
Examples
N/A
No specific triggering statement is documented beyond an over-length local-tagged identifier.
Diagnostic Checks
- Check the flagged name's length combined with the module tag, against the target server's maximum identifier length (128 or 18 characters).
Related Errors / Related Topics
- -33066 — "Cursor/statement ids id-1 and id-2 are not unique in first N characters
when prefixed by module name." A related
-local-tagging error, on two colliding names rather than one over-length name.
A -local-tagged cursor/statement name exceeded the server's identifier length limit —
shorten the name.