Обсуждение: Bug: COPY FORMAT JSON includes generated columns unlike text/CSV

Поиск
Список
Период
Сортировка

Bug: COPY FORMAT JSON includes generated columns unlike text/CSV

От
SATYANARAYANA NARLAPURAM
Дата:
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
Вложения

Re: Bug: COPY FORMAT JSON includes generated columns unlike text/CSV

От
jian he
Дата:
On Mon, Apr 13, 2026 at 5:21 PM SATYANARAYANA NARLAPURAM
<satyanarlapuram@gmail.com> wrote:
>
> 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.
>
The patch looks good to me.

It seems there's a ``git apply`` issue applying the V1 patch.
The attached v2 is the same as your v1, it should apply without issue
using `git apply` or `git am`.



--
jian
https://www.enterprisedb.com/

Вложения

Re: Bug: COPY FORMAT JSON includes generated columns unlike text/CSV

От
Andrew Dunstan
Дата:


On 2026-04-14 Tu 10:46 AM, jian he wrote:
On Mon, Apr 13, 2026 at 5:21 PM SATYANARAYANA NARLAPURAM
<satyanarlapuram@gmail.com> wrote:
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.

The patch looks good to me.

It seems there's a ``git apply`` issue applying the V1 patch.
The attached v2 is the same as your v1, it should apply without issue
using `git apply` or `git am`.



Thanks. pushed.


cheers


andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com