Kbase P103515: Memory leak when using ESQL/C client
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  22/04/2005 |
|
Status: Unverified
FACT(s) (Environment):
Progress 9.1D
SYMPTOM(s):
Memory leak when using ESQL/C client
ESQL/C client not releasing memory
C code probuilt into executable carries out deletes.
CHANGE:
Upgraded from v8 to v9
CAUSE:
Cursors not being released during deletes. This is a known issue being investigated by Development.
FIX:
The workaround would be to modify the C code to make an additional call to clear the cursor. For example -
1. Create a new API call (tpe_free_cursor):
tpe_sqlexecute(tpe_get_curtmhdl(),tpe_get_curdbhdl(),tpe_cursor,tpe_isqlda, &sqlca); SQLCODE = sqlca.sqlcode;
if (sqlca.sqlcode < 0)
{ goto err; }
2. Add the following one line to the C code, recompile & relink with C compiler:
tpe_free_cursor( &tpe_cursor);
PRO_SQLDA_Deallocate(tpe_isqlda);