Re: error 439, please help
Posted in 1999
Hi Aris, The error message text says it all. Somewhere in your code is a sequential execution discontinuity. Either you are using setjmp/longjmp or you have an signal handler that is causing a SQL statement to be executed while another is already active, or, as is common, a signal handler that is used for recover and is calling longjmp(). If you do this you must stop any currently running SQL before issuing another statement in an interrupt handler or setjmp recovery block. Use the function sqldone() to test if a statement is in process and use sqlbreak() to stop it. Both functions are documented in the ESQL/C Programmers Manual in the ESQL/C Library Functions section. Art S. Kagel PS - I got your direct message and thought a response to CDI would be more generally useful. Aris A wrote: > > Hi All, > > Can comebody tell me about this error? We are using Informix online 7.22.UC2 > on SCO Unixware 7. > > __________________________________________________________ > > -439 > __________________________________________________________ > > Database server is currently processing an SQL task. > > You attempted to call an SQL routine or attempted to execute an SQL > statement within a signal handling function/routine or a callback > function/procedure. Use only the sqldone() and sqlbreak() library functions > inside your INFORMIX-ESQL/C callback function. Use only the ECO-SQD and > ECO-SQB library routines inside your ESQL/COBOL callback procedure. In > addition, if you want to unregister your callback function in > INFORMIX-ESQL/C, you can invoke the sqlbreakcallback() callback registration > function within your callback procedure. If you want to unregister your > callback procedure in ESQL/COBOL, you can invoke the ECO-SQBCB callback > registration routine within your callback procedure. > __________________________________________________________ > > Thanks, > > Aris