pgsql: test_decoding: Don't print virtual generated columns. - Mailing list pgsql-committers

From Masahiko Sawada
Subject pgsql: test_decoding: Don't print virtual generated columns.
Date
Msg-id E1wwQsN-000000016zx-0qvO@gemulon.postgresql.org
Whole thread
List pgsql-committers
test_decoding: Don't print virtual generated columns.

Virtual generated columns are stored in tuples as null values, so
heap_getattr() in tuple_to_stringinfo() always returns null for them.
test_decoding printed such a column as null, which is
indistinguishable from a column that genuinely holds null.

This commit skips virtual generated columns in tuple_to_stringinfo(),
the only place that prints a tuple. Stored generated columns continue
to be printed, since their values do live in the heap tuple.

This is a behavior change rather than a bug fix, and it changes
test_decoding's output for tables that have virtual generated columns,
which could affect consumers that parse it. Therefore it is not
back-patched.

Author: SATYANARAYANA NARLAPURAM <satyanarlapuram@gmail.com>
Co-authored-by: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
Reviewed-by: Euler Taveira <euler@eulerto.com>
Reviewed-by: Masahiko Sawada <sawada.mshk@gmail.com>
Discussion: https://postgr.es/m/CAHg+QDfTh3UbB-Ed--o2Bd=SBDJoEiG-qp3C0+ETDibF63y=dw@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/755f7e2c921f16e6bc09bdc8d286c495b2cee93b

Modified Files
--------------
contrib/test_decoding/expected/ddl.out | 18 ++++++++++++++++++
contrib/test_decoding/sql/ddl.sql      | 12 ++++++++++++
contrib/test_decoding/test_decoding.c  | 10 ++++++++++
3 files changed, 40 insertions(+)


pgsql-committers by date:

Previous
From: Daniel Gustafsson
Date:
Subject: pgsql: Record initial state of data checksums in controlfile
Next
From: Tom Lane
Date:
Subject: pgsql: Defend against null "SV *" pointers in plperl modules.