You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2011/06/14 13:07:47 UTC

svn commit: r1135483 - in /incubator/jena/Experimental/TxTDB/trunk: src-dev/setup/ src-dev/tx/ src/main/java/com/hp/hpl/jena/tdb/transaction/

Author: andy
Date: Tue Jun 14 11:07:46 2011
New Revision: 1135483

URL: http://svn.apache.org/viewvc?rev=1135483&view=rev
Log: (empty)

Modified:
    incubator/jena/Experimental/TxTDB/trunk/src-dev/setup/DatasetBuilderStd.java
    incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/DevTx.java
    incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/TxMain.java
    incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/DatasetBuilderTxn.java
    incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/DatasetGraphTxnTDB.java
    incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/Transaction.java
    incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/TransactionManager.java

Modified: incubator/jena/Experimental/TxTDB/trunk/src-dev/setup/DatasetBuilderStd.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src-dev/setup/DatasetBuilderStd.java?rev=1135483&r1=1135482&r2=1135483&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src-dev/setup/DatasetBuilderStd.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src-dev/setup/DatasetBuilderStd.java Tue Jun 14 11:07:46 2011
@@ -72,7 +72,6 @@ public class DatasetBuilderStd implement
     }
     
     protected void set(NodeTableBuilder nodeTableBuilder,
-                       //NodeTupleTableBuilder nodeTupleTableBuilder,
                        TupleIndexBuilder tupleIndexBuilder,
                        IndexBuilder indexBuilder,
                        RangeIndexBuilder rangeIndexBuilder,

Modified: incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/DevTx.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/DevTx.java?rev=1135483&r1=1135482&r2=1135483&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/DevTx.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/DevTx.java Tue Jun 14 11:07:46 2011
@@ -2,7 +2,10 @@ package tx;
 
 public class DevTx
 {
-    // Building a datset.
+    // Building a dataset.
+    //   Commit and reply?
+    //   Reattach a journal?
+    
     // Need a clearly defined start/finish 
     //   start => location, journal and set datastructures.
     

Modified: incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/TxMain.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/TxMain.java?rev=1135483&r1=1135482&r2=1135483&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/TxMain.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/TxMain.java Tue Jun 14 11:07:46 2011
@@ -15,12 +15,14 @@ import java.util.Iterator ;
 
 import org.junit.Test ;
 import org.openjena.atlas.lib.Bytes ;
+import org.openjena.atlas.lib.FileOps ;
 import org.openjena.atlas.lib.Pair ;
 import org.openjena.atlas.lib.StrUtils ;
 import org.openjena.atlas.logging.Log ;
 import org.openjena.atlas.test.Gen ;
 import org.slf4j.Logger ;
 import org.slf4j.LoggerFactory ;
+import setup.DatasetBuilder ;
 
 import com.hp.hpl.jena.query.DatasetFactory ;
 import com.hp.hpl.jena.query.Query ;
@@ -28,12 +30,17 @@ import com.hp.hpl.jena.query.QueryExecut
 import com.hp.hpl.jena.query.QueryExecutionFactory ;
 import com.hp.hpl.jena.query.QueryFactory ;
 import com.hp.hpl.jena.query.Syntax ;
+import com.hp.hpl.jena.rdf.model.Model ;
+import com.hp.hpl.jena.rdf.model.ModelFactory ;
 import com.hp.hpl.jena.sparql.core.DatasetGraph ;
 import com.hp.hpl.jena.sparql.util.QueryExecUtils ;
+import com.hp.hpl.jena.tdb.TDBFactory ;
+import com.hp.hpl.jena.tdb.TDBLoader ;
 import com.hp.hpl.jena.tdb.base.block.BlockMgr ;
 import com.hp.hpl.jena.tdb.base.block.BlockMgrFactory ;
 import com.hp.hpl.jena.tdb.base.block.BlockMgrLogger ;
 import com.hp.hpl.jena.tdb.base.block.BlockMgrTracker ;
+import com.hp.hpl.jena.tdb.base.file.Location ;
 import com.hp.hpl.jena.tdb.base.objectfile.ObjectFile ;
 import com.hp.hpl.jena.tdb.base.record.Record ;
 import com.hp.hpl.jena.tdb.base.record.RecordFactory ;
@@ -44,12 +51,16 @@ import com.hp.hpl.jena.tdb.index.RangeIn
 import com.hp.hpl.jena.tdb.index.bplustree.BPTreeNode ;
 import com.hp.hpl.jena.tdb.index.bplustree.BPlusTree ;
 import com.hp.hpl.jena.tdb.index.bplustree.BPlusTreeParams ;
+import com.hp.hpl.jena.tdb.transaction.DatasetBuilderTxn ;
+import com.hp.hpl.jena.tdb.transaction.DatasetGraphTxnTDB ;
 import com.hp.hpl.jena.tdb.transaction.Journal ;
 import com.hp.hpl.jena.tdb.transaction.JournalEntry ;
 import com.hp.hpl.jena.tdb.transaction.JournalEntryType ;
+import com.hp.hpl.jena.tdb.transaction.TransactionManager ;
 import com.hp.hpl.jena.update.UpdateAction ;
 import com.hp.hpl.jena.update.UpdateFactory ;
 import com.hp.hpl.jena.update.UpdateRequest ;
+import com.hp.hpl.jena.util.FileManager ;
 
 public class TxMain
 {
@@ -71,6 +82,12 @@ public class TxMain
     
     public static void main(String... args)
     {
+        DatasetGraphTxnTDB dsg = build() ;
+        dsg.commit() ;
+        load("D.ttl", dsg) ;
+        query("SELECT (Count(*) AS ?c) { ?s ?p ?o }", dsg) ;
+        exit(0) ;
+        
         //tree_ins_2_01() ; exit(0) ;
         
         //test.BPlusTreeRun.main("test", "--bptree:track", "3", "125", "100000") ; exit(0) ;
@@ -81,6 +98,15 @@ public class TxMain
         bpTreeTracking() ; exit(0) ;
     }
     
+    private static DatasetGraphTxnTDB build()
+    {
+        FileOps.ensureDir("DB") ;
+        FileOps.clearDirectory("DB") ;
+        DatasetGraph dsg = TDBFactory.createDatasetGraph("DB") ;
+        DatasetGraphTxnTDB dsg2 = new TransactionManager().begin(dsg) ;
+        return dsg2 ;
+    }
+
     private static void dump(ObjectFile file)
     {
         Iterator<Pair<Long, ByteBuffer>> iter = file.all() ;
@@ -335,6 +361,13 @@ public class TxMain
         QueryExecUtils.executeQuery(query, qExec) ;
     }
     
+    private static void load(String file, DatasetGraphTxnTDB dsg)
+    {
+        Model m = ModelFactory.createModelForGraph(dsg.getDefaultGraph()) ;
+        FileManager.get().readModel(m, file) ;
+        
+    }
+
     public static void update(String updateStr, DatasetGraph dsg)
     {
         UpdateRequest req = UpdateFactory.create(updateStr) ;

Modified: incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/DatasetBuilderTxn.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/DatasetBuilderTxn.java?rev=1135483&r1=1135482&r2=1135483&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/DatasetBuilderTxn.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/DatasetBuilderTxn.java Tue Jun 14 11:07:46 2011
@@ -15,7 +15,6 @@ import setup.NodeTableBuilder ;
 import setup.ObjectFileBuilder ;
 import setup.RangeIndexBuilder ;
 import setup.TupleIndexBuilder ;
-import tx.transaction.DatasetGraphTxView ;
 
 import com.hp.hpl.jena.tdb.base.block.BlockMgr ;
 import com.hp.hpl.jena.tdb.base.file.BufferChannel ;
@@ -29,7 +28,7 @@ import com.hp.hpl.jena.tdb.store.Dataset
 
 public class DatasetBuilderTxn extends DatasetBuilderStd
 {
-    public DatasetBuilderTxn() { setStd() ; }
+    public DatasetBuilderTxn(TransactionManager txnMgr) { setStd() ; this.txnMgr = txnMgr ; }
     
     @Override
     protected void setStd()
@@ -61,14 +60,13 @@ public class DatasetBuilderTxn extends D
         txn.add(journal) ;
 
         DatasetGraphTDB dsg = super.build(location, config) ;
-        new DatasetGraphTxnTDB(dsg, txn) ;
+        return new DatasetGraphTxnTDB(dsg, txn) ;
     }
 
     public static final String journalExt = "jrnl" ;
     public static final String journalFilename = "journal" ;
    
-    // Maybe part of DatasetGraphTDB
-    private static TransactionManager txnMgr = new TransactionManager() ;
+    private TransactionManager txnMgr ;
     private Journal  journal ;
     private Transaction txn ;
     private Location location ;

Modified: incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/DatasetGraphTxnTDB.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/DatasetGraphTxnTDB.java?rev=1135483&r1=1135482&r2=1135483&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/DatasetGraphTxnTDB.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/DatasetGraphTxnTDB.java Tue Jun 14 11:07:46 2011
@@ -6,10 +6,9 @@
 
 package com.hp.hpl.jena.tdb.transaction;
 
-import com.hp.hpl.jena.sparql.core.DatasetGraphWrapper ;
 import com.hp.hpl.jena.tdb.store.DatasetGraphTDB ;
 
-public class DatasetGraphTxnTDB extends DatasetGraphWrapper
+public class DatasetGraphTxnTDB extends DatasetGraphTDB
 {
     private final Transaction transaction ;
 
@@ -24,7 +23,7 @@ public class DatasetGraphTxnTDB extends 
     
     @Override
     public String toString()
-    { return "Txn:"+getWrapped().toString() ; }
+    { return "Txn:"+super.toString() ; }
 }
 
 /*

Modified: incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/Transaction.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/Transaction.java?rev=1135483&r1=1135482&r2=1135483&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/Transaction.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/Transaction.java Tue Jun 14 11:07:46 2011
@@ -14,6 +14,7 @@ import java.util.List ;
 /** A transaction handle */
 public class Transaction
 {
+    // TODO split internal and external features.
     private final long id ;
     private final TransactionManager txnMgr ;
     private final List<Iterator<?>> iterators ; 

Modified: incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/TransactionManager.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/TransactionManager.java?rev=1135483&r1=1135482&r2=1135483&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/TransactionManager.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/TransactionManager.java Tue Jun 14 11:07:46 2011
@@ -29,7 +29,7 @@ public class TransactionManager
         return txn ;
     }
     
-    public Transaction begin(DatasetGraph dsg)
+    public DatasetGraphTxnTDB begin(DatasetGraph dsg)
     {
         // If already a transaction ... 
         // Subs transactions are a new view - commit is only comit to parent transaction.  
@@ -48,13 +48,11 @@ public class TransactionManager
         // For now, always build a parallel dataset - later, associate with the DatasetGraphTDB
         Location location = dsgtdb.getLocation() ;
         
-        
-        
-        DatasetBuilder x = new DatasetBuilderTxn(baseBlockMgrBuilder, nodeTable) ;
-        DatasetGraph dsg2 = x.build(Location.mem(), null) ;
-
-        Transaction_X txn = createTransaction() ;
-        return new DatasetGraphTxView(txn, dsg2) ;
+        // TODO Don't rebuild every time.
+        DatasetBuilder builder = new DatasetBuilderTxn(this) ;
+        //return builder.build(Location.mem(), null) ;
+        DatasetGraphTxnTDB dsgTxn = (DatasetGraphTxnTDB)builder.build(location, null) ;
+        return dsgTxn ;
     }
 
     public void commit(Transaction transaction)