| Lists: | pgsql-committers | 
|---|
| From: | tgl(at)postgresql(dot)org (Tom Lane) | 
|---|---|
| To: | pgsql-committers(at)postgresql(dot)org | 
| Subject: | pgsql: Fix incorrect logic in plpgsql for cleanup after evaluation of | 
| Date: | 2010-08-09 18:50:45 | 
| Message-ID: | [email protected] | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Lists: | pgsql-committers | 
Log Message:
-----------
Fix incorrect logic in plpgsql for cleanup after evaluation of non-simple
expressions.  We need to deal with this when handling subscripts in an array
assignment, and also when catching an exception.  In an Assert-enabled build
these omissions led to Assert failures, but I think in a normal build the
only consequence would be short-term memory leakage; which may explain why
this wasn't reported from the field long ago.
Back-patch to all supported versions.  7.4 doesn't have exceptions, but
otherwise these bugs go all the way back.
Heikki Linnakangas and Tom Lane
Tags:
----
REL8_2_STABLE
Modified Files:
--------------
    pgsql/src/pl/plpgsql/src:
        pl_exec.c (r1.180.2.13 -> r1.180.2.14)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_exec.c?r1=1.180.2.13&r2=1.180.2.14)
    pgsql/src/test/regress/expected:
        plpgsql.out (r1.51 -> r1.51.2.1)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/plpgsql.out?r1=1.51&r2=1.51.2.1)
    pgsql/src/test/regress/sql:
        plpgsql.sql (r1.44 -> r1.44.2.1)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/plpgsql.sql?r1=1.44&r2=1.44.2.1)