Bug: COPY FORMAT JSON includes generated columns unlike text/CSV - Mailing list pgsql-hackers

From SATYANARAYANA NARLAPURAM
Subject Bug: COPY FORMAT JSON includes generated columns unlike text/CSV
Date
Msg-id CAHg+QDcfpGDoPL3fvfjXRtfn=fny6DdJR6BAy6TpS1Xj2EZfXA@mail.gmail.com
Whole thread Raw
List pgsql-hackers
Hi hackers,

COPY TO with FORMAT json includes generated columns in the output,
while text and CSV formats correctly exclude them.  Virtual generated
columns appear as null (since they aren't materialized), and stored
generated columns appear with their values  Attached a patch to address this.

Repro:

    CREATE TABLE t (id int, a int,
        s int GENERATED ALWAYS AS (a * 10) STORED,
        v int GENERATED ALWAYS AS (a * 100) VIRTUAL);
    INSERT INTO t (id, a) VALUES (1, 5);

    COPY t TO STDOUT;
    COPY t TO STDOUT WITH (FORMAT csv, HEADER);
    COPY t TO STDOUT WITH (FORMAT json);
CREATE TABLE
INSERT 0 1
1       5
id,a
1,5
{"id":1,"a":5,"s":50,"v":null} 

After the fix:
COPY t TO STDOUT WITH (FORMAT json);
{"id":1,"a":5} 

Thanks,
Satya
Attachment

pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: Unicode update and some tooling improvements
Next
From: Peter Eisentraut
Date:
Subject: Re: [Proposal] Adding Log File Capability to pg_createsubscriber