suche 36x36
  • Admin-Scout-small-Banner
           

    CURSOR Admin-Scout

    get the ultimate tool for Informix

    pfeil  
Latest versionsfixlist
14.10.xC10 FixList
12.10.xC16.X5 FixList
11.70.xC9.XB FixList
11.50.xC9.X2 FixList
11.10.xC3.W5 FixList
Have problems? - contact us.
Register for free anmeldung-x26
Contact form kontakt-x26

Informix - Problem description

Problem IT33917 Status: Closed

CONTINOOUS PREPARE/DECLARE/FREE OF AN STATEMENT IN AN FOREACH LOOP IN SPL
CAUSE A LINEAR MEMORY CONSUMPTION IN SESSION RALLOC

product:
INFORMIX SERVER / 5725A3900 / C10 - IDS 12.10
Problem description:
When I have the following logic in an Stored Procedure

create procedure sp ()

foreach select into val1, val2 -- select returns 15 Mio ++ rows
       let variable = string|| string || string || val1 ||
string .... || val2
       prepare ID from variable
       declare cursor on ID
...
       free cursor
       free ID
end foreach

end procedure;

and execute this SP, it will continoously growth on sessions
RALLOC part until SHMTOTAL or
systems available memory.
Problem Summary:
****************************************************************
* USERS AFFECTED:                                              *
* Users of Informix Server prior to 12.10.xC15 and 14.10.xC5.  *
****************************************************************
* PROBLEM DESCRIPTION:                                         *
* When the following logic is in a Stored Procedure:           *
*                                                              *
* create procedure sp ()                                       *
*                                                              *
* foreach select into val1, val2 -- select returns 15 Mio ++   *
* rows                                                         *
*        let variable = string|| string || string || val1 ||   *
* string .... || val2                                          *
*        prepare ID from variable                              *
*        declare cursor on ID                                  *
* ...                                                          *
*        free cursor                                           *
*        free ID                                               *
* end foreach                                                  *
*                                                              *
* end procedure;                                               *
*                                                              *
* and the stored procedure is executed, it will continuously   *
* growth in a sessions                                         *
* RALLOC part until SHMTOTAL or the systems available memory.  *
****************************************************************
* RECOMMENDATION:                                              *
* Upgrade to Informix Server 12.10.xC15 (when available) or    *
* 14.10.xC5.                                                   *
****************************************************************
Local Fix:
Solution
Workaround
****************************************************************
* USERS AFFECTED:                                              *
* Users of Informix Server prior to 12.10.xC15 and 14.10.xC5.  *
****************************************************************
* PROBLEM DESCRIPTION:                                         *
* When the following logic is in a Stored Procedure:           *
*                                                              *
* create procedure sp ()                                       *
*                                                              *
* foreach select into val1, val2 -- select returns 15 Mio ++   *
* rows                                                         *
*        let variable = string|| string || string || val1 ||   *
* string .... || val2                                          *
*        prepare ID from variable                              *
*        declare cursor on ID                                  *
* ...                                                          *
*        free cursor                                           *
*        free ID                                               *
* end foreach                                                  *
*                                                              *
* end procedure;                                               *
*                                                              *
* and the stored procedure is executed, it will continuously   *
* growth in a sessions                                         *
* RALLOC part until SHMTOTAL or the systems available memory.  *
****************************************************************
* RECOMMENDATION:                                              *
* Upgrade to Informix Server 12.10.xC15 (when available) or    *
* 14.10.xC5.                                                   *
****************************************************************
Comment
Fixed in Informix Server 12.10.xC15 and 14.10.xC5.
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
14.08.2020
04.02.2021
04.02.2021
Problem solved at the following versions (IBM BugInfos)
Problem solved according to the fixlist(s) of the following version(s)
Informix EditionsInformix Editions
Informix Editions
DocumentationDocumentation
Documentation
IBM NewsletterIBM Newsletter
IBM Newsletter
Current BugsCurrent Bugs
Current Bugs
Bug ResearchBug Research
Bug Research
Bug FixlistsBug Fixlists
Bug Fixlists
Release NotesRelease Notes
Release Notes
Machine NotesMachine Notes
Machine Notes
Release NewsRelease News
Release News
Product LifecycleProduct Lifecycle
Lifecycle
Media DownloadMedia Download
Media Download