Bug #491: ERROR: RelationClearRelation: relation using JDBC - Mailing list pgsql-bugs
From | pgsql-bugs@postgresql.org |
---|---|
Subject | Bug #491: ERROR: RelationClearRelation: relation using JDBC |
Date | |
Msg-id | 200110242314.f9ONEbP73908@postgresql.org Whole thread Raw |
Responses |
Re: Bug #491: ERROR: RelationClearRelation: relation using JDBC
|
List | pgsql-bugs |
Alex Korneyev (kornale@charlie.cns.iit.edu) reports a bug with a severity of 1 The lower the number the more severe it is. Short Description ERROR: RelationClearRelation: relation using JDBC Long Description Hi, I have done a little research and seems like this should have been fixed, but it is not. my understanding is that postgreskeeps a some sort of a cursor open to the data. Error happens when i do this: rs = stmt.executeQuery(sqlString); The error is fixed by restarting jboss, that is why i think the reference is being kept alive. i close all my connections,statements and result sets. please let me know if this an error or i am doing something wrong. but i believe that this is a bug, since i have seen alot of postings for this error. alex korneyev stack trace is bellow: [Default] java.sql.SQLException: ERROR: RelationClearRelation: relation 125857 deleted while still in use [Default] at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:88) [Default] [Default] at org.postgresql.Connection.ExecSQL(Connection.java:356) [Default] [Default] at org.postgresql.jdbc2.Statement.execute(Statement.java:129) [Default] [Default] at org.postgresql.jdbc2.Statement.executeQuery(Statement.java:54) [Default] [Default] at org.jboss.pool.jdbc.StatementInPool.executeQuery(StatementInPool.java:141) [Default] [Default] at ch07.UserBean.isSystemUser(UserBean.java:219) [Default] [Default] at ch07.UserBean.ejbCreate(UserBean.java:248) [Default] [Default] at java.lang.reflect.Method.invoke(Native Method) [Default] [Default] at org.jboss.ejb.plugins.BMPPersistenceManager.createEntity(BMPPersistenceManager.java:136) [Default] [Default] at org.jboss.ejb.EntityContainer.createHome(EntityContainer.java:616) [Default] [Default] at java.lang.reflect.Method.invoke(Native Method) [Default] [Default] at org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome(EntityContainer.java:843) [Default] [Default] at org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeHome(EntitySynchronizationInterceptor.java:231) [Default] [Default] at org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanceInterceptor.java:154) [Default] [Default] at org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterceptor.java:108) [Default] [Default] at org.jboss.ejb.plugins.TxInterceptorCMT.invokeNext(TxInterceptorCMT.java:135) [Default] [Default] at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:307) [Default] [Default] at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:86) [Default] [Default] at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:103) [Default] [Default] at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:106) [Default] [Default] at org.jboss.ejb.EntityContainer.invokeHome(EntityContainer.java:420) [Default] [Default] at org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invokeHome(JRMPContainerInvoker.java:372) [Default] [Default] at java.lang.reflect.Method.invoke(Native Method) [Default] [Default] at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:241) [Default] [Default] at sun.rmi.transport.Transport$1.run(Transport.java:142) [Default] [Default] at java.security.AccessController.doPrivileged(Native Method) [Default] [Default] at sun.rmi.transport.Transport.serviceCall(Transport.java:139) [Default] [Default] at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:443) [Default] [Default] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:643) [Default] [Default] at java.lang.Thread.run(Thread.java:484) [Default] Sample Code private boolean isSystemUser( String loginID ) throws Exception{ Statement stmt = null; Connection conn = null; ResultSet rs = null; try { System.out.println("isSystemUser"); conn = DBUtils.getConnection(); String sqlString = "select " + User.OID_MAPFIELD +",upper(" + User.USR_LOGIN_ID_MAPFIELD + ") " + " from users where upper(" + User.USR_LOGIN_ID_MAPFIELD +") = upper('"+loginID+"')"; System.out.println("sqlString = " + sqlString ); stmt = conn.prepareStatement(sqlString); rs = stmt.executeQuery(sqlString); if ( rs.next() ) { System.out.println("found user ... "); System.out.println("user oid: " + rs.getLong(User.OID_MAPFIELD) ); return true; } else { return false; } } catch( Exception e) { e.printStackTrace(); throw new CreateException( e.getMessage() ); } finally { DBUtils.releaseConnection( conn, stmt, rs ); } } No file was uploaded with this report
pgsql-bugs by date: