Обсуждение: pgsql: Fix overly tense optimization of PLpgSQL_func_hashkey: we must
pgsql: Fix overly tense optimization of PLpgSQL_func_hashkey: we must
От
tgl@postgresql.org (Tom Lane)
Дата:
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. Tags: ---- REL8_1_STABLE Modified Files: -------------- pgsql/src/pl/plpgsql/src: pl_comp.c (r1.94.2.4 -> r1.94.2.5) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_comp.c?r1=1.94.2.4&r2=1.94.2.5) plpgsql.h (r1.65.2.3 -> r1.65.2.4) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/plpgsql.h?r1=1.65.2.3&r2=1.65.2.4)