pgsql: Add test case for EEOP_INNER_SYSVAR/EEOP_OUTER_SYSVAR executor o

From: Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)fi>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Add test case for EEOP_INNER_SYSVAR/EEOP_OUTER_SYSVAR executor o
Date: 2018-07-10 13:17:12
Message-ID: E1fcsW0-00058V-4y@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Add test case for EEOP_INNER_SYSVAR/EEOP_OUTER_SYSVAR executor opcodes.

The EEOP_INNER_SYSVAR and EEOP_OUTER_SYSVAR executor opcodes are not
exercised by normal queries, because setrefs.c will resolve the references
to system columns in the scan nodes already. Join nodes refer to them by
their position in the child node's target list, like user columns.

The only place where those opcodes are used, is in evaluating a trigger's
WHEN condition that references system columns. Trigger evaluation abuses
the INNER/OUTER Vars to refer to the OLD and NEW tuples. The code to handle
the opcodes is pretty straightforward, but it seems like a good idea to
have some test coverage for them, anyway, so that they don't get removed or
broken by accident.

Author: Ashutosh Bapat, with some changes by me.
Discussion: https://www.postgresql.org/message-id/CAFjFpRerUFX=T0nSnCoroXAJMoo-xah9J+pi7+xDUx86PtQmew@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/17b715c634d451da3edb221c55c614a7d993c289

Modified Files
--------------
src/test/regress/expected/triggers.out | 10 ++++++++++
src/test/regress/sql/triggers.sql | 10 ++++++++++
2 files changed, 20 insertions(+)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2018-07-10 16:44:05 pgsql: Remove dynamic_shared_memory_type=none
Previous Message Peter Eisentraut 2018-07-10 09:21:15 pgsql: Fix typos