public class org.postgresql.ds.PGPooledConnection implements javax.sql.PooledConnection
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.postgresql.ds.PGPooledConnection
super_class: java.lang.Object
{
private final java.util.List<javax.sql.ConnectionEventListener> listeners;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljavax/sql/ConnectionEventListener;>;
private java.sql.Connection con;
descriptor: Ljava/sql/Connection;
flags: (0x0002) ACC_PRIVATE
private org.postgresql.ds.PGPooledConnection$ConnectionHandler last;
descriptor: Lorg/postgresql/ds/PGPooledConnection$ConnectionHandler;
flags: (0x0002) ACC_PRIVATE
private final boolean autoCommit;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isXA;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static java.lang.String[] fatalClasses;
descriptor: [Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: bipush 10
anewarray java.lang.String
dup
iconst_0
1: ldc "08"
aastore
dup
iconst_1
2: ldc "53"
aastore
dup
iconst_2
3: ldc "57P01"
aastore
dup
iconst_3
4: ldc "57P02"
aastore
dup
iconst_4
5: ldc "57P03"
aastore
dup
iconst_5
6: ldc "58"
aastore
dup
bipush 6
7: ldc "60"
aastore
dup
bipush 7
8: ldc "99"
aastore
dup
bipush 8
9: ldc "F0"
aastore
dup
bipush 9
10: ldc "XX"
aastore
11: putstatic org.postgresql.ds.PGPooledConnection.fatalClasses:[Ljava/lang/String;
12: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.sql.Connection, boolean, boolean);
descriptor: (Ljava/sql/Connection;ZZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
putfield org.postgresql.ds.PGPooledConnection.listeners:Ljava/util/List;
2: aload 0
aload 1
putfield org.postgresql.ds.PGPooledConnection.con:Ljava/sql/Connection;
3: aload 0
iload 2
putfield org.postgresql.ds.PGPooledConnection.autoCommit:Z
4: aload 0
iload 3
putfield org.postgresql.ds.PGPooledConnection.isXA:Z
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/postgresql/ds/PGPooledConnection;
0 6 1 con Ljava/sql/Connection;
0 6 2 autoCommit Z
0 6 3 isXA Z
MethodParameters:
Name Flags
con
autoCommit
isXA
public void <init>(java.sql.Connection, boolean);
descriptor: (Ljava/sql/Connection;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
iconst_0
invokespecial org.postgresql.ds.PGPooledConnection.<init>:(Ljava/sql/Connection;ZZ)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/postgresql/ds/PGPooledConnection;
0 2 1 con Ljava/sql/Connection;
0 2 2 autoCommit Z
MethodParameters:
Name Flags
con
autoCommit
public void addConnectionEventListener(javax.sql.ConnectionEventListener);
descriptor: (Ljavax/sql/ConnectionEventListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.postgresql.ds.PGPooledConnection.listeners:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/postgresql/ds/PGPooledConnection;
0 2 1 connectionEventListener Ljavax/sql/ConnectionEventListener;
MethodParameters:
Name Flags
connectionEventListener
public void removeConnectionEventListener(javax.sql.ConnectionEventListener);
descriptor: (Ljavax/sql/ConnectionEventListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.postgresql.ds.PGPooledConnection.listeners:Ljava/util/List;
aload 1
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/postgresql/ds/PGPooledConnection;
0 2 1 connectionEventListener Ljavax/sql/ConnectionEventListener;
MethodParameters:
Name Flags
connectionEventListener
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.postgresql.ds.PGPooledConnection.last:Lorg/postgresql/ds/PGPooledConnection$ConnectionHandler;
ifnull 7
1: aload 0
getfield org.postgresql.ds.PGPooledConnection.last:Lorg/postgresql/ds/PGPooledConnection$ConnectionHandler;
invokevirtual org.postgresql.ds.PGPooledConnection$ConnectionHandler.close:()V
2: aload 0
getfield org.postgresql.ds.PGPooledConnection.con:Ljava/sql/Connection;
invokeinterface java.sql.Connection.isClosed:()Z
ifne 7
3: aload 0
getfield org.postgresql.ds.PGPooledConnection.con:Ljava/sql/Connection;
invokeinterface java.sql.Connection.getAutoCommit:()Z
ifne 7
4: aload 0
getfield org.postgresql.ds.PGPooledConnection.con:Ljava/sql/Connection;
invokeinterface java.sql.Connection.rollback:()V
5: goto 7
StackMap locals:
StackMap stack: java.sql.SQLException
6: pop
7: StackMap locals:
StackMap stack:
aload 0
getfield org.postgresql.ds.PGPooledConnection.con:Ljava/sql/Connection;
invokeinterface java.sql.Connection.close:()V
8: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 1
10: aload 0
aconst_null
putfield org.postgresql.ds.PGPooledConnection.con:Ljava/sql/Connection;
11: aload 1
athrow
12: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.postgresql.ds.PGPooledConnection.con:Ljava/sql/Connection;
13: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/postgresql/ds/PGPooledConnection;
Exception table:
from to target type
4 5 6 Class java.sql.SQLException
7 9 9 any
Exceptions:
throws java.sql.SQLException
public java.sql.Connection getConnection();
descriptor: ()Ljava/sql/Connection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
getfield org.postgresql.ds.PGPooledConnection.con:Ljava/sql/Connection;
ifnonnull 7
1: new org.postgresql.util.PSQLException
dup
ldc "This PooledConnection has already been closed."
iconst_0
anewarray java.lang.Object
invokestatic org.postgresql.util.GT.tr:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
2: getstatic org.postgresql.util.PSQLState.CONNECTION_DOES_NOT_EXIST:Lorg/postgresql/util/PSQLState;
3: invokespecial org.postgresql.util.PSQLException.<init>:(Ljava/lang/String;Lorg/postgresql/util/PSQLState;)V
4: astore 1
start local 1 5: aload 0
aload 1
invokevirtual org.postgresql.ds.PGPooledConnection.fireConnectionFatalError:(Ljava/sql/SQLException;)V
6: aload 1
athrow
end local 1 7: StackMap locals:
StackMap stack:
aload 0
getfield org.postgresql.ds.PGPooledConnection.last:Lorg/postgresql/ds/PGPooledConnection$ConnectionHandler;
ifnull 14
8: aload 0
getfield org.postgresql.ds.PGPooledConnection.last:Lorg/postgresql/ds/PGPooledConnection$ConnectionHandler;
invokevirtual org.postgresql.ds.PGPooledConnection$ConnectionHandler.close:()V
9: aload 0
getfield org.postgresql.ds.PGPooledConnection.con:Ljava/sql/Connection;
invokeinterface java.sql.Connection.getAutoCommit:()Z
ifne 13
10: aload 0
getfield org.postgresql.ds.PGPooledConnection.con:Ljava/sql/Connection;
invokeinterface java.sql.Connection.rollback:()V
11: goto 13
StackMap locals:
StackMap stack: java.sql.SQLException
12: pop
13: StackMap locals:
StackMap stack:
aload 0
getfield org.postgresql.ds.PGPooledConnection.con:Ljava/sql/Connection;
invokeinterface java.sql.Connection.clearWarnings:()V
14: StackMap locals:
StackMap stack:
aload 0
getfield org.postgresql.ds.PGPooledConnection.isXA:Z
ifne 20
15: aload 0
getfield org.postgresql.ds.PGPooledConnection.con:Ljava/sql/Connection;
aload 0
getfield org.postgresql.ds.PGPooledConnection.autoCommit:Z
invokeinterface java.sql.Connection.setAutoCommit:(Z)V
16: goto 20
StackMap locals:
StackMap stack: java.sql.SQLException
17: astore 1
start local 1 18: aload 0
aload 1
invokevirtual org.postgresql.ds.PGPooledConnection.fireConnectionFatalError:(Ljava/sql/SQLException;)V
19: aload 1
invokevirtual java.sql.SQLException.fillInStackTrace:()Ljava/lang/Throwable;
checkcast java.sql.SQLException
athrow
end local 1 20: StackMap locals:
StackMap stack:
new org.postgresql.ds.PGPooledConnection$ConnectionHandler
dup
aload 0
aload 0
getfield org.postgresql.ds.PGPooledConnection.con:Ljava/sql/Connection;
invokespecial org.postgresql.ds.PGPooledConnection$ConnectionHandler.<init>:(Lorg/postgresql/ds/PGPooledConnection;Ljava/sql/Connection;)V
astore 1
start local 1 21: aload 0
aload 1
putfield org.postgresql.ds.PGPooledConnection.last:Lorg/postgresql/ds/PGPooledConnection$ConnectionHandler;
22: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
23: iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/sql/Connection;
aastore
dup
iconst_1
ldc Lorg/postgresql/PGConnection;
aastore
aload 1
24: invokestatic java.lang.reflect.Proxy.newProxyInstance:(Ljava/lang/ClassLoader;[Ljava/lang/Class;Ljava/lang/reflect/InvocationHandler;)Ljava/lang/Object;
checkcast java.sql.Connection
astore 2
start local 2 25: aload 0
getfield org.postgresql.ds.PGPooledConnection.last:Lorg/postgresql/ds/PGPooledConnection$ConnectionHandler;
aload 2
invokevirtual org.postgresql.ds.PGPooledConnection$ConnectionHandler.setProxy:(Ljava/sql/Connection;)V
26: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/postgresql/ds/PGPooledConnection;
5 7 1 sqlException Lorg/postgresql/util/PSQLException;
18 20 1 sqlException Ljava/sql/SQLException;
21 27 1 handler Lorg/postgresql/ds/PGPooledConnection$ConnectionHandler;
25 27 2 proxyCon Ljava/sql/Connection;
Exception table:
from to target type
10 11 12 Class java.sql.SQLException
7 16 17 Class java.sql.SQLException
Exceptions:
throws java.sql.SQLException
void fireConnectionClosed();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=7, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
getfield org.postgresql.ds.PGPooledConnection.listeners:Ljava/util/List;
iconst_0
anewarray javax.sql.ConnectionEventListener
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast javax.sql.ConnectionEventListener[]
2: astore 2
start local 2 3: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 9
StackMap locals: org.postgresql.ds.PGPooledConnection javax.sql.ConnectionEvent javax.sql.ConnectionEventListener[] top int int javax.sql.ConnectionEventListener[]
StackMap stack:
4: aload 6
iload 4
aaload
astore 3
start local 3 5: aload 1
ifnonnull 7
6: aload 0
aconst_null
invokevirtual org.postgresql.ds.PGPooledConnection.createConnectionEvent:(Ljava/sql/SQLException;)Ljavax/sql/ConnectionEvent;
astore 1
7: StackMap locals: org.postgresql.ds.PGPooledConnection javax.sql.ConnectionEvent javax.sql.ConnectionEventListener[] javax.sql.ConnectionEventListener int int javax.sql.ConnectionEventListener[]
StackMap stack:
aload 3
aload 1
invokeinterface javax.sql.ConnectionEventListener.connectionClosed:(Ljavax/sql/ConnectionEvent;)V
end local 3 8: iinc 4 1
StackMap locals: org.postgresql.ds.PGPooledConnection javax.sql.ConnectionEvent javax.sql.ConnectionEventListener[] top int int javax.sql.ConnectionEventListener[]
StackMap stack:
9: iload 4
iload 5
if_icmplt 4
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/postgresql/ds/PGPooledConnection;
1 11 1 evt Ljavax/sql/ConnectionEvent;
3 11 2 local [Ljavax/sql/ConnectionEventListener;
5 8 3 listener Ljavax/sql/ConnectionEventListener;
void fireConnectionFatalError(java.sql.SQLException);
descriptor: (Ljava/sql/SQLException;)V
flags: (0x0000)
Code:
stack=2, locals=8, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
getfield org.postgresql.ds.PGPooledConnection.listeners:Ljava/util/List;
iconst_0
anewarray javax.sql.ConnectionEventListener
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast javax.sql.ConnectionEventListener[]
2: astore 3
start local 3 3: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 9
StackMap locals: org.postgresql.ds.PGPooledConnection java.sql.SQLException javax.sql.ConnectionEvent javax.sql.ConnectionEventListener[] top int int javax.sql.ConnectionEventListener[]
StackMap stack:
4: aload 7
iload 5
aaload
astore 4
start local 4 5: aload 2
ifnonnull 7
6: aload 0
aload 1
invokevirtual org.postgresql.ds.PGPooledConnection.createConnectionEvent:(Ljava/sql/SQLException;)Ljavax/sql/ConnectionEvent;
astore 2
7: StackMap locals: org.postgresql.ds.PGPooledConnection java.sql.SQLException javax.sql.ConnectionEvent javax.sql.ConnectionEventListener[] javax.sql.ConnectionEventListener int int javax.sql.ConnectionEventListener[]
StackMap stack:
aload 4
aload 2
invokeinterface javax.sql.ConnectionEventListener.connectionErrorOccurred:(Ljavax/sql/ConnectionEvent;)V
end local 4 8: iinc 5 1
StackMap locals: org.postgresql.ds.PGPooledConnection java.sql.SQLException javax.sql.ConnectionEvent javax.sql.ConnectionEventListener[] top int int javax.sql.ConnectionEventListener[]
StackMap stack:
9: iload 5
iload 6
if_icmplt 4
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/postgresql/ds/PGPooledConnection;
0 11 1 e Ljava/sql/SQLException;
1 11 2 evt Ljavax/sql/ConnectionEvent;
3 11 3 local [Ljavax/sql/ConnectionEventListener;
5 8 4 listener Ljavax/sql/ConnectionEventListener;
MethodParameters:
Name Flags
e
protected javax.sql.ConnectionEvent createConnectionEvent(java.sql.SQLException);
descriptor: (Ljava/sql/SQLException;)Ljavax/sql/ConnectionEvent;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new javax.sql.ConnectionEvent
dup
aload 0
aload 1
invokespecial javax.sql.ConnectionEvent.<init>:(Ljavax/sql/PooledConnection;Ljava/sql/SQLException;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/postgresql/ds/PGPooledConnection;
0 1 1 e Ljava/sql/SQLException;
MethodParameters:
Name Flags
e
private static boolean isFatalState(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.length:()I
iconst_2
if_icmpge 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
getstatic org.postgresql.ds.PGPooledConnection.fatalClasses:[Ljava/lang/String;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 9
StackMap locals: java.lang.String top int int java.lang.String[]
StackMap stack:
5: aload 4
iload 2
aaload
astore 1
start local 1 6: aload 0
aload 1
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 8
7: iconst_1
ireturn
end local 1 8: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
iload 3
if_icmplt 5
10: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 state Ljava/lang/String;
6 8 1 fatalClass Ljava/lang/String;
MethodParameters:
Name Flags
state
private void fireConnectionError(java.sql.SQLException);
descriptor: (Ljava/sql/SQLException;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.sql.SQLException.getSQLState:()Ljava/lang/String;
invokestatic org.postgresql.ds.PGPooledConnection.isFatalState:(Ljava/lang/String;)Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.postgresql.ds.PGPooledConnection.fireConnectionFatalError:(Ljava/sql/SQLException;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/postgresql/ds/PGPooledConnection;
0 4 1 e Ljava/sql/SQLException;
MethodParameters:
Name Flags
e
public void removeStatementEventListener(javax.sql.StatementEventListener);
descriptor: (Ljavax/sql/StatementEventListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/postgresql/ds/PGPooledConnection;
0 1 1 listener Ljavax/sql/StatementEventListener;
MethodParameters:
Name Flags
listener
public void addStatementEventListener(javax.sql.StatementEventListener);
descriptor: (Ljavax/sql/StatementEventListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/postgresql/ds/PGPooledConnection;
0 1 1 listener Ljavax/sql/StatementEventListener;
MethodParameters:
Name Flags
listener
}
SourceFile: "PGPooledConnection.java"
NestMembers:
org.postgresql.ds.PGPooledConnection$ConnectionHandler org.postgresql.ds.PGPooledConnection$StatementHandler
InnerClasses:
private ConnectionHandler = org.postgresql.ds.PGPooledConnection$ConnectionHandler of org.postgresql.ds.PGPooledConnection
private StatementHandler = org.postgresql.ds.PGPooledConnection$StatementHandler of org.postgresql.ds.PGPooledConnection