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/04/04 22:46:07 UTC

svn commit: r1464737 - in /jena/Experimental/jena-jdbc: jena-jdbc-core/ jena-jdbc-core/src/main/java/org/apache/jena/jdbc/ jena-jdbc-core/src/main/java/org/apache/jena/jdbc/connections/ jena-jdbc-driver-mem/src/main/java/org/apache/jena/jdbc/mem/ jena-...

Author: rvesse
Date: Thu Apr  4 20:46:07 2013
New Revision: 1464737

URL: http://svn.apache.org/r1464737
Log:
Start putting some infrastructure in place to support the notion of configurable JDBC compatibility layers

Added:
    jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/JdbcCompatibility.java
    jena/Experimental/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/
    jena/Experimental/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnection.java
Removed:
    jena/Experimental/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/TestRemoteEndpointConnection.java
Modified:
    jena/Experimental/jena-jdbc/jena-jdbc-core/pom.xml
    jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/JenaDriver.java
    jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/JenaJDBC.java
    jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/connections/DatasetConnection.java
    jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/connections/JenaConnection.java
    jena/Experimental/jena-jdbc/jena-jdbc-driver-mem/src/main/java/org/apache/jena/jdbc/mem/MemDriver.java
    jena/Experimental/jena-jdbc/jena-jdbc-driver-mem/src/main/java/org/apache/jena/jdbc/mem/connections/MemConnection.java
    jena/Experimental/jena-jdbc/jena-jdbc-driver-mem/src/test/java/org/apache/jena/jdbc/mem/connections/DebugMemConnection.java
    jena/Experimental/jena-jdbc/jena-jdbc-driver-mem/src/test/java/org/apache/jena/jdbc/mem/connections/TestDatasetConnection.java
    jena/Experimental/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/RemoteEndpointDriver.java
    jena/Experimental/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/connections/RemoteEndpointConnection.java
    jena/Experimental/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResults.java
    jena/Experimental/jena-jdbc/jena-jdbc-driver-tdb/src/main/java/org/apache/jena/jdbc/tdb/TDBDriver.java
    jena/Experimental/jena-jdbc/jena-jdbc-driver-tdb/src/main/java/org/apache/jena/jdbc/tdb/connections/TDBConnection.java
    jena/Experimental/jena-jdbc/jena-jdbc-driver-tdb/src/test/java/org/apache/jena/jdbc/tdb/connections/DebugTdbConnection.java
    jena/Experimental/jena-jdbc/jena-jdbc-driver-tdb/src/test/java/org/apache/jena/jdbc/tdb/connections/TestJenaJdbcTdbDiskConnection.java
    jena/Experimental/jena-jdbc/jena-jdbc-driver-tdb/src/test/java/org/apache/jena/jdbc/tdb/connections/TestJenaJdbcTdbMemConnection.java

Modified: jena/Experimental/jena-jdbc/jena-jdbc-core/pom.xml
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-jdbc/jena-jdbc-core/pom.xml?rev=1464737&r1=1464736&r2=1464737&view=diff
==============================================================================
--- jena/Experimental/jena-jdbc/jena-jdbc-core/pom.xml (original)
+++ jena/Experimental/jena-jdbc/jena-jdbc-core/pom.xml Thu Apr  4 20:46:07 2013
@@ -36,16 +36,9 @@
 				<filtering>true</filtering>
 				<directory>src/main/resources</directory>
 				<includes>
-					<include>org/apache/jena/jdbc/jena-properties.xml</include>
+					<include>org/apache/jena/jdbc/jdbc-properties.xml</include>
 				</includes>
 			</resource>
-			<resource>
-				<filtering>false</filtering>
-				<directory>src/main/resources</directory>
-				<excludes>
-					<exclude>org/apache/jena/jdbc/jena-properties.xml</exclude>
-				</excludes>
-			</resource>
 		</resources>
 		<plugins>
 			<plugin>

