Informix error -208
Posted in 1991
Topics: Performance & Tuning, Error Codes & Troubleshooting, Connectivity: ESQL/C, 4GL & Embedded SQL
We are running Informix-ESQL 4.10 on a SUN 490 using Informix on-line as the back-end engine. We have a process which makes approximately 42 prepare calls and 16 declares of cursors. After doing a fair percentage of these statements the prepares start failing with sqlca.sqlcode = -208 (Memory allocation failed during query processing. Reduce the complexity of your query or program). If I reverse the order of the prepares a different one will fail and the one that had failed will work. Hence I suspect a limitation on the number of prepares as opposed to a problem with any one particular prepare. I recognize that I can free and re-prepare but this will incur a performance cost I'd rather not take. I also plan on restructuring my code so as to do all the prepares at start-up time so at least I know right away and not later if I have a problem (my process is a daemon and hence is up forever handling database requests). My questions are: 1. Has anyone out there had a similar problem? 2. Is there some rule of thumb for how many prepares, cursor declares are too many? 3. Any suggestions on work-arounds (I'd rather not break my daemon into separate smaller daemons or do frees and re-prepares but if that is all there is???) 4. Will my idea of doing all prepares and declares at initialization time guarantee that either I get the 208 or I don't or might something later overflow this resource? THANKS!! Jim Laur AT&T Bell Labs, Rm 3M-317, 307 Middletown-Lincroft Rd, Lincroft N.J. (908)576-4309 jel@lzatt.att.com uunet!att!lzatt!jel