> But the point that we should introduce a 2 still stands. The new code > would mean: use text output functions but that there is no inherent > tabular structure in the underlying contents. Instead the copy format > was JSON and the output layout is dependent upon the json options in the > copy command and that there really shouldn't be any attempt to turn the > contents directly into a tabular data structure like you presently do > with the CSV data under format 0. Ignore the column count and column > formats as they are fixed or non-existent.
I think that amounts to a protocol change, which we tend to avoid at all costs.
I wasn't sure on that point but figured it might be the case. It is a value change, not structural, which seems like it is the kind of modification any living system might allow and be expected to have. But I also don't see any known problem with the current change of content semantics without the format identification change. Most of the relevant context ends up out-of-band in the copy command itself.