diff --git a/src/backend/commands/copyfromparse.c b/src/backend/commands/copyfromparse.c index edb80e2cd5..e06534943f 100644 --- a/src/backend/commands/copyfromparse.c +++ b/src/backend/commands/copyfromparse.c @@ -444,7 +444,7 @@ CopyConvertBuf(CopyFromState cstate) * least one character, and a failure to do so means that we've * hit an invalid byte sequence. */ - if (cstate->raw_reached_eof || unverifiedlen >= pg_database_encoding_max_length()) + if (cstate->raw_reached_eof || unverifiedlen >= pg_encoding_max_length(cstate->file_encoding)) cstate->input_reached_error = true; return; } @@ -1172,14 +1172,12 @@ CopyReadLineText(CopyFromState cstate) char c; /* - * Load more data if needed. Ideally we would just force four bytes - * of read-ahead and avoid the many calls to - * IF_NEED_REFILL_AND_NOT_EOF_CONTINUE(), but the COPY_OLD_FE protocol - * does not allow us to read too far ahead or we might read into the - * next data, so we read-ahead only as far we know we can. One - * optimization would be to read-ahead four byte here if - * cstate->copy_src != COPY_OLD_FE, but it hardly seems worth it, - * considering the size of the buffer. + * Load more data if needed. + * + * TODO: We could just force four bytes of read-ahead and avoid the + * many calls to IF_NEED_REFILL_AND_NOT_EOF_CONTINUE(). That was + * unsafe with the old v2 COPY protocol, but we don't support that + * anymore. */ if (input_buf_ptr >= copy_buf_len || need_data) { @@ -1214,9 +1212,6 @@ CopyReadLineText(CopyFromState cstate) * Force fetch of the next character if we don't already have it. * We need to do this before changing CSV state, in case one of * these characters is also the quote or escape character. - * - * Note: old-protocol does not like forced prefetch, but it's OK - * here since we cannot validly be at EOF. */ if (c == '\\' || c == '\r') {