Message-ID: From: "davecramer (@davecramer)" To: "pgjdbc/pgjdbc" Date: Thu, 14 May 2026 10:09:23 +0000 Subject: Re: [pgjdbc/pgjdbc] PR #3062: feat: type cache rework, codec API, and composite-type round-trip In-Reply-To: References: List-Id: X-GitHub-Author-Login: davecramer X-GitHub-Comment-Id: 4449720712 X-GitHub-Comment-Type: issue_comment X-GitHub-Issue: 3062 X-GitHub-Repo: pgjdbc/pgjdbc X-GitHub-Type: comment X-GitHub-Url: https://github.com/pgjdbc/pgjdbc/pull/3062#issuecomment-4449720712 Content-Type: text/plain; charset=utf-8 > > Could it be done without Caffeine? Yes — a plain ConcurrentHashMap with the get() + putIfAbsent() pattern (which the spec already uses for fieldsByOid) would work > > ConcurrentHashMap does not support eviction of unused entries, and we do require it. > > > The tradeoff is ~300KB added to the shaded JAR > > We can reduce the classes and include only those that are needed for pgjdbc. I'm sure it would be way less than 300KiB overhead. Excellent!