diff --git a/src/server.rs b/src/server.rs index 65fb8d9..05a3b77 100644 --- a/src/server.rs +++ b/src/server.rs @@ -510,9 +510,13 @@ impl Server { break; } - // CopyData: we are not buffering this one because there will be many more - // and we don't know how big this packet could be, best not to take a risk. - 'd' => break, + // CopyData + 'd' => { + // Don't flush yet, buffer until we reach limit + if self.buffer.len() >= 8196 { + break; + } + } // CopyDone // Buffer until ReadyForQuery shows up, so don't exit the loop yet.