Added: jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/JdbcCompatibility.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/JdbcCompatibility.java?rev=1464737&view=auto
==============================================================================
--- jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/JdbcCompatibility.java (added)
+++ jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/JdbcCompatibility.java Thu Apr  4 20:46:07 2013
@@ -0,0 +1,122 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.jdbc;
+
+import java.sql.Types;
+
+import com.hp.hpl.jena.graph.Node;
+
+/**
+ * <p>
+ * Class containing constants and helper methods related to JDBC compatibility
+ * </p>
+ * <p>
+ * Since JDBC is very SQL centric API by definition shoe-horning SPARQL into it
+ * has some caveats and provisos, the aim of this class it to provide some level
+ * of configurability of how nice we will try to play with JDBC. We provide the
+ * notion of a configurable compatibility level, by definition we use the
+ * {@link #MEDIUM} compatibility level, see the documentation on the constants
+ * and helper methods to understand exactly what each level means..
+ * </p>
+ * 
+ */
+public class JdbcCompatibility {
+
+    /**
+     * Private constructor prevents instantiation
+     */
+    private JdbcCompatibility() {
+    }
+
+    /**
+     * Constant for low JDBC compatibility level
+     * <p>
+     * This is the level you should use when you know you are accessing a SPARQL source and are able to cope with the Jena/ARQ representation of RDF terms natively.
+     * </p>
+     * <h3>Behavior Specifies</h3>
+     * <ul>
+     * <li>Column Typing - All result set columns are reported as being as typed as {@link Types#JAVA_OBJECT} and Java type is the ARQ {@link Node} type.</li>
+     * </ul>
+     */
+    public static final int LOW = 1;
+
+    /**
+     * Constant for medium JDBC compatibility level
+     * <p>
+     * This is the default compatibility level, we will make some effort to be compatible with JDBC but these efforts will not be perfect.
+     * </p>
+     * <h3>Behavior Specifics</h3>
+     * <ul>
+     * <li>Column Typing - All result set columns are reported as being as typed as {@link Types#NVARCHAR} and Java type is {@link String}.</li>
+     * </ul>
+     */
+    public static final int MEDIUM = 5;
+
+    /**
+     * Constant for high JDBC compatibility level
+     * <p>
+     * This is the highest compatibility level, we will do our best to be compatible with JDBC however these efforts may still not be perfect.
+     * </p>
+     * <h3>Behavior Specifics</h3>
+     * <ul>
+     * <li>Column Typing - Result set columns are typed by inspecting the first row of the data so native JDBC types like {@link Types#INTEGER} and so forth may be reported depending on the query.</li>
+     * </ul>
+     */
+    public static final int HIGH = 9;
+    
+    /**
+     * Constant for default JDBC compatibility which is set to {@link #MEDIUM}
+     */
+    public static final int DEFAULT = MEDIUM;
+    
+    /**
+     * Normalizes the compatibility level given to be within the acceptable range of 1-9
+     * @param level Level
+     * @return Normalized level
+     */
+    public static int normalizeLevel(int level) {
+        if (level < LOW) {
+            return LOW;
+        } else if (level > HIGH) {
+            return HIGH;
+        } else {
+            return level;
+        }
+    }
+    
+    /**
+     * Returns whether a result set is expected to determine the column types from the returned data
+     * @param level Desired compatibility level
+     * @return True if column types should be detected, false otherwise
+     */
+    public static boolean shouldDetectColumnTypes(int level) {
+        level = normalizeLevel(level);
+        return level > MEDIUM;
+    }
+    
+    /**
+     * Returns whether a result set is expected to type returned columns as strings
+     * @param level Desired compatibility level
+     * @return True if columns should be typed as string, false otherwise
+     */
+    public static boolean shouldTypeColumnsAsString(int level) {
+        level = normalizeLevel(level);
+        return level >= MEDIUM;
+    }
+}

Modified: jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/JenaDriver.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/JenaDriver.java?rev=1464737&r1=1464736&r2=1464737&view=diff
==============================================================================
--- jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/JenaDriver.java (original)
+++ jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/JenaDriver.java Thu Apr  4 20:46:07 2013
@@ -139,7 +139,7 @@ public abstract class JenaDriver impleme
         }
 
         // Try to create the connection
-        return this.connect(ps);
+        return this.connect(ps, JdbcCompatibility.DEFAULT);
     }
 
     /**
@@ -173,7 +173,7 @@ public abstract class JenaDriver impleme
      * @throws SQLException
      *             Thrown if a connection cannot be created for any reason
      */
-    protected abstract Connection connect(Properties props) throws SQLException;
+    protected abstract Connection connect(Properties props, int compatabilityLevel) throws SQLException;
 
     public int getMajorVersion() {
         return this.minorVer;
@@ -184,6 +184,7 @@ public abstract class JenaDriver impleme
     }
 
     public DriverPropertyInfo[] getPropertyInfo(String arg0, Properties arg1) throws SQLException {
+        // TODO: Make abstract and force implementations to implement
         return new DriverPropertyInfo[0];
     }
 

Modified: jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/JenaJDBC.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/JenaJDBC.java?rev=1464737&r1=1464736&r2=1464737&view=diff
==============================================================================
--- jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/JenaJDBC.java (original)
+++ jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/JenaJDBC.java Thu Apr  4 20:46:07 2013
@@ -28,17 +28,16 @@ public class JenaJDBC {
 
     private JenaJDBC() { }
     
-    /** The root package name for ARQ */   
+    /** The root package name for Jena JDBC */   
     public static final String PATH         = "org.apache.jena.jdbc";
    
     static private String metadataLocation  = "org/apache/jena/jdbc/jdbc-properties.xml" ;
 
     static private Metadata metadata        = new Metadata(metadataLocation) ;
    
-    /** The full name of the current ARQ version */   
+    /** The full name of the current Jena JDBC version */   
     public static final String VERSION      = metadata.get(PATH+".version", "unknown") ;
    
     /** The date and time at which this release was built */   
     public static final String BUILD_DATE   = metadata.get(PATH+".build.datetime", "unset") ;
-
 }

Modified: jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/connections/DatasetConnection.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/connections/DatasetConnection.java?rev=1464737&r1=1464736&r2=1464737&view=diff
==============================================================================
--- jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/connections/DatasetConnection.java (original)
+++ jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/connections/DatasetConnection.java Thu Apr  4 20:46:07 2013
@@ -23,6 +23,8 @@ import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.SQLFeatureNotSupportedException;
 import java.sql.Statement;
+
+import org.apache.jena.jdbc.JdbcCompatibility;
 import org.apache.jena.jdbc.statements.DatasetStatement;
 
 import com.hp.hpl.jena.query.Dataset;
@@ -40,11 +42,21 @@ public abstract class DatasetConnection 
      * Creates a new dataset connection
      * 
      * @param ds
+     *            Dataset
      * @param holdability
+     *            Cursor holdability
+     * @param autoCommit
+     *            Sets auto-commit behavior for the connection
+     * @param transactionLevel
+     *            Sets transaction isolation level for the connection
+     * @param compatibilityLevel
+     *            Sets JDBC compatibility level for the connection, see
+     *            {@link JdbcCompatibility}
      * @throws SQLException
      */
