On 12/8/23 14:45, Daniel Verite wrote:
> Joe Conway wrote:
>
>> copyto_json.007.diff
>
> When the source has json fields with non-significant line feeds, the COPY
> output has these line feeds too, which makes the output incompatible
> with rule #2 at https://jsonlines.org ("2. Each Line is a Valid JSON
> Value").
>
> create table j(f json);
>
> insert into j values('{"a":1,
> "b":2
> }');
>
> copy j to stdout (format json);
>
> Result:
> {"f":{"a":1,
> "b":2
> }}
>
> Is that expected? copy.sgml in 007 doesn't describe the output
> in terms of lines so it's hard to tell from the doc.
The patch as-is just does the equivalent of row_to_json():
8<----------------------------
select row_to_json(j) from j;
row_to_json
--------------
{"f":{"a":1,+
"b":2 +
}}
(1 row)
8<----------------------------
So yeah, that is how it works today. I will take a look at what it would
take to fix it.
--
Joe Conway
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com