blob: 92dc1822943d581d9906edb4246932bc255964c3 [file] [log] [blame]
diff -ruN original/src/com/hp/hpl/jena/sdb/layout2/hash/StoreTriplesNodesHashMySQL.java modification/src/com/hp/hpl/jena/sdb/layout2/hash/StoreTriplesNodesHashMySQL.java
--- original/src/com/hp/hpl/jena/sdb/layout2/hash/StoreTriplesNodesHashMySQL.java 2009-01-16 14:02:04.000000000 +0100
+++ modification/src/com/hp/hpl/jena/sdb/layout2/hash/StoreTriplesNodesHashMySQL.java 2009-03-18 14:39:31.000000000 +0100
@@ -12,7 +12,10 @@
import com.hp.hpl.jena.sdb.layout2.SQLBridgeFactory2;
import com.hp.hpl.jena.sdb.sql.MySQLEngineType;
import com.hp.hpl.jena.sdb.sql.SDBConnection;
-
+
+/*-MOMENT*/
+import com.hp.hpl.jena.sdb.layout2.MySQLconnection;
+/*MOMENT-*/
public class StoreTriplesNodesHashMySQL extends StoreBaseHash
{
@@ -32,7 +35,12 @@
new SQLBridgeFactory2(),
new GenerateSQLMySQL()) ;
- ((LoaderTuplesNodes) this.getLoader()).setStore(this);
+ ((LoaderTuplesNodes) this.getLoader()).setStore(this);
+
+ /*-MOMENT*/
+ MySQLconnection p = new MySQLconnection("MySQLconnection-Thread", connection);
+ new Thread(p).start();
+ /*MOMENT-*/
}
}
@@ -61,4 +69,4 @@
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
\ No hay ningún carácter de nueva línea al final del fichero
+ */
diff -ruN original/src/com/hp/hpl/jena/sdb/layout2/index/StoreTriplesNodesIndexMySQL.java modification/src/com/hp/hpl/jena/sdb/layout2/index/StoreTriplesNodesIndexMySQL.java
--- original/src/com/hp/hpl/jena/sdb/layout2/index/StoreTriplesNodesIndexMySQL.java 2009-01-16 14:02:04.000000000 +0100
+++ modification/src/com/hp/hpl/jena/sdb/layout2/index/StoreTriplesNodesIndexMySQL.java 2009-03-18 14:39:36.000000000 +0100
@@ -12,6 +12,10 @@
import com.hp.hpl.jena.sdb.layout2.SQLBridgeFactory2;
import com.hp.hpl.jena.sdb.sql.MySQLEngineType;
import com.hp.hpl.jena.sdb.sql.SDBConnection;
+
+/*-MOMENT*/
+import com.hp.hpl.jena.sdb.layout2.MySQLconnection;
+/*MOMENT-*/
public class StoreTriplesNodesIndexMySQL extends StoreBaseIndex
{
@@ -31,6 +35,11 @@
new GenerateSQLMySQL()) ;
((LoaderTuplesNodes) this.getLoader()).setStore(this);
+
+ /*-MOMENT*/
+ MySQLconnection p = new MySQLconnection("MySQLconnection-Thread", connection);
+ new Thread(p).start();
+ /*MOMENT-*/
}
}
@@ -59,4 +68,4 @@
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
\ No hay ningún carácter de nueva línea al final del fichero
+ */
diff -ruN original/src/com/hp/hpl/jena/sdb/layout2/MySQLconnection.java modification/src/com/hp/hpl/jena/sdb/layout2/MySQLconnection.java
--- original/src/com/hp/hpl/jena/sdb/layout2/MySQLconnection.java 1970-01-01 01:00:00.000000000 +0100
+++ modification/src/com/hp/hpl/jena/sdb/layout2/MySQLconnection.java 2009-03-18 14:43:29.000000000 +0100
@@ -0,0 +1,54 @@
+/*-MOMENT*/
+
+package com.hp.hpl.jena.sdb.layout2;
+
+import java.sql.Statement;
+import java.sql.SQLException;
+import java.sql.ResultSet;
+import static java.sql.ResultSet.CONCUR_READ_ONLY;
+import static java.sql.ResultSet.TYPE_FORWARD_ONLY;
+import com.hp.hpl.jena.sdb.sql.SDBConnection;
+
+public class MySQLconnection extends Thread {
+ private SDBConnection conn ;
+ private int wait_timeout = -1; // sec
+
+ public MySQLconnection(String str, SDBConnection connection) {
+ super(str);
+ this.conn = connection;
+ }
+ public void run() {
+ while(true){
+ if(wait_timeout < 0){
+ try{
+ Statement s = conn.getSqlConnection().createStatement(TYPE_FORWARD_ONLY, CONCUR_READ_ONLY) ;
+ ResultSet rs = s.executeQuery("show variables like 'wait_timeout';");
+ rs.next();
+ wait_timeout = rs.getInt(2); // sec
+ s.close();
+ } catch (SQLException ex) {
+ System.err.println("MySQLconnection class - Connection error");
+ }
+ }
+
+ try{
+ // Try to make a Statement
+ Statement s = conn.getSqlConnection().createStatement(TYPE_FORWARD_ONLY, CONCUR_READ_ONLY) ;
+ s.executeQuery("SELECT * FROM Triples LIMIT 1;");
+ s.cancel();
+ } catch (SQLException ex) {
+ System.err.println("MySQLconnection class - Connection error");
+ }
+
+ try{
+ if(wait_timeout > 0){
+ sleep(wait_timeout*1000/10); // msec
+ } else {
+ sleep(1000); // msec
+ }
+ }catch(InterruptedException ex){}
+ }
+ }
+}
+/*-MOMENT*/
+