-    public DatasetConnection(Dataset ds, int holdability) throws SQLException {
-        super(holdability);
+    public DatasetConnection(Dataset ds, int holdability, boolean autoCommit, int transactionLevel, int compatibilityLevel)
+            throws SQLException {
+        super(holdability, autoCommit, transactionLevel, compatibilityLevel);
         this.ds = ds;
     }
 
@@ -73,9 +85,12 @@ public abstract class DatasetConnection 
     @Override
     protected Statement createStatementInternal(int resultSetType, int resultSetConcurrency, int resultSetHoldability)
             throws SQLException {
-        if (resultSetType != ResultSet.TYPE_FORWARD_ONLY) throw new SQLException("Dataset backed connections currently only supports forward-only result sets");
-        if (resultSetConcurrency != ResultSet.CONCUR_READ_ONLY) throw new SQLException("Database backed connections currently only supports read-only result sets");
-        return new DatasetStatement(this, ResultSet.FETCH_FORWARD, 0, resultSetHoldability, this.getAutoCommit(), this.getTransactionIsolation());
+        if (resultSetType != ResultSet.TYPE_FORWARD_ONLY)
+            throw new SQLException("Dataset backed connections currently only supports forward-only result sets");
+        if (resultSetConcurrency != ResultSet.CONCUR_READ_ONLY)
+            throw new SQLException("Database backed connections currently only supports read-only result sets");
+        return new DatasetStatement(this, ResultSet.FETCH_FORWARD, 0, resultSetHoldability, this.getAutoCommit(),
+                this.getTransactionIsolation());
     }
 
     @Override
@@ -138,7 +153,8 @@ public abstract class DatasetConnection 
             return;
         case TRANSACTION_SERIALIZABLE:
             // Serializable is supported if the dataset supports transactions
-            if (this.ds.supportsTransactions()) return;
+            if (this.ds.supportsTransactions())
+                return;
             // Otherwise we'll drop through and throw the error
         default:
             throw new SQLException(String.format("The Transaction level %d is not supported by this connection", level));
@@ -156,7 +172,7 @@ public abstract class DatasetConnection 
             throw new SQLException("Unexpected error committing the transaction", e);
         }
     }
