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/07/12 23:41:03 UTC
svn commit: r1145782 - in /incubator/jena/Experimental/TxTDB/trunk:
src-dev/tx/ src/main/java/com/hp/hpl/jena/tdb/transaction/
src/main/java/tdb/ src/main/java/tdb/cmdline/
Author: andy
Date: Tue Jul 12 21:41:03 2011
New Revision: 1145782
URL: http://svn.apache.org/viewvc?rev=1145782&view=rev
Log: (empty)
Added:
incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/cmdline/CmdTDBGraph.java (with props)
incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/tdbrecovery.java (with props)
Modified:
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/JournalControl.java
incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/cmdline/CmdTDB.java
incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/tdbconfig.java
incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/tdbloader.java
incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/tdbnode.java
incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/tdbstats.java
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=1145782&r1=1145781&r2=1145782&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/DevTx.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/DevTx.java Tue Jul 12 21:41:03 2011
@@ -5,8 +5,9 @@ public class DevTx
{
// --------
// To do for release 0:
- // Journal left full when replayed.
+ // Journal left behind full when replayed.
// Txn over block/commited transaction
+ // Does the journal cope? with partial rplay - first part, not second?
// --------
// Tests
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=1145782&r1=1145781&r2=1145782&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/TxMain.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/TxMain.java Tue Jul 12 21:41:03 2011
@@ -8,7 +8,6 @@ package tx;
import org.openjena.atlas.lib.Bytes ;
import org.openjena.atlas.lib.FileOps ;
-import org.openjena.atlas.lib.Lib ;
import org.openjena.atlas.logging.Log ;
import com.hp.hpl.jena.graph.Graph ;
@@ -74,7 +73,6 @@ public class TxMain
// Take a blocking read connection.
DatasetGraphTxn dsgRead = sConn.begin(ReadWrite.READ) ;
- dsgRead.close() ;
DatasetGraphTxn dsg = sConn.begin(ReadWrite.WRITE) ;
load("D.ttl", dsg) ;
@@ -90,6 +88,8 @@ public class TxMain
// dsg.close() ;
dsgRead.close() ; // Transaction can now write changes to the real DB.
+
+ query("DSG-R", "SELECT (count(*) AS ?C) { ?s ?p ?o }", dsgRead) ;
exit(0) ;
}
Modified: incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/JournalControl.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/JournalControl.java?rev=1145782&r1=1145781&r2=1145782&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/JournalControl.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/JournalControl.java Tue Jul 12 21:41:03 2011
@@ -149,6 +149,7 @@ public class JournalControl
throw ex ;
}
finally { dsg.getLock().leaveCriticalSection() ; }
+ journal.truncate(0) ;
}
/** return true for "go on" */
Modified: incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/cmdline/CmdTDB.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/cmdline/CmdTDB.java?rev=1145782&r1=1145781&r2=1145782&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/cmdline/CmdTDB.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/cmdline/CmdTDB.java Tue Jul 12 21:41:03 2011
@@ -14,26 +14,21 @@ import java.util.Properties ;
import org.apache.log4j.PropertyConfigurator ;
import org.openjena.atlas.lib.StrUtils ;
import org.openjena.riot.SysRIOT ;
-import arq.cmd.CmdException ;
-import arq.cmdline.ArgDecl ;
import arq.cmdline.CmdARQ ;
import arq.cmdline.ModSymbol ;
import com.hp.hpl.jena.Jena ;
import com.hp.hpl.jena.query.ARQ ;
import com.hp.hpl.jena.query.Dataset ;
-import com.hp.hpl.jena.rdf.model.Model ;
import com.hp.hpl.jena.sparql.util.Utils ;
import com.hp.hpl.jena.tdb.TDB ;
import com.hp.hpl.jena.tdb.base.file.Location ;
import com.hp.hpl.jena.tdb.store.DatasetGraphTDB ;
-import com.hp.hpl.jena.tdb.store.GraphTDB ;
import com.hp.hpl.jena.tdb.sys.SetupTDB ;
import com.hp.hpl.jena.tdb.sys.SystemTDB ;
public abstract class CmdTDB extends CmdARQ
{
- private static final ArgDecl argNamedGraph = new ArgDecl(ArgDecl.HasValue, "graph") ;
protected final ModTDBDataset tdbDatasetAssembler = new ModTDBDataset() ;
private static final String log4Jsetup = StrUtils.strjoin("\n"
@@ -62,13 +57,10 @@ public abstract class CmdTDB extends Cmd
) ;
private static boolean initialized = false ;
- protected String graphName = null ;
-
protected CmdTDB(String[] argv)
{
super(argv) ;
init() ;
- super.add(argNamedGraph, "--graph=IRI", "Act on a named graph") ;
super.addModule(tdbDatasetAssembler) ;
super.modVersion.addClass(Jena.class) ;
super.modVersion.addClass(ARQ.class) ;
@@ -110,23 +102,6 @@ public abstract class CmdTDB extends Cmd
protected void processModulesAndArgs()
{
super.processModulesAndArgs() ;
- if ( contains(argNamedGraph) )
- graphName = getValue(argNamedGraph) ;
- }
-
- protected Model getModel()
- {
- Dataset ds = tdbDatasetAssembler.getDataset() ;
-
- if ( graphName != null )
- {
- Model m = ds.getNamedModel(graphName) ;
- if ( m == null )
- throw new CmdException("No such named graph (is this a TDB dataset?)") ;
- return m ;
- }
- else
- return ds.getDefaultModel() ;
}
protected Location getLocation()
@@ -134,14 +109,6 @@ public abstract class CmdTDB extends Cmd
return tdbDatasetAssembler.getLocation() ;
}
- protected GraphTDB getGraph()
- {
- if ( graphName != null )
- return (GraphTDB)tdbDatasetAssembler.getDataset().getNamedModel(graphName).getGraph() ;
- else
- return (GraphTDB)tdbDatasetAssembler.getDataset().getDefaultModel().getGraph() ;
- }
-
protected DatasetGraphTDB getDatasetGraph()
{
return (DatasetGraphTDB)getDataset().asDatasetGraph() ;
Added: incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/cmdline/CmdTDBGraph.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/cmdline/CmdTDBGraph.java?rev=1145782&view=auto
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/cmdline/CmdTDBGraph.java (added)
+++ incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/cmdline/CmdTDBGraph.java Tue Jul 12 21:41:03 2011
@@ -0,0 +1,92 @@
+/*
+ * (c) Copyright 2008, 2009 Hewlett-Packard Development Company, LP
+ * All rights reserved.
+ * [See end of file]
+ */
+
+package tdb.cmdline;
+
+import arq.cmd.CmdException ;
+import arq.cmdline.ArgDecl ;
+
+import com.hp.hpl.jena.query.Dataset ;
+import com.hp.hpl.jena.rdf.model.Model ;
+import com.hp.hpl.jena.sparql.util.Utils ;
+import com.hp.hpl.jena.tdb.store.GraphTDB ;
+
+public abstract class CmdTDBGraph extends CmdTDB
+{
+ private static final ArgDecl argNamedGraph = new ArgDecl(ArgDecl.HasValue, "graph") ;
+ protected String graphName = null ;
+
+ protected CmdTDBGraph(String[] argv)
+ {
+ super(argv) ;
+ super.add(argNamedGraph, "--graph=IRI", "Act on a named graph") ;
+ }
+
+ @Override
+ protected void processModulesAndArgs()
+ {
+ super.processModulesAndArgs() ;
+ if ( contains(argNamedGraph) )
+ graphName = getValue(argNamedGraph) ;
+ }
+
+ protected Model getModel()
+ {
+ Dataset ds = tdbDatasetAssembler.getDataset() ;
+
+ if ( graphName != null )
+ {
+ Model m = ds.getNamedModel(graphName) ;
+ if ( m == null )
+ throw new CmdException("No such named graph (is this a TDB dataset?)") ;
+ return m ;
+ }
+ else
+ return ds.getDefaultModel() ;
+ }
+
+ protected GraphTDB getGraph()
+ {
+ if ( graphName != null )
+ return (GraphTDB)tdbDatasetAssembler.getDataset().getNamedModel(graphName).getGraph() ;
+ else
+ return (GraphTDB)tdbDatasetAssembler.getDataset().getDefaultModel().getGraph() ;
+ }
+
+ @Override
+ protected String getCommandName()
+ {
+ return Utils.className(this) ;
+ }
+
+}
+
+/*
+ * (c) Copyright 2008, 2009 Hewlett-Packard Development Company, LP
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * 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 newline at end of file
Propchange: incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/cmdline/CmdTDBGraph.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/tdbconfig.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/tdbconfig.java?rev=1145782&r1=1145781&r2=1145782&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/tdbconfig.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/tdbconfig.java Tue Jul 12 21:41:03 2011
@@ -13,6 +13,7 @@ import java.util.Map ;
import org.openjena.atlas.io.IndentedWriter ;
import tdb.cmdline.CmdSub ;
import tdb.cmdline.CmdTDB ;
+import tdb.cmdline.CmdTDBGraph ;
import arq.cmdline.CmdARQ ;
import arq.cmdline.ModVersion ;
@@ -140,7 +141,7 @@ public class tdbconfig extends CmdSub
}
}
- static class SubStats extends CmdTDB
+ static class SubStats extends CmdTDBGraph
{
public SubStats(String ... argv)
{
Modified: incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/tdbloader.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/tdbloader.java?rev=1145782&r1=1145781&r2=1145782&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/tdbloader.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/tdbloader.java Tue Jul 12 21:41:03 2011
@@ -10,7 +10,7 @@ package tdb;
import java.util.List ;
import org.openjena.riot.Lang ;
-import tdb.cmdline.CmdTDB ;
+import tdb.cmdline.CmdTDBGraph ;
import tdb.cmdline.ModModel ;
import com.hp.hpl.jena.query.ARQ ;
@@ -18,7 +18,7 @@ import com.hp.hpl.jena.tdb.TDB ;
import com.hp.hpl.jena.tdb.TDBLoader ;
import com.hp.hpl.jena.tdb.store.GraphTDB ;
-public class tdbloader extends CmdTDB
+public class tdbloader extends CmdTDBGraph
{
// private static final ArgDecl argGraphDeafult = new ArgDecl(ArgDecl.NoValue, "default") ;
Modified: incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/tdbnode.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/tdbnode.java?rev=1145782&r1=1145781&r2=1145782&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/tdbnode.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/tdbnode.java Tue Jul 12 21:41:03 2011
@@ -6,20 +6,19 @@
package tdb;
-import java.util.Iterator;
+import java.util.Iterator ;
import org.openjena.atlas.lib.Bytes ;
import org.openjena.atlas.logging.Log ;
+import tdb.cmdline.CmdTDB ;
-import tdb.cmdline.CmdTDB;
-
-import com.hp.hpl.jena.graph.Node;
-import com.hp.hpl.jena.tdb.lib.NodeLib;
-import com.hp.hpl.jena.tdb.nodetable.NodeTable;
-import com.hp.hpl.jena.tdb.store.GraphTDB;
-import com.hp.hpl.jena.tdb.store.Hash;
-import com.hp.hpl.jena.tdb.store.NodeId;
-import com.hp.hpl.jena.tdb.sys.SystemTDB;
+import com.hp.hpl.jena.graph.Node ;
+import com.hp.hpl.jena.tdb.lib.NodeLib ;
+import com.hp.hpl.jena.tdb.nodetable.NodeTable ;
+import com.hp.hpl.jena.tdb.store.DatasetGraphTDB ;
+import com.hp.hpl.jena.tdb.store.Hash ;
+import com.hp.hpl.jena.tdb.store.NodeId ;
+import com.hp.hpl.jena.tdb.sys.SystemTDB ;
public class tdbnode extends CmdTDB
{
@@ -44,8 +43,8 @@ public class tdbnode extends CmdTDB
@Override
protected void exec()
{
- GraphTDB graph = getGraph() ;
- NodeTable nodeTable = graph.getNodeTupleTable().getNodeTable() ;
+ DatasetGraphTDB dsg = getDatasetGraph() ;
+ NodeTable nodeTable = dsg.getTripleTable().getNodeTupleTable().getNodeTable() ;
Iterator<String> iter = super.getPositional().iterator() ;
if ( ! iter.hasNext() )
{
Added: incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/tdbrecovery.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/tdbrecovery.java?rev=1145782&view=auto
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/tdbrecovery.java (added)
+++ incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/tdbrecovery.java Tue Jul 12 21:41:03 2011
@@ -0,0 +1,55 @@
+/**
+ * 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 tdb;
+
+import org.openjena.atlas.logging.Log ;
+import tdb.cmdline.CmdTDB ;
+
+import com.hp.hpl.jena.tdb.TDB ;
+import com.hp.hpl.jena.tdb.store.DatasetGraphTDB ;
+import com.hp.hpl.jena.tdb.transaction.JournalControl ;
+
+public class tdbrecovery extends CmdTDB
+{
+ static public void main(String... argv)
+ {
+ TDB.setOptimizerWarningFlag(false) ;
+ Log.setLog4j() ;
+ new tdbrecovery(argv).mainRun() ;
+ }
+
+ protected tdbrecovery(String[] argv)
+ {
+ super(argv) ;
+ }
+
+ @Override
+ protected String getSummary()
+ {
+ return null ;
+ }
+
+ @Override
+ protected void exec()
+ {
+ DatasetGraphTDB dsg = super.getDatasetGraph() ;
+ JournalControl.recovery(dsg) ;
+ }
+}
+
Propchange: incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/tdbrecovery.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/tdbstats.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/tdbstats.java?rev=1145782&r1=1145781&r2=1145782&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/tdbstats.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src/main/java/tdb/tdbstats.java Tue Jul 12 21:41:03 2011
@@ -7,7 +7,7 @@
package tdb;
import org.openjena.atlas.logging.Log ;
-import tdb.cmdline.CmdTDB ;
+import tdb.cmdline.CmdTDBGraph ;
import com.hp.hpl.jena.tdb.TDB ;
import com.hp.hpl.jena.tdb.solver.stats.Stats ;
@@ -15,7 +15,7 @@ import com.hp.hpl.jena.tdb.solver.stats.
import com.hp.hpl.jena.tdb.store.GraphTDB ;
-public class tdbstats extends CmdTDB
+public class tdbstats extends CmdTDBGraph
{
// tdbconfig?
static public void main(String... argv)