From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Un-break whole-row Vars referencing domain-over-composite types. |
Date: | 2022-06-10 14:36:10 |
Message-ID: | E1nzfk9-003d7J-RR@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/1218780ccebace6a4c4d5872d7b158aa36e6882e
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(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2022-06-10 17:41:11 | pgsql: relnotes: add markup of text |
Previous Message | Peter Eisentraut | 2022-06-10 04:18:33 | pgsql: Fix collation of JSON_TABLE output columns |