Re: JDBC Driver - Connection.getTransactionIsolationLevel - Mailing list pgsql-patches
| From | Barry Lind |
|---|---|
| Subject | Re: JDBC Driver - Connection.getTransactionIsolationLevel |
| Date | |
| Msg-id | 3D7ED871.1000302@xythos.com Whole thread Raw |
| In response to | JDBC Driver - Connection.getTransactionIsolationLevel (Kris Jurka <jurka@ejurka.com>) |
| List | pgsql-patches |
Patch applied.
--Barry
Kris Jurka wrote:
> The results of a show command are output as a query result in 7.3, not
> as a notice. This patch changes the return handling of "SHOW
> TRANSACTION ISOLATION LEVEL"
>
> Kris Jurka
>
>
> ------------------------------------------------------------------------
>
> Index: src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1Connection.java
> ===================================================================
> RCS file: /projects/cvsroot/pgsql-server/src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1Connection.java,v
> retrieving revision 1.8
> diff -c -r1.8 AbstractJdbc1Connection.java
> *** src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1Connection.java 2002/09/06 21:23:05 1.8
> --- src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1Connection.java 2002/09/09 21:09:11
> ***************
> *** 982,1002 ****
> */
> public int getTransactionIsolation() throws SQLException
> {
> ! clearWarnings();
> ! ExecSQL("show transaction isolation level");
> !
> ! SQLWarning warning = getWarnings();
> ! if (warning != null)
> ! {
> ! String message = warning.getMessage();
> clearWarnings();
> ! if (message.indexOf("READ COMMITTED") != -1)
> return java.sql.Connection.TRANSACTION_READ_COMMITTED;
> ! else if (message.indexOf("READ UNCOMMITTED") != -1)
> return java.sql.Connection.TRANSACTION_READ_UNCOMMITTED;
> ! else if (message.indexOf("REPEATABLE READ") != -1)
> return java.sql.Connection.TRANSACTION_REPEATABLE_READ;
> ! else if (message.indexOf("SERIALIZABLE") != -1)
> return java.sql.Connection.TRANSACTION_SERIALIZABLE;
> }
> return java.sql.Connection.TRANSACTION_READ_COMMITTED;
> --- 982,1013 ----
> */
> public int getTransactionIsolation() throws SQLException
> {
> ! String sql = "show transaction isolation level";
> ! String level = null;
> ! if (haveMinimumServerVersion("7.3")) {
> ! ResultSet rs = ExecSQL(sql);
> ! if (rs.next()) {
> ! level = rs.getString(1);
> ! }
> ! rs.close();
> ! } else {
> clearWarnings();
> ! ExecSQL(sql);
> ! SQLWarning warning = getWarnings();
> ! if (warning != null)
> ! {
> ! level = warning.getMessage();
> ! }
> ! clearWarnings();
> ! }
> ! if (level != null) {
> ! if (level.indexOf("READ COMMITTED") != -1)
> return java.sql.Connection.TRANSACTION_READ_COMMITTED;
> ! else if (level.indexOf("READ UNCOMMITTED") != -1)
> return java.sql.Connection.TRANSACTION_READ_UNCOMMITTED;
> ! else if (level.indexOf("REPEATABLE READ") != -1)
> return java.sql.Connection.TRANSACTION_REPEATABLE_READ;
> ! else if (level.indexOf("SERIALIZABLE") != -1)
> return java.sql.Connection.TRANSACTION_SERIALIZABLE;
> }
> return java.sql.Connection.TRANSACTION_READ_COMMITTED;
>
>
> ------------------------------------------------------------------------
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
pgsql-patches by date: