Обсуждение: Java's org.postgresql.util.PSQLState is missing common PostgreSQLError Codes

Поиск
Список
Период
Сортировка

Java's org.postgresql.util.PSQLState is missing common PostgreSQLError Codes

От
"David Kremer"
Дата:
(resending to avoid HTML formatting)

In my Java API server, I am using SERIALIZABLE transaction isolation mode, so I'm specially handling the error code of
"40001serialization_failure", which can occur often. I'm getting the error code String using SQLException's
getSQLState()function.
 

Therefore I was surprised to see that the Java enum org.postgresql.util.PSQLState does not include this error code.

PSQLState code: https://github.com/pgjdbc/pgjdbc/blob/master/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java
PSQLState documentation:
https://jdbc.postgresql.org/development/privateapi/org/postgresql/util/PSQLState.html[https://jdbc.postgresql.org/development/privateapi/org/postgresql/util/PSQLState.html]

The 40001 serialization_failure error is listed here:
https://www.postgresql.org/docs/11/errcodes-appendix.html[https://www.postgresql.org/docs/11/errcodes-appendix.html]

It seems like this should be added to the pgjdbc Java enum. Is there a reason it's not in there?


Re: Java's org.postgresql.util.PSQLState is missing common PostgreSQLError Codes

От
Jorge Solórzano
Дата:
org.postgresql.util.PSQLState it's more used for "internal" type-safe
checks of SQLState in the driver than to be used externally, it never
has a complete list of all available error codes of PostgreSQL,
SQLException returns a String representation, not the enum used in
PSQLState.

But if you need the enum you can send a PR.

On Wed, Jan 30, 2019 at 10:11 PM David Kremer <jkorders@gmx.com> wrote:
>
> (resending to avoid HTML formatting)
>
> In my Java API server, I am using SERIALIZABLE transaction isolation mode, so I'm specially handling the error code
of"40001 serialization_failure", which can occur often. I'm getting the error code String using SQLException's
getSQLState()function.
 
>
> Therefore I was surprised to see that the Java enum org.postgresql.util.PSQLState does not include this error code.
>
> PSQLState code: https://github.com/pgjdbc/pgjdbc/blob/master/pgjdbc/src/main/java/org/postgresql/util/PSQLState.java
> PSQLState documentation:
https://jdbc.postgresql.org/development/privateapi/org/postgresql/util/PSQLState.html[https://jdbc.postgresql.org/development/privateapi/org/postgresql/util/PSQLState.html]
>
> The 40001 serialization_failure error is listed here:
https://www.postgresql.org/docs/11/errcodes-appendix.html[https://www.postgresql.org/docs/11/errcodes-appendix.html]
>
> It seems like this should be added to the pgjdbc Java enum. Is there a reason it's not in there?
>