Re: name I0000A95A_0C8866C1 .. been used
Posted in 1996
It is bug B31661, which has a complex ramifications. You need to read the release notes very carefully, looking up cursor name mangling, and the -global option. Succinctly, to retain the 4.1x behaviour where cursor names are private to the module in which they are declared, the 6.0x compilers have to map the cursor names somehow, which is where the 18-character name(s) come from. The mapping isn't perfect -- and is more imperfect than is really desirable. There are 240 pairs of two-letter suffixes on statement names which are guaranteed to produce the same names -- I documented these a year or more ago in a posting to c.d.i. Yours, Jonathan Leffler (johnl@informix.com) #include <disclaimer.h> }From: "Boldt, Thomas" <Tom@oncontact.com> }Date: Thu, 11 Jul 1996 12:19:53 -0500 }X-Informix-List-Id: <list.10653> } }While compiling a 4GL module "script.4gl" under 4GL 6.02.UC1 }for HP/UX I encountered this error: } }esqlc: "script.ec", line 11437: Error -33055: The name }I0000A95A_0C8866C1 has already been used. } }That part of "script.ec" looks like this: } }11452 pushquote( "select script_desc from gmscrpth where script_id = ?" }, 52); }11453 popquote(l_str,201); }11454 ixrsthwm(); }11455 $ prepare I000288D2_0C8866C1 from $l_str; }11456 status = sqlca.sqlcode; } }After finding and changing corresponding PREPARE statement id }in script.4gl from "st1a" to "stmt_1a" the error disappears. } }Can anyone explain what causes this error? PS: Thanks for the version information!