idle in transaction - should I care?
От | Jeremy Ferry |
---|---|
Тема | idle in transaction - should I care? |
Дата | |
Msg-id | 200203072117.g27LHmB10343@destiny.iexposure.com обсуждение исходный текст |
Список | pgsql-jdbc |
Hi all. I am new to PostgreSQL and JDBC so any help would be appreciated... I've included some code that essentially represents a servlet that gets an image from a PostgreSQL database. It appears that the transaction begins, executes, and ends correctly but then starts another query. Where is that last query comming from? public void run( HttpPresentationComms comms ) throws HttpPresentationException { DBConnection conn = null; try { comms.response.setContentType( "image/jpg" ); conn = Enhydra.getDatabaseManager().allocateConnection(); conn.setAutoCommit( false ); ResultSet rs = conn.executeQuery( "SELECT IMAGE_DATA FROM IMAGE WHERE IMAGE_ID = " + comms.request.getParameter( "id" ) ); byte[] data = null; if ( rs.next() ) { data = rs.getBytes( source ); } conn.commit(); conn.close(); comms.response.getOutputStream().write( data ); } catch ( Exception e ) { try { conn.rollback(); } catch ( SQLException sqle ) { System.err.println( "ERROR rolling back" ); sqle.printStackTrace(); } e.printStackTrace(); } finally { if ( conn != null ) { conn.release(); } } } Below is what I find in the PostgreSQL log. Notice that the query executes and commits then another query begins. Nothing else happens after this and the process says "idle in transaction". 2002-03-07 14:56:16 DEBUG: query: begin 2002-03-07 14:56:16 DEBUG: ProcessUtility: begin 2002-03-07 14:56:16 DEBUG: query: SELECT IMAGE_DATA FROM IMAGE WHERE IMAGE_ID = 1131 2002-03-07 14:56:16 DEBUG: query: select proname, oid from pg_proc where proname = 'lo_open' or proname = 'lo_close' or proname = 'lo_creat' or proname = 'lo_unlink' or proname = 'lo_lseek' or proname = 'lo_tell' or proname = 'loread' or proname = 'lowrite' 2002-03-07 14:56:16 DEBUG: query: commit 2002-03-07 14:56:16 DEBUG: ProcessUtility: commit 2002-03-07 14:56:16 DEBUG: query: begin 2002-03-07 14:56:16 DEBUG: ProcessUtility: begin I have several questions about this: Am I doing something wrong? Is this normal/expected behavior? Will it cause problems? -- Jeremy Ferry jferry@iexposure.com Internet Exposure Inc. http://www.iexposure.com (612) 676-1946 (ext 18) Web Development - Web Marketing - ISP Services
В списке pgsql-jdbc по дате отправления: