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