Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

pgsql: Fix overly tense optimization of PLpgSQL_func_hashkey: we must


  • From: tgl(at)postgresql(dot)org (Tom Lane)
  • To: pgsql-committers(at)postgresql(dot)org
  • Subject: pgsql: Fix overly tense optimization of PLpgSQL_func_hashkey: we must
  • Date: Thu, 9 Oct 2008 16:35:07 +0000 (UTC)
  • Message-id: <20081009163507.4D0F57545A4@cvs.postgresql.org> <text/plain>

Log Message:
-----------
Fix overly tense optimization of PLpgSQL_func_hashkey: we must represent
the isTrigger state explicitly, not rely on nonzero-ness of trigrelOid
to indicate trigger-hood, because trigrelOid will be left zero when compiling
for validation.  The (useless) function hash entry built by the validator
was able to match an ordinary non-trigger call later in the same session,
thereby bypassing the check that is supposed to prevent such a call.
Per report from Alvaro.

It might be worth suppressing the useless hash entry altogether, but
that's a bigger change than I want to consider back-patching.

Back-patch to 8.0.  7.4 doesn't have the problem because it doesn't
have validation mode.

Modified Files:
--------------
    pgsql/src/pl/plpgsql/src:
        pl_comp.c (r1.130 -> r1.131)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_comp.c?r1=1.130&r2=1.131)
        plpgsql.h (r1.100 -> r1.101)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/plpgsql.h?r1=1.100&r2=1.101)



Home | Main Index | Thread Index

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group