pgsql: Un-break whole-row Vars referencing domain-over-composite types. - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Un-break whole-row Vars referencing domain-over-composite types.
Date
Msg-id E1nzfk9-003d7N-T9@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Un-break whole-row Vars referencing domain-over-composite types.

In commit ec62cb0aa, I foolishly replaced ExecEvalWholeRowVar's
lookup_rowtype_tupdesc_domain call with just lookup_rowtype_tupdesc,
because I didn't see how a domain could be involved there, and
there were no regression test cases to jog my memory.  But the
existing code was correct, so revert that change and add a test
case showing why it's necessary.  (Note: per comment in struct
DatumTupleFields, it is correct to produce an output tuple that's
labeled with the base composite type, not the domain; hence just
blindly looking through the domain is correct here.)

Per bug #17515 from Dan Kubb.  Back-patch to v11 where domains over
composites became a thing.

Discussion: https://postgr.es/m/17515-a24737438363aca0@postgresql.org

Branch
------
REL_13_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/254cd7f31f60f02de0548c8dcdc2c402c0cf02d8

Modified Files
--------------
src/backend/executor/execExprInterp.c |  6 +++++-
src/test/regress/expected/domain.out  | 23 +++++++++++++++++++++++
src/test/regress/sql/domain.sql       |  9 +++++++++
3 files changed, 37 insertions(+), 1 deletion(-)


pgsql-committers by date:

Previous
From: Peter Eisentraut
Date:
Subject: pgsql: Fix collation of JSON_TABLE output columns
Next
From: Bruce Momjian
Date:
Subject: pgsql: relnotes: add markup of text