java.sql.ResultSetr=connection.ExecSQL("SELECT relname, relacl FROM pg_class, pg_user WHERE ( relkind = 'r' OR relkind = 'i') and relname !~ '^pg_' and relname !~ '^xin[vx][0-9]+' and usesysid = relowner and relname like '"+tableNamePattern.toLowerCase()+"' ORDER BY relname");
java.sql.ResultSetr=connection.ExecSQL("SELECT relname, relacl FROM pg_class, pg_user WHERE ( relkind = 'r' OR relkind = 'i') and relname !~ '^pg_' and relname !~ '^xin[vx][0-9]+' and usesysid = relowner and relname like '"+tableNamePattern.toLowerCase()+"' ORDER BY relname");
thrownewSQLException(automatic?"Connection has been closed automatically because a new connection was opened for the same PooledConnection or the PooledConnection has been closed":"Connection has been closed");
}
}
}
if(method.getName().equals("close")){
returnmethod.invoke(con,args);
SQLExceptionex=null;
}
if(!con.getAutoCommit()){
// All the rest is from the Connection interface
try{con.rollback();}catch(SQLExceptione){ex=e;}
if(method.getName().equals("isClosed"))
}
{
con.clearWarnings();
returncon==null?Boolean.TRUE:Boolean.FALSE;
con=null;
}
last=null;
if(con==null)
fireConnectionClosed();
{
if(ex!=null){
thrownewSQLException(automatic?"Connection has been closed automatically because a new connection was opened for the same PooledConnection or the PooledConnection has been closed":"Connection has been closed");
throwex;
}
}
if(method.getName().equals("close"))
returnnull;
{
}else{
SQLExceptionex=null;
returnmethod.invoke(con,args);
if(!con.getAutoCommit())
}
{
}
try
{
con.rollback();
}
catch(SQLExceptione)
{
ex=e;
}
}
con.clearWarnings();
con=null;
last=null;
fireConnectionClosed();
if(ex!=null)
{
throwex;
}
returnnull;
}
else
{
returnmethod.invoke(con,args);
}
}
publicvoidclose(){
publicvoidclose()
if(con!=null){
{
automatic=true;
if(con!=null)
}
{
con=null;
automatic=true;
// No close event fired here: see JDBC 2.0 Optional Package spec section 6.3
}
}
con=null;
}
// No close event fired here: see JDBC 2.0 Optional Package spec section 6.3