-    
+
     @Override
     protected void rollbackInternal() throws SQLException {
         try {

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=1464737&r1=1464736&r2=1464737&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 Thu Apr  4 20:46:07 2013
@@ -41,6 +41,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 
+import org.apache.jena.jdbc.JdbcCompatibility;
 import org.apache.jena.jdbc.metadata.JenaMetadata;
 
 /**
@@ -68,29 +69,38 @@ public abstract class JenaConnection imp
     private SQLWarning warnings = null;
     private boolean autoCommit = DEFAULT_AUTO_COMMIT;
     private int isolationLevel = DEFAULT_ISOLATION_LEVEL;
+    private int compatibilityLevel = JdbcCompatibility.DEFAULT;
     private List<Statement> statements = new ArrayList<Statement>();
 
     /**
      * Creates a new connection
      * 
-     * @throws SQLException
-     *             Thrown if the arguments are invalid
-     */
-    public JenaConnection() throws SQLException {
-        this(DEFAULT_HOLDABILITY);
-    }
-
-    /**
-     * Creates a new connection
-     * 
      * @param holdability
      *            Cursor holdability
+     * @param autoCommit
+     *            Sets auto-commit behaviour for the connection
+     * @param transactionLevel
+     *            Sets transaction isolation level for the connection
+     * @param compatibilityLevel
+     *            Sets JDBC compatibility level for the connection, see
+     *            {@link JdbcCompatibility}
      * @throws SQLException
      *             Thrown if the arguments are invalid
      */
-    public JenaConnection(int holdability) throws SQLException {
+    public JenaConnection(int holdability, boolean autoCommit, int transactionLevel, int compatibilityLevel) throws SQLException {
         this.checkHoldability(holdability);
         this.holdability = holdability;
+        this.setAutoCommit(autoCommit);
+        this.setTransactionIsolation(transactionLevel);
+        this.compatibilityLevel = JdbcCompatibility.normalizeLevel(compatibilityLevel);
+    }
+    
+    /**
+     * Gets the JDBC compatibility level that is in use, see {@link JdbcCompatibility} for explanations
+     * @return Compatibility level
+     */
+    public int getJdbcCompatibilityLevel() {
+        return this.compatibilityLevel;
     }
 
     public boolean isWrapperFor(Class<?> arg0) throws SQLException {
@@ -275,7 +285,7 @@ public abstract class JenaConnection imp
         try {
             // Get the implementation to do the actual rollback
             this.rollbackInternal();
-            
+
             // Close any open statements if applicable
             if (this.holdability == ResultSet.CLOSE_CURSORS_AT_COMMIT) {
                 this.closeStatements();

Modified: jena/Experimental/jena-jdbc/jena-jdbc-driver-mem/src/main/java/org/apache/jena/jdbc/mem/MemDriver.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-jdbc/jena-jdbc-driver-mem/src/main/java/org/apache/jena/jdbc/mem/MemDriver.java?rev=1464737&r1=1464736&r2=1464737&view=diff
==============================================================================
--- jena/Experimental/jena-jdbc/jena-jdbc-driver-mem/src/main/java/org/apache/jena/jdbc/mem/MemDriver.java (original)
+++ jena/Experimental/jena-jdbc/jena-jdbc-driver-mem/src/main/java/org/apache/jena/jdbc/mem/MemDriver.java Thu Apr  4 20:46:07 2013
@@ -92,7 +92,7 @@ public class MemDriver extends JenaDrive
     }
 
     @Override
-    protected Connection connect(Properties props) throws SQLException {
+    protected Connection connect(Properties props, int compatibilityLevel) throws SQLException {
         Object dsObj = props.get(PARAM_DATASET);
         String empty = props.getProperty(PARAM_EMPTY);
         if (empty != null) empty = empty.toLowerCase();
@@ -101,18 +101,18 @@ public class MemDriver extends JenaDrive
         if (dsObj != null) {
             if (dsObj instanceof Dataset) {
                 // Dataset provided directly
-                return (Connection) new MemConnection((Dataset)dsObj, JenaConnection.DEFAULT_HOLDABILITY);
+                return (Connection) new MemConnection((Dataset)dsObj, JenaConnection.DEFAULT_HOLDABILITY, JenaConnection.DEFAULT_AUTO_COMMIT, JenaConnection.DEFAULT_ISOLATION_LEVEL, compatibilityLevel);
             } else {
                 try {
                     Dataset ds = DatasetFactory.createMem();
                     RDFDataMgr.read(ds, dsObj.toString());
-                    return (Connection) new MemConnection(ds, JenaConnection.DEFAULT_HOLDABILITY);
+                    return (Connection) new MemConnection(ds, JenaConnection.DEFAULT_HOLDABILITY, JenaConnection.DEFAULT_AUTO_COMMIT, JenaConnection.DEFAULT_ISOLATION_LEVEL, compatibilityLevel);
                 } catch (Exception e) {
                     throw new SQLException("Error occurred while reading from the specified RDF dataset file - " + dsObj.toString(), e);
                 }
             }
         } else if ("true".equals(empty)) {
-            return (Connection) new MemConnection(DatasetFactory.createMem(), JenaConnection.DEFAULT_HOLDABILITY);
+            return (Connection) new MemConnection(DatasetFactory.createMem(), JenaConnection.DEFAULT_HOLDABILITY, JenaConnection.DEFAULT_AUTO_COMMIT, JenaConnection.DEFAULT_ISOLATION_LEVEL, compatibilityLevel);
         } else {
             throw new SQLException("Insufficient parameters to create a Jena JDBC in-memory connection, please supply a Dataset file/instance via the " + PARAM_DATASET + " parameter or supply " + PARAM_EMPTY + "=true to connect to a new empty dataset");
         }

Modified: jena/Experimental/jena-jdbc/jena-jdbc-driver-mem/src/main/java/org/apache/jena/jdbc/mem/connections/MemConnection.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-jdbc/jena-jdbc-driver-mem/src/main/java/org/apache/jena/jdbc/mem/connections/MemConnection.java?rev=1464737&r1=1464736&r2=1464737&view=diff
==============================================================================
--- jena/Experimental/jena-jdbc/jena-jdbc-driver-mem/src/main/java/org/apache/jena/jdbc/mem/connections/MemConnection.java (original)
+++ jena/Experimental/jena-jdbc/jena-jdbc-driver-mem/src/main/java/org/apache/jena/jdbc/mem/connections/MemConnection.java Thu Apr  4 20:46:07 2013
@@ -20,6 +20,8 @@ package org.apache.jena.jdbc.mem.connect
 
 import java.sql.DatabaseMetaData;
 import java.sql.SQLException;
+
+import org.apache.jena.jdbc.JdbcCompatibility;
 import org.apache.jena.jdbc.connections.DatasetConnection;
 import org.apache.jena.jdbc.mem.metadata.MemDatasetMetadata;
 
@@ -38,10 +40,18 @@ public class MemConnection extends Datas
      *            Dataset
      * @param holdability
      *            Result Set holdability
+     * @param autoCommit
+     *            Sets auto-commit behavior for the connection
+     * @param transactionLevel
+     *            Sets transaction isolation level for the connection
+     * @param compatibilityLevel
+     *            Sets JDBC compatibility level for the connection, see
+     *            {@link JdbcCompatibility}
      * @throws SQLException
      */
-    public MemConnection(Dataset ds, int holdability) throws SQLException {
-        super(ds, holdability);
+    public MemConnection(Dataset ds, int holdability, boolean autoCommit, int transactionLevel, int compatibilityLevel)
+            throws SQLException {
+        super(ds, holdability, autoCommit, transactionLevel, compatibilityLevel);
     }
 
     @Override

Modified: jena/Experimental/jena-jdbc/jena-jdbc-driver-mem/src/test/java/org/apache/jena/jdbc/mem/connections/DebugMemConnection.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-jdbc/jena-jdbc-driver-mem/src/test/java/org/apache/jena/jdbc/mem/connections/DebugMemConnection.java?rev=1464737&r1=1464736&r2=1464737&view=diff
==============================================================================
--- jena/Experimental/jena-jdbc/jena-jdbc-driver-mem/src/test/java/org/apache/jena/jdbc/mem/connections/DebugMemConnection.java (original)
+++ jena/Experimental/jena-jdbc/jena-jdbc-driver-mem/src/test/java/org/apache/jena/jdbc/mem/connections/DebugMemConnection.java Thu Apr  4 20:46:07 2013
@@ -20,6 +20,7 @@ package org.apache.jena.jdbc.mem.connect
 
 import java.sql.SQLException;
 
+import org.apache.jena.jdbc.JdbcCompatibility;
 import org.apache.jena.jdbc.connections.JenaConnection;
 import org.apache.jena.jdbc.mem.connections.MemConnection;
 
@@ -46,7 +47,7 @@ public class DebugMemConnection extends 
      * @throws SQLException
      */
     public DebugMemConnection(Dataset ds) throws SQLException {
-        super(ds, JenaConnection.DEFAULT_HOLDABILITY);
+        super(ds, JenaConnection.DEFAULT_HOLDABILITY, JenaConnection.DEFAULT_AUTO_COMMIT, JenaConnection.DEFAULT_ISOLATION_LEVEL, JdbcCompatibility.DEFAULT);
     }
 
     /**

Modified: jena/Experimental/jena-jdbc/jena-jdbc-driver-mem/src/test/java/org/apache/jena/jdbc/mem/connections/TestDatasetConnection.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-jdbc/jena-jdbc-driver-mem/src/test/java/org/apache/jena/jdbc/mem/connections/TestDatasetConnection.java?rev=1464737&r1=1464736&r2=1464737&view=diff
==============================================================================
--- jena/Experimental/jena-jdbc/jena-jdbc-driver-mem/src/test/java/org/apache/jena/jdbc/mem/connections/TestDatasetConnection.java (original)
+++ jena/Experimental/jena-jdbc/jena-jdbc-driver-mem/src/test/java/org/apache/jena/jdbc/mem/connections/TestDatasetConnection.java Thu Apr  4 20:46:07 2013
@@ -20,6 +20,7 @@ package org.apache.jena.jdbc.mem.connect
 
 import java.sql.SQLException;
 
+import org.apache.jena.jdbc.JdbcCompatibility;
 import org.apache.jena.jdbc.connections.AbstractJenaConnectionTests;
 import org.apache.jena.jdbc.connections.DatasetConnection;
 import org.apache.jena.jdbc.connections.JenaConnection;
@@ -30,21 +31,22 @@ import com.hp.hpl.jena.query.DatasetFact
 
 /**
  * Tests for the {@link DatasetConnection}
+ * 
  * @author rvesse
- *
+ * 
  */
 public class TestDatasetConnection extends AbstractJenaConnectionTests {
 
     @Override
     protected JenaConnection getConnection() throws SQLException {
-        return new MemConnection(DatasetFactory.createMem(), JenaConnection.DEFAULT_HOLDABILITY);
+        return new MemConnection(DatasetFactory.createMem(), JenaConnection.DEFAULT_HOLDABILITY,
+                JenaConnection.DEFAULT_AUTO_COMMIT, JenaConnection.DEFAULT_ISOLATION_LEVEL, JdbcCompatibility.DEFAULT);
     }
 
     @Override
     protected JenaConnection getConnection(Dataset ds) throws SQLException {
-        return new MemConnection(ds, JenaConnection.DEFAULT_HOLDABILITY);
+        return new MemConnection(ds, JenaConnection.DEFAULT_HOLDABILITY, JenaConnection.DEFAULT_AUTO_COMMIT,
+                JenaConnection.DEFAULT_ISOLATION_LEVEL, JdbcCompatibility.DEFAULT);
     }
 
-    
-
 }

Modified: jena/Experimental/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/RemoteEndpointDriver.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/RemoteEndpointDriver.java?rev=1464737&r1=1464736&r2=1464737&view=diff
==============================================================================
--- jena/Experimental/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/RemoteEndpointDriver.java (original)
+++ jena/Experimental/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/RemoteEndpointDriver.java Thu Apr  4 20:46:07 2013
@@ -92,7 +92,7 @@ public class RemoteEndpointDriver extend
     }
 
     @Override
-    protected Connection connect(Properties props) throws SQLException {
+    protected Connection connect(Properties props, int compatibilityLevel) throws SQLException {
         String queryEndpoint = props.getProperty(PARAM_QUERY_ENDPOINT);
         String updateEndpoint = props.getProperty(PARAM_UPDATE_ENDPOINT);
 
@@ -102,7 +102,7 @@ public class RemoteEndpointDriver extend
                     + " connection parameters must be specified to make a remote connection");
 
         // Create connection
-        return new RemoteEndpointConnection(queryEndpoint, updateEndpoint, JenaConnection.DEFAULT_HOLDABILITY);
+        return new RemoteEndpointConnection(queryEndpoint, updateEndpoint, JenaConnection.DEFAULT_HOLDABILITY, compatibilityLevel);
     }
 
 }

Modified: jena/Experimental/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/connections/RemoteEndpointConnection.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/connections/RemoteEndpointConnection.java?rev=1464737&r1=1464736&r2=1464737&view=diff
==============================================================================
--- jena/Experimental/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/connections/RemoteEndpointConnection.java (original)
+++ jena/Experimental/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/connections/RemoteEndpointConnection.java Thu Apr  4 20:46:07 2013
@@ -25,6 +25,8 @@ import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.SQLFeatureNotSupportedException;
 import java.sql.Statement;
+
+import org.apache.jena.jdbc.JdbcCompatibility;
 import org.apache.jena.jdbc.connections.JenaConnection;
 import org.apache.jena.jdbc.remote.metadata.RemoteEndpointMetadata;
 import org.apache.jena.jdbc.remote.statements.RemoteEndpointStatement;
@@ -48,11 +50,14 @@ public class RemoteEndpointConnection ex
      *            SPARQL Update Endpoint
      * @param holdability
      *            Result Set holdability
+     * @param compatibilityLevel
+     *            JDBC compatibility level, see {@link JdbcCompatibility}
      * @throws SQLException
      *             Thrown if there is a problem creating the connection
      */
-    public RemoteEndpointConnection(String queryEndpoint, String updateEndpoint, int holdability) throws SQLException {
-        super(holdability);
+    public RemoteEndpointConnection(String queryEndpoint, String updateEndpoint, int holdability, int compatibilityLevel)
+            throws SQLException {
+        super(holdability, true, Connection.TRANSACTION_NONE, compatibilityLevel);
         if (queryEndpoint == null && updateEndpoint == null)
             throw new SQLException("Must specify one/both of a query endpoint and update endpoint");
         this.queryService = queryEndpoint;
@@ -84,8 +89,10 @@ public class RemoteEndpointConnection ex
     }
 
     @Override
-    protected Statement createStatementInternal(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
-        if (this.isClosed()) throw new SQLException("Cannot create a statement after the connection was closed");
+    protected Statement createStatementInternal(int resultSetType, int resultSetConcurrency, int resultSetHoldability)
+            throws SQLException {
+        if (this.isClosed())
+            throw new SQLException("Cannot create a statement after the connection was closed");
         if (resultSetType != ResultSet.TYPE_FORWARD_ONLY)
             throw new SQLException("Remote endpoint backed connectionc currently only support forward-only result sets");
         if (resultSetConcurrency != ResultSet.CONCUR_READ_ONLY)
@@ -159,7 +166,7 @@ public class RemoteEndpointConnection ex
 
     @Override
     protected void commitInternal() throws SQLException {
-        // No-op        
+        // No-op
     }
 
     @Override

Added: jena/Experimental/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnection.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnection.java?rev=1464737&view=auto
==============================================================================
--- jena/Experimental/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnection.java (added)
+++ jena/Experimental/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnection.java Thu Apr  4 20:46:07 2013
@@ -0,0 +1,78 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.jdbc.remote.connections;
+
+import java.sql.SQLException;
+import org.apache.jena.fuseki.BaseServerTest;
+import org.apache.jena.fuseki.ServerTest;
+import org.apache.jena.jdbc.JdbcCompatibility;
+import org.apache.jena.jdbc.connections.AbstractJenaConnectionTests;
+import org.apache.jena.jdbc.connections.JenaConnection;
+import org.apache.jena.jdbc.remote.connections.RemoteEndpointConnection;
+import org.apache.jena.jdbc.utils.TestUtils;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+
+import com.hp.hpl.jena.query.Dataset;
+
+/**
+ * Tests for the {@link RemoteEndpointConnection}
+ *
+ */
+public class TestRemoteEndpointConnection extends AbstractJenaConnectionTests {
+        
+    /**
+     * Setup for the tests by allocating a Fuseki instance to work with
+     */
+    @BeforeClass
+    public static void setup() {
+        ServerTest.allocServer();
+    }
+    
+    /**
+     * Clean up after each test by resetting the Fuseki instance
+     */
+    @After
+    public void cleanupTest() {
+        ServerTest.resetServer();
+    }
+    
+    /**
+     * Clean up after tests by de-allocating the Fuseki instance
+     */
+    @AfterClass
+    public static void cleanup() {
+        ServerTest.freeServer();
+    }
+
+    @Override
+    protected JenaConnection getConnection() throws SQLException {
+        return new RemoteEndpointConnection(BaseServerTest.serviceQuery, BaseServerTest.serviceUpdate, JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT);
+    }
+
+    @Override
+    protected JenaConnection getConnection(Dataset ds) throws SQLException {
+        // Set up the dataset
+        TestUtils.copyToRemoteDataset(ds, BaseServerTest.serviceREST);
+        return new RemoteEndpointConnection(BaseServerTest.serviceQuery, BaseServerTest.serviceUpdate, JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT);
+    }
+
+
+}

Modified: jena/Experimental/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResults.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResults.java?rev=1464737&r1=1464736&r2=1464737&view=diff
==============================================================================
--- jena/Experimental/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResults.java (original)
+++ jena/Experimental/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResults.java Thu Apr  4 20:46:07 2013
@@ -24,6 +24,7 @@ import java.sql.Statement;
 
 import org.apache.jena.fuseki.BaseServerTest;
 import org.apache.jena.fuseki.ServerTest;
+import org.apache.jena.jdbc.JdbcCompatibility;
 import org.apache.jena.jdbc.connections.JenaConnection;
 import org.apache.jena.jdbc.remote.connections.RemoteEndpointConnection;
 import org.apache.jena.jdbc.results.AbstractResultSetTests;
@@ -50,7 +51,7 @@ public class TestRemoteEndpointResults e
     public static void setup() throws SQLException {
         ServerTest.allocServer();
         
-        connection = new RemoteEndpointConnection(BaseServerTest.serviceQuery, BaseServerTest.serviceUpdate, JenaConnection.DEFAULT_HOLDABILITY);
+        connection = new RemoteEndpointConnection(BaseServerTest.serviceQuery, BaseServerTest.serviceUpdate, JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT);
     }
     
     /**

Modified: jena/Experimental/jena-jdbc/jena-jdbc-driver-tdb/src/main/java/org/apache/jena/jdbc/tdb/TDBDriver.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-jdbc/jena-jdbc-driver-tdb/src/main/java/org/apache/jena/jdbc/tdb/TDBDriver.java?rev=1464737&r1=1464736&r2=1464737&view=diff
==============================================================================
--- jena/Experimental/jena-jdbc/jena-jdbc-driver-tdb/src/main/java/org/apache/jena/jdbc/tdb/TDBDriver.java (original)
+++ jena/Experimental/jena-jdbc/jena-jdbc-driver-tdb/src/main/java/org/apache/jena/jdbc/tdb/TDBDriver.java Thu Apr  4 20:46:07 2013
@@ -94,7 +94,7 @@ public class TDBDriver extends JenaDrive
     }
 
     @Override
-    protected Connection connect(Properties props) throws SQLException {
+    protected Connection connect(Properties props, int compatibilityLevel) throws SQLException {
         String location = props.getProperty(PARAM_LOCATION);
         if (location == null)
             throw new SQLException("Required connection parameter " + PARAM_LOCATION
@@ -133,7 +133,7 @@ public class TDBDriver extends JenaDrive
             Dataset tdb = useMem ? TDBFactory.createDataset() : TDBFactory.createDataset(location);
 
             // Return a JenaJdbcDatasetConnection for the TDB dataset
-            return (Connection) new TDBConnection(tdb, JenaConnection.DEFAULT_HOLDABILITY);
+            return (Connection) new TDBConnection(tdb, JenaConnection.DEFAULT_HOLDABILITY, true, compatibilityLevel);
         } catch (SQLException e) {
             throw e;
         } catch (Exception e) {

Modified: jena/Experimental/jena-jdbc/jena-jdbc-driver-tdb/src/main/java/org/apache/jena/jdbc/tdb/connections/TDBConnection.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-jdbc/jena-jdbc-driver-tdb/src/main/java/org/apache/jena/jdbc/tdb/connections/TDBConnection.java?rev=1464737&r1=1464736&r2=1464737&view=diff
==============================================================================
--- jena/Experimental/jena-jdbc/jena-jdbc-driver-tdb/src/main/java/org/apache/jena/jdbc/tdb/connections/TDBConnection.java (original)
+++ jena/Experimental/jena-jdbc/jena-jdbc-driver-tdb/src/main/java/org/apache/jena/jdbc/tdb/connections/TDBConnection.java Thu Apr  4 20:46:07 2013
@@ -18,9 +18,11 @@
 
 package org.apache.jena.jdbc.tdb.connections;
 
+import java.sql.Connection;
 import java.sql.DatabaseMetaData;
 import java.sql.SQLException;
 
+import org.apache.jena.jdbc.JdbcCompatibility;
 import org.apache.jena.jdbc.connections.DatasetConnection;
 import org.apache.jena.jdbc.tdb.metadata.TDBDatasetMetadata;
 
@@ -36,13 +38,12 @@ public class TDBConnection extends Datas
      * Creates a new connection
      * @param ds Dataset
      * @param holdability Result Set holdability
+     * @param autoCommit Auto-commit mode
+     * @param compatibilityLevel JDBC compatability level, see {@link JdbcCompatibility}
      * @throws SQLException
      */
-    public TDBConnection(Dataset ds, int holdability) throws SQLException {
-        super(ds, holdability);
-        
-        // TDB uses serializable transactions
-        this.setTransactionIsolation(TRANSACTION_SERIALIZABLE);
+    public TDBConnection(Dataset ds, int holdability, boolean autoCommit, int compatibilityLevel) throws SQLException {
+        super(ds, holdability, autoCommit, Connection.TRANSACTION_SERIALIZABLE, compatibilityLevel);
     }
 
     @Override

Modified: jena/Experimental/jena-jdbc/jena-jdbc-driver-tdb/src/test/java/org/apache/jena/jdbc/tdb/connections/DebugTdbConnection.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-jdbc/jena-jdbc-driver-tdb/src/test/java/org/apache/jena/jdbc/tdb/connections/DebugTdbConnection.java?rev=1464737&r1=1464736&r2=1464737&view=diff
==============================================================================
--- jena/Experimental/jena-jdbc/jena-jdbc-driver-tdb/src/test/java/org/apache/jena/jdbc/tdb/connections/DebugTdbConnection.java (original)
+++ jena/Experimental/jena-jdbc/jena-jdbc-driver-tdb/src/test/java/org/apache/jena/jdbc/tdb/connections/DebugTdbConnection.java Thu Apr  4 20:46:07 2013
@@ -20,6 +20,7 @@ package org.apache.jena.jdbc.tdb.connect
 
 import java.sql.SQLException;
 
+import org.apache.jena.jdbc.JdbcCompatibility;
 import org.apache.jena.jdbc.connections.JenaConnection;
 import org.apache.jena.jdbc.tdb.connections.TDBConnection;
 
@@ -46,7 +47,7 @@ public class DebugTdbConnection extends 
      * @throws SQLException
      */
     public DebugTdbConnection(Dataset ds) throws SQLException {
-        super(ds, JenaConnection.DEFAULT_HOLDABILITY);
+        super(ds, JenaConnection.DEFAULT_HOLDABILITY, JenaConnection.DEFAULT_AUTO_COMMIT, JdbcCompatibility.DEFAULT);
     }
 
     /**

Modified: jena/Experimental/jena-jdbc/jena-jdbc-driver-tdb/src/test/java/org/apache/jena/jdbc/tdb/connections/TestJenaJdbcTdbDiskConnection.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-jdbc/jena-jdbc-driver-tdb/src/test/java/org/apache/jena/jdbc/tdb/connections/TestJenaJdbcTdbDiskConnection.java?rev=1464737&r1=1464736&r2=1464737&view=diff
==============================================================================
--- jena/Experimental/jena-jdbc/jena-jdbc-driver-tdb/src/test/java/org/apache/jena/jdbc/tdb/connections/TestJenaJdbcTdbDiskConnection.java (original)
+++ jena/Experimental/jena-jdbc/jena-jdbc-driver-tdb/src/test/java/org/apache/jena/jdbc/tdb/connections/TestJenaJdbcTdbDiskConnection.java Thu Apr  4 20:46:07 2013
@@ -20,6 +20,7 @@ package org.apache.jena.jdbc.tdb.connect
 
 import java.sql.SQLException;
 
+import org.apache.jena.jdbc.JdbcCompatibility;
 import org.apache.jena.jdbc.connections.AbstractJenaConnectionTests;
 import org.apache.jena.jdbc.connections.DatasetConnection;
 import org.apache.jena.jdbc.connections.JenaConnection;
@@ -32,27 +33,31 @@ import com.hp.hpl.jena.query.Dataset;
 import com.hp.hpl.jena.tdb.TDBFactory;
 
 /**
- * Tests for the {@link DatasetConnection} backed by a purely in-memory testing only TDB dataset
- *
+ * Tests for the {@link DatasetConnection} backed by a purely in-memory testing
+ * only TDB dataset
+ * 
  */
 public class TestJenaJdbcTdbDiskConnection extends AbstractJenaConnectionTests {
-    
+
     /**
-     * Temporary directory rule used to guarantee a unique temporary folder for each test method
+     * Temporary directory rule used to guarantee a unique temporary folder for
+     * each test method
      */
     @Rule
     public TemporaryFolder tempDir = new TemporaryFolder();
 
     @Override
     protected JenaConnection getConnection() throws SQLException {
-        return new TDBConnection(TDBFactory.createDataset(tempDir.getRoot().getAbsolutePath()), JenaConnection.DEFAULT_HOLDABILITY);
+        return new TDBConnection(TDBFactory.createDataset(tempDir.getRoot().getAbsolutePath()),
+                JenaConnection.DEFAULT_HOLDABILITY, JenaConnection.DEFAULT_AUTO_COMMIT, JdbcCompatibility.DEFAULT);
     }
 
     @Override
     protected JenaConnection getConnection(Dataset ds) throws SQLException {
         Dataset tdb = TDBFactory.createDataset(tempDir.getRoot().getAbsolutePath());
         TestUtils.copyDataset(ds, tdb, true);
-        return new TDBConnection(tdb, JenaConnection.DEFAULT_HOLDABILITY);
+        return new TDBConnection(tdb, JenaConnection.DEFAULT_HOLDABILITY, JenaConnection.DEFAULT_AUTO_COMMIT,
+                JdbcCompatibility.DEFAULT);
     }
 
 }

Modified: jena/Experimental/jena-jdbc/jena-jdbc-driver-tdb/src/test/java/org/apache/jena/jdbc/tdb/connections/TestJenaJdbcTdbMemConnection.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-jdbc/jena-jdbc-driver-tdb/src/test/java/org/apache/jena/jdbc/tdb/connections/TestJenaJdbcTdbMemConnection.java?rev=1464737&r1=1464736&r2=1464737&view=diff
==============================================================================
--- jena/Experimental/jena-jdbc/jena-jdbc-driver-tdb/src/test/java/org/apache/jena/jdbc/tdb/connections/TestJenaJdbcTdbMemConnection.java (original)
+++ jena/Experimental/jena-jdbc/jena-jdbc-driver-tdb/src/test/java/org/apache/jena/jdbc/tdb/connections/TestJenaJdbcTdbMemConnection.java Thu Apr  4 20:46:07 2013
@@ -20,6 +20,7 @@ package org.apache.jena.jdbc.tdb.connect
 
 import java.sql.SQLException;
 
+import org.apache.jena.jdbc.JdbcCompatibility;
 import org.apache.jena.jdbc.connections.AbstractJenaConnectionTests;
 import org.apache.jena.jdbc.connections.DatasetConnection;
 import org.apache.jena.jdbc.connections.JenaConnection;
@@ -30,21 +31,24 @@ import com.hp.hpl.jena.query.Dataset;
 import com.hp.hpl.jena.tdb.TDBFactory;
 
 /**
- * Tests for the {@link DatasetConnection} backed by a purely in-memory testing only TDB dataset
- *
+ * Tests for the {@link DatasetConnection} backed by a purely in-memory testing
+ * only TDB dataset
+ * 
  */
 public class TestJenaJdbcTdbMemConnection extends AbstractJenaConnectionTests {
 
     @Override
     protected JenaConnection getConnection() throws SQLException {
-        return new TDBConnection(TDBFactory.createDataset(), JenaConnection.DEFAULT_HOLDABILITY);
+        return new TDBConnection(TDBFactory.createDataset(), JenaConnection.DEFAULT_HOLDABILITY,
+                JenaConnection.DEFAULT_AUTO_COMMIT, JdbcCompatibility.DEFAULT);
     }
 
     @Override
     protected JenaConnection getConnection(Dataset ds) throws SQLException {
         Dataset tdb = TDBFactory.createDataset();
         TestUtils.copyDataset(ds, tdb, true);
-        return new TDBConnection(tdb, JenaConnection.DEFAULT_HOLDABILITY);
+        return new TDBConnection(tdb, JenaConnection.DEFAULT_HOLDABILITY, JenaConnection.DEFAULT_AUTO_COMMIT,
+                JdbcCompatibility.DEFAULT);
     }
 
 }