Message-ID: From: "davecramer (@davecramer)" To: "pgjdbc/pgjdbc" Date: Thu, 14 May 2026 14:28:12 +0000 Subject: [pgjdbc/pgjdbc] PR #4070: feat: add pipelineMode connection property for protocol-level pipelining List-Id: X-GitHub-Author-Id: 406518 X-GitHub-Author-Login: davecramer X-GitHub-Issue: 4070 X-GitHub-Repo: pgjdbc/pgjdbc X-GitHub-State: closed X-GitHub-Type: pull_request X-GitHub-Url: https://github.com/pgjdbc/pgjdbc/pull/4070 Content-Type: text/plain; charset=utf-8 Implement synchronous pipelining (Option C) that sends multiple extended protocol queries before reading responses, reducing round-trip latency for batch operations. Changes: - Add PIPELINE_MODE connection property (default false) - Add isPipelineModeEnabled() to QueryExecutor interface - Raise flushIfDeadlockRisk() threshold from 64KB to 8MB when pipeline mode is enabled, allowing more queries to be buffered before forcing an intermediate Sync+read cycle - Add functional and performance tests This approach avoids the socket-sharing race conditions of the previous reader thread design by keeping all I/O on the main thread.