Re: Clarification on thread-safety - Mailing list pgsql-jdbc

From Martin Pärtel
Subject Re: Clarification on thread-safety
Date
Msg-id CAMD8Jhx6Z4RJkGirg2iQXpUhAiEzB2nA1yNDvQ7muhXPbf7Wfw@mail.gmail.com
Whole thread Raw
In response to Re: Clarification on thread-safety  (Lachezar Dobrev <l.dobrev@gmail.com>)
Responses Re: Clarification on thread-safety
List pgsql-jdbc
Yes, that was my understanding.
The docs page says "The driver makes no guarantees that methods on connections are synchronized." and mentions "TimestampUtils" as a "notable exception".
I'm just suggesting that it would be good to document "getConnection" and "connect" and other similar methods as thread-safe too, since that property is especially useful (and I'd guess often assumed) for them.



On Fri, May 27, 2022 at 11:59 AM Lachezar Dobrev <l.dobrev@gmail.com> wrote:
  The term "The PostgreSQL™ JDBC driver" refers to the project as a
whole. Obviously certain classes and methods *may* be (inherently)
thread-safe, but "The PostgreSQL™ JDBC driver" project is not
developed for a multi-threaded use, and the majority of the
functionality (Connections, Statements, Result Sets, etc.) can *only*
be used by a single thread.

На пт, 27.05.2022 г. в 10:24 ч. Martin Pärtel <martin.partel@gmail.com> написа:
>
> The docs have a very brief page on thread-safety: https://jdbc.postgresql.org/documentation/head/thread.html
> It states, pretty categorically: "The PostgreSQL™ JDBC driver is not thread safe".
> However, it's common to want to open new connections from multiple threads.
>
> A cursory look at `PGSimpleDataSource` and `org.postgresql.Driver.connect` suggests both of these methods are thread safe.
> Perhaps this is an "obvious" level of thread-safety, but I think the doc page spelling it out would save other paranoid folks like me some time.
>

pgsql-jdbc by date:

Previous
From: Sven Diedrichsen
Date:
Subject: [pgjdbc/pgjdbc] ab803c: Made utcTz static and renamed to UTC_TIMEZONE (#2519)
Next
From: Michael Charnoky
Date:
Subject: loadBalanceHosts and weighted server selection