From 2f86ab305e7fbc7b84960079551cf9cafd29684f Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Thu, 4 Feb 2021 17:40:33 +0200 Subject: [PATCH] Fix small error in COPY FROM progress reporting. The # of bytes processed was accumulated slightly incorrectly. After loading more data to the input buffer, we added the number of bytes in the buffer to the sum. But in case of multi-byte characters or escapes, there can be a few unprocessed bytes left over from previous load in the buffer. Those bytes got counted twice. --- src/backend/commands/copyfromparse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/commands/copyfromparse.c b/src/backend/commands/copyfromparse.c index 4c74067f849..b843d315b17 100644 --- a/src/backend/commands/copyfromparse.c +++ b/src/backend/commands/copyfromparse.c @@ -386,7 +386,7 @@ CopyLoadRawBuf(CopyFromState cstate) cstate->raw_buf[nbytes] = '\0'; cstate->raw_buf_index = 0; cstate->raw_buf_len = nbytes; - cstate->bytes_processed += nbytes; + cstate->bytes_processed += inbytes; pgstat_progress_update_param(PROGRESS_COPY_BYTES_PROCESSED, cstate->bytes_processed); return (inbytes > 0); }