CopyReadLineText quoth: * The objective of this loop is to transfer the entire next input line * into line_buf. Hence, we only care for detecting newlines (\r and/or * \n) and the end-of-copy marker (\.). * * In CSV mode, \r and \n inside a quoted field are just part of the data * value and are put in line_buf. We keep just enough state to know if we * are currently in a quoted field or not. * * These four characters, and the CSV escape and quote characters, are * assumed the same in frontend and backend encodings.
When that last bit was written, it was because we were detecting newlines and end-of-copy markers before performing encoding conversion. That's not true any more: by the time CopyReadLineText sees the data, it was already converted by CopyConvertBuf. So I don't believe there actually is any such dependency anymore, and we should simply remove that last sentence. Any objections? regards, tom lane