>>-DEALLOCATE COLLECTION--:variable----------------------------><
Element | Description | Restrictions | Syntax |
---|---|---|---|
variable | Name that identifies a typed or untyped collection variable for which to deallocate memory | Must be the name of an ESQL/C collection variable that has already been allocated | Name must conform to language-specific rules for names of variables |
The DEALLOCATE COLLECTION statement frees all the memory that is associated with the ESQL/C collection variable that variable identifies. You must explicitly release memory resources for a collection variable with DEALLOCATE COLLECTION. Otherwise, deallocation occurs automatically at the end of the program.
The DEALLOCATE COLLECTION statement releases resources for both typed and untyped collection variables.
If you deallocate a nonexistent collection variable or a variable that is not an ESQL/C collection variable, an error results. Once you deallocate a collection variable, you can use the ALLOCATE COLLECTION to reallocate resources and you can then reuse a collection variable.
This example shows how to deallocate resources with the DEALLOCATE COLLECTION statement for the untyped collection variable, a_set:
EXEC SQL BEGIN DECLARE SECTION; client collection a_set; EXEC SQL END DECLARE SECTION; . . . EXEC SQL allocate collection :a_set; . . . EXEC SQL deallocate collection :a_set;
Related example: refer to the collection variable example in PUT .
Related statements: ALLOCATE COLLECTION and DEALLOCATE ROW
For a discussion of collection data types, see the IBM Informix ESQL/C Programmer's Manual.