You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by rv...@apache.org on 2013/06/03 22:09:17 UTC

svn commit: r1489143 - in /jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc: connections/ results/ statements/

Author: rvesse
Date: Mon Jun  3 20:09:17 2013
New Revision: 1489143

URL: http://svn.apache.org/r1489143
Log:
Add more logging statements where appropriate

Modified:
    jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/connections/JenaConnection.java
    jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/results/AskResults.java
    jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/results/QueryExecutionResults.java
    jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/statements/DatasetPreparedStatement.java
    jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/statements/DatasetStatement.java
    jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/statements/JenaStatement.java

Modified: jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/connections/JenaConnection.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/connections/JenaConnection.java?rev=1489143&r1=1489142&r2=1489143&view=diff
==============================================================================
--- jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/connections/JenaConnection.java (original)
+++ jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/connections/JenaConnection.java Mon Jun  3 20:09:17 2013
@@ -655,7 +655,7 @@ public abstract class JenaConnection imp
      *            Warning
      */
     protected void setWarning(SQLWarning warning) {
-        LOGGER.warn(warning.getMessage(), warning);
+        LOGGER.warn("SQL Warning was issued", warning);
 
         if (this.warnings == null) {
             this.warnings = warning;

Modified: jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/results/AskResults.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/results/AskResults.java?rev=1489143&r1=1489142&r2=1489143&view=diff
==============================================================================
--- jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/results/AskResults.java (original)
+++ jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/results/AskResults.java Mon Jun  3 20:09:17 2013
@@ -24,6 +24,8 @@ import java.sql.SQLException;
 import java.sql.SQLFeatureNotSupportedException;
 import org.apache.jena.jdbc.results.metadata.AskResultsMetadata;
 import org.apache.jena.jdbc.statements.JenaStatement;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.hp.hpl.jena.datatypes.xsd.XSDDatatype;
 import com.hp.hpl.jena.graph.Node;
@@ -34,6 +36,7 @@ import com.hp.hpl.jena.graph.NodeFactory
  *
  */
 public class AskResults extends JenaResultSet {
+    private static final Logger LOGGER = LoggerFactory.getLogger(AskResults.class);
     
     private boolean result, closed = false;
     private int currRow = 0;
@@ -82,6 +85,7 @@ public class AskResults extends JenaResu
         if (this.closed) return;
         this.closed = true;
         if (this.needsCommit) {
+            LOGGER.info("Result Set associated with an auto-committing transaction, performing a commit now");
             this.getStatement().getConnection().commit();
         }
     }

Modified: jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/results/QueryExecutionResults.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/results/QueryExecutionResults.java?rev=1489143&r1=1489142&r2=1489143&view=diff
==============================================================================
--- jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/results/QueryExecutionResults.java (original)
+++ jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/results/QueryExecutionResults.java Mon Jun  3 20:09:17 2013
@@ -20,6 +20,8 @@ package org.apache.jena.jdbc.results;
 
 import java.sql.SQLException;
 import org.apache.jena.jdbc.statements.JenaStatement;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.hp.hpl.jena.query.QueryExecution;
 
@@ -28,6 +30,8 @@ import com.hp.hpl.jena.query.QueryExecut
  *
  */
 public abstract class QueryExecutionResults extends JenaResultSet {
+    
+    private static final Logger LOGGER = LoggerFactory.getLogger(QueryExecutionResults.class);
 
     private QueryExecution qe;
     private boolean commit = false;
@@ -56,12 +60,14 @@ public abstract class QueryExecutionResu
                 // Close the query execution
                 this.qe.close();
             } catch (Exception e) {
+                LOGGER.error("Unexpected error closing underlying Jena query execution", e);
                 throw new SQLException("Unexpected error closing the query execution", e);
             } finally {
                 this.qe = null;
                 
                 // Commit if necessary
                 if (this.commit) {
+                    LOGGER.info("Result Set associated with an auto-committing transaction, performing a commit now");
                     this.getStatement().getConnection().commit();
                 }
             }

Modified: jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/statements/DatasetPreparedStatement.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/statements/DatasetPreparedStatement.java?rev=1489143&r1=1489142&r2=1489143&view=diff
==============================================================================
--- jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/statements/DatasetPreparedStatement.java (original)
+++ jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/statements/DatasetPreparedStatement.java Mon Jun  3 20:09:17 2013
@@ -21,6 +21,8 @@ package org.apache.jena.jdbc.statements;
 import java.sql.SQLException;
 
 import org.apache.jena.jdbc.connections.DatasetConnection;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.hp.hpl.jena.query.Dataset;
 import com.hp.hpl.jena.query.Query;
@@ -37,6 +39,7 @@ import com.hp.hpl.jena.update.UpdateRequ
  * 
  */
 public class DatasetPreparedStatement extends JenaPreparedStatement {
+    private static final Logger LOGGER = LoggerFactory.getLogger(DatasetPreparedStatement.class);
 
     private DatasetConnection dsConn;
 
@@ -104,19 +107,39 @@ public class DatasetPreparedStatement ex
     protected void beginTransaction(ReadWrite type) throws SQLException {
         try {
             this.dsConn.begin(type);
+        } catch (SQLException e) {
+            // Throw as-is
+            throw e;
         } catch (Exception e) {
+            LOGGER.error("Unexpected error starting a transaction", e);
             throw new SQLException("Unexpected error starting a transaction", e);
         }
     }
 
     @Override
     protected void commitTransaction() throws SQLException {
-        this.dsConn.commit();
+        try {
+            this.dsConn.commit();
+        } catch (SQLException e) {
+            // Throw as-is
+            throw e;
+        } catch (Exception e) {
+            LOGGER.error("Unexpected error committing a transaction", e);
+            throw new SQLException("Unexpected error committing a transaction", e);
+        }
     }
 
     @Override
     protected void rollbackTransaction() throws SQLException {
+        try {
         this.dsConn.rollback();
+        } catch (SQLException e) {
+            // Throw as-is
+            throw e;
+        } catch (Exception e) {
+            LOGGER.error("Unexpected error rolling back a transaction", e);
+            throw new SQLException("Unexpected error rolling back a transaction", e);
+        }
     }
 
     @Override

Modified: jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/statements/DatasetStatement.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/statements/DatasetStatement.java?rev=1489143&r1=1489142&r2=1489143&view=diff
==============================================================================
--- jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/statements/DatasetStatement.java (original)
+++ jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/statements/DatasetStatement.java Mon Jun  3 20:09:17 2013
@@ -21,6 +21,8 @@ package org.apache.jena.jdbc.statements;
 import java.sql.SQLException;
 
 import org.apache.jena.jdbc.connections.DatasetConnection;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.hp.hpl.jena.query.Dataset;
 import com.hp.hpl.jena.query.Query;
@@ -37,6 +39,8 @@ import com.hp.hpl.jena.update.UpdateRequ
  * 
  */
 public class DatasetStatement extends JenaStatement {
+    
+    private static final Logger LOGGER = LoggerFactory.getLogger(DatasetStatement.class);
 
     private DatasetConnection dsConn;
 
@@ -67,7 +71,7 @@ public class DatasetStatement extends Je
      * @param holdability
      *            Result Set holdability
      * @param autoCommit
-     *            Auto commit behaviour
+     *            Auto commit behavior
      * @param transactionLevel
      *            Transaction level
      * @throws SQLException
@@ -100,19 +104,39 @@ public class DatasetStatement extends Je
     protected void beginTransaction(ReadWrite type) throws SQLException {
         try {
             this.dsConn.begin(type);
+        } catch (SQLException e) {
+            // Throw as-is
+            throw e;
         } catch (Exception e) {
+            LOGGER.error("Unexpected error starting a transaction", e);
             throw new SQLException("Unexpected error starting a transaction", e);
         }
     }
 
     @Override
     protected void commitTransaction() throws SQLException {
-        this.dsConn.commit();
+        try {
+            this.dsConn.commit();
+        } catch (SQLException e) {
+            // Throw as-is
+            throw e;
+        } catch (Exception e) {
+            LOGGER.error("Unexpected error committing a transaction", e);
+            throw new SQLException("Unexpected error committing a transaction", e);
+        }
     }
 
     @Override
     protected void rollbackTransaction() throws SQLException {
+        try {
         this.dsConn.rollback();
+        } catch (SQLException e) {
+            // Throw as-is
+            throw e;
+        } catch (Exception e) {
+            LOGGER.error("Unexpected error rolling back a transaction", e);
+            throw new SQLException("Unexpected error rolling back a transaction", e);
+        }
     }
 
     @Override

Modified: jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/statements/JenaStatement.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/statements/JenaStatement.java?rev=1489143&r1=1489142&r2=1489143&view=diff
==============================================================================
--- jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/statements/JenaStatement.java (original)
+++ jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/statements/JenaStatement.java Mon Jun  3 20:09:17 2013
@@ -181,19 +181,30 @@ public abstract class JenaStatement impl
             return;
         LOGGER.info("Closing statement");
         this.closed = true;
+        // Close current result set (if any)
         if (this.currResults != null) {
             this.currResults.close();
             this.currResults = null;
         }
-        while (!this.results.isEmpty()) {
-            ResultSet rset = this.results.poll();
-            if (rset != null)
+        // Close any remaining open results
+        if (this.results.size() > 0 || this.openResults.size() > 0) {
+            LOGGER.info("Closing " + (this.results.size() + this.openResults.size()) + " open result sets");
+
+            // Queue results i.e. stuff resulting from a query that produced
+            // multiple result sets or executeBatch() calls
+            while (!this.results.isEmpty()) {
+                ResultSet rset = this.results.poll();
+                if (rset != null)
+                    rset.close();
+            }
+            // Close open result sets i.e. stuff left around depending on
+            // statement correction
+            for (ResultSet rset : this.openResults) {
                 rset.close();
+            }
+            this.openResults.clear();
+            LOGGER.info("All open result sets were closed");
         }
-        for (ResultSet rset : this.openResults) {
-            rset.close();
-        }
-        this.openResults.clear();
         LOGGER.info("Statement was closed");
     }
 
@@ -338,7 +349,7 @@ public abstract class JenaStatement impl
         } catch (SQLException e) {
             if (needsCommit) {
                 // When auto-committing and query fails roll back immediately
-                LOGGER.warn("Rolling back failed query transaction");
+                LOGGER.warn("Rolling back failed query transaction", e);
                 this.rollbackTransaction();
             }
             throw e;
@@ -408,7 +419,7 @@ public abstract class JenaStatement impl
             return 0;
         } catch (SQLException e) {
             if (needsCommit) {
-                LOGGER.warn("Rolling back failed update transaction");
+                LOGGER.warn("Rolling back failed update transaction", e);
                 this.rollbackTransaction();
             }
             throw e;