Message-ID: From: "davecramer (@davecramer)" To: "pgjdbc/pgjdbc" Date: Thu, 13 Jul 2023 11:33:41 +0000 Subject: Re: [pgjdbc/pgjdbc] issue #2918: Set defaultRowFetchSize=10000 by default to improve app stability In-Reply-To: References: List-Id: X-GitHub-Author-Login: davecramer X-GitHub-Comment-Id: 1634084878 X-GitHub-Comment-Type: issue_comment X-GitHub-Issue: 2918 X-GitHub-Repo: pgjdbc/pgjdbc X-GitHub-Type: comment X-GitHub-Url: https://github.com/pgjdbc/pgjdbc/issues/2918#issuecomment-1634084878 Content-Type: text/plain; charset=utf-8 > > The question what to do is quite complicated, but I'll try to voice some thoughts: > > * specially for `INSERT` we can force fetchSize=0 at statement level - all rows to insert we already have in memory, so we can read all results at once Not sure I'm a fan of this. You eventually find out how many rows it's just not from executeUpdate > * we can make api more consistent - return always -1 for such cases `executeUpdate` with returning and add this to docs, but it will break a lot of code and third-party libraries, such as Exposed Well if fetchSize is 0 it works properly > * as more light version of previous one we can write about such situation to log and suggest to use `.execute` Documenting the behaviour is my vote.