|
From: <mrp...@us...> - 2014-06-01 21:23:44
|
Revision: 8430
http://sourceforge.net/p/bigdata/code/8430
Author: mrpersonick
Date: 2014-06-01 21:23:37 +0000 (Sun, 01 Jun 2014)
Log Message:
-----------
initial commit of Sesame 2.7.12 upgrade - first clean compile
Modified Paths:
--------------
branches/SESAME_2_7/.classpath
branches/SESAME_2_7/bigdata/src/test/com/bigdata/btree/AbstractBTreeTestCase.java
branches/SESAME_2_7/bigdata-gom/src/test/com/bigdata/gom/TestNumericBNodes.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/ServiceProviderHook.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/model/BNodeContextFactory.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/model/BigdataValueFactory.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/model/BigdataValueFactoryImpl.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/ntriples/BigdataNTriplesParser.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/turtle/BigdataTurtleParser.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/turtle/BigdataTurtleWriter.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/rio/TestAll_RIO.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/rio/nquads/TestNQuadsParser.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/rio/nquads/TestNQuadsParserFactory.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/service/TestRemoteSparql10QueryBuilder.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/service/TestRemoteSparql11QueryBuilder.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/service/TestRemoteSparqlBuilderFactory.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/optimizers/TestASTEmptyGroupOptimizer.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/store/TestStatementIdentifiers.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/store/TestTripleStore.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSail.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/remote/BigdataSailRemoteRepositoryConnection.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/ConnegUtil.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/BackgroundTupleResult.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/RemoteRepository.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/TestProvenanceQuery.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/Bigdata2ASTSPARQL11SyntaxTest.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/Bigdata2ASTSPARQLSyntaxTest.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/TestBigdataExprBuilder.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/TestSubqueryPatterns.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/TestVirtualGraphs.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataComplexSparqlQueryTest.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataConnectionTest.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataEmbeddedFederationSparqlTest.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataFederationSparqlTest.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataSPARQLUpdateConformanceTest.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataSPARQLUpdateTest.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataSparqlFullRWTxTest.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataSparqlTest.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataStoreTest.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/AbstractSimpleInsertTest.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/ProxySuiteHelper.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestBigdataSailRemoteRepository.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestFederatedQuery.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestHelper.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestSparqlUpdate.java
Added Paths:
-----------
branches/SESAME_2_7/.settings/org.eclipse.core.resources.prefs
branches/SESAME_2_7/bigdata/lib/hamcrest-core-1.3.jar
branches/SESAME_2_7/bigdata/lib/junit-4.11.jar
branches/SESAME_2_7/bigdata/lib/mockito-core-1.9.5.jar
branches/SESAME_2_7/bigdata-rdf/lib/openrdf-sesame-2.7.11-onejar.jar
branches/SESAME_2_7/bigdata-rdf/lib/sesame-rio-testsuite-2.7.11.jar
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/json/BigdataSPARQLResultsJSONParser.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/json/BigdataSPARQLResultsJSONParserFactory.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/json/BigdataSPARQLResultsJSONWriter.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/json/BigdataSPARQLResultsJSONWriterFactory.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/json/SPARQLJSONParserBase.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/json/SPARQLJSONWriterBase.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/jsonrdf/
branches/SESAME_2_7/bigdata-sails/lib/sesame-sparql-testsuite-2.7.11.jar
branches/SESAME_2_7/bigdata-sails/lib/sesame-store-testsuite-2.7.11.jar
branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/query/parser/sparql/ComplexSPARQLQueryTest.java
branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/query/parser/sparql/SPARQLUpdateTest.java
branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/query/parser/sparql/manifest/
branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/query/parser/sparql/manifest/SPARQLQueryTest.java
branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/repository/RepositoryConnectionTest.java
branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/sail/RDFStoreTest.java
Removed Paths:
-------------
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/json/BigdataSPARQLResultsJSONParser.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/json/BigdataSPARQLResultsJSONParserFactory.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/json/BigdataSPARQLResultsJSONWriter.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/json/BigdataSPARQLResultsJSONWriterFactoryForConstruct.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/json/BigdataSPARQLResultsJSONWriterFactoryForSelect.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/nquads/NQuadsParser.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/nquads/NQuadsParserFactory.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/rdfxml/Att.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/rdfxml/Atts.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/rdfxml/BigdataRDFXMLParser.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/rdfxml/BigdataRDFXMLParserFactory.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/rdfxml/BigdataRDFXMLWriter.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/rdfxml/BigdataRDFXMLWriterFactory.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/rdfxml/SAXFilter.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/rdfxml/package.html
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/rio/TestRDFXMLInterchangeWithStatementIdentifiers.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/rio/rdfxml/RDFWriterTest.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/rio/rdfxml/RDFXMLParserTest.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/rio/rdfxml/RDFXMLParserTestCase.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/rio/rdfxml/RDFXMLWriterTest.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/rio/rdfxml/RDFXMLWriterTestCase.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/rio/rdfxml/TestAll.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/rio/rdfxml/TestRDFXMLParserFactory.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/rio/rdfxml/TestRDFXMLWriterFactory.java
branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/query/parser/sparql/ComplexSPARQLQueryTest.java
branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/query/parser/sparql/EarlReport.java
branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/query/parser/sparql/SPARQL11SyntaxTest.java
branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/query/parser/sparql/SPARQLASTQueryTest.java
branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/query/parser/sparql/SPARQLQueryTest.java
branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/query/parser/sparql/SPARQLUpdateTest.java
branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/sail/RDFStoreTest.java
Modified: branches/SESAME_2_7/.classpath
===================================================================
--- branches/SESAME_2_7/.classpath 2014-05-30 21:19:57 UTC (rev 8429)
+++ branches/SESAME_2_7/.classpath 2014-06-01 21:23:37 UTC (rev 8430)
@@ -40,7 +40,6 @@
<classpathentry exported="true" kind="lib" path="bigdata/lib/unimi/colt-1.2.0.jar"/>
<classpathentry exported="true" kind="lib" path="bigdata/lib/icu/icu4j-4.8.jar"/>
<classpathentry exported="true" kind="lib" path="bigdata/lib/icu/icu4j-charset-4.8.jar"/>
- <classpathentry exported="true" kind="lib" path="bigdata/lib/junit-3.8.1.jar" sourcepath="/root/.m2/repository/junit/junit/3.8.1/junit-3.8.1-sources.jar"/>
<classpathentry exported="true" kind="lib" path="bigdata-jini/lib/jini/lib/browser.jar"/>
<classpathentry exported="true" kind="lib" path="bigdata-jini/lib/jini/lib/classserver.jar"/>
<classpathentry exported="true" kind="lib" path="bigdata-jini/lib/jini/lib/fiddler.jar"/>
@@ -76,10 +75,6 @@
<classpathentry exported="true" kind="lib" path="bigdata-sails/lib/httpcomponents/commons-fileupload-1.2.2.jar"/>
<classpathentry exported="true" kind="lib" path="bigdata-sails/lib/httpcomponents/commons-io-2.1.jar"/>
<classpathentry exported="true" kind="lib" path="bigdata/lib/apache/log4j-1.2.17.jar"/>
- <classpathentry exported="true" kind="lib" path="bigdata-rdf/lib/openrdf-sesame-2.6.10-onejar.jar" sourcepath="/Users/bryan/Documents/workspace/org.openrdf.sesame-2.6.10"/>
- <classpathentry exported="true" kind="lib" path="bigdata-rdf/lib/sesame-rio-testsuite-2.6.10.jar"/>
- <classpathentry exported="true" kind="lib" path="bigdata-sails/lib/sesame-sparql-testsuite-2.6.10.jar"/>
- <classpathentry exported="true" kind="lib" path="bigdata-sails/lib/sesame-store-testsuite-2.6.10.jar"/>
<classpathentry exported="true" kind="lib" path="bigdata-rdf/lib/nxparser-1.2.3.jar"/>
<classpathentry exported="true" kind="lib" path="bigdata/lib/jetty/jetty-client-9.1.4.v20140401.jar"/>
<classpathentry exported="true" kind="lib" path="bigdata/lib/jetty/jetty-continuation-9.1.4.v20140401.jar"/>
@@ -99,5 +94,11 @@
<classpathentry kind="lib" path="bigdata-blueprints/lib/blueprints-test-2.5.0.jar"/>
<classpathentry kind="lib" path="bigdata-blueprints/lib/rexster-core-2.5.0.jar"/>
<classpathentry kind="lib" path="bigdata-blueprints/lib/commons-configuration-1.10.jar"/>
+ <classpathentry kind="lib" path="bigdata-rdf/lib/openrdf-sesame-2.7.11-onejar.jar"/>
+ <classpathentry kind="lib" path="bigdata-rdf/lib/sesame-rio-testsuite-2.7.11.jar"/>
+ <classpathentry kind="lib" path="bigdata-sails/lib/sesame-sparql-testsuite-2.7.11.jar" sourcepath="/Users/mikepersonick/.m2/repository/org/openrdf/sesame/sesame-sparql-testsuite/2.7.11/sesame-sparql-testsuite-2.7.11-sources.jar"/>
+ <classpathentry kind="lib" path="bigdata-sails/lib/sesame-store-testsuite-2.7.11.jar" sourcepath="/Users/mikepersonick/.m2/repository/org/openrdf/sesame/sesame-store-testsuite/2.7.11/sesame-store-testsuite-2.7.11-sources.jar"/>
+ <classpathentry kind="lib" path="bigdata/lib/junit-4.11.jar" sourcepath="/Users/mikepersonick/.m2/repository/junit/junit/4.11/junit-4.11-sources.jar"/>
+ <classpathentry kind="lib" path="bigdata/lib/hamcrest-core-1.3.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Added: branches/SESAME_2_7/.settings/org.eclipse.core.resources.prefs
===================================================================
--- branches/SESAME_2_7/.settings/org.eclipse.core.resources.prefs (rev 0)
+++ branches/SESAME_2_7/.settings/org.eclipse.core.resources.prefs 2014-06-01 21:23:37 UTC (rev 8430)
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding//bigdata-sails/src/test/org/openrdf/repository/RepositoryConnectionTest.java=UTF-8
Property changes on: branches/SESAME_2_7/.settings/org.eclipse.core.resources.prefs
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: branches/SESAME_2_7/bigdata/lib/hamcrest-core-1.3.jar
===================================================================
(Binary files differ)
Index: branches/SESAME_2_7/bigdata/lib/hamcrest-core-1.3.jar
===================================================================
--- branches/SESAME_2_7/bigdata/lib/hamcrest-core-1.3.jar 2014-05-30 21:19:57 UTC (rev 8429)
+++ branches/SESAME_2_7/bigdata/lib/hamcrest-core-1.3.jar 2014-06-01 21:23:37 UTC (rev 8430)
Property changes on: branches/SESAME_2_7/bigdata/lib/hamcrest-core-1.3.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: branches/SESAME_2_7/bigdata/lib/junit-4.11.jar
===================================================================
(Binary files differ)
Index: branches/SESAME_2_7/bigdata/lib/junit-4.11.jar
===================================================================
--- branches/SESAME_2_7/bigdata/lib/junit-4.11.jar 2014-05-30 21:19:57 UTC (rev 8429)
+++ branches/SESAME_2_7/bigdata/lib/junit-4.11.jar 2014-06-01 21:23:37 UTC (rev 8430)
Property changes on: branches/SESAME_2_7/bigdata/lib/junit-4.11.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: branches/SESAME_2_7/bigdata/lib/mockito-core-1.9.5.jar
===================================================================
(Binary files differ)
Index: branches/SESAME_2_7/bigdata/lib/mockito-core-1.9.5.jar
===================================================================
--- branches/SESAME_2_7/bigdata/lib/mockito-core-1.9.5.jar 2014-05-30 21:19:57 UTC (rev 8429)
+++ branches/SESAME_2_7/bigdata/lib/mockito-core-1.9.5.jar 2014-06-01 21:23:37 UTC (rev 8430)
Property changes on: branches/SESAME_2_7/bigdata/lib/mockito-core-1.9.5.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Modified: branches/SESAME_2_7/bigdata/src/test/com/bigdata/btree/AbstractBTreeTestCase.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/test/com/bigdata/btree/AbstractBTreeTestCase.java 2014-05-30 21:19:57 UTC (rev 8429)
+++ branches/SESAME_2_7/bigdata/src/test/com/bigdata/btree/AbstractBTreeTestCase.java 2014-06-01 21:23:37 UTC (rev 8430)
@@ -1804,16 +1804,16 @@
System.err.println("]");
throw ex;
}
- catch( AssertionFailedError ex ) {
- System.err.println("m="+m);
- System.err.print("keys=[");
- for(int i=0; i<keys.length; i++ ) {
- if( i>0 ) System.err.print(", ");
- System.err.print(keys[order[i]]);
- }
- System.err.println("]");
- throw ex;
- }
+// catch( AssertionFailedError ex ) {
+// System.err.println("m="+m);
+// System.err.print("keys=[");
+// for(int i=0; i<keys.length; i++ ) {
+// if( i>0 ) System.err.print(", ");
+// System.err.print(keys[order[i]]);
+// }
+// System.err.println("]");
+// throw ex;
+// }
if(log.isInfoEnabled())
log.info(btree.getBtreeCounters().toString());
Modified: branches/SESAME_2_7/bigdata-gom/src/test/com/bigdata/gom/TestNumericBNodes.java
===================================================================
--- branches/SESAME_2_7/bigdata-gom/src/test/com/bigdata/gom/TestNumericBNodes.java 2014-05-30 21:19:57 UTC (rev 8429)
+++ branches/SESAME_2_7/bigdata-gom/src/test/com/bigdata/gom/TestNumericBNodes.java 2014-06-01 21:23:37 UTC (rev 8430)
@@ -6,7 +6,6 @@
import org.openrdf.rio.RDFParserRegistry;
import com.bigdata.rdf.axioms.NoAxioms;
-import com.bigdata.rdf.rio.nquads.NQuadsParser;
import com.bigdata.rdf.rio.turtle.BigdataTurtleParser;
import com.bigdata.rdf.store.AbstractTripleStore;
@@ -32,7 +31,7 @@
* Mike,
*
* If you load the attached file into the NSS and then execute
- * bigdata-gom/samples/\xC9/Example1 (or Example2) it will throw an exception
+ * bigdata-gom/samples//Example1 (or Example2) it will throw an exception
* having to do with bnode Ids. This is the issue that David Booth posted
* here [1].
*
Added: branches/SESAME_2_7/bigdata-rdf/lib/openrdf-sesame-2.7.11-onejar.jar
===================================================================
(Binary files differ)
Index: branches/SESAME_2_7/bigdata-rdf/lib/openrdf-sesame-2.7.11-onejar.jar
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/lib/openrdf-sesame-2.7.11-onejar.jar 2014-05-30 21:19:57 UTC (rev 8429)
+++ branches/SESAME_2_7/bigdata-rdf/lib/openrdf-sesame-2.7.11-onejar.jar 2014-06-01 21:23:37 UTC (rev 8430)
Property changes on: branches/SESAME_2_7/bigdata-rdf/lib/openrdf-sesame-2.7.11-onejar.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: branches/SESAME_2_7/bigdata-rdf/lib/sesame-rio-testsuite-2.7.11.jar
===================================================================
(Binary files differ)
Index: branches/SESAME_2_7/bigdata-rdf/lib/sesame-rio-testsuite-2.7.11.jar
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/lib/sesame-rio-testsuite-2.7.11.jar 2014-05-30 21:19:57 UTC (rev 8429)
+++ branches/SESAME_2_7/bigdata-rdf/lib/sesame-rio-testsuite-2.7.11.jar 2014-06-01 21:23:37 UTC (rev 8430)
Property changes on: branches/SESAME_2_7/bigdata-rdf/lib/sesame-rio-testsuite-2.7.11.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Modified: branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/ServiceProviderHook.java
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/ServiceProviderHook.java 2014-05-30 21:19:57 UTC (rev 8429)
+++ branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/ServiceProviderHook.java 2014-06-01 21:23:37 UTC (rev 8430)
@@ -32,6 +32,7 @@
import java.util.ServiceLoader;
import org.openrdf.query.QueryLanguage;
+import org.openrdf.query.resultio.TupleQueryResultParserRegistry;
import org.openrdf.query.resultio.TupleQueryResultWriterRegistry;
import org.openrdf.rio.RDFFormat;
import org.openrdf.rio.RDFParserRegistry;
@@ -39,10 +40,8 @@
import com.bigdata.rdf.model.StatementEnum;
import com.bigdata.rdf.rio.json.BigdataSPARQLResultsJSONParserFactory;
-import com.bigdata.rdf.rio.json.BigdataSPARQLResultsJSONWriterFactoryForConstruct;
-import com.bigdata.rdf.rio.json.BigdataSPARQLResultsJSONWriterFactoryForSelect;
+import com.bigdata.rdf.rio.json.BigdataSPARQLResultsJSONWriterFactory;
import com.bigdata.rdf.rio.ntriples.BigdataNTriplesParserFactory;
-import com.bigdata.rdf.rio.rdfxml.BigdataRDFXMLWriterFactory;
import com.bigdata.rdf.rio.turtle.BigdataTurtleParserFactory;
import com.bigdata.rdf.rio.turtle.BigdataTurtleWriterFactory;
@@ -126,7 +125,7 @@
* Allows parsing of JSON SPARQL Results with an {s,p,o,[c]} header.
* RDR-enabled.
*/
- r.add(new BigdataSPARQLResultsJSONParserFactory());
+// r.add(new BigdataSPARQLResultsJSONParserFactory());
}
@@ -134,12 +133,20 @@
final TupleQueryResultWriterRegistry r = TupleQueryResultWriterRegistry.getInstance();
- // add our custom RDR-enabled JSON writer (RDR-enabled)
- r.add(new BigdataSPARQLResultsJSONWriterFactoryForSelect());
+ // add our custom RDR-enabled JSON writer
+ r.add(new BigdataSPARQLResultsJSONWriterFactory());
}
+ {
+
+ final TupleQueryResultParserRegistry r = TupleQueryResultParserRegistry.getInstance();
+ // add our custom RDR-enabled JSON parser
+ r.add(new BigdataSPARQLResultsJSONParserFactory());
+
+ }
+
// Ditto, but for the writer.
{
final RDFWriterRegistry r = RDFWriterRegistry.getInstance();
@@ -150,7 +157,7 @@
r.add(new BigdataTurtleWriterFactory());
// RDR-enabled
- r.add(new BigdataSPARQLResultsJSONWriterFactoryForConstruct());
+// r.add(new BigdataSPARQLResultsJSONWriterFactory());
}
Modified: branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/model/BNodeContextFactory.java
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/model/BNodeContextFactory.java 2014-05-30 21:19:57 UTC (rev 8429)
+++ branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/model/BNodeContextFactory.java 2014-06-01 21:23:37 UTC (rev 8430)
@@ -1,5 +1,6 @@
package com.bigdata.rdf.model;
+import java.util.Date;
import java.util.UUID;
import javax.xml.datatype.XMLGregorianCalendar;
@@ -153,6 +154,10 @@
return valueFactory.createLiteral(arg0);
}
+ public BigdataLiteral createLiteral(Date arg0) {
+ return valueFactory.createLiteral(arg0);
+ }
+
public BigdataStatement createStatement(Resource s, URI p, Value o) {
return valueFactory.createStatement(s, p, o);
}
Modified: branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/model/BigdataValueFactory.java
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/model/BigdataValueFactory.java 2014-05-30 21:19:57 UTC (rev 8429)
+++ branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/model/BigdataValueFactory.java 2014-06-01 21:23:37 UTC (rev 8430)
@@ -27,6 +27,8 @@
package com.bigdata.rdf.model;
+import java.util.Date;
+
import javax.xml.datatype.XMLGregorianCalendar;
import org.openrdf.model.BNode;
@@ -114,6 +116,8 @@
BigdataLiteral createLiteral(XMLGregorianCalendar arg0);
+ BigdataLiteral createLiteral(Date arg0);
+
BigdataLiteral createLiteral(String label, String language);
BigdataLiteral createLiteral(String label, URI datatype);
Modified: branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/model/BigdataValueFactoryImpl.java
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/model/BigdataValueFactoryImpl.java 2014-05-30 21:19:57 UTC (rev 8429)
+++ branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/model/BigdataValueFactoryImpl.java 2014-06-01 21:23:37 UTC (rev 8430)
@@ -27,16 +27,19 @@
package com.bigdata.rdf.model;
+import java.util.Date;
+import java.util.GregorianCalendar;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.UUID;
+import javax.xml.datatype.DatatypeConfigurationException;
+import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar;
import org.openrdf.model.BNode;
import org.openrdf.model.Literal;
import org.openrdf.model.Resource;
-import org.openrdf.model.Statement;
import org.openrdf.model.URI;
import org.openrdf.model.Value;
import org.openrdf.model.datatypes.XMLDatatypeUtil;
@@ -396,6 +399,18 @@
return new BigdataLiteralImpl(this, "" + arg0, null, xsd_double);
}
+
+ public BigdataLiteralImpl createLiteral(final Date date) {
+ GregorianCalendar c = new GregorianCalendar();
+ c.setTime(date);
+ try {
+ XMLGregorianCalendar xmlGregCalendar = DatatypeFactory.newInstance().newXMLGregorianCalendar(c);
+ return createLiteral(xmlGregCalendar);
+ }
+ catch (DatatypeConfigurationException e) {
+ throw new RuntimeException("Could not instantiate javax.xml.datatype.DatatypeFactory", e);
+ }
+ }
public BigdataLiteralImpl createLiteral(final XMLGregorianCalendar arg0) {
Deleted: branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/json/BigdataSPARQLResultsJSONParser.java
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/json/BigdataSPARQLResultsJSONParser.java 2014-05-30 21:19:57 UTC (rev 8429)
+++ branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/json/BigdataSPARQLResultsJSONParser.java 2014-06-01 21:23:37 UTC (rev 8430)
@@ -1,574 +0,0 @@
-/**
-Copyright (C) SYSTAP, LLC 2006-2014. All rights reserved.
-
-Contact:
- SYSTAP, LLC
- 4501 Tower Road
- Greensboro, NC 27410
- lic...@bi...
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; version 2 of the License.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
-package com.bigdata.rdf.rio.json;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.LineNumberReader;
-import java.io.Reader;
-
-import org.apache.log4j.Logger;
-import org.openrdf.model.Resource;
-import org.openrdf.model.Statement;
-import org.openrdf.model.URI;
-import org.openrdf.model.Value;
-import org.openrdf.model.ValueFactory;
-import org.openrdf.rio.RDFFormat;
-import org.openrdf.rio.RDFHandlerException;
-import org.openrdf.rio.RDFParseException;
-import org.openrdf.rio.helpers.RDFParserBase;
-
-import com.bigdata.rdf.model.BigdataStatement;
-import com.bigdata.rdf.model.BigdataValueFactory;
-import com.bigdata.rdf.model.BigdataValueFactoryImpl;
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonToken;
-
-/**
- * RDF parser for JSON SPARQL Results files that have the variables (s, p, o,
- * and optionally c) in the header.
- */
-public class BigdataSPARQLResultsJSONParser extends RDFParserBase {
-
- protected static final transient Logger log =
- Logger.getLogger(BigdataSPARQLResultsJSONParser.class);
-
-
- private LineNumberReader lineReader;
-
- private BigdataValueFactory vf;
-
- /**
- * Default ctor uses a BigdataValueFactory with a namespace of "". Used
- * for testing.
- */
- public BigdataSPARQLResultsJSONParser() {
- this(BigdataValueFactoryImpl.getInstance(""));
- }
-
- /**
- * Construct a parser with the supplied BigdataValueFactory.
- */
- public BigdataSPARQLResultsJSONParser(final BigdataValueFactory vf) {
- super(vf);
-
- this.vf = vf;
- }
-
- /**
- * Set the value factory. Must be a BigdataValueFactory because of the
- * RDR syntax support.
- */
- public void setValueFactory(final ValueFactory vf) {
- if (vf instanceof BigdataValueFactory) {
- this.vf = (BigdataValueFactory) vf;
- } else {
- throw new IllegalArgumentException();
- }
- }
-
- /**
- * Returns {@link BigdataSPARQLResultsJSONParserFactory#JSON}.
- */
- @Override
- public RDFFormat getRDFFormat() {
-
- return BigdataSPARQLResultsJSONParserFactory.JSON;
-
- }
-
- /**
- * Parse the supplied input stream into RDF.
- */
- @Override
- public void parse(final InputStream is, final String baseURI) throws IOException,
- RDFParseException, RDFHandlerException {
-
- parse(new InputStreamReader(is), baseURI);
-
- }
-
- /**
- * Parse the supplied reader into RDF.
- */
- @Override
- public void parse(final Reader r, final String baseURI) throws IOException,
- RDFParseException, RDFHandlerException {
-
- lineReader = new LineNumberReader(r);
- // Start counting lines at 1:
- lineReader.setLineNumber(1);
-
- // read graph from JSON in request
-
- final JsonFactory factory = new JsonFactory();
-
- final JsonParser parser = factory.createJsonParser(lineReader);
-
-// final JsonParser parser = Json.createParser(lineReader);
-
- JsonToken event = parser.nextToken();
-
- if (event != JsonToken.START_OBJECT) {
- reportFatalError("unexpected parse event: " + event);
- }
-
- e...
[truncated message content] |
|
From: <mrp...@us...> - 2014-07-16 16:01:05
|
Revision: 8558
http://sourceforge.net/p/bigdata/code/8558
Author: mrpersonick
Date: 2014-07-16 16:01:00 +0000 (Wed, 16 Jul 2014)
Log Message:
-----------
Ticket #714: Sesame 2.7 migration
Modified Paths:
--------------
branches/SESAME_2_7/bigdata/src/resources/logging/log4j.properties
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/ConcatBOp.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/DatatypeBOp.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/DateBOp.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/DigestBOp.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/IriBOp.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/IsNumericBOp.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/NumericBOp.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/StrAfterBOp.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/StrBeforeBOp.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/StrdtBOp.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/StrlangBOp.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/impl/AbstractIV.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/model/BigdataURIImpl.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/rio/turtle/BigdataTurtleParser.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/BindingsClause.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/FunctionRegistry.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/GroupMemberValueExpressionNodeBase.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/QueryBase.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/QueryRoot.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/StaticAnalysis.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/AST2BOpUpdate.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/AST2BOpUpdateContext.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/AST2BOpUtility.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/ASTEvalHelper.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/ASTBottomUpOptimizer.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/ASTGraphGroupOptimizer.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/ASTJoinOrderByTypeOptimizer.java
branches/SESAME_2_7/bigdata-rdf/src/resources/service-providers/META-INF/services/org.openrdf.query.resultio.TupleQueryResultWriterFactory
branches/SESAME_2_7/bigdata-rdf/src/resources/service-providers/META-INF/services/org.openrdf.rio.RDFParserFactory
branches/SESAME_2_7/bigdata-rdf/src/resources/service-providers/META-INF/services/org.openrdf.rio.RDFWriterFactory
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSailTupleQuery.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSailUpdate.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataValueReplacer.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/sparql/ASTVisitorBase.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/sparql/BaseDeclProcessor.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/sparql/BigdataExprBuilder.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/sparql/BlankNodeVarProcessor.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/sparql/GroupGraphPatternBuilder.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/sparql/PrefixDeclProcessor.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/sparql/UpdateExprBuilder.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/sparql/ValueExprBuilder.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/sparql/ast/SyntaxTreeBuilder.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/sparql/ast/SyntaxTreeBuilderConstants.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/sparql/ast/SyntaxTreeBuilderTokenManager.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/sparql/ast/SyntaxTreeBuilderTreeConstants.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/sparql/ast/SyntaxTreeBuilderVisitor.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/sparql/ast/sparql.jj
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/sparql/ast/sparql.jjt
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/TestBigdataSailWithQuads.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataComplexSparqlQueryTest.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataConnectionTest.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataSPARQLUpdateConformanceTest.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataSPARQLUpdateTest.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataSparqlTest.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataStoreTest.java
branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/query/parser/sparql/SPARQLUpdateTest.java
branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/query/parser/sparql/manifest/SPARQLQueryTest.java
branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/repository/RepositoryConnectionTest.java
branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/sail/RDFStoreTest.java
Added Paths:
-----------
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/NowBOp.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/UUIDBOp.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/ASTValuesOptimizer.java
branches/SESAME_2_7/bigdata-rdf/src/resources/service-providers/META-INF/services/org.openrdf.query.resultio.TupleQueryResultParserFactory
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/rio/Bar.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/rio/Foo.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/sparql/ast/ASTInlineData.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/sparql/ast/ASTSTRUUID.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/sparql/ast/ASTUUID.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/sparql/ast/ASTUnparsedQuadDataBlock.java
branches/SESAME_2_7/bigdata-sails/src/java/org/openrdf/query/parser/sparql/
branches/SESAME_2_7/bigdata-sails/src/java/org/openrdf/query/parser/sparql/manifest/
branches/SESAME_2_7/bigdata-sails/src/java/org/openrdf/query/parser/sparql/manifest/SPARQL11ManifestTest.java
branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/model/
branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/model/util/
branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/model/util/ModelUtil.java
branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/query/parser/sparql/manifest/SPARQLUpdateConformanceTest.java
Modified: branches/SESAME_2_7/bigdata/src/resources/logging/log4j.properties
===================================================================
--- branches/SESAME_2_7/bigdata/src/resources/logging/log4j.properties 2014-07-16 15:50:37 UTC (rev 8557)
+++ branches/SESAME_2_7/bigdata/src/resources/logging/log4j.properties 2014-07-16 16:01:00 UTC (rev 8558)
@@ -16,7 +16,8 @@
log4j.logger.com.bigdata.rdf.store.DataLoader=INFO
log4j.logger.com.bigdata.resources.AsynchronousOverflowTask=INFO
-#log4j.logger.com.bigdata.rdf.rio.StatementBuffer=ALL
+log4j.logger.com.bigdata.rdf.sparql=ALL
+#log4j.logger.com.bigdata.rdf.sail.sparql.BigdataExprBuilder=INFO
#log4j.logger.com.bigdata.rdf.sail.TestProvenanceQuery=ALL
#log4j.logger.com.bigdata.rdf.sail.TestSids=ALL
#log4j.logger.com.bigdata.rdf.sail.ProxyBigdataSailTestCase=ALL
Modified: branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/ConcatBOp.java
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/ConcatBOp.java 2014-07-16 15:50:37 UTC (rev 8557)
+++ branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/ConcatBOp.java 2014-07-16 16:01:00 UTC (rev 8558)
@@ -31,6 +31,7 @@
import com.bigdata.bop.BOp;
import com.bigdata.bop.IBindingSet;
import com.bigdata.bop.IValueExpression;
+import com.bigdata.rdf.error.SparqlTypeErrorException;
import com.bigdata.rdf.internal.IV;
import com.bigdata.rdf.sparql.ast.GlobalAnnotations;
@@ -76,6 +77,11 @@
for (int i = 0; i < arity(); i++) {
@SuppressWarnings("rawtypes")
final IV v = getAndCheckLiteral(i, bs);
+
+ if (v.isNumeric()) {
+ throw new SparqlTypeErrorException();
+ }
+
String label = null;
if (allSame) {
final Literal lit = asLiteral(v);
Modified: branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/DatatypeBOp.java
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/DatatypeBOp.java 2014-07-16 15:50:37 UTC (rev 8557)
+++ branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/DatatypeBOp.java 2014-07-16 16:01:00 UTC (rev 8558)
@@ -30,6 +30,7 @@
import org.openrdf.model.Literal;
import org.openrdf.model.URI;
import org.openrdf.model.Value;
+import org.openrdf.model.vocabulary.RDF;
import com.bigdata.bop.BOp;
import com.bigdata.bop.IBindingSet;
@@ -121,6 +122,11 @@
// literal with datatype
datatype = literal.getDatatype();
+ } else if (literal.getLanguage() != null) {
+
+ // language-tag literal
+ datatype = RDF.LANGSTRING;
+
} else if (literal.getLanguage() == null) {
// simple literal
Modified: branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/DateBOp.java
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/DateBOp.java 2014-07-16 15:50:37 UTC (rev 8557)
+++ branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/DateBOp.java 2014-07-16 16:01:00 UTC (rev 8558)
@@ -23,10 +23,17 @@
*/
package com.bigdata.rdf.internal.constraints;
+import java.math.BigDecimal;
+import java.math.BigInteger;
import java.util.Map;
import javax.xml.datatype.XMLGregorianCalendar;
+import org.openrdf.model.Literal;
+import org.openrdf.query.algebra.evaluation.ValueExprEvaluationException;
+import org.openrdf.query.algebra.evaluation.function.datetime.Timezone;
+import org.openrdf.query.algebra.evaluation.function.datetime.Tz;
+
import com.bigdata.bop.BOp;
import com.bigdata.bop.IBindingSet;
import com.bigdata.bop.IValueExpression;
@@ -36,8 +43,12 @@
import com.bigdata.rdf.internal.IV;
import com.bigdata.rdf.internal.NotMaterializedException;
import com.bigdata.rdf.internal.XSD;
-import com.bigdata.rdf.internal.impl.literal.XSDNumericIV;
+import com.bigdata.rdf.internal.impl.literal.XSDDecimalIV;
+import com.bigdata.rdf.internal.impl.literal.XSDIntegerIV;
import com.bigdata.rdf.model.BigdataLiteral;
+import com.bigdata.rdf.model.BigdataValueFactory;
+import com.bigdata.rdf.sparql.ast.DummyConstantNode;
+import com.bigdata.rdf.sparql.ast.FilterNode;
import com.bigdata.rdf.sparql.ast.GlobalAnnotations;
/**
@@ -63,14 +74,14 @@
}
public enum DateOp {
- YEAR, MONTH, DAY, HOURS, MINUTES, SECONDS, TIMEZONE;
+ YEAR, MONTH, DAY, HOURS, MINUTES, SECONDS, TZ, TIMEZONE
}
@Override
protected boolean areGlobalsRequired() {
- return false;
+ return true;
}
@@ -84,9 +95,9 @@
* The annotation specifying the operation to be performed on those operands.
*/
public DateBOp(final IValueExpression<? extends IV> left,
- final DateOp op) {
+ final DateOp op, final GlobalAnnotations globals) {
- this(new BOp[] { left }, NV.asMap(Annotations.OP, op));
+ this(new BOp[] { left }, anns(globals, new NV(Annotations.OP, op)));
}
@@ -140,19 +151,21 @@
XMLGregorianCalendar cal=bl.calendarValue();
switch (op()) {
case DAY:
- return new XSDNumericIV(cal.getDay());
+ return new XSDIntegerIV(BigInteger.valueOf(cal.getDay()));
case MONTH:
- return new XSDNumericIV(cal.getMonth());
+ return new XSDIntegerIV(BigInteger.valueOf(cal.getMonth()));
case YEAR:
- return new XSDNumericIV(cal.getYear());
+ return new XSDIntegerIV(BigInteger.valueOf(cal.getYear()));
case HOURS:
- return new XSDNumericIV(cal.getHour());
+ return new XSDIntegerIV(BigInteger.valueOf(cal.getHour()));
case SECONDS:
- return new XSDNumericIV(cal.getSecond());
+ return new XSDDecimalIV(BigDecimal.valueOf(cal.getSecond()));
case MINUTES:
- return new XSDNumericIV(cal.getMinute());
+ return new XSDIntegerIV(BigInteger.valueOf(cal.getMinute()));
+ case TZ:
+ return tz(bl);
case TIMEZONE:
- return new XSDNumericIV(cal.getTimezone());
+ return timezone(bl);
default:
throw new UnsupportedOperationException();
}
@@ -181,5 +194,45 @@
public Requirement getRequirement() {
return Requirement.SOMETIMES;
}
+
+ protected IV tz(final BigdataLiteral l) {
+
+ final Tz func = new Tz();
+
+ final BigdataValueFactory vf = super.getValueFactory();
+
+ try {
+
+ final BigdataLiteral l2 = (BigdataLiteral) func.evaluate(vf, l);
+
+ return DummyConstantNode.toDummyIV(l2);
+
+ } catch (ValueExprEvaluationException e) {
+
+ throw new SparqlTypeErrorException();
+
+ }
+
+ }
+ protected IV timezone(final BigdataLiteral l) {
+
+ final Timezone func = new Timezone();
+
+ final BigdataValueFactory vf = super.getValueFactory();
+
+ try {
+
+ final BigdataLiteral l2 = (BigdataLiteral) func.evaluate(vf, l);
+
+ return DummyConstantNode.toDummyIV(l2);
+
+ } catch (ValueExprEvaluationException e) {
+
+ throw new SparqlTypeErrorException();
+
+ }
+
+ }
+
}
Modified: branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/DigestBOp.java
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/DigestBOp.java 2014-07-16 15:50:37 UTC (rev 8557)
+++ branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/DigestBOp.java 2014-07-16 16:01:00 UTC (rev 8558)
@@ -146,8 +146,9 @@
//Recreate since they are not thread safe
MessageDigest md = null;
final Literal lit = asLiteral(iv);
- if (lit.getLanguage() != null || lit.getDatatype() != null
- && lit.getDatatype().equals(XSD.STRING)) {
+ if (lit.getLanguage() == null &&
+ (lit.getDatatype() == null || lit.getDatatype().equals(XSD.STRING))) {
+
try {
String label = lit.getLabel();
switch (op()) {
@@ -155,19 +156,19 @@
md = MessageDigest.getInstance("MD5");
break;
case SHA1:
- md = MessageDigest.getInstance("SHA1");
+ md = MessageDigest.getInstance("SHA-1");
break;
case SHA224:
- md = MessageDigest.getInstance("SHA224");
+ md = MessageDigest.getInstance("SHA-224");
break;
case SHA256:
- md = MessageDigest.getInstance("SHA256");
+ md = MessageDigest.getInstance("SHA-256");
break;
case SHA384:
- md = MessageDigest.getInstance("SHA384");
+ md = MessageDigest.getInstance("SHA-384");
break;
case SHA512:
- md = MessageDigest.getInstance("SHA512");
+ md = MessageDigest.getInstance("SHA-512");
break;
default:
throw new UnsupportedOperationException();
Modified: branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/IriBOp.java
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/IriBOp.java 2014-07-16 15:50:37 UTC (rev 8557)
+++ branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/IriBOp.java 2014-07-16 16:01:00 UTC (rev 8558)
@@ -27,10 +27,13 @@
import org.openrdf.model.Literal;
import org.openrdf.model.URI;
+import org.openrdf.query.algebra.evaluation.ValueExprEvaluationException;
import com.bigdata.bop.BOp;
import com.bigdata.bop.IBindingSet;
import com.bigdata.bop.IValueExpression;
+import com.bigdata.bop.ImmutableBOp;
+import com.bigdata.bop.NV;
import com.bigdata.rdf.error.SparqlTypeErrorException;
import com.bigdata.rdf.internal.IV;
import com.bigdata.rdf.internal.XSD;
@@ -49,9 +52,17 @@
private static final long serialVersionUID = -8448763718374010166L;
+
+ public interface Annotations extends ImmutableBOp.Annotations {
+
+ String BASE_URI = (IriBOp.class.getName() + ".baseURI").intern();
+
+ }
+
public IriBOp(final IValueExpression<? extends IV> x,
- final GlobalAnnotations globals) {
- super(x, globals);
+ final String baseURI,
+ final GlobalAnnotations globals) {
+ super(x, globals, new NV(Annotations.BASE_URI, baseURI));
}
public IriBOp(BOp[] args, Map<String, Object> anns) {
@@ -81,6 +92,8 @@
if (!iv.isLiteral())
throw new SparqlTypeErrorException();
+ final String baseURI = getProperty(Annotations.BASE_URI, "");
+
final Literal lit = asLiteral(iv);
final URI dt = lit.getDatatype();
@@ -88,8 +101,21 @@
if (dt != null && !dt.stringValue().equals(XSD.STRING.stringValue()))
throw new SparqlTypeErrorException();
- final BigdataURI uri = getValueFactory().createURI(lit.getLabel());
+// final BigdataURI uri = getValueFactory().createURI(baseURI+lit.getLabel());
+ BigdataURI uri = null;
+ try {
+ uri = getValueFactory().createURI(lit.getLabel());
+ }
+ catch (IllegalArgumentException e) {
+ try {
+ uri = getValueFactory().createURI(baseURI, lit.getLabel());
+ }
+ catch (IllegalArgumentException e1) {
+ throw new SparqlTypeErrorException();
+ }
+ }
+
return super.asIV(uri, bs);
}
Modified: branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/IsNumericBOp.java
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/IsNumericBOp.java 2014-07-16 15:50:37 UTC (rev 8557)
+++ branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/IsNumericBOp.java 2014-07-16 16:01:00 UTC (rev 8558)
@@ -76,7 +76,7 @@
if (iv == null)
throw new SparqlTypeErrorException.UnboundVarException();
- return iv.isNumeric();
+ return iv.isNumeric() && !iv.isExtension();
}
Added: branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/NowBOp.java
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/NowBOp.java (rev 0)
+++ branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/NowBOp.java 2014-07-16 16:01:00 UTC (rev 8558)
@@ -0,0 +1,112 @@
+/**
+
+Copyright (C) SYSTAP, LLC 2006-2011. All rights reserved.
+
+Contact:
+ SYSTAP, LLC
+ 4501 Tower Road
+ Greensboro, NC 27410
+ lic...@bi...
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; version 2 of the License.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+package com.bigdata.rdf.internal.constraints;
+
+import java.util.Calendar;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.Map;
+
+import javax.xml.datatype.DatatypeConfigurationException;
+import javax.xml.datatype.DatatypeFactory;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+import com.bigdata.bop.BOp;
+import com.bigdata.bop.IBindingSet;
+import com.bigdata.bop.ImmutableBOp;
+import com.bigdata.rdf.internal.IV;
+import com.bigdata.rdf.sparql.ast.FilterNode;
+import com.bigdata.rdf.sparql.ast.GlobalAnnotations;
+
+/**
+ * Implements the now() operator.
+ */
+public class NowBOp extends IVValueExpression<IV> implements INeedsMaterialization{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 9136864442064392445L;
+
+ public interface Annotations extends ImmutableBOp.Annotations {
+
+ }
+
+ public NowBOp(final GlobalAnnotations globals) {
+
+ this(BOp.NOARGS, anns(globals));
+
+ }
+
+ /**
+ * Required shallow copy constructor.
+ *
+ * @param args
+ * The operands.
+ * @param op
+ * The operation.
+ */
+ public NowBOp(final BOp[] args, Map<String, Object> anns) {
+
+ super(args, anns);
+
+ }
+
+ /**
+ * Constructor required for {@link com.bigdata.bop.BOpUtility#deepCopy(FilterNode)}.
+ *
+ * @param op
+ */
+ public NowBOp(final NowBOp op) {
+
+ super(op);
+
+ }
+
+ final public IV get(final IBindingSet bs) {
+
+ final Calendar cal = Calendar.getInstance();
+ final Date now = cal.getTime();
+ final GregorianCalendar c = new GregorianCalendar();
+ c.setTime(now);
+ try {
+ final XMLGregorianCalendar date =
+ DatatypeFactory.newInstance().newXMLGregorianCalendar(c);
+ return super.asIV(getValueFactory().createLiteral(date), bs);
+ } catch (DatatypeConfigurationException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public String toString() {
+
+ return "now()";
+
+ }
+
+ public Requirement getRequirement() {
+ return Requirement.NEVER;
+ }
+
+}
Property changes on: branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/NowBOp.java
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/NumericBOp.java
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/NumericBOp.java 2014-07-16 15:50:37 UTC (rev 8557)
+++ branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/NumericBOp.java 2014-07-16 16:01:00 UTC (rev 8558)
@@ -27,6 +27,8 @@
import org.apache.log4j.Logger;
import org.openrdf.model.Literal;
+import org.openrdf.model.URI;
+import org.openrdf.model.vocabulary.XMLSchema;
import com.bigdata.bop.BOp;
import com.bigdata.bop.IBindingSet;
@@ -34,6 +36,7 @@
import com.bigdata.bop.ImmutableBOp;
import com.bigdata.bop.NV;
import com.bigdata.rdf.internal.IV;
+import com.bigdata.rdf.sparql.ast.FilterNode;
/**
* A math expression involving a left and right IValueExpression operand. The
@@ -124,6 +127,17 @@
final Literal lit = super.getAndCheckLiteralValue(0, bs);
+ final URI dt = lit.getDatatype();
+
+ final NumericOp op = op();
+
+ if ((dt.equals(XMLSchema.INT) || dt.equals(XMLSchema.INTEGER)) &&
+ (op == NumericOp.CEIL || op == NumericOp.FLOOR || op == NumericOp.ROUND)) {
+
+ return get(0).get(bs);
+
+ }
+
if (log.isDebugEnabled())
log.debug(lit);
Modified: branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/StrAfterBOp.java
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/StrAfterBOp.java 2014-07-16 15:50:37 UTC (rev 8557)
+++ branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/StrAfterBOp.java 2014-07-16 16:01:00 UTC (rev 8558)
@@ -94,7 +94,7 @@
if (s2.isEmpty()) {
- return ret(arg1, "", bs);
+ return ret(arg1, arg1.getLabel(), bs);
}
@@ -105,7 +105,7 @@
// didn't find it
if (i < 0) {
- return ret(arg1, "", bs);
+ return ret(arg1, null, bs);
}
@@ -124,6 +124,14 @@
private IV ret(final Literal arg1, final String label, final IBindingSet bs) {
+ if (label == null) {
+
+ final BigdataLiteral str = getValueFactory().createLiteral("");
+
+ return super.asIV(str, bs);
+
+ }
+
final String lang = arg1.getLanguage();
if (lang != null) {
Modified: branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/StrBeforeBOp.java
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/StrBeforeBOp.java 2014-07-16 15:50:37 UTC (rev 8557)
+++ branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/StrBeforeBOp.java 2014-07-16 16:01:00 UTC (rev 8558)
@@ -102,7 +102,7 @@
// didn't find it
if (i < 0) {
- return ret(arg1, "", bs);
+ return ret(arg1, null, bs);
}
@@ -120,7 +120,15 @@
}
private IV ret(final Literal arg1, final String label, final IBindingSet bs) {
-
+
+ if (label == null) {
+
+ final BigdataLiteral str = getValueFactory().createLiteral("");
+
+ return super.asIV(str, bs);
+
+ }
+
final String lang = arg1.getLanguage();
if (lang != null) {
Modified: branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/StrdtBOp.java
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/StrdtBOp.java 2014-07-16 15:50:37 UTC (rev 8557)
+++ branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/StrdtBOp.java 2014-07-16 16:01:00 UTC (rev 8558)
@@ -78,6 +78,10 @@
final Literal lit = asLiteral(iv);
+ if (lit.getDatatype() != null || lit.getLanguage() != null) {
+ throw new SparqlTypeErrorException();
+ }
+
final String label = lit.getLabel();
final BigdataLiteral str = getValueFactory().createLiteral(label, dt);
Modified: branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/StrlangBOp.java
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/StrlangBOp.java 2014-07-16 15:50:37 UTC (rev 8557)
+++ branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/StrlangBOp.java 2014-07-16 16:01:00 UTC (rev 8558)
@@ -67,6 +67,11 @@
public IV get(final IBindingSet bs) throws SparqlTypeErrorException {
final Literal lit = getAndCheckLiteralValue(0, bs);
+
+ if (lit.getDatatype() != null || lit.getLanguage() != null) {
+ throw new SparqlTypeErrorException();
+ }
+
final Literal l = getAndCheckLiteralValue(1, bs);
String label = lit.getLabel();
String langLit = l.getLabel();
Added: branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/UUIDBOp.java
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/UUIDBOp.java ...
[truncated message content] |
|
From: <mrp...@us...> - 2014-07-16 18:38:18
|
Revision: 8560
http://sourceforge.net/p/bigdata/code/8560
Author: mrpersonick
Date: 2014-07-16 18:38:15 +0000 (Wed, 16 Jul 2014)
Log Message:
-----------
fixing the ant build
Modified Paths:
--------------
branches/SESAME_2_7/build.properties
Removed Paths:
-------------
branches/SESAME_2_7/bigdata-rdf/lib/openrdf-sesame-2.6.10-onejar.jar
branches/SESAME_2_7/bigdata-rdf/lib/sesame-rio-testsuite-2.6.10.jar
Deleted: branches/SESAME_2_7/bigdata-rdf/lib/openrdf-sesame-2.6.10-onejar.jar
===================================================================
(Binary files differ)
Deleted: branches/SESAME_2_7/bigdata-rdf/lib/sesame-rio-testsuite-2.6.10.jar
===================================================================
(Binary files differ)
Modified: branches/SESAME_2_7/build.properties
===================================================================
--- branches/SESAME_2_7/build.properties 2014-07-16 16:05:36 UTC (rev 8559)
+++ branches/SESAME_2_7/build.properties 2014-07-16 18:38:15 UTC (rev 8560)
@@ -29,7 +29,7 @@
javac.encoding=Cp1252
# javacc is required to compile the SPARQL grammar.
-javacc.home=/usr/java/javacc-5.0
+javacc.home=/Users/mikepersonick/Documents/javacc-5.0
##
# Versions to use of various dependencies.
@@ -47,7 +47,7 @@
#
icu.version=4.8
zookeeper.version=3.4.5
-sesame.version=2.6.10
+sesame.version=2.7.11
slf4j.version=1.6.1
jetty.version=9.1.4.v20140401
#jetty.version=7.2.2.v20101205
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mrp...@us...> - 2014-07-17 14:10:27
|
Revision: 8566
http://sourceforge.net/p/bigdata/code/8566
Author: mrpersonick
Date: 2014-07-17 14:10:21 +0000 (Thu, 17 Jul 2014)
Log Message:
-----------
trying to get the tests to compile and run in ant
Modified Paths:
--------------
branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/query/parser/sparql/SPARQLUpdateTest.java
branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/repository/RepositoryConnectionTest.java
branches/SESAME_2_7/build.xml
Modified: branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/query/parser/sparql/SPARQLUpdateTest.java
===================================================================
--- branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/query/parser/sparql/SPARQLUpdateTest.java 2014-07-17 13:01:23 UTC (rev 8565)
+++ branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/query/parser/sparql/SPARQLUpdateTest.java 2014-07-17 14:10:21 UTC (rev 8566)
@@ -19,24 +19,14 @@
*/
package org.openrdf.query.parser.sparql;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
import java.io.IOException;
import java.io.InputStream;
import junit.framework.TestCase;
-import junit.framework.TestCase2;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import org.openrdf.model.BNode;
import org.openrdf.model.Literal;
import org.openrdf.model.Resource;
@@ -60,6 +50,8 @@
import org.openrdf.repository.RepositoryResult;
import org.openrdf.rio.RDFFormat;
import org.openrdf.rio.RDFParseException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import com.bigdata.rdf.store.BD;
Modified: branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/repository/RepositoryConnectionTest.java
===================================================================
--- branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/repository/RepositoryConnectionTest.java 2014-07-17 13:01:23 UTC (rev 8565)
+++ branches/SESAME_2_7/bigdata-sails/src/test/org/openrdf/repository/RepositoryConnectionTest.java 2014-07-17 14:10:21 UTC (rev 8566)
@@ -198,8 +198,6 @@
protected Literal mboxBob;
- protected Literal Александър;
-
public RepositoryConnectionTest(String name) {
super(name);
}
@@ -233,8 +231,6 @@
mboxAlice = vf.createLiteral("al...@ex...");
mboxBob = vf.createLiteral("bo...@ex...");
- Александър = vf.createLiteral("Александър");
-
unknownContext = new URIImpl("urn:unknownContext");
context1 = vf.createURI("urn:x-local:graph1");
@@ -598,44 +594,6 @@
}
}
-// @Test
-// public void testPrepareSeRQLQuery()
-// throws Exception
-// {
-//
-// StringBuilder queryBuilder = new StringBuilder();
-// queryBuilder.append(" SELECT ?person");
-// queryBuilder.append(" FROM {person} foaf:name {").append(Александър.getLabel()).append("}");
-// queryBuilder.append(" USING NAMESPACE foaf = <" + FOAF_NS + ">");
-//
-// try {
-// testCon.prepareQuery(QueryLanguage.SERQL, queryBuilder.toString());
-// }
-// catch (UnsupportedOperationException e) {
-// fail(UNSUPPORTED_OP + e.getMessage());
-// }
-// catch (ClassCastException e) {
-// fail(UNEXPECTED_TYPE + e.getMessage());
-// }
-//
-// queryBuilder = new StringBuilder();
-// queryBuilder.append(" (SELECT person");
-// queryBuilder.append(" FROM {person} foaf:name {").append(Александър.getLabel()).append("}");
-// queryBuilder.append(") UNION ");
-// queryBuilder.append("(SELECT x FROM {x} p {y} )");
-// queryBuilder.append(" USING NAMESPACE foaf = <" + FOAF_NS + ">");
-//
-// try {
-// testCon.prepareQuery(QueryLanguage.SERQL, queryBuilder.toString());
-// }
-// catch (UnsupportedOperationException e) {
-// fail(UNSUPPORTED_OP + e.getMessage());
-// }
-// catch (ClassCastException e) {
-// fail(UNEXPECTED_TYPE + e.getMessage());
-// }
-// }
-
@Test
public void testPrepareSPARQLQuery()
throws Exception
@@ -676,30 +634,6 @@
}
@Test
- public void testSimpleTupleQueryUnicode()
- throws Exception
- {
- testCon.add(alexander, name, Александър);
- StringBuilder queryBuilder = new StringBuilder(128);
- queryBuilder.append(" prefix foaf: <" + FOAF_NS + ">");
- queryBuilder.append(" SELECT ?person");
- queryBuilder.append(" where { ?person foaf:name \"").append(Александър.getLabel()).append("\"}");
- TupleQueryResult result = testCon.prepareTupleQuery(QueryLanguage.SPARQL, queryBuilder.toString()).evaluate();
- try {
- assertThat(result, is(notNullValue()));
- assertThat(result.hasNext(), is(equalTo(true)));
- while (result.hasNext()) {
- BindingSet solution = result.next();
- assertThat(solution.hasBinding(PERSON), is(equalTo(true)));
- assertThat(solution.getValue(PERSON), is(equalTo((Value)alexander)));
- }
- }
- finally {
- result.close();
- }
- }
-
- @Test
public void testPreparedTupleQuery()
throws Exception
{
@@ -770,37 +704,6 @@
}
@Test
- public void testPreparedTupleQueryUnicode()
- throws Exception
- {
- testCon.add(alexander, name, Александър);
-
- StringBuilder queryBuilder = new StringBuilder();
- queryBuilder.append(" prefix foaf: <" + FOAF_NS + ">");
- queryBuilder.append(" SELECT ?person");
- queryBuilder.append(" where { ?person foaf:name ?name }");
-
- TupleQuery query = testCon.prepareTupleQuery(QueryLanguage.SPARQL, queryBuilder.toString());
- query.setBinding(NAME, Александър);
-
- TupleQueryResult result = query.evaluate();
-
- try {
- assertThat(result, is(notNullValue()));
- assertThat(result.hasNext(), is(equalTo(true)));
-
- while (result.hasNext()) {
- BindingSet solution = result.next();
- assertThat(solution.hasBinding(PERSON), is(equalTo(true)));
- assertThat(solution.getValue(PERSON), is(equalTo((Value)alexander)));
- }
- }
- finally {
- result.close();
- }
- }
-
- @Test
public void testSimpleGraphQuery()
throws Exception
{
Modified: branches/SESAME_2_7/build.xml
===================================================================
--- branches/SESAME_2_7/build.xml 2014-07-17 13:01:23 UTC (rev 8565)
+++ branches/SESAME_2_7/build.xml 2014-07-17 14:10:21 UTC (rev 8566)
@@ -1792,7 +1792,8 @@
<!-- is available, change the corresponding property value set -->
<!-- below. -->
- <property name="junit.jar" location="${bigdata.lib}/junit-3.8.1.jar" />
+ <property name="junit.jar" location="${bigdata.lib}/junit-4.11.jar" />
+ <property name="hamcrest.jar" location="${bigdata.lib}/hamcrest-core-1.3.jar" />
<property name="junit-ext.jar" location="${bigdata.lib}/junit-ext-1.1-b3-dev.jar" />
<property name="sesame-sparql-test.jar" location="${bigdata-sails.lib}/sesame-sparql-testsuite-${sesame.version}.jar" />
<property name="sesame-store-test.jar" location="${bigdata-sails.lib}/sesame-store-testsuite-${sesame.version}.jar" />
@@ -1809,7 +1810,7 @@
<!-- TODO ${path.separator}${dist.lib}/bigdata-gas.jar -->
<property name="javac.test.classpath"
- value="${classes.dir}${path.separator}${junit.jar}${path.separator}${junit-ext.jar}${path.separator}${sesame-sparql-test.jar}${path.separator}${sesame-store-test.jar}${path.separator}${sesame-rio-test.jar}${path.separator}${dist.lib}/classserver.jar${path.separator}${dist.lib}/highscalelib.jar${path.separator}${dist.lib}/dsiutils.jar${path.separator}${dist.lib}/lgplutils.jar${path.separator}${dist.lib}/fastutil.jar${path.separator}${dist.lib}/bigdata-ganglia.jar${path.separator}${dist.lib}/icu4j.jar${path.separator}${dist.lib}/icu4j-charset.jar${path.separator}${dist.lib}/log4j.jar${path.separator}${dist.lib}/lucene-analyzer.jar${path.separator}${dist.lib}/lucene-core.jar${path.separator}${path.separator}${dist.lib}/openrdf-sesame.jar${path.separator}${dist.lib}/slf4j.jar${path.separator}${dist.lib}/jsk-lib.jar${path.separator}${dist.lib}/jsk-platform.jar${path.separator}${dist.lib}/nxparser.jar${path.separator}${dist.lib}/zookeeper.jar${path.separator}${dist.lib}/jetty-continuation.jar${path.separator}${dist.lib}/jetty-http.jar${path.separator}${dist.lib}/jetty-io.jar${path.separator}${dist.lib}/jetty-jmx.jar${path.separator}${dist.lib}/jetty-jndi.jar${path.separator}${dist.lib}/jetty-server.jar${path.separator}${dist.lib}/jetty-util.jar${path.separator}${dist.lib}/jetty-webapp.jar${path.separator}${dist.lib}/jetty-servlet.jar${path.separator}${dist.lib}/jetty-security.jar${path.separator}${dist.lib}/jetty-xml.jar${path.separator}${dist.lib}/jetty-rewrite.jar${path.separator}${dist.lib}/jetty-client.jar${path.separator}${dist.lib}/jetty-proxy.jar${path.separator}${dist.lib}/servlet-api.jar${path.separator}${dist.lib}/commons-codec.jar${path.separator}${dist.lib}/commons-fileupload.jar${path.separator}${dist.lib}/commons-io.jar${path.separator}${dist.lib}/commons-logging.jar${path.separator}${dist.lib}/httpclient.jar${path.separator}${dist.lib}/httpclient-cache.jar${path.separator}${dist.lib}/httpcore.jar${path.separator}${dist.lib}/httpmime.jar${path.separator}${dist.lib}/blueprints-core.jar${path.separator}${blueprints-test.jar}${path.separator}${jettison.jar}" />
+ value="${classes.dir}${path.separator}${junit.jar}${path.separator}${hamcrest.jar}${path.separator}${junit-ext.jar}${path.separator}${sesame-sparql-test.jar}${path.separator}${sesame-store-test.jar}${path.separator}${sesame-rio-test.jar}${path.separator}${dist.lib}/classserver.jar${path.separator}${dist.lib}/highscalelib.jar${path.separator}${dist.lib}/dsiutils.jar${path.separator}${dist.lib}/lgplutils.jar${path.separator}${dist.lib}/fastutil.jar${path.separator}${dist.lib}/bigdata-ganglia.jar${path.separator}${dist.lib}/icu4j.jar${path.separator}${dist.lib}/icu4j-charset.jar${path.separator}${dist.lib}/log4j.jar${path.separator}${dist.lib}/lucene-analyzer.jar${path.separator}${dist.lib}/lucene-core.jar${path.separator}${path.separator}${dist.lib}/openrdf-sesame.jar${path.separator}${dist.lib}/slf4j.jar${path.separator}${dist.lib}/jsk-lib.jar${path.separator}${dist.lib}/jsk-platform.jar${path.separator}${dist.lib}/nxparser.jar${path.separator}${dist.lib}/zookeeper.jar${path.separator}${dist.lib}/jetty-continuation.jar${path.separator}${dist.lib}/jetty-http.jar${path.separator}${dist.lib}/jetty-io.jar${path.separator}${dist.lib}/jetty-jmx.jar${path.separator}${dist.lib}/jetty-jndi.jar${path.separator}${dist.lib}/jetty-server.jar${path.separator}${dist.lib}/jetty-util.jar${path.separator}${dist.lib}/jetty-webapp.jar${path.separator}${dist.lib}/jetty-servlet.jar${path.separator}${dist.lib}/jetty-security.jar${path.separator}${dist.lib}/jetty-xml.jar${path.separator}${dist.lib}/jetty-rewrite.jar${path.separator}${dist.lib}/jetty-client.jar${path.separator}${dist.lib}/jetty-proxy.jar${path.separator}${dist.lib}/servlet-api.jar${path.separator}${dist.lib}/commons-codec.jar${path.separator}${dist.lib}/commons-fileupload.jar${path.separator}${dist.lib}/commons-io.jar${path.separator}${dist.lib}/commons-logging.jar${path.separator}${dist.lib}/httpclient.jar${path.separator}${dist.lib}/httpclient-cache.jar${path.separator}${dist.lib}/httpcore.jar${path.separator}${dist.lib}/httpmime.jar${path.separator}${dist.lib}/blueprints-core.jar${path.separator}${blueprints-test.jar}${path.separator}${jettison.jar}" />
<echo>javac
</echo>
@@ -2145,6 +2146,7 @@
<path id="run.class.path.id">
<pathelement location="${junit.jar}" />
+ <pathelement location="${hamcrest.jar}" />
<pathelement location="${bigdata-test.jar}" />
<pathelement location="${junit-ext.jar}" />
<pathelement location="${sesame-sparql-test.jar}" />
@@ -2202,7 +2204,7 @@
</path>
<property name="run.class.path"
- value="${junit.jar}${path.separator}${bigdata-test.jar}${path.separator}${junit-ext.jar}${path.separator}${sesame-sparql-test.jar}${path.separator}${sesame-store-test.jar}${path.separator}${sesame-rio-test.jar}${path.separator}${dist.lib}/bigdata.jar${path.separator}${dist.lib}/colt.jar${path.separator}${dist.lib}/highscalelib.jar${path.separator}${dist.lib}/dsiutils.jar${path.separator}${dist.lib}/lgplutils.jar${path.separator}${dist.lib}/fastutil.jar${path.separator}${dist.lib}/bigdata-ganglia.jar${path.separator}${dist.lib}/bigdata-gas${path.separator}${dist.lib}/icu4j.jar${path.separator}${dist.lib}/icu4j-charset.jar${path.separator}${dist.lib}/jsk-lib.jar${path.separator}${dist.lib}/jsk-platform.jar${path.separator}${dist.lib}/log4j.jar${path.separator}${dist.lib}/lucene-analyzer.jar${path.separator}${dist.lib}/lucene-core.jar${path.separator}${dist.lib}/openrdf-sesame.jar${path.separator}${dist.lib}/slf4j.jar${path.separator}${dist.lib}/slf4j-log4j.jar${path.separator}${dist.lib}/nxparser.jar${path.separator}${dist.lib}/zookeeper.jar${path.separator}${dist.lib}/jetty-continuation.jar${path.separator}${dist.lib}/jetty-http.jar${path.separator}${dist.lib}/jetty-io.jar${path.separator}${dist.lib}/jetty-jmx.jar${path.separator}${dist.lib}/jetty-jndi.jar${path.separator}${dist.lib}/jetty-server.jar${path.separator}${dist.lib}/jetty-util.jar${path.separator}${dist.lib}/jetty-webapp.jar${path.separator}${dist.lib}/jetty-servlet.jar${path.separator}${dist.lib}/jetty-security.jar${path.separator}${dist.lib}/jetty-xml.jar${path.separator}${dist.lib}/jetty-rewrite.jar${path.separator}${dist.lib}/jetty-client.jar${path.separator}${dist.lib}/jetty-proxy.jar${path.separator}${dist.lib}/servlet-api.jar${path.separator}${dist.lib}/commons-codec.jar${path.separator}${dist.lib}/commons-fileupload.jar${path.separator}${dist.lib}/commons-io.jar${path.separator}${dist.lib}/commons-logging.jar${path.separator}${dist.lib}/httpclient.jar${path.separator}${dist.lib}/httpclient-cache.jar${path.separator}${dist.lib}/httpcore.jar${path.separator}${dist.lib}/httpmime.jar${path.separator}${dist.lib}/blueprints-core.jar${path.separator}${blueprints-test.jar}${path.separator}${jettison.jar}" />
+ value="${junit.jar}${path.separator}${hamcrest.jar}${path.separator}${bigdata-test.jar}${path.separator}${junit-ext.jar}${path.separator}${sesame-sparql-test.jar}${path.separator}${sesame-store-test.jar}${path.separator}${sesame-rio-test.jar}${path.separator}${dist.lib}/bigdata.jar${path.separator}${dist.lib}/colt.jar${path.separator}${dist.lib}/highscalelib.jar${path.separator}${dist.lib}/dsiutils.jar${path.separator}${dist.lib}/lgplutils.jar${path.separator}${dist.lib}/fastutil.jar${path.separator}${dist.lib}/bigdata-ganglia.jar${path.separator}${dist.lib}/bigdata-gas${path.separator}${dist.lib}/icu4j.jar${path.separator}${dist.lib}/icu4j-charset.jar${path.separator}${dist.lib}/jsk-lib.jar${path.separator}${dist.lib}/jsk-platform.jar${path.separator}${dist.lib}/log4j.jar${path.separator}${dist.lib}/lucene-analyzer.jar${path.separator}${dist.lib}/lucene-core.jar${path.separator}${dist.lib}/openrdf-sesame.jar${path.separator}${dist.lib}/slf4j.jar${path.separator}${dist.lib}/slf4j-log4j.jar${path.separator}${dist.lib}/nxparser.jar${path.separator}${dist.lib}/zookeeper.jar${path.separator}${dist.lib}/jetty-continuation.jar${path.separator}${dist.lib}/jetty-http.jar${path.separator}${dist.lib}/jetty-io.jar${path.separator}${dist.lib}/jetty-jmx.jar${path.separator}${dist.lib}/jetty-jndi.jar${path.separator}${dist.lib}/jetty-server.jar${path.separator}${dist.lib}/jetty-util.jar${path.separator}${dist.lib}/jetty-webapp.jar${path.separator}${dist.lib}/jetty-servlet.jar${path.separator}${dist.lib}/jetty-security.jar${path.separator}${dist.lib}/jetty-xml.jar${path.separator}${dist.lib}/jetty-rewrite.jar${path.separator}${dist.lib}/jetty-client.jar${path.separator}${dist.lib}/jetty-proxy.jar${path.separator}${dist.lib}/servlet-api.jar${path.separator}${dist.lib}/commons-codec.jar${path.separator}${dist.lib}/commons-fileupload.jar${path.separator}${dist.lib}/commons-io.jar${path.separator}${dist.lib}/commons-logging.jar${path.separator}${dist.lib}/httpclient.jar${path.separator}${dist.lib}/httpclient-cache.jar${path.separator}${dist.lib}/httpcore.jar${path.separator}${dist.lib}/httpmime.jar${path.separator}${dist.lib}/blueprints-core.jar${path.separator}${blueprints-test.jar}${path.separator}${jettison.jar}" />
<echo> classpath: ${run.class.path}
</echo>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mrp...@us...> - 2014-07-17 14:57:53
|
Revision: 8567
http://sourceforge.net/p/bigdata/code/8567
Author: mrpersonick
Date: 2014-07-17 14:57:42 +0000 (Thu, 17 Jul 2014)
Log Message:
-----------
Merge 1.3 branch from 8382 to HEAD. Now at 8565.
Modified Paths:
--------------
branches/SESAME_2_7/bigdata/src/java/com/bigdata/Banner.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/BigdataStatics.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/controller/SubqueryJoinAnnotations.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/controller/SubqueryOp.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/AbstractRunningQuery.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/IRunningQuery.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/QueryDeadline.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/QueryEngine.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/QueryLog.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/paths/ArbitraryLengthPathOp.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/AbstractBTree.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/DefaultTupleSerializer.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/IndexMetadata.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/PageStats.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/filter/PrefixFilter.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/keys/ASCIIKeyBuilderFactory.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/keys/DefaultKeyBuilderFactory.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/keys/IKeyBuilderFactory.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/keys/ThreadLocalKeyBuilderFactory.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/proc/IIndexProcedure.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/AbstractJournal.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/AbstractTask.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/CommitCounterUtility.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/DropIndexTask.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/IIndexManager.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/JournalTransactionService.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/Name2Addr.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/RegisterIndexTask.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/WriteExecutorService.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/relation/AbstractRelation.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/relation/locator/DefaultResourceLocator.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/rwstore/RWStore.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/service/AbstractTransactionService.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/service/IService.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/sparse/GlobalRowStoreHelper.java
branches/SESAME_2_7/bigdata/src/releases/RELEASE_1_3_1.txt
branches/SESAME_2_7/bigdata/src/resources/logging/log4j-dev.properties
branches/SESAME_2_7/bigdata/src/resources/logging/log4j.properties
branches/SESAME_2_7/bigdata/src/test/com/bigdata/bop/engine/TestQueryDeadlineOrder.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/bop/engine/TestQueryEngine.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/journal/AbstractMROWTestCase.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/journal/StressTestConcurrentTx.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/journal/StressTestConcurrentUnisolatedIndices.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/journal/StressTestLockContention.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/journal/StressTestUnisolatedReadWriteIndex.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/journal/TestCommitCounterUtility.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/journal/TestJournalBasics.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/journal/TestUnisolatedWriteTasks.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/journal/TestWORMStrategy.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/rwstore/TestRWJournal.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/service/TestAll.java
branches/SESAME_2_7/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournal.java
branches/SESAME_2_7/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournalServer.java
branches/SESAME_2_7/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HALogNexus.java
branches/SESAME_2_7/bigdata-jini/src/java/com/bigdata/journal/jini/ha/SnapshotManager.java
branches/SESAME_2_7/bigdata-jini/src/test/com/bigdata/journal/jini/ha/AbstractHA3JournalServerTestCase.java
branches/SESAME_2_7/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestHA1JournalServer.java
branches/SESAME_2_7/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestHA3SnapshotPolicy2.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/lexicon/LexiconRelation.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/lexicon/Term2IdTupleSerializer.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/model/BigdataValueFactoryImpl.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/ASTContainer.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/FilterNode.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/GroupMemberNodeBase.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/QueryHints.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/StaticAnalysis.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/SubqueryFunctionNodeBase.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/SubqueryRoot.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/AST2BOpContext.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/AST2BOpUtility.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/ASTEvalHelper.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/AbstractServiceFactory.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/SampleServiceFactory.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/SliceServiceFactory.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/ValuesServiceFactory.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/AbstractChunkSizeHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/AccessPathSampleLimitHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/AccessPathScanAndFilterHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/AnalyticQueryHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/AtOnceHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/BasicBooleanQueryHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/BasicDoubleQueryHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/BasicIntQueryHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/BasicLongQueryHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/BasicStringQueryHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/BufferChunkOfChunksCapacityHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/CutoffLimitHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/DescribeIterationLimitHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/DescribeModeHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/DescribeStatementLimitHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/HashJoinHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/IQueryHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/KeyOrderHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/MergeJoinHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/NativeDistinctQueryHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/NativeDistinctSPOHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/NativeDistinctSPOThresholdHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/NativeHashJoinsHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/OptimisticQueryHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/OptimizerQueryHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/PipelineMaxMessagesPerTaskHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/PipelineMaxParallelHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/PipelineQueueCapacityHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/QueryHintRegistry.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/QueryIdHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/RTOLimitQueryHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/RTONEdgesQueryHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/RTOSampleTypeQueryHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/RangeHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/RemoteAPHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/RunFirstHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/RunLastHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/RunOnceHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/ASTExistsOptimizer.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/ASTQueryHintOptimizer.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/StaticOptimizer.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/CustomServiceFactory.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/INativeServiceOptions.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/IServiceOptions.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/RemoteServiceCallImpl.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/ServiceCall.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/ServiceCallCreateParams.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/ServiceOptionsBase.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/store/AbstractTripleStore.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/store/BD.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/store/BigdataTriplePatternMaterializer.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/store/LocalTripleStore.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/lexicon/TestCompletionScan.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/TestAll.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/TestNamedGraphs.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/TestNegation.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/TestTCK.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/service/BigdataNativeMockServiceFactory.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/optimizers/TestASTExistsAndJoinOrderByTypeOptimizers.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/store/TestLocalTripleStore.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/store/TestLocalTripleStoreDestroy.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSail.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSailFactory.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSailRepository.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/remote/BigdataSailRemoteRepository.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/BigdataRDFContext.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/BigdataRDFServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/BigdataServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/BlueprintsServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/CountersServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/DeleteServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/DescribeCacheServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/HALoadBalancerServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/HAStatusServletUtil.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/InsertServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/MultiTenancyServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/QueryServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/RESTServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/StatusServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/UpdateServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/WorkbenchServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/IMimeTypes.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/RemoteRepository.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/RemoteRepositoryManager.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/AbstractBigdataSailTestCase.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/TestBigdataSailEmbeddedFederationWithQuads.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/TestBigdataSailWithQuads.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/TestMROWTransactions.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/TestMROWTransactionsNoHistory.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/TestMROWTransactionsWithHistory.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataEmbeddedFederationSparqlTest.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataSPARQLUpdateConformanceTest.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataSparqlTest.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/AbstractTestNanoSparqlClient.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestAll.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestMultiTenancyAPI.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestNanoSparqlServerWithProxyIndexManager.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/health/TestNSSHealthCheck.java
branches/SESAME_2_7/bigdata-war/classes/log4j.properties
branches/SESAME_2_7/bigdata-war/src/html/css/style.css
branches/SESAME_2_7/bigdata-war/src/html/index.html
branches/SESAME_2_7/bigdata-war/src/html/js/workbench.js
branches/SESAME_2_7/bigdata-war/src/jetty.xml
branches/SESAME_2_7/build.properties
branches/SESAME_2_7/build.xml
branches/SESAME_2_7/pom.xml
branches/SESAME_2_7/src/resources/HAJournal/HAJournal.config
branches/SESAME_2_7/src/resources/HAJournal/log4jHA.properties
branches/SESAME_2_7/src/resources/bin/HARestore
branches/SESAME_2_7/src/resources/bin/startHAServices
branches/SESAME_2_7/src/resources/deployment/nss/WEB-INF/classes/log4j.properties
branches/SESAME_2_7/src/resources/deployment/nss/bin/startNSS
branches/SESAME_2_7/src/resources/etc/default/bigdataHA
branches/SESAME_2_7/src/resources/etc/init.d/bigdataHA
Added Paths:
-----------
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/IReadOnly.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/rwstore/MetabitsUtil.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/service/IServiceInit.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/journal/TestHierarchicalLockingTasks.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/FilterExistsModeEnum.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/ServiceParams.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/FilterExistsHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/storedquery/
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/storedquery/SimpleStoredQueryService.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/storedquery/StoredQueryService.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/storedquery/package.html
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/task/
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/task/AbstractApiTask.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/task/ApiTaskForIndexManager.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/task/ApiTaskForJournal.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/task/IApiTask.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/task/package.html
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/exists-988.trig
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/exists-988a.rq
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/exists-988a.srx
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/exists-988b.rq
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/exists-988b.srx
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/exists-988c.rq
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/exists-988c.srx
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/exists-988d.rq
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/exists-988d.srx
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/stored-query-001.rq
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/stored-query-001.srx
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/stored-query-001.ttl
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/stored-query-002.rq
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/stored-query-003.rq
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/service/
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/service/storedquery/
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/service/storedquery/TestAll.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/service/storedquery/TestStoredQueryService.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/AbstractRestApiTask.java
branches/SESAME_2_7/src/resources/deployment/README.txt
branches/SESAME_2_7/src/resources/deployment/brew/
branches/SESAME_2_7/src/resources/deployment/brew/bigdata.rb
branches/SESAME_2_7/src/resources/deployment/chef/
branches/SESAME_2_7/src/resources/deployment/chef/README.md
branches/SESAME_2_7/src/resources/deployment/chef/attributes/
branches/SESAME_2_7/src/resources/deployment/chef/attributes/default.rb
branches/SESAME_2_7/src/resources/deployment/chef/metadata.rb
branches/SESAME_2_7/src/resources/deployment/chef/recipes/
branches/SESAME_2_7/src/resources/deployment/chef/recipes/high_availability.rb
branches/SESAME_2_7/src/resources/deployment/chef/recipes/java7.rb
branches/SESAME_2_7/src/resources/deployment/chef/recipes/mapgraph.rb
branches/SESAME_2_7/src/resources/deployment/chef/recipes/nss.rb
branches/SESAME_2_7/src/resources/deployment/chef/recipes/ssd.rb
branches/SESAME_2_7/src/resources/deployment/chef/recipes/tomcat.rb
branches/SESAME_2_7/src/resources/deployment/chef/templates/
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/RWStore.properties.erb
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/etc/
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/etc/default/
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/etc/default/bigdataHA.erb
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/log4j.properties.erb
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/log4jHA.properties.erb
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/zoo.cfg.erb
branches/SESAME_2_7/src/resources/deployment/nss/bin/bigdataNSS
branches/SESAME_2_7/src/resources/deployment/vagrant/
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/README.txt
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/Vagrantfile
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/Vagrantfile.aws.ha3.build-from-svn
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/bin/
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/bin/createCluster.sh
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/bin/createSecurityGroup.py
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/bin/setHosts.py
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Berksfile
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Gemfile
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/README.txt
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Thorfile
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Vagrantfile.aws.mapgraph
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Vagrantfile.aws.nss
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Vagrantfile.aws.nss.build-from-svn
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Vagrantfile.aws.tomcat
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Vagrantfile.aws.tomcat.build-from-svn
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Vagrantfile.dual-provider.tomcat
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/aws.rc
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/chefignore
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/metadata.rb
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/Berksfile
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/Gemfile
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/README.txt
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/Thorfile
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/Vagrantfile.ha1
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/Vagrantfile.ha3
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/Vagrantfile.nss
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/Vagrantfile.nss.build-from-svn
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/Vagrantfile.tomcat
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/Vagrantfile.tomcat.build-from-svn
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/chefignore
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/metadata.rb
Removed Paths:
-------------
branches/SESAME_2_7/bigdata/src/resources/deployment/
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/storedquery/SimpleStoredQueryService.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/storedquery/StoredQueryService.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/storedquery/package.html
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/task/AbstractApiTask.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/task/ApiTaskForIndexManager.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/task/ApiTaskForJournal.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/task/IApiTask.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/task/package.html
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/service/storedquery/
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/service/storedquery/TestAll.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/service/storedquery/TestStoredQueryService.java
branches/SESAME_2_7/src/resources/deployment/brew/bigdata.rb
branches/SESAME_2_7/src/resources/deployment/chef/README.md
branches/SESAME_2_7/src/resources/deployment/chef/attributes/
branches/SESAME_2_7/src/resources/deployment/chef/attributes/default.rb
branches/SESAME_2_7/src/resources/deployment/chef/metadata.rb
branches/SESAME_2_7/src/resources/deployment/chef/recipes/
branches/SESAME_2_7/src/resources/deployment/chef/recipes/high_availability.rb
branches/SESAME_2_7/src/resources/deployment/chef/recipes/java7.rb
branches/SESAME_2_7/src/resources/deployment/chef/recipes/mapgraph.rb
branches/SESAME_2_7/src/resources/deployment/chef/recipes/nss.rb
branches/SESAME_2_7/src/resources/deployment/chef/recipes/ssd.rb
branches/SESAME_2_7/src/resources/deployment/chef/recipes/tomcat.rb
branches/SESAME_2_7/src/resources/deployment/chef/templates/
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/RWStore.properties.erb
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/etc/
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/etc/default/
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/etc/default/bigdataHA.erb
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/log4j.properties.erb
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/log4jHA.properties.erb
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/zoo.cfg.erb
branches/SESAME_2_7/src/resources/deployment/nss/bin/bigdata
branches/SESAME_2_7/src/resources/deployment/nss/etc/jetty.xml
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/README.txt
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/Vagrantfile
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/Vagrantfile.aws.ha3.build-from-svn
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/bin/
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/bin/createCluster.sh
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/bin/createSecurityGroup.py
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/bin/setHosts.py
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Berksfile
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Gemfile
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/README.txt
branches/SESAME_2_7/src/resources/deployment/vagrant/sa...
[truncated message content] |
|
From: <mrp...@us...> - 2014-09-02 15:01:47
|
Revision: 8635
http://sourceforge.net/p/bigdata/code/8635
Author: mrpersonick
Date: 2014-09-02 15:01:44 +0000 (Tue, 02 Sep 2014)
Log Message:
-----------
Ticket #714: Sesame 2.7. Committing Bryan's changes for inline VALUES.
Modified Paths:
--------------
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/join/HashIndexOp.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/BindingsClause.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/CompiledSolutionSetStats.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/StaticAnalysis.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/AST2BOpUtility.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataComplexSparqlQueryTest.java
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/join/HashIndexOp.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/join/HashIndexOp.java 2014-09-02 14:36:42 UTC (rev 8634)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/join/HashIndexOp.java 2014-09-02 15:01:44 UTC (rev 8635)
@@ -49,6 +49,7 @@
import com.bigdata.relation.accesspath.UnsyncLocalOutputBuffer;
import cutthecrap.utils.striterators.ICloseableIterator;
+import cutthecrap.utils.striterators.SingleValueIterator;
/**
* Operator builds a hash index from the source solutions. Once all source
@@ -100,6 +101,17 @@
*/
final String NAMED_SET_SOURCE_REF = "namedSetSourceRef";
+ /**
+ * An optional attribute specifying the <em>source</em> IBindingSet[]
+ * for the index build operation. Normally, the hash index is built from
+ * the solutions flowing through the pipeline. When this attribute is
+ * specified, the hash index is instead built from the solutions in the
+ * specified IBindingSet[]. Regardless, the solutions flowing through
+ * the pipeline are copied to the sink once the hash index has been
+ * built.
+ */
+ final String BINDING_SETS_SOURCE = "bindingSets";
+
}
/**
@@ -138,20 +150,10 @@
BOp.Annotations.EVALUATION_CONTEXT + "="
+ getEvaluationContext());
}
-// if (getEvaluationContext() != BOpEvaluationContext.CONTROLLER) {
-// throw new IllegalArgumentException(
-// BOp.Annotations.EVALUATION_CONTEXT + "="
-// + getEvaluationContext());
-// }
-
- if (getMaxParallel() != 1) {
- /*
- * Parallel evaluation is not allowed. This operator writes on an
- * object that is not thread-safe for mutation.
- */
+ if (getEvaluationContext() != BOpEvaluationContext.CONTROLLER) {
throw new IllegalArgumentException(
- PipelineOp.Annotations.MAX_PARALLEL + "="
- + getMaxParallel());
+ BOp.Annotations.EVALUATION_CONTEXT + "="
+ + getEvaluationContext());
}
if (!isLastPassRequested()) {
@@ -224,11 +226,11 @@
}
- /**
- * Evaluates the subquery for each source binding set. If the controller
- * operator is interrupted, then the subqueries are cancelled. If a subquery
- * fails, then all subqueries are cancelled.
- */
+ /**
+ * Evaluates the subquery for each source binding set. If the controller
+ * operator is interrupted, then the subqueries are cancelled. If a subquery
+ * fails, then all subqueries are cancelled.
+ */
private static class ChunkTask implements Callable<Void> {
private final BOpContext<IBindingSet> context;
@@ -268,7 +270,7 @@
this.stats = ((NamedSolutionSetStats) context.getStats());
- // Metadata to identify the named solution set.
+ // Metadata to identify the target named solution set.
final INamedSolutionSetRef namedSetRef = (INamedSolutionSetRef) op
.getRequiredProperty(Annotations.NAMED_SET_REF);
@@ -312,8 +314,10 @@
}
// true iff we will build the index from the pipeline.
- this.sourceIsPipeline = null == op
- .getProperty(Annotations.NAMED_SET_SOURCE_REF);
+ this.sourceIsPipeline //
+ = (op.getProperty(Annotations.NAMED_SET_SOURCE_REF) == null)
+ && (op.getProperty(Annotations.BINDING_SETS_SOURCE) == null)
+ ;
}
@@ -390,7 +394,7 @@
src = context.getSource();
- } else {
+ } else if (op.getProperty(Annotations.NAMED_SET_SOURCE_REF) != null) {
/*
* Metadata to identify the optional *source* solution set. When
@@ -403,6 +407,22 @@
src = context.getAlternateSource(namedSetSourceRef);
+ } else if (op.getProperty(Annotations.BINDING_SETS_SOURCE) != null) {
+
+ /*
+ * The IBindingSet[] is directly given. Just wrap it up as an
+ * iterator. It will visit a single chunk of solutions.
+ */
+ final IBindingSet[] bindingSets = (IBindingSet[]) op
+ .getProperty(Annotations.BINDING_SETS_SOURCE);
+
+ src = new SingleValueIterator<IBindingSet[]>(bindingSets);
+
+ } else {
+
+ throw new UnsupportedOperationException(
+ "Source was not specified");
+
}
try {
Modified: branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/BindingsClause.java
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/BindingsClause.java 2014-09-02 14:36:42 UTC (rev 8634)
+++ branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/BindingsClause.java 2014-09-02 15:01:44 UTC (rev 8635)
@@ -166,6 +166,7 @@
}
+ @Override
public String toString(final int indent) {
final LinkedHashSet<IVariable<?>> declaredVars = getDeclaredVariables();
Modified: branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/CompiledSolutionSetStats.java
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/CompiledSolutionSetStats.java 2014-09-02 14:36:42 UTC (rev 8634)
+++ branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/CompiledSolutionSetStats.java 2014-09-02 15:01:44 UTC (rev 8635)
@@ -148,6 +148,7 @@
}
+ @Override
public String toString() {
final StringBuilder sb = new StringBuilder();
Modified: branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/StaticAnalysis.java
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/StaticAnalysis.java 2014-09-02 14:36:42 UTC (rev 8634)
+++ branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/StaticAnalysis.java 2014-09-02 15:01:44 UTC (rev 8635)
@@ -2125,7 +2125,51 @@
}
+ /**
+ * Return the join variables for a VALUES clause (embedded only - not
+ * top-level).
+ *
+ * @param bc The VALUES clause (a bunch of solutions)
+ * @param stats A static analysis of those solutions.
+ * @param vars
+ * @return
+ */
+ public Set<IVariable<?>> getJoinVars(final BindingsClause bc,
+ final ISolutionSetStats stats,
+ final Set<IVariable<?>> vars) {
+ /*
+ * The variables which will be definitely bound based on the solutions
+ * in the VALUES clause.
+ *
+ * Note: Collection is not modifyable, so we copy it.
+ */
+ final Set<IVariable<?>> boundByBindingsClause = new LinkedHashSet<IVariable<?>>(
+ stats.getAlwaysBound());
+
+ /*
+ * The variables which are definitely bound on entry to the join group
+ * in which the VALUES clause appears.
+ */
+ final Set<IVariable<?>> incomingBindings = getDefinitelyIncomingBindings(
+ bc, new LinkedHashSet<IVariable<?>>());
+
+ /*
+ * This is only those variables which are bound on entry into the group
+ * in which the VALUES join appears *and* which are "must" bound
+ * variables projected by the VALUES.
+ *
+ * FIXME Is this the correct semantics? I followed the pattern for SERVICE.
+ */
+ boundByBindingsClause.retainAll(incomingBindings);
+
+ vars.addAll(boundByBindingsClause);
+
+ return vars;
+
+ }
+
+
/**
* Return the join variables for an INCLUDE of a pre-existing named solution
* set.
Modified: branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/AST2BOpUtility.java
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/AST2BOpUtility.java 2014-09-02 14:36:42 UTC (rev 8634)
+++ branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/AST2BOpUtility.java 2014-09-02 15:01:44 UTC (rev 8635)
@@ -61,6 +61,7 @@
import com.bigdata.bop.join.JoinAnnotations;
import com.bigdata.bop.join.JoinTypeEnum;
import com.bigdata.bop.join.NestedLoopJoinOp;
+import com.bigdata.bop.join.SolutionSetHashJoinOp;
import com.bigdata.bop.paths.ArbitraryLengthPathOp;
import com.bigdata.bop.paths.ZeroLengthPathOp;
import com.bigdata.bop.rdf.join.ChunkedMaterializationOp;
@@ -90,7 +91,6 @@
import com.bigdata.rdf.internal.constraints.INeedsMaterialization.Requirement;
import com.bigdata.rdf.internal.constraints.InBOp;
import com.bigdata.rdf.internal.constraints.IsBoundBOp;
-import com.bigdata.rdf.internal.constraints.NowBOp;
import com.bigdata.rdf.internal.constraints.ProjectedConstraint;
import com.bigdata.rdf.internal.constraints.SPARQLConstraint;
import com.bigdata.rdf.internal.constraints.TryBeforeMaterializationConstraint;
@@ -154,6 +154,7 @@
import com.bigdata.rdf.spo.SPOPredicate;
import com.bigdata.rdf.store.AbstractTripleStore;
import com.bigdata.relation.accesspath.ElementFilter;
+import com.bigdata.striterator.Chunkerator;
import cutthecrap.utils.striterators.FilterBase;
import cutthecrap.utils.striterators.IFilter;
@@ -1469,14 +1470,184 @@
}
/**
- * TODO Grab the binding sets from the BindingsClause, attach them to
- * the query as a named subquery with a hash index, and then add a
- * named subquery include to the pipeline right here.
+ * This handles a VALUES clause. It grabs the binding sets from the
+ * BindingsClause, attach them to the query as a named subquery with a hash
+ * index, and then add a named subquery include to the pipeline right here.
+ * <p>
+ * The VALUES are interpreted using a solution set hash join. The "plan" for
+ * the hash join of the VALUES with the solutions flowing through the
+ * pipeline is: (a) we take the IBindingSet[] and use a {@link HashIndexOp}
+ * to generate the hash index; and (b) we use a
+ * {@link SolutionSetHashJoinOp} to join the solutions from the pipeline
+ * with those in the hash index. Both JVM and HTree versions of this plan
+ * are supported.
+ * <p>
+ * 1. {@link HashIndexOp} (JVM or HTree): Specify the IBindingSet[] as the
+ * source. When the HashIndexOp runs, it will build a hash index from the
+ * IBindingSet[].
+ * <p>
+ * Note: The join variables need to be set based on the known bound
+ * variables in the context where we will evaluate the solution set hash
+ * join (head of the sub-SELECT, OPTIONAL) and those that are bound by the
+ * solution set hash join.
+ * <p>
+ * Note: The static analysis code needs to examine the definitely, and maybe
+ * produced bindings for the {@link BindingsClause}. See the
+ * {@link ISolutionSetStats} interface and
+ * {@link SolutionSetStatserator#get(IBindingSet[])} for a convenience
+ * method.
+ * <p>
+ * 2. {@link SolutionSetHashJoinOp} (JVM or HTree): Joins the solutions
+ * flowing into the sub-query or update with the solutions from the
+ * HashIndexOp. This will take each solution from the pipeline, probe the
+ * hash index for solutions specified by the VALUES clause, and then do a
+ * JOIN for each such solution that is discovered.
*/
private static PipelineOp addValues(PipelineOp left,
- final BindingsClause bc,
+ final BindingsClause bindingsClause,
final Set<IVariable<?>> doneSet, final AST2BOpContext ctx) {
+ // Convert solutions from VALUES clause to an IBindingSet[].
+ final IBindingSet[] bindingSets = BOpUtility.toArray(
+ new Chunkerator<IBindingSet>(bindingsClause.getBindingSets().iterator()),//
+ null/*stats*/
+ );
+
+ // Static analysis of the VALUES solutions.
+ final ISolutionSetStats bindingsClauseStats = SolutionSetStatserator
+ .get(bindingSets);
+
+ @SuppressWarnings("rawtypes")
+ final Map<IConstraint, Set<IVariable<IV>>> needsMaterialization = new LinkedHashMap<IConstraint, Set<IVariable<IV>>>();
+
+ /*
+ * BindingsClause is an IBindingsProducer, but it should also be
+ * an IJoinNode. That will let us attach constraints
+ * (getJoinConstraints()) and identify the join variables for the VALUES
+ * sub-plan (getJoinVars()).
+ */
+ final IConstraint[] joinConstraints = getJoinConstraints(
+ getJoinConstraints(bindingsClause), needsMaterialization);
+
+ /*
+ * Model the VALUES JOIN by building a hash index over the IBindingSet[]
+ * from the VALUES clause. Then use a solution set hash join to join the
+ * solutions flowing through the pipeline with those in the hash index.
+ */
+ final String solutionSetName = "--values-" + ctx.nextId(); // Unique name.
+
+ final Set<IVariable<?>> joinVarSet = ctx.sa.getJoinVars(bindingsClause,
+ bindingsClauseStats, new LinkedHashSet<IVariable<?>>());
+
+ @SuppressWarnings("rawtypes")
+ final IVariable[] joinVars = joinVarSet.toArray(new IVariable[0]);
+
+// if (joinVars.length == 0) {
+//
+// /*
+// * Note: If there are no join variables then the join will
+// * examine the full N x M cross product of solutions. That is
+// * very inefficient, so we are logging a warning.
+// */
+//
+// log.warn("No join variables: " + subqueryRoot);
+//
+// }
+
+ final INamedSolutionSetRef namedSolutionSet = NamedSolutionSetRefUtility.newInstance(
+ ctx.queryId, solutionSetName, joinVars);
+
+ // VALUES is not optional.
+ final JoinTypeEnum joinType = JoinTypeEnum.Normal;
+
+ // lastPass is required except for normal joins.
+ final boolean lastPass = false;
+
+ // true if we will release the HTree as soon as the join is done.
+ // Note: also requires lastPass.
+ final boolean release = lastPass;
+
+ // join can be pipelined unless last pass evaluation is required
+ final int maxParallel = lastPass ? 1
+ : ctx.maxParallelForSolutionSetHashJoin;
+
+ // Generate the hash index operator.
+ if(ctx.nativeHashJoins) {
+ left = applyQueryHints(new HTreeHashIndexOp(leftOrEmpty(left),//
+ new NV(BOp.Annotations.BOP_ID, ctx.nextId()),//
+ new NV(BOp.Annotations.EVALUATION_CONTEXT,
+ BOpEvaluationContext.CONTROLLER),//
+ new NV(PipelineOp.Annotations.MAX_PARALLEL, 1),// required for lastPass
+ new NV(PipelineOp.Annotations.LAST_PASS, true),// required
+ new NV(PipelineOp.Annotations.SHARED_STATE, true),// live stats.
+ new NV(HTreeHashIndexOp.Annotations.RELATION_NAME, new String[]{ctx.getLexiconNamespace()}),// new NV(HTreeHashIndexOp.Annotations.JOIN_VARS, joinVars),//
+ new NV(HTreeHashIndexOp.Annotations.JOIN_TYPE, joinType),//
+ new NV(HTreeHashIndexOp.Annotations.JOIN_VARS, joinVars),//
+ new NV(HTreeHashIndexOp.Annotations.CONSTRAINTS, joinConstraints),// Note: will be applied by the solution set hash join.
+// new NV(HTreeHashIndexOp.Annotations.SELECT, projectedVars),//
+ new NV(HTreeHashIndexOp.Annotations.BINDING_SETS_SOURCE, bindingSets),// source solutions from VALUES.
+ new NV(HTreeHashIndexOp.Annotations.NAMED_SET_REF, namedSolutionSet)// output named solution set.
+ ), bindingsClause, ctx);
+ } else {
+ left = applyQueryHints(new JVMHashIndexOp(leftOrEmpty(left),//
+ new NV(BOp.Annotations.BOP_ID, ctx.nextId()),//
+ new NV(BOp.Annotations.EVALUATION_CONTEXT,
+ BOpEvaluationContext.CONTROLLER),//
+ new NV(PipelineOp.Annotations.MAX_PARALLEL, 1),// required for lastPass
+ new NV(PipelineOp.Annotations.LAST_PASS, true),// required
+ new NV(PipelineOp.Annotations.SHARED_STATE, true),// live stats.
+ new NV(JVMHashIndexOp.Annotations.JOIN_TYPE, joinType),//
+ new NV(JVMHashIndexOp.Annotations.JOIN_VARS, joinVars),//
+ new NV(JVMHashIndexOp.Annotations.CONSTRAINTS, joinConstraints),// Note: will be applied by the solution set hash join.
+// new NV(HTreeHashIndexOp.Annotations.SELECT, projectedVars),//
+ new NV(HTreeHashIndexOp.Annotations.BINDING_SETS_SOURCE, bindingSets),// source solutions from VALUES.
+ new NV(JVMHashIndexOp.Annotations.NAMED_SET_REF, namedSolutionSet)// output named solution set.
+ ), bindingsClause, ctx);
+ }
+
+ // Generate the solution set hash join operator.
+ if(ctx.nativeHashJoins) {
+ left = applyQueryHints(new HTreeSolutionSetHashJoinOp(
+ leftOrEmpty(left),//
+ new NV(BOp.Annotations.BOP_ID, ctx.nextId()),//
+ new NV(BOp.Annotations.EVALUATION_CONTEXT,
+ BOpEvaluationContext.CONTROLLER),//
+ new NV(PipelineOp.Annotations.MAX_PARALLEL, maxParallel),//
+ new NV(PipelineOp.Annotations.SHARED_STATE, true),// live stats.
+// new NV(HTreeSolutionSetHashJoinOp.Annotations.OPTIONAL, optional),//
+// new NV(HTreeSolutionSetHashJoinOp.Annotations.JOIN_VARS, joinVars),//
+// new NV(HTreeSolutionSetHashJoinOp.Annotations.SELECT, null/*all*/),//
+// new NV(HTreeSolutionSetHashJoinOp.Annotations.CONSTRAINTS, joinConstraints),//
+ new NV(HTreeSolutionSetHashJoinOp.Annotations.RELEASE, release),//
+ new NV(HTreeSolutionSetHashJoinOp.Annotations.LAST_PASS, lastPass),//
+ new NV(HTreeSolutionSetHashJoinOp.Annotations.NAMED_SET_REF, namedSolutionSet)//
+ ), bindingsClause, ctx);
+ } else {
+ left = applyQueryHints(new JVMSolutionSetHashJoinOp(
+ leftOrEmpty(left),//
+ new NV(BOp.Annotations.BOP_ID, ctx.nextId()),//
+ new NV(BOp.Annotations.EVALUATION_CONTEXT,
+ BOpEvaluationContext.CONTROLLER),//
+ new NV(PipelineOp.Annotations.MAX_PARALLEL, maxParallel),//
+ new NV(PipelineOp.Annotations.SHARED_STATE, true),// live stats.
+// new NV(JVMSolutionSetHashJoinOp.Annotations.OPTIONAL, optional),//
+// new NV(JVMSolutionSetHashJoinOp.Annotations.JOIN_VARS, joinVars),//
+// new NV(JVMSolutionSetHashJoinOp.Annotations.SELECT, null/*all*/),//
+// new NV(JVMSolutionSetHashJoinOp.Annotations.CONSTRAINTS, joinConstraints),//
+ new NV(JVMSolutionSetHashJoinOp.Annotations.RELEASE, release),//
+ new NV(JVMSolutionSetHashJoinOp.Annotations.LAST_PASS, lastPass),//
+ new NV(JVMSolutionSetHashJoinOp.Annotations.NAMED_SET_REF, namedSolutionSet)//
+ ), bindingsClause, ctx);
+ }
+
+ /*
+ * For each filter which requires materialization steps, add the
+ * materializations steps to the pipeline and then add the filter to the
+ * pipeline.
+ */
+ left = addMaterializationSteps3(left, doneSet, needsMaterialization,
+ bindingsClause.getQueryHints(), ctx);
+
return left;
}
@@ -2672,7 +2843,7 @@
continue;
} else if (child instanceof BindingsClause) {
/*
- * VALUES clause
+ * FIXME Support VALUES clause
*/
left = addValues(left,
(BindingsClause) child, doneSet, ctx);
Modified: branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataComplexSparqlQueryTest.java
===================================================================
--- branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataComplexSparqlQueryTest.java 2014-09-02 14:36:42 UTC (rev 8634)
+++ branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataComplexSparqlQueryTest.java 2014-09-02 15:01:44 UTC (rev 8635)
@@ -29,12 +29,17 @@
import java.io.IOException;
import java.io.InputStream;
-import java.io.InputStreamReader;
import java.util.Properties;
import org.apache.log4j.Logger;
import org.junit.Test;
+import org.openrdf.model.Literal;
import org.openrdf.model.Resource;
+import org.openrdf.model.URI;
+import org.openrdf.model.Value;
+import org.openrdf.query.BindingSet;
+import org.openrdf.query.QueryLanguage;
+import org.openrdf.query.TupleQueryResult;
import org.openrdf.query.parser.sparql.ComplexSPARQLQueryTest;
import org.openrdf.repository.Repository;
import org.openrdf.repository.RepositoryException;
@@ -42,11 +47,14 @@
import org.openrdf.rio.RDFParseException;
import com.bigdata.BigdataStatics;
+import com.bigdata.bop.BOpUtility;
import com.bigdata.journal.BufferMode;
import com.bigdata.journal.IIndexManager;
import com.bigdata.rdf.sail.BigdataSail;
import com.bigdata.rdf.sail.BigdataSail.Options;
import com.bigdata.rdf.sail.BigdataSailRepository;
+import com.bigdata.rdf.sail.BigdataSailTupleQuery;
+import com.bigdata.rdf.sparql.ast.eval.AST2BOpUtility;
/**
* Bigdata integration for the {@link ComplexSPARQLQueryTest}.
@@ -301,11 +309,55 @@
super.testSES1991RANDEvaluation();
}
+ /**
+ * The one is fixed now.
+ */
@Override
@Test
public void testValuesInOptional() throws Exception {
- if (runKnownBadTests)
super.testValuesInOptional();
}
+
+ /**
+ * TODO Write optimizer to pull this BindingsClause out of the join
+ * group and make it global.
+ */
+ public void testRequiredValues() throws Exception {
+ loadTestData("/testdata-query/dataset-ses1692.trig");
+ StringBuilder query = new StringBuilder();
+ query.append(" PREFIX : <http://example.org/>\n");
+ query.append(" SELECT DISTINCT ?a ?name ?isX WHERE { ?b :p1 ?a . ?a :name ?name. ?a a :X . VALUES(?isX) { (:X) } } ");
+ BigdataSailTupleQuery tq = (BigdataSailTupleQuery)
+ conn.prepareTupleQuery(QueryLanguage.SPARQL, query.toString());
+
+ if (logger.isInfoEnabled()) {
+ logger.info("optimized ast:\n"+tq.optimize());
+ logger.info("query plan:\n"+BOpUtility.toString(tq.getASTContainer().getQueryPlan()));
+ }
+
+ TupleQueryResult result = tq.evaluate();
+ assertNotNull(result);
+ assertTrue(result.hasNext());
+
+ int count = 0;
+ while (result.hasNext()) {
+ count++;
+ BindingSet bs = result.next();
+ System.out.println(bs);
+ URI a = (URI)bs.getValue("a");
+ assertNotNull(a);
+ Value isX = bs.getValue("isX");
+ Literal name = (Literal)bs.getValue("name");
+ assertNotNull(name);
+ if (a.stringValue().endsWith("a1")) {
+ assertNotNull(isX);
+ }
+ else if (a.stringValue().endsWith(("a2"))) {
+ assertNull(isX);
+ }
+ }
+ assertEquals(1, count);
+ }
+
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mrp...@us...> - 2014-09-02 16:01:56
|
Revision: 8636
http://sourceforge.net/p/bigdata/code/8636
Author: mrpersonick
Date: 2014-09-02 16:01:51 +0000 (Tue, 02 Sep 2014)
Log Message:
-----------
Bringing 2.7 branch up to date from 1.3 branch (HEAD = 8635).
Modified Paths:
--------------
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/PipelineOp.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/controller/HTreeNamedSubqueryOp.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/controller/JVMNamedSubqueryOp.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/fed/DelegateIndexManager.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/join/HTreeHashJoinOp.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/join/HashIndexOp.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/join/HashJoinOp.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/join/JVMHashJoinOp.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/solutions/HTreeDistinctBindingSetsOp.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/solutions/MemorySortOp.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/solutions/PipelinedAggregationOp.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/AbstractBTree.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/AbstractNode.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/BTree.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/Checkpoint.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/DefaultEvictionListener.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/IIndex.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/ILocalBTreeView.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/ReadCommittedView.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/UnisolatedReadWriteIndex.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/data/IAbstractNodeData.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/data/ILeafData.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/isolation/IsolatedFusedView.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/proc/IIndexProcedure.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/view/FusedView.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/cache/ConcurrentWeakValueCache.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/htree/AbstractHTree.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/htree/HTree.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/io/writecache/BufferedWrite.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/io/writecache/IBufferedWriter.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/io/writecache/WriteCacheCounters.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/AbstractJournal.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/AbstractTask.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/ConcurrencyManager.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/DumpJournal.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/IBTreeManager.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/IIndexManager.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/IIndexStore.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/IJournal.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/IResourceManager.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/ITask.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/IndexProcedureTask.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/Journal.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/TemporaryStore.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/resources/IndexManager.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/resources/ResourceEvents.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/resources/StoreManager.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/rwstore/FixedAllocator.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/rwstore/RWStore.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/service/MetadataService.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/bop/join/TestJVMHashJoinOp.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/bop/solutions/TestHTreeDistinctBindingSets.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/bop/solutions/TestMemorySortOp.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/journal/StressTestUnisolatedReadWriteIndex.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/journal/TestJournalBasics.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/rwstore/TestRWJournal.java
branches/SESAME_2_7/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataEdge.java
branches/SESAME_2_7/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataElement.java
branches/SESAME_2_7/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataGraph.java
branches/SESAME_2_7/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataGraphBulkLoad.java
branches/SESAME_2_7/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataGraphClient.java
branches/SESAME_2_7/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataGraphConfiguration.java
branches/SESAME_2_7/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataGraphEmbedded.java
branches/SESAME_2_7/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataGraphFactory.java
branches/SESAME_2_7/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataGraphQuery.java
branches/SESAME_2_7/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataPredicate.java
branches/SESAME_2_7/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataRDFFactory.java
branches/SESAME_2_7/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataVertex.java
branches/SESAME_2_7/bigdata-blueprints/src/test/com/bigdata/blueprints/AbstractTestBigdataGraph.java
branches/SESAME_2_7/bigdata-blueprints/src/test/com/bigdata/blueprints/TestBigdataGraphEmbedded.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/DTE.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/IVUtility.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/LexiconConfiguration.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/XSD.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/impl/AbstractIV.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/impl/uri/URIExtensionIV.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/lexicon/LexiconRelation.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/AST2BOpContext.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/DefaultOptimizerList.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/store/AbstractTripleStore.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/task/AbstractApiTask.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/graph/impl/bd/TestBFS.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/internal/HashCollisionUtility.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/internal/TestDTE.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/TestTickets.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSailFactory.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataValueReplacer.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/HAStatusServletUtil.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/StatusServlet.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/TestBigdataSailEmbeddedFederationWithQuads.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/TestBigdataSailWithQuads.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/TestBigdataSailWithSids.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/TestBigdataSailWithoutSids.java
branches/SESAME_2_7/bigdata-war/src/WEB-INF/GraphStore.properties
branches/SESAME_2_7/bigdata-war/src/html/css/style.css
branches/SESAME_2_7/bigdata-war/src/html/index.html
branches/SESAME_2_7/bigdata-war/src/html/js/workbench.js
Added Paths:
-----------
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/ISingleThreadedOp.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/IGISTLocalManager.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/IGISTManager.java
branches/SESAME_2_7/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataGraphlet.java
branches/SESAME_2_7/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataQueryProjection.java
branches/SESAME_2_7/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataSelection.java
branches/SESAME_2_7/bigdata-blueprints/src/java/com/bigdata/blueprints/BlueprintsValueFactory.java
branches/SESAME_2_7/bigdata-blueprints/src/java/com/bigdata/blueprints/DefaultBlueprintsValueFactory.java
branches/SESAME_2_7/bigdata-blueprints/src/java/com/bigdata/blueprints/ImmortalGraph.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/IInlineURIFactory.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/InlineIPv4URIHandler.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/InlineURIFactory.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/InlineURIHandler.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/InlineUUIDURIHandler.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/MultipurposeIDHandler.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/NoInlineURIFactory.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/impl/uri/IPv4AddrIV.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/vocab/BaseVocabularyDecl.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/vocab/DefaultBigdataVocabulary.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/ticket-765.rq
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/ticket-765.srx
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/ticket-765.trig
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/TestInlineURIs.java
branches/SESAME_2_7/bigdata-war/src/html/js/vendor/cm-addons/matchbrackets.js
Removed Paths:
-------------
branches/SESAME_2_7/bigdata-blueprints/src/java/com/bigdata/blueprints/BlueprintsRDFFactory.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/internal/impl/uri/IPAddrIV.java
Copied: branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/ISingleThreadedOp.java (from rev 8635, branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/bop/ISingleThreadedOp.java)
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/ISingleThreadedOp.java (rev 0)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/ISingleThreadedOp.java 2014-09-02 16:01:51 UTC (rev 8636)
@@ -0,0 +1,40 @@
+/*
+
+Copyright (C) SYSTAP, LLC 2006-2008. All rights reserved.
+
+Contact:
+ SYSTAP, LLC
+ 4501 Tower Road
+ Greensboro, NC 27410
+ lic...@bi...
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; version 2 of the License.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*/
+/*
+ * Created on Aug 26, 2010
+ */
+package com.bigdata.bop;
+
+/**
+ * Marker interface for an operator whose instances do not support concurrent
+ * execution.
+ *
+ * @author <a href="mailto:tho...@us...">Bryan Thompson</a>
+ *
+ * @see PipelineOp.Annotations#MAX_PARALLEL
+ */
+public interface ISingleThreadedOp {
+
+}
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/PipelineOp.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/PipelineOp.java 2014-09-02 15:01:44 UTC (rev 8635)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/PipelineOp.java 2014-09-02 16:01:51 UTC (rev 8636)
@@ -122,6 +122,8 @@
* {@link #MAX_MESSAGES_PER_TASK} and {@link #PIPELINE_QUEUE_CAPACITY}
* have less effect and performance tends to be best around a modest
* value (10) for those annotations.
+ *
+ * @see ISingleThreadedOp
*/
String MAX_PARALLEL = PipelineOp.class.getName() + ".maxParallel";
@@ -505,17 +507,49 @@
//
// }
- /**
- * The maximum parallelism with which tasks may be evaluated for this
- * operator (this is a per-shard limit in scale-out). A value of ONE (1)
- * indicates that at most ONE (1) instance of this task may be executing in
- * parallel for a given shard and may be used to indicate that the operator
- * evaluation task is not thread-safe.
- *
- * @see Annotations#MAX_PARALLEL
- */
+ /**
+ * If parallel evaluation is not allowed, then throws
+ * {@link IllegalArgumentException}.
+ */
+ final protected void assertMaxParallelOne() {
+
+ /*
+ * Note: Tests the annotation, not getMaxParallel(), since we want to
+ * make sure the annotation is valid and getMaxParallel() also tests for
+ * the ISingleThreadedOp interface.
+ */
+ if (getProperty(PipelineOp.Annotations.MAX_PARALLEL,
+ PipelineOp.Annotations.DEFAULT_MAX_PARALLEL) != 1) {
+
+ throw new IllegalArgumentException(
+ PipelineOp.Annotations.MAX_PARALLEL + "="
+ + getMaxParallel());
+
+ }
+
+ }
+
+ /**
+ * The maximum parallelism with which tasks may be evaluated for this
+ * operator (this is a per-shard limit in scale-out). A value of ONE (1)
+ * indicates that at most ONE (1) instance of this task may be executing in
+ * parallel for a given shard and may be used to indicate that the operator
+ * evaluation task is not thread-safe.
+ *
+ * @see Annotations#MAX_PARALLEL
+ * @see ISingleThreadedOp
+ *
+ * @see <a href="http://trac.bigdata.com/ticket/1002"> </a>
+ */
final public int getMaxParallel() {
+ if(this instanceof ISingleThreadedOp) {
+
+ // Ignore the annotation value.
+ return 1;
+
+ }
+
return getProperty(PipelineOp.Annotations.MAX_PARALLEL,
PipelineOp.Annotations.DEFAULT_MAX_PARALLEL);
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/controller/HTreeNamedSubqueryOp.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/controller/HTreeNamedSubqueryOp.java 2014-09-02 15:01:44 UTC (rev 8635)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/controller/HTreeNamedSubqueryOp.java 2014-09-02 16:01:51 UTC (rev 8636)
@@ -40,6 +40,7 @@
import com.bigdata.bop.BOpUtility;
import com.bigdata.bop.IBindingSet;
import com.bigdata.bop.IQueryAttributes;
+import com.bigdata.bop.ISingleThreadedOp;
import com.bigdata.bop.IVariable;
import com.bigdata.bop.NV;
import com.bigdata.bop.PipelineOp;
@@ -73,7 +74,8 @@
*
* @author <a href="mailto:tho...@us...">Bryan Thompson</a>
*/
-public class HTreeNamedSubqueryOp extends PipelineOp implements INamedSubqueryOp {
+public class HTreeNamedSubqueryOp extends PipelineOp implements
+ INamedSubqueryOp, ISingleThreadedOp {
static private final transient Logger log = Logger
.getLogger(HTreeNamedSubqueryOp.class);
@@ -123,11 +125,7 @@
+ getEvaluationContext());
}
- if (getMaxParallel() != 1) {
- throw new IllegalArgumentException(
- PipelineOp.Annotations.MAX_PARALLEL + "="
- + getMaxParallel());
- }
+ assertMaxParallelOne();
if (!isAtOnceEvaluation())
throw new IllegalArgumentException();
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/controller/JVMNamedSubqueryOp.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/controller/JVMNamedSubqueryOp.java 2014-09-02 15:01:44 UTC (rev 8635)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/controller/JVMNamedSubqueryOp.java 2014-09-02 16:01:51 UTC (rev 8636)
@@ -40,6 +40,7 @@
import com.bigdata.bop.BOpUtility;
import com.bigdata.bop.IBindingSet;
import com.bigdata.bop.IQueryAttributes;
+import com.bigdata.bop.ISingleThreadedOp;
import com.bigdata.bop.IVariable;
import com.bigdata.bop.NV;
import com.bigdata.bop.PipelineOp;
@@ -73,7 +74,8 @@
*
* @author <a href="mailto:tho...@us...">Bryan Thompson</a>
*/
-public class JVMNamedSubqueryOp extends PipelineOp implements INamedSubqueryOp {
+public class JVMNamedSubqueryOp extends PipelineOp implements INamedSubqueryOp,
+ ISingleThreadedOp {
static private final transient Logger log = Logger
.getLogger(JVMNamedSubqueryOp.class);
@@ -112,11 +114,7 @@
+ getEvaluationContext());
}
- if (getMaxParallel() != 1) {
- throw new IllegalArgumentException(
- PipelineOp.Annotations.MAX_PARALLEL + "="
- + getMaxParallel());
- }
+ assertMaxParallelOne();
if (!isAtOnceEvaluation())
throw new IllegalArgumentException();
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/fed/DelegateIndexManager.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/fed/DelegateIndexManager.java 2014-09-02 15:01:44 UTC (rev 8635)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/fed/DelegateIndexManager.java 2014-09-02 16:01:51 UTC (rev 8636)
@@ -1,3 +1,27 @@
+/*
+
+Copyright (C) SYSTAP, LLC 2006-2008. All rights reserved.
+
+Contact:
+ SYSTAP, LLC
+ 4501 Tower Road
+ Greensboro, NC 27410
+ lic...@bi...
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; version 2 of the License.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*/
package com.bigdata.bop.fed;
import java.util.Iterator;
@@ -35,8 +59,6 @@
* how to create the index partition view.
*
* @author <a href="mailto:tho...@us...">Bryan Thompson</a>
- * @version $Id: JoinTaskFactoryTask.java 3448 2010-08-18 20:55:58Z thompsonbry
- * $
*
* @todo While this class solves our problem I do not know whether or not this
* class should this class have more visibility? The downside is that it
@@ -64,7 +86,10 @@
/**
* Delegates to the {@link IndexManager}.
+ * <p>
+ * {@inheritDoc}
*/
+ @Override
public IIndex getIndex(final String name, final long timestamp) {
return dataService.getResourceManager().getIndex(name, timestamp);
@@ -73,7 +98,10 @@
/**
* Not allowed.
+ * <p>
+ * {@inheritDoc}
*/
+ @Override
public void dropIndex(final String name) {
throw new UnsupportedOperationException();
@@ -83,79 +111,93 @@
/**
* Not allowed.
*/
+ @Override
public void registerIndex(IndexMetadata indexMetadata) {
throw new UnsupportedOperationException();
}
+ @Override
public void destroy() {
throw new UnsupportedOperationException();
}
+ @Override
public ExecutorService getExecutorService() {
return dataService.getFederation().getExecutorService();
}
+ @Override
public BigdataFileSystem getGlobalFileSystem() {
return dataService.getFederation().getGlobalFileSystem();
}
+ @Override
public SparseRowStore getGlobalRowStore() {
return dataService.getFederation().getGlobalRowStore();
}
+ @Override
public SparseRowStore getGlobalRowStore(final long timestamp) {
return dataService.getFederation().getGlobalRowStore(timestamp);
}
+ @Override
public long getLastCommitTime() {
return dataService.getFederation().getLastCommitTime();
}
+ @Override
public IResourceLocator getResourceLocator() {
return dataService.getFederation().getResourceLocator();
}
-
+
+ @Override
public IResourceLockService getResourceLockService() {
return dataService.getFederation().getResourceLockService();
}
+ @Override
public TemporaryStore getTempStore() {
return dataService.getFederation().getTempStore();
}
+ @Override
public ScheduledFuture<?> addScheduledTask(Runnable task,
long initialDelay, long delay, TimeUnit unit) {
return dataService.getFederation().addScheduledTask(task, initialDelay, delay, unit);
}
+ @Override
public boolean getCollectPlatformStatistics() {
return dataService.getFederation().getCollectPlatformStatistics();
}
+ @Override
public boolean getCollectQueueStatistics() {
return dataService.getFederation().getCollectQueueStatistics();
}
+ @Override
public int getHttpdPort() {
return dataService.getFederation().getHttpdPort();
}
@@ -171,6 +213,7 @@
return dataService.getFederation().getCounters();
}
+ @Override
public String toString() {
return super.toString() + "{dataServiceUUID="
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/join/HTreeHashJoinOp.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/join/HTreeHashJoinOp.java 2014-09-02 15:01:44 UTC (rev 8635)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/join/HTreeHashJoinOp.java 2014-09-02 16:01:51 UTC (rev 8636)
@@ -33,6 +33,7 @@
import com.bigdata.bop.BOpContext;
import com.bigdata.bop.IBindingSet;
import com.bigdata.bop.IPredicate;
+import com.bigdata.bop.ISingleThreadedOp;
import com.bigdata.bop.NV;
import com.bigdata.bop.PipelineOp;
import com.bigdata.bop.controller.INamedSolutionSetRef;
@@ -94,9 +95,9 @@
* @see HTreeHashJoinUtility
*
* @author <a href="mailto:tho...@us...">Bryan Thompson</a>
- * @version $Id$
*/
-public class HTreeHashJoinOp<E> extends HashJoinOp<E> {
+public class HTreeHashJoinOp<E> extends HashJoinOp<E> implements
+ ISingleThreadedOp {
/**
*
@@ -117,7 +118,7 @@
}
- public HTreeHashJoinOp(final BOp[] args, NV... annotations) {
+ public HTreeHashJoinOp(final BOp[] args, final NV... annotations) {
this(args, NV.asMap(annotations));
@@ -132,9 +133,7 @@
super(args, annotations);
- if (getMaxParallel() != 1)
- throw new UnsupportedOperationException(Annotations.MAX_PARALLEL
- + "=" + getMaxParallel());
+ assertMaxParallelOne();
// Note: This is no longer true. It is now shared via the IQueryAttributes.
// // shared state is used to share the hash table.
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/join/HashIndexOp.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/join/HashIndexOp.java 2014-09-02 15:01:44 UTC (rev 8635)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/join/HashIndexOp.java 2014-09-02 16:01:51 UTC (rev 8636)
@@ -38,6 +38,7 @@
import com.bigdata.bop.BOpUtility;
import com.bigdata.bop.IBindingSet;
import com.bigdata.bop.IQueryAttributes;
+import com.bigdata.bop.ISingleThreadedOp;
import com.bigdata.bop.IVariable;
import com.bigdata.bop.NV;
import com.bigdata.bop.PipelineOp;
@@ -77,7 +78,7 @@
*
* @author <a href="mailto:tho...@us...">Bryan Thompson</a>
*/
-abstract public class HashIndexOp extends PipelineOp {
+abstract public class HashIndexOp extends PipelineOp implements ISingleThreadedOp {
// static private final transient Logger log = Logger
// .getLogger(HashIndexOp.class);
@@ -150,12 +151,18 @@
BOp.Annotations.EVALUATION_CONTEXT + "="
+ getEvaluationContext());
}
- if (getEvaluationContext() != BOpEvaluationContext.CONTROLLER) {
- throw new IllegalArgumentException(
- BOp.Annotations.EVALUATION_CONTEXT + "="
- + getEvaluationContext());
- }
+// if (getEvaluationContext() != BOpEvaluationContext.CONTROLLER) {
+// throw new IllegalArgumentException(
+// BOp.Annotations.EVALUATION_CONTEXT + "="
+// + getEvaluationContext());
+// }
+ /*
+ * This operator writes on an object that is not thread-safe for
+ * mutation.
+ */
+ assertMaxParallelOne();
+
if (!isLastPassRequested()) {
/*
* Last pass evaluation must be requested. This operator will not
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/join/HashJoinOp.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/join/HashJoinOp.java 2014-09-02 15:01:44 UTC (rev 8635)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/join/HashJoinOp.java 2014-09-02 16:01:51 UTC (rev 8636)
@@ -65,7 +65,6 @@
* which join are output.
*
* @author <a href="mailto:tho...@us...">Bryan Thompson</a>
- * @version $Id$
*/
abstract public class HashJoinOp<E> extends PipelineOp implements
IShardwisePipelineOp<E> {
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/join/JVMHashJoinOp.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/join/JVMHashJoinOp.java 2014-09-02 15:01:44 UTC (rev 8635)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/join/JVMHashJoinOp.java 2014-09-02 16:01:51 UTC (rev 8636)
@@ -34,6 +34,7 @@
import com.bigdata.bop.HashMapAnnotations;
import com.bigdata.bop.IBindingSet;
import com.bigdata.bop.IPredicate;
+import com.bigdata.bop.ISingleThreadedOp;
import com.bigdata.bop.NV;
import com.bigdata.bop.controller.INamedSolutionSetRef;
import com.bigdata.relation.accesspath.IAccessPath;
@@ -56,9 +57,8 @@
* @see JVMHashJoinUtility
*
* @author <a href="mailto:tho...@us...">Bryan Thompson</a>
- * @version $Id$
*/
-public class JVMHashJoinOp<E> extends HashJoinOp<E> {
+public class JVMHashJoinOp<E> extends HashJoinOp<E> implements ISingleThreadedOp {
/**
*
@@ -94,9 +94,7 @@
super(args, annotations);
- if (getMaxParallel() != 1)
- throw new UnsupportedOperationException(Annotations.MAX_PARALLEL
- + "=" + getMaxParallel());
+ assertMaxParallelOne();
assertAtOnceJavaHeapOp();
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/solutions/HTreeDistinctBindingSetsOp.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/solutions/HTreeDistinctBindingSetsOp.java 2014-09-02 15:01:44 UTC (rev 8635)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/solutions/HTreeDistinctBindingSetsOp.java 2014-09-02 16:01:51 UTC (rev 8636)
@@ -9,6 +9,7 @@
import com.bigdata.bop.HTreeAnnotations;
import com.bigdata.bop.IBindingSet;
import com.bigdata.bop.IQueryAttributes;
+import com.bigdata.bop.ISingleThreadedOp;
import com.bigdata.bop.IVariable;
import com.bigdata.bop.NV;
import com.bigdata.bop.PipelineOp;
@@ -42,10 +43,9 @@
* on the native heap and eventually the machine will begin to swap.
*
* @author <a href="mailto:tho...@us...">Bryan Thompson</a>
- * @version $Id: DistinctElementFilter.java 3466 2010-08-27 14:28:04Z
- * thompsonbry $
*/
-public class HTreeDistinctBindingSetsOp extends PipelineOp {
+public class HTreeDistinctBindingSetsOp extends PipelineOp implements
+ ISingleThreadedOp {
// private final static transient Logger log = Logger
// .getLogger(DistinctBindingSetsWithHTreeOp.class);
@@ -96,9 +96,7 @@
+ getEvaluationContext());
}
- if (getMaxParallel() != 1)
- throw new UnsupportedOperationException(Annotations.MAX_PARALLEL
- + "=" + getMaxParallel());
+ assertMaxParallelOne();
// // shared state is used to share the hash table.
// if (!isSharedState()) {
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/solutions/MemorySortOp.java
=======================...
[truncated message content] |
|
From: <mrp...@us...> - 2014-09-02 19:28:40
|
Revision: 8637
http://sourceforge.net/p/bigdata/code/8637
Author: mrpersonick
Date: 2014-09-02 19:28:35 +0000 (Tue, 02 Sep 2014)
Log Message:
-----------
Ticket #714: Sesame 2.7. Tidying up some CI loose ends.
Modified Paths:
--------------
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/ASTEvalHelper.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/service/TestRemoteSparql10QueryBuilder.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/service/TestRemoteSparql11QueryBuilder.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/sparql/PrefixDeclProcessor.java
Modified: branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/ASTEvalHelper.java
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/ASTEvalHelper.java 2014-09-02 16:01:51 UTC (rev 8636)
+++ branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/ASTEvalHelper.java 2014-09-02 19:28:35 UTC (rev 8637)
@@ -953,6 +953,10 @@
// final Map<String, BindingsClause> nsBindingsClauses,
final List<BindingsClause> bindingsClauses) {
+ if (group == null) {
+ return;
+ }
+
if (group instanceof JoinGroupNode && ((JoinGroupNode) group).isOptional()) {
return;
}
Modified: branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/service/TestRemoteSparql10QueryBuilder.java
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/service/TestRemoteSparql10QueryBuilder.java 2014-09-02 16:01:51 UTC (rev 8636)
+++ branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/service/TestRemoteSparql10QueryBuilder.java 2014-09-02 19:28:35 UTC (rev 8637)
@@ -50,6 +50,7 @@
import com.bigdata.rdf.model.BigdataURI;
import com.bigdata.rdf.model.BigdataValue;
import com.bigdata.rdf.sail.sparql.AbstractBigdataExprBuilderTestCase;
+import com.bigdata.rdf.sail.sparql.PrefixDeclProcessor;
import com.bigdata.rdf.sparql.ast.ConstantNode;
import com.bigdata.rdf.sparql.ast.FilterNode;
import com.bigdata.rdf.sparql.ast.FunctionNode;
@@ -157,7 +158,7 @@
final String exprImage = "SERVICE <" + serviceURI + "> { ?s ?p ?o }";
- final Map<String,String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String,String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
{
prefixDecls.put("foo", "http://www.bigdata.com/foo");
}
@@ -229,7 +230,7 @@
final String exprImage = "SERVICE <" + serviceURI + "> { ?s ?p ?o }";
- final Map<String,String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String,String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
{
prefixDecls.put("foo", "http://www.bigdata.com/foo");
}
@@ -316,7 +317,7 @@
final String exprImage = "SERVICE <" + serviceURI + "> { ?s ?p ?o }";
- final Map<String,String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String,String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
{
prefixDecls.put("foo", "http://www.bigdata.com/foo");
}
@@ -463,7 +464,7 @@
final String exprImage = "SERVICE <" + serviceURI + "> { ?book ?p ?o}";
- final Map<String,String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String,String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
{
prefixDecls.put("", "http://example.org/book/");
}
@@ -652,7 +653,7 @@
final String exprImage = "SERVICE <" + serviceURI + "> { ?s ?p ?o }";
- final Map<String,String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String,String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
final ServiceNode serviceNode = new ServiceNode(new ConstantNode(
makeIV(serviceURI)), groupNode);
@@ -763,7 +764,7 @@
final String exprImage = "SERVICE <" + serviceURI + "> { ?s ?p ?o }";
- final Map<String,String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String,String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
final ServiceNode serviceNode = new ServiceNode(new ConstantNode(
makeIV(serviceURI)), groupNode);
@@ -888,7 +889,7 @@
final String exprImage = "SERVICE <" + serviceURI + "> { ?s ?p ?o . ?s ?p ?o1 }";
- final Map<String,String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String,String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
final ServiceNode serviceNode = new ServiceNode(new ConstantNode(
makeIV(serviceURI)), groupNode);
@@ -1023,7 +1024,7 @@
final String exprImage = "SERVICE <" + serviceURI + "> { ?s ?p ?o }";
- final Map<String,String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String,String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
final ServiceNode serviceNode = new ServiceNode(new ConstantNode(
makeIV(serviceURI)), groupNode);
@@ -1149,7 +1150,7 @@
final String exprImage = "SERVICE <" + serviceURI + "> { ?s ?p ?o }";
- final Map<String,String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String,String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
final ServiceNode serviceNode = new ServiceNode(new ConstantNode(
makeIV(serviceURI)), groupNode);
@@ -1358,7 +1359,7 @@
//
// final String exprImage = "SERVICE <" + serviceURI + "> { [] ?p ?o }";
//
-// final Map<String,String> prefixDecls = new LinkedHashMap<String, String>();
+// final Map<String,String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
//
// final ServiceNode serviceNode = new ServiceNode(new ConstantNode(
// makeIV(serviceURI)), groupNode);
Modified: branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/service/TestRemoteSparql11QueryBuilder.java
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/service/TestRemoteSparql11QueryBuilder.java 2014-09-02 16:01:51 UTC (rev 8636)
+++ branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/service/TestRemoteSparql11QueryBuilder.java 2014-09-02 19:28:35 UTC (rev 8637)
@@ -56,6 +56,7 @@
import com.bigdata.rdf.model.BigdataURI;
import com.bigdata.rdf.model.BigdataValue;
import com.bigdata.rdf.sail.sparql.AbstractBigdataExprBuilderTestCase;
+import com.bigdata.rdf.sail.sparql.PrefixDeclProcessor;
import com.bigdata.rdf.sparql.ast.BindingsClause;
import com.bigdata.rdf.sparql.ast.ConstantNode;
import com.bigdata.rdf.sparql.ast.FilterNode;
@@ -169,7 +170,7 @@
final String exprImage = "SERVICE <" + serviceURI + "> { ?s ?p ?o }";
- final Map<String,String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String,String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
{
prefixDecls.put("foo", "http://www.bigdata.com/foo");
}
@@ -249,7 +250,7 @@
final String exprImage = "SERVICE <" + serviceURI + "> { ?s ?p ?o }";
- final Map<String,String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String,String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
{
prefixDecls.put("foo", "http://www.bigdata.com/foo");
}
@@ -345,7 +346,7 @@
final String exprImage = "SERVICE <" + serviceURI + "> { ?s ?p ?o }";
- final Map<String,String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String,String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
{
prefixDecls.put("foo", "http://www.bigdata.com/foo");
}
@@ -477,7 +478,7 @@
final String exprImage = "SERVICE <" + serviceURI + "> { ?book ?p ?o}";
- final Map<String,String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String,String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
{
prefixDecls.put("", "http://example.org/book/");
}
@@ -624,7 +625,7 @@
final String exprImage = "SERVICE <" + serviceURI + "> { ?s ?p ?o }";
- final Map<String,String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String,String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
final ServiceNode serviceNode = new ServiceNode(new ConstantNode(
makeIV(serviceURI)), groupNode);
@@ -728,7 +729,7 @@
final String exprImage = "SERVICE <" + serviceURI + "> { ?s ?p ?o }";
- final Map<String,String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String,String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
final ServiceNode serviceNode = new ServiceNode(new ConstantNode(
makeIV(serviceURI)), groupNode);
@@ -854,7 +855,7 @@
final String exprImage = "SERVICE <" + serviceURI + "> { ?s ?p ?o . ?s ?p ?o1 }";
- final Map<String,String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String,String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
final ServiceNode serviceNode = new ServiceNode(new ConstantNode(
makeIV(serviceURI)), groupNode);
@@ -985,7 +986,7 @@
final String exprImage = "SERVICE <" + serviceURI + "> { ?s ?p ?o }";
- final Map<String,String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String,String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
final ServiceNode serviceNode = new ServiceNode(new ConstantNode(
makeIV(serviceURI)), groupNode);
@@ -1073,7 +1074,7 @@
final String exprImage = "SERVICE <" + serviceURI + "> { ?s ?p ?o }";
- final Map<String,String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String,String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
final ServiceNode serviceNode = new ServiceNode(new ConstantNode(
makeIV(serviceURI)), groupNode);
Modified: branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/sparql/PrefixDeclProcessor.java
===================================================================
--- branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/sparql/PrefixDeclProcessor.java 2014-09-02 16:01:51 UTC (rev 8636)
+++ branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/sparql/PrefixDeclProcessor.java 2014-09-02 19:28:35 UTC (rev 8637)
@@ -12,7 +12,9 @@
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import org.openrdf.model.vocabulary.DC;
import org.openrdf.model.vocabulary.FN;
+import org.openrdf.model.vocabulary.FOAF;
import org.openrdf.model.vocabulary.OWL;
import org.openrdf.model.vocabulary.RDF;
import org.openrdf.model.vocabulary.RDFS;
@@ -45,6 +47,23 @@
*/
public class PrefixDeclProcessor {
+ public static final Map<String,String> defaultDecls =
+ new LinkedHashMap<String, String>();
+
+ static {
+ defaultDecls.put("rdf", RDF.NAMESPACE);
+ defaultDecls.put("rdfs", RDFS.NAMESPACE);
+ defaultDecls.put("sesame", SESAME.NAMESPACE);
+ defaultDecls.put("owl", OWL.NAMESPACE);
+ defaultDecls.put("xsd", XMLSchema.NAMESPACE);
+ defaultDecls.put("fn", FN.NAMESPACE);
+ defaultDecls.put("foaf", FOAF.NAMESPACE);
+ defaultDecls.put("dc", DC.NAMESPACE);
+ defaultDecls.put("hint", QueryHints.NAMESPACE);
+ defaultDecls.put("bd", BD.NAMESPACE);
+ defaultDecls.put("bds", BDS.NAMESPACE);
+ }
+
/**
* Processes prefix declarations in queries. This method collects all
* prefixes that are declared in the supplied query, verifies that prefixes
@@ -59,7 +78,7 @@
* If the query contains redefined prefixes or qnames that use
* undefined prefixes.
*/
- public static Map<String, String> process(ASTOperationContainer qc)
+ public static Map<String, String> process(ASTOperationContainer qc)
throws MalformedQueryException
{
List<ASTPrefixDecl> prefixDeclList = qc.getPrefixDeclList();
@@ -78,34 +97,37 @@
prefixMap.put(prefix, iri);
}
- // insert some default prefixes (if not explicitly defined in the query)
- insertDefaultPrefix(prefixMap, "rdf", RDF.NAMESPACE);
- insertDefaultPrefix(prefixMap, "rdfs", RDFS.NAMESPACE);
- insertDefaultPrefix(prefixMap, "sesame", SESAME.NAMESPACE);
- insertDefaultPrefix(prefixMap, "owl", OWL.NAMESPACE);
- insertDefaultPrefix(prefixMap, "xsd", XMLSchema.NAMESPACE);
- insertDefaultPrefix(prefixMap, "fn", FN.NAMESPACE);
- insertDefaultPrefix(prefixMap, "hint", QueryHints.NAMESPACE);
- insertDefaultPrefix(prefixMap, "bd", BD.NAMESPACE);
- insertDefaultPrefix(prefixMap, "bds", BDS.NAMESPACE);
+ // insert some default prefixes (if not explicitly defined in the query)
+// insertDefaultPrefix(prefixMap, "rdf", RDF.NAMESPACE);
+// insertDefaultPrefix(prefixMap, "rdfs", RDFS.NAMESPACE);
+// insertDefaultPrefix(prefixMap, "sesame", SESAME.NAMESPACE);
+// insertDefaultPrefix(prefixMap, "owl", OWL.NAMESPACE);
+// insertDefaultPrefix(prefixMap, "xsd", XMLSchema.NAMESPACE);
+// insertDefaultPrefix(prefixMap, "fn", FN.NAMESPACE);
+// insertDefaultPrefix(prefixMap, "hint", QueryHints.NAMESPACE);
+// insertDefaultPrefix(prefixMap, "bd", BD.NAMESPACE);
+// insertDefaultPrefix(prefixMap, "bds", BDS.NAMESPACE);
+ for (Map.Entry<String, String> e : defaultDecls.entrySet()) {
+ insertDefaultPrefix(prefixMap, e.getKey(), e.getValue());
+ }
- ASTUnparsedQuadDataBlock dataBlock = null;
- if (qc.getOperation() instanceof ASTInsertData) {
- ASTInsertData insertData = (ASTInsertData)qc.getOperation();
- dataBlock = insertData.jjtGetChild(ASTUnparsedQuadDataBlock.class);
+ ASTUnparsedQuadDataBlock dataBlock = null;
+ if (qc.getOperation() instanceof ASTInsertData) {
+ ASTInsertData insertData = (ASTInsertData)qc.getOperation();
+ dataBlock = insertData.jjtGetChild(ASTUnparsedQuadDataBlock.class);
- }
- else if (qc.getOperation() instanceof ASTDeleteData) {
- ASTDeleteData deleteData = (ASTDeleteData)qc.getOperation();
- dataBlock = deleteData.jjtGetChild(ASTUnparsedQuadDataBlock.class);
- }
+ }
+ else if (qc.getOperation() instanceof ASTDeleteData) {
+ ASTDeleteData deleteData = (ASTDeleteData)qc.getOperation();
+ dataBlock = deleteData.jjtGetChild(ASTUnparsedQuadDataBlock.class);
+ }
- if (dataBlock != null) {
- String prefixes = createPrefixesInSPARQLFormat(prefixMap);
- // TODO optimize string concat?
- dataBlock.setDataBlock(prefixes + dataBlock.getDataBlock());
- }
- else {
+ if (dataBlock != null) {
+ String prefixes = createPrefixesInSPARQLFormat(prefixMap);
+ // TODO optimize string concat?
+ dataBlock.setDataBlock(prefixes + dataBlock.getDataBlock());
+ }
+ else {
QNameProcessor visitor = new QNameProcessor(prefixMap);
try {
qc.jjtAccept(visitor, null);
@@ -113,30 +135,30 @@
catch (VisitorException e) {
throw new MalformedQueryException(e);
}
- }
+ }
return prefixMap;
}
- private static void insertDefaultPrefix(Map<String, String> prefixMap, String prefix, String namespace) {
- if (!prefixMap.containsKey(prefix) && !prefixMap.containsValue(namespace)) {
- prefixMap.put(prefix, namespace);
- }
- }
+ private static void insertDefaultPrefix(Map<String, String> prefixMap, String prefix, String namespace) {
+ if (!prefixMap.containsKey(prefix) && !prefixMap.containsValue(namespace)) {
+ prefixMap.put(prefix, namespace);
+ }
+ }
- private static String createPrefixesInSPARQLFormat(Map<String, String> prefixMap) {
- StringBuilder sb = new StringBuilder();
- for (Entry<String, String> entry : prefixMap.entrySet()) {
- sb.append("PREFIX");
- final String prefix = entry.getKey();
- if (prefix != null) {
- sb.append(" " + prefix);
- }
- sb.append(":");
- sb.append(" <" + entry.getValue() + "> \n");
- }
- return sb.toString();
- }
+ private static String createPrefixesInSPARQLFormat(Map<String, String> prefixMap) {
+ StringBuilder sb = new StringBuilder();
+ for (Entry<String, String> entry : prefixMap.entrySet()) {
+ sb.append("PREFIX");
+ final String prefix = entry.getKey();
+ if (prefix != null) {
+ sb.append(" " + prefix);
+ }
+ sb.append(":");
+ sb.append(" <" + entry.getValue() + "> \n");
+ }
+ return sb.toString();
+ }
private static class QNameProcessor extends ASTVisitorBase {
@@ -147,48 +169,48 @@
}
@Override
- public Object visit(ASTQName qnameNode, Object data)
+ public Object visit(ASTQName qnameNode, Object data)
throws VisitorException
{
- String qname = qnameNode.getValue();
+ String qname = qnameNode.getValue();
- int colonIdx = qname.indexOf(':');
+ int colonIdx = qname.indexOf(':');
assert colonIdx >= 0 : "colonIdx should be >= 0: " + colonIdx;
- String prefix = qname.substring(0, colonIdx);
- String localName = qname.substring(colonIdx + 1);
+ String prefix = qname.substring(0, colonIdx);
+ String localName = qname.substring(colonIdx + 1);
String namespace = prefixMap.get(prefix);
if (namespace == null) {
- throw new VisitorException("QName '" + qname + "' uses an undefined prefix");
+ throw new VisitorException("QName '" + qname + "' uses an undefined prefix");
}
- localName = processEscapesAndHex(localName);
+ localName = processEscapesAndHex(localName);
// Replace the qname node with a new IRI node in the parent node
- ASTIRI iriNode = new ASTIRI(SyntaxTreeBuilderTreeConstants.JJTIRI);
+ ASTIRI iriNode = new ASTIRI(SyntaxTreeBuilderTreeConstants.JJTIRI);
iriNode.setValue(namespace + localName);
qnameNode.jjtReplaceWith(iriNode);
return null;
}
- private String processEscapesAndHex(String localName) {
+ private String processEscapesAndHex(String localName) {
// first process hex-encoded chars.
- StringBuffer unencoded = new StringBuffer();
- Pattern hexPattern = Pattern.compile("([^\\\\]|^)(%[A-F\\d][A-F\\d])", Pattern.CASE_INSENSITIVE);
- Matcher m = hexPattern.matcher(localName);
+ StringBuffer unencoded = new StringBuffer();
+ Pattern hexPattern = Pattern.compile("([^\\\\]|^)(%[A-F\\d][A-F\\d])", Pattern.CASE_INSENSITIVE);
+ Matcher m = hexPattern.matcher(localName);
boolean result = m.find();
while (result) {
- // we match the previous char because we need to be sure we are not
- // processing an escaped % char rather than
+ // we match the previous char because we need to be sure we are not
+ // processing an escaped % char rather than
// an actual hex encoding, for example: 'foo\%bar'.
- String previousChar = m.group(1);
- String encoded = m.group(2);
+ String previousChar = m.group(1);
+ String encoded = m.group(2);
- int codePoint = Integer.parseInt(encoded.substring(1), 16);
- String decoded = String.valueOf(Character.toChars(codePoint));
+ int codePoint = Integer.parseInt(encoded.substring(1), 16);
+ String decoded = String.valueOf(Character.toChars(codePoint));
m.appendReplacement(unencoded, previousChar + decoded);
result = m.find();
@@ -196,22 +218,22 @@
m.appendTail(unencoded);
// then process escaped special chars.
- StringBuffer unescaped = new StringBuffer();
- Pattern escapedCharPattern = Pattern.compile("\\\\[_~\\.\\-!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=\\:\\/\\?#\\@\\%]");
- m = escapedCharPattern.matcher(unencoded.toString());
- result = m.find();
+ StringBuffer unescaped = new StringBuffer();
+ Pattern escapedCharPattern = Pattern.compile("\\\\[_~\\.\\-!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=\\:\\/\\?#\\@\\%]");
+ m = escapedCharPattern.matcher(unencoded.toString());
+ result = m.find();
while (result) {
- String escaped = m.group();
+ String escaped = m.group();
m.appendReplacement(unescaped, escaped.substring(1));
result = m.find();
}
m.appendTail(unescaped);
- return unescaped.toString();
+ return unescaped.toString();
}
@Override
- public Object visit(ASTServiceGraphPattern node, Object data)
+ public Object visit(ASTServiceGraphPattern node, Object data)
throws VisitorException
{
node.setPrefixDeclarations(prefixMap);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mrp...@us...> - 2014-09-02 20:06:31
|
Revision: 8638
http://sourceforge.net/p/bigdata/code/8638
Author: mrpersonick
Date: 2014-09-02 20:06:22 +0000 (Tue, 02 Sep 2014)
Log Message:
-----------
Ticket #714: Sesame 2.7. Tidying up some CI loose ends.
Modified Paths:
--------------
branches/SESAME_2_7/bigdata-gas/src/java/com/bigdata/rdf/graph/util/AbstractGraphFixture.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/internal/constraints/TestStrAfterBOp.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/TestNegation.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/AbstractBigdataExprBuilderTestCase.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/TestBigdataExprBuilder.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/TestBindingsClause.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/TestGroupGraphPatternBuilder.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/TestSubqueryPatterns.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/TestTriplePatternBuilder.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/TestUpdateExprBuilder.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/TestValueExprBuilder.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/TestVirtualGraphs.java
Modified: branches/SESAME_2_7/bigdata-gas/src/java/com/bigdata/rdf/graph/util/AbstractGraphFixture.java
===================================================================
--- branches/SESAME_2_7/bigdata-gas/src/java/com/bigdata/rdf/graph/util/AbstractGraphFixture.java 2014-09-02 19:28:35 UTC (rev 8637)
+++ branches/SESAME_2_7/bigdata-gas/src/java/com/bigdata/rdf/graph/util/AbstractGraphFixture.java 2014-09-02 20:06:22 UTC (rev 8638)
@@ -28,6 +28,7 @@
SailConnection cxn = null;
try {
cxn = getSail().getConnection();
+ cxn.begin();
newSailGraphLoader(cxn).loadGraph(null/* fallback */, resources);
cxn.commit();
ok = true;
Modified: branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/internal/constraints/TestStrAfterBOp.java
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/internal/constraints/TestStrAfterBOp.java 2014-09-02 19:28:35 UTC (rev 8637)
+++ branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/internal/constraints/TestStrAfterBOp.java 2014-09-02 20:06:22 UTC (rev 8638)
@@ -143,7 +143,7 @@
// strbefore("abc"^^xsd:string,"") -> ""^^xsd:string
{
final IV expected = DummyConstantNode.toDummyIV(vf
- .createLiteral("", XSD.STRING));
+ .createLiteral("abc", XSD.STRING));
final IV arg1 = DummyConstantNode.toDummyIV(vf
.createLiteral("abc", XSD.STRING));
Modified: branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/TestNegation.java
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/TestNegation.java 2014-09-02 19:28:35 UTC (rev 8637)
+++ branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/TestNegation.java 2014-09-02 20:06:22 UTC (rev 8638)
@@ -36,6 +36,7 @@
import com.bigdata.rdf.model.BigdataURI;
import com.bigdata.rdf.model.BigdataValue;
import com.bigdata.rdf.model.BigdataValueFactory;
+import com.bigdata.rdf.sail.sparql.PrefixDeclProcessor;
import com.bigdata.rdf.sparql.ast.ASTContainer;
import com.bigdata.rdf.sparql.ast.AssignmentNode;
import com.bigdata.rdf.sparql.ast.ConstantNode;
@@ -511,7 +512,7 @@
// Prefix declarations.
{
- expected.setPrefixDecls((Map)Collections.emptyMap());
+ expected.setPrefixDecls(PrefixDeclProcessor.defaultDecls);
}
// Top-level projection.
Modified: branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/AbstractBigdataExprBuilderTestCase.java
===================================================================
--- branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/AbstractBigdataExprBuilderTestCase.java 2014-09-02 19:28:35 UTC (rev 8637)
+++ branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/AbstractBigdataExprBuilderTestCase.java 2014-09-02 20:06:22 UTC (rev 8638)
@@ -69,7 +69,7 @@
public class AbstractBigdataExprBuilderTestCase extends TestCase {
private static final Logger log = Logger
- .getLogger(TestBigdataExprBuilder.class);
+ .getLogger(AbstractBigdataExprBuilderTestCase.class);
/**
*
Modified: branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/TestBigdataExprBuilder.java
===================================================================
--- branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/TestBigdataExprBuilder.java 2014-09-02 19:28:35 UTC (rev 8637)
+++ branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/TestBigdataExprBuilder.java 2014-09-02 20:06:22 UTC (rev 8638)
@@ -96,7 +96,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -133,7 +133,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -171,7 +171,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -212,7 +212,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -262,7 +262,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -314,7 +314,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -370,7 +370,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -422,7 +422,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -466,7 +466,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -511,7 +511,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -551,7 +551,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -596,7 +596,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -645,7 +645,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -687,7 +687,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -732,7 +732,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -775,7 +775,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -821,7 +821,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -864,7 +864,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
prefixDecls.put("rdf", RDF.NAMESPACE);
expected.setPrefixDecls(prefixDecls);
}
@@ -908,7 +908,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
prefixDecls.put("rdf", RDF.NAMESPACE);
expected.setPrefixDecls(prefixDecls);
}
@@ -973,7 +973,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
prefixDecls.put("foaf", FOAFVocabularyDecl.NAMESPACE);
prefixDecls.put("dc", DC.NAMESPACE);
expected.setPrefixDecls(prefixDecls);
@@ -1067,7 +1067,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
prefixDecls.put("foaf", FOAFVocabularyDecl.NAMESPACE);
prefixDecls.put("dc", DC.NAMESPACE);
expected.setPrefixDecls(prefixDecls);
@@ -1180,7 +1180,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
prefixDecls.put("foaf", FOAFVocabularyDecl.NAMESPACE);
}
Modified: branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/TestBindingsClause.java
===================================================================
--- branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/TestBindingsClause.java 2014-09-02 19:28:35 UTC (rev 8637)
+++ branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/TestBindingsClause.java 2014-09-02 20:06:22 UTC (rev 8638)
@@ -113,7 +113,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
prefixDecls.put("", "http://example.org/book/");
expected.setPrefixDecls(prefixDecls);
}
@@ -196,7 +196,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
prefixDecls.put("", "http://example.org/book/");
expected.setPrefixDecls(prefixDecls);
}
@@ -282,7 +282,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
prefixDecls.put("", "http://example.org/book/");
expected.setPrefixDecls(prefixDecls);
}
@@ -374,7 +374,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
prefixDecls.put("", "http://example.org/book/");
expected.setPrefixDecls(prefixDecls);
}
@@ -463,7 +463,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
prefixDecls.put("", "http://example.org/book/");
expected.setPrefixDecls(prefixDecls);
}
Modified: branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/TestGroupGraphPatternBuilder.java
===================================================================
--- branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/TestGroupGraphPatternBuilder.java 2014-09-02 19:28:35 UTC (rev 8637)
+++ branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/TestGroupGraphPatternBuilder.java 2014-09-02 20:06:22 UTC (rev 8638)
@@ -107,7 +107,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -141,7 +141,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -184,7 +184,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -225,7 +225,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -277,7 +277,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -330,7 +330,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -385,7 +385,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -447,7 +447,7 @@
final VarNode o = new VarNode("o");
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -522,7 +522,7 @@
final VarNode o = new VarNode("o");
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -599,7 +599,7 @@
final VarNode o = new VarNode("o");
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -659,7 +659,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -702,7 +702,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -747,7 +747,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -794,7 +794,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -844,7 +844,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -895,7 +895,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -941,7 +941,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -989,7 +989,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -1038,7 +1038,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -1092,7 +1092,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -1148,7 +1148,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -1203,7 +1203,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -1259,7 +1259,7 @@
final QueryRoot expected = new QueryRoot(QueryType.SELECT);
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
{
prefixDecls.put("", "http://www.bigdata.com/");
expected.setPrefixDecls(prefixDecls);
@@ -1314,8 +1314,8 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
- expected.setPrefixDecls(prefixDecls);
+// final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
+// expected.setPrefixDecls(prefixDecls);
}
{
Modified: branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/TestSubqueryPatterns.java
===================================================================
--- branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/TestSubqueryPatterns.java 2014-09-02 19:28:35 UTC (rev 8637)
+++ branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/TestSubqueryPatterns.java 2014-09-02 20:06:22 UTC (rev 8638)
@@ -104,7 +104,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -169,7 +169,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -235,7 +235,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -301,7 +301,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -371,7 +371,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -454,7 +454,7 @@
makeIV(valueFactory.createLiteral("12", XSD.INTEGER)));
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
expected.setPrefixDecls(prefixDecls);
}
@@ -566,7 +566,7 @@
final VarNode anonvar = mockAnonVar("-exists-1");
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
prefixDecls.put("rdf", RDF.NAMESPACE);
prefixDecls.put("foaf", FOAFVocabularyDecl.NAMESPACE);
expected.setPrefixDecls(prefixDecls);
@@ -643,7 +643,7 @@
final VarNode anonvar = mockAnonVar("-exists-1");
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
prefixDecls.put("rdf", RDF.NAMESPACE);
prefixDecls.put("foaf", FOAFVocabularyDecl.NAMESPACE);
expected.setPrefixDecls(prefixDecls);
@@ -732,7 +732,7 @@
.stringValue())));
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
prefixDecls.put("rdfs", RDFS.NAMESPACE);
expected.setPrefixDecls(prefixDecls);
}
@@ -839,7 +839,7 @@
// .stringValue())));
//
// {
-// final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+// final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
// prefixDecls.put("rdfs", RDFS.NAMESPACE);
// expected.setPrefixDecls(prefixDecls);
// }
@@ -947,7 +947,7 @@
// .stringValue())));
//
// {
-// final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+// final Map<String, String> prefixDecls = new LinkedHashMap<String, String>(PrefixDeclProcessor.defaultDecls);
// prefixDecls.put("rdfs", RDFS.NAMESPACE);
// expected.setPrefixDecls(prefixDecls);
// }
Modified: branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/TestTriplePatternBuilder.java
===================================================================
--- branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/TestTriplePatternBuilder.java 2014-09-02 19:28:35 UTC (rev 8637)
+++ branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/sparql/TestTriplePatternBuilder.java 2014-09-02 20:06:22 UTC (rev 8638)
@@ -92,7 +92,7 @@
{
{
- final Map<String, String> prefixDecls = new LinkedHashMap<String, String>();
+ final Map<String, String> prefixDecls = new LinkedHashMap<Str...
[truncated message content] |
|
From: <tho...@us...> - 2014-09-11 19:56:47
|
Revision: 8649
http://sourceforge.net/p/bigdata/code/8649
Author: thompsonbry
Date: 2014-09-11 19:56:32 +0000 (Thu, 11 Sep 2014)
Log Message:
-----------
Merge in change set from the main development branch.
Also, reduced log@WARN => log@INFO in CreateKBTask.
@see #714 (openrdf 2.7)
Modified Paths:
--------------
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/AbstractBTree.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/AbstractNode.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/BTree.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/DefaultEvictionListener.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/ICheckpointProtocol.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/UnisolatedReadWriteIndex.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/htree/AbstractHTree.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/htree/DefaultEvictionListener.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/htree/HTree.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/AbstractCommitTimeIndex.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/ICommitter.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/service/EventReceiver.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/service/LoadBalancerService.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/stream/Stream.java
branches/SESAME_2_7/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataGraph.java
branches/SESAME_2_7/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataGraphBulkLoad.java
branches/SESAME_2_7/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataQueryProjection.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/CreateKBTask.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataArbitraryLengthPathTest.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataSparqlTest.java
Added Paths:
-----------
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/EvictionError.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/IReadWriteLockManager.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/IndexInconsistentError.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/ReadWriteLockManager.java
branches/SESAME_2_7/bigdata-blueprints/src/java/com/bigdata/blueprints/PartialEdge.java
branches/SESAME_2_7/bigdata-blueprints/src/java/com/bigdata/blueprints/PartialElement.java
branches/SESAME_2_7/bigdata-blueprints/src/java/com/bigdata/blueprints/PartialVertex.java
Property Changed:
----------------
branches/SESAME_2_7/
Index: branches/SESAME_2_7
===================================================================
--- branches/SESAME_2_7 2014-09-11 19:26:33 UTC (rev 8648)
+++ branches/SESAME_2_7 2014-09-11 19:56:32 UTC (rev 8649)
Property changes on: branches/SESAME_2_7
___________________________________________________________________
Modified: svn:mergeinfo
## -1,6 +1,7 ##
/branches/BIGDATA_MGC_HA1_HA5:8025-8122
/branches/BIGDATA_OPENRDF_2_6_9_UPDATE:6769-6785
/branches/BIGDATA_RELEASE_1_2_0:6766-7380
+/branches/BIGDATA_RELEASE_1_3_0:8636-8648
/branches/BTREE_BUFFER_BRANCH:2004-2045
/branches/DEV_BRANCH_27_OCT_2009:2270-2546,2548-2782
/branches/INT64_BRANCH:4486-4522
\ No newline at end of property
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/AbstractBTree.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/AbstractBTree.java 2014-09-11 19:26:33 UTC (rev 8648)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/AbstractBTree.java 2014-09-11 19:56:32 UTC (rev 8649)
@@ -24,6 +24,7 @@
/*
* Created on Dec 19, 2006
*
+ * RESYNC
*/
package com.bigdata.btree;
@@ -40,6 +41,7 @@
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Executor;
import java.util.concurrent.FutureTask;
+import java.util.concurrent.locks.Lock;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
@@ -133,7 +135,6 @@
* </p>
*
* @author <a href="mailto:tho...@us...">Bryan Thompson</a>
- * @version $Id$
*
* @see KeyBuilder
*/
@@ -168,6 +169,15 @@
final protected static String ERROR_TRANSIENT = "Transient";
/**
+ * An unisolated index view is in an error state. It must be discarded and
+ * reloaded from the current checkpoint record.
+ *
+ * @see <a href="http://trac.bigdata.com/ticket/1005"> Invalidate BTree
+ * objects if error occurs during eviction </a>
+ */
+ final protected static String ERROR_ERROR_STATE = "Index is in error state";
+
+ /**
* Log for btree opeations.
*/
protected static final Logger log = Logger.getLogger(AbstractBTree.class);
@@ -250,7 +260,7 @@
* mutation.
*/
final protected boolean readOnly;
-
+
/**
* Optional cache for {@link INodeData} and {@link ILeafData} instances and
* always <code>null</code> if the B+Tree is transient.
@@ -258,6 +268,14 @@
protected final ILRUCache<Long, Object> storeCache;
/**
+ * Hard reference iff the index is mutable (aka unisolated) allows us to
+ * avoid patterns that create short life time versions of the object to
+ * protect {@link ICheckpointProtocol#writeCheckpoint2()} and similar
+ * operations.
+ */
+ private final IReadWriteLockManager lockManager;
+
+ /**
* The branching factor for the btree.
*/
final protected int branchingFactor;
@@ -547,6 +565,21 @@
protected volatile AbstractNode<?> root;
/**
+ * This field is set if an error is encountered that renders an unisolated
+ * index object unusable. For example, this can occur if an error was
+ * detected during incremental eviction of dirty nodes for a mutable index
+ * view since that means that there are partly serialized (and possibly
+ * inconsistenly serialized) evicted pages. Once this becomes non-
+ * <code>null</code> the index MUST be reloaded from the most recent
+ * checkpoint before it can be used (that is, you need to obtain a new view
+ * of the unisolated index since this field is sticky once set).
+ *
+ * @see <a href="http://trac.bigdata.com/ticket/1005"> Invalidate BTree
+ * objects if error occurs during eviction </a>
+ */
+ protected volatile Throwable error;
+
+ /**
* An optional bloom filter that will be used to filter point tests against
* <i>this</i> {@link AbstractBTree}. A bloom filter provides a strong
* guarantee when it reports that a key was not found, but only a weak
@@ -960,7 +993,7 @@
this.store = store;
this.readOnly = readOnly;
-
+
// /*
// * The Memoizer is not used by the mutable B+Tree since it is not safe
// * for concurrent operations.
@@ -1042,6 +1075,8 @@
}
+ lockManager = ReadWriteLockManager.getLockManager(this);
+
}
/**
@@ -1977,7 +2012,8 @@
}
};
-
+
+ @Override
final public Object insert(Object key, Object value) {
key = metadata.getTupleSerializer().serializeKey(key);
@@ -1999,6 +2035,7 @@
}
+ @Override
final public byte[] insert(final byte[] key, final byte[] value) {
if (key == null)
@@ -2120,6 +2157,7 @@
}
+ @Override
final public Object remove(Object key) {
key = metadata.getTupleSerializer().serializeKey(key);
@@ -2147,6 +2185,7 @@
* Remove the tuple under that key (will write a delete marker if delete
* markers are enabled).
*/
+ @Override
final public byte[] remove(final byte[] key) {
final Tuple tuple;
@@ -2232,8 +2271,10 @@
* and dropping indices vs removing the entries in an individual
* {@link AbstractBTree}.
*/
+ @Override
abstract public void removeAll();
+ @Override
public Object lookup(Object key) {
key = metadata.getTupleSerializer().serializeKey(key);
@@ -2252,6 +2293,7 @@
}
+ @Override
public byte[] lookup(final byte[] key) {
final Tuple tuple = lookup(key, getLookupTuple());
@@ -2339,6 +2381,7 @@
}
+ @Override
public boolean contains(Object key) {
key = metadata.getTupleSerializer().serializeKey(key);
@@ -2359,6 +2402,7 @@
*
* @todo add unit test to btree suite w/ and w/o delete markers.
*/
+ @Override
public boolean contains(final byte[] key) {
if (key == null)
@@ -2405,6 +2449,7 @@
}
+ @Override
public long indexOf(final byte[] key) {
if (key == null)
@@ -2419,6 +2464,7 @@
}
+ @Override
public byte[] keyAt(final long index) {
if (index < 0)
@@ -2433,6 +2479,7 @@
}
+ @Override
public byte[] valueAt(final long index) {
final Tuple tuple = getLookupTuple();
@@ -2466,6 +2513,7 @@
* IRangeQuery
*/
+ @Override
final public long rangeCountExact(final byte[] fromKey, final byte[] toKey) {
if (!metadata.getDeleteMarkers()) {
@@ -2509,6 +2557,7 @@
}
+ @Override
final public long rangeCount() {
return rangeCount(null, null);
@@ -2546,6 +2595,7 @@
* lookup of the both keys. If both keys are <code>null</code>, then the
* cost is zero (no IOs).
*/
+ @Override
final public long rangeCount(final byte[] fromKey, final byte[] toKey) {
if (fromKey == null && toKey == null) {
@@ -2604,6 +2654,7 @@
* considering all sources at once. It uses a range iterator scan visiting
* both deleted and undeleted tuples for that.
*/
+ @Override
public long rangeCountExactWithDeleted(final byte[] fromKey,
final byte[] toKey) {
@@ -2649,6 +2700,7 @@
}
+ @Override
final public ITupleIterator rangeIterator() {
return rangeIterator(null, null);
@@ -2675,6 +2727,7 @@
}
+ @Override
final public ITupleIterator rangeIterator(byte[] fromKey, byte[] toKey) {
return rangeIterator(fromKey, toKey, 0/* capacity */,
@@ -2767,6 +2820,7 @@
* @todo add support to the iterator construct for filtering by a tuple
* revision timestamp range.
*/
+ @Override
public ITupleIterator rangeIterator(//
final byte[] fromKey,//
final byte[] toKey,//
@@ -3115,6 +3169,7 @@
}
+ @Override
public Object submit(final byte[] key, final ISimpleIndexProcedure proc) {
// conditional range check on the key.
@@ -3126,6 +3181,7 @@
}
@SuppressWarnings("unchecked")
+ @Override
public void submit(final byte[] fromKey, final byte[] toKey,
final IKeyRangeIndexProcedure proc, final IResultHandler handler) {
@@ -3147,6 +3203,7 @@
}
@SuppressWarnings("unchecked")
+ @Override
public void submit(final int fromIndex, final int toIndex,
final byte[][] keys, final byte[][] vals,
final AbstractKeyArrayIndexProcedureConstructor ctor,
@@ -3369,8 +3426,68 @@
}
- doSyncTouch(node);
+ /**
+ * At this point we know that the B+Tree object is a mutable data
+ * structure (!readOnly). If we can prove that the current thread is
+ * conducting a read-only operation on the B+Tree, then we DO NOT touch
+ * the node in order to prevent having read-only operations drive
+ * evictions. This test relies on the UnisolatedReadWriteIndex class to
+ * provide concurrency control for such interleaved read-only and
+ * mutation operations on an unisolated (aka mutable) index.
+ *
+ * There are three broad ways in which concurrency controls for the
+ * index classes are realized:
+ *
+ * (1) Explicit synchronization. For example, the AbstractJournal uses
+ * explicit synchronization to protect operations on the unisolated
+ * Name2Addr.
+ *
+ * (2) Explicit pre-declaration of ordered locks. The ConcurrencyManager
+ * and AbstractTask support this protection mechanism. The task runs
+ * once it has acquired the locks for the declared unisolated indices.
+ *
+ * (3) UnisolatedReadWriteIndex. This is used to provide transparent
+ * concurrency control for unisolated indices for the triple and quad
+ * store classes.
+ *
+ * The index is mutable (unisolated view). If the thread owns a
+ * read-only lock then the operation is read-only and we MUST NOT drive
+ * evictions from this thread.
+ *
+ * Note: The order in which we obtain the real read lock and increment
+ * (and decrement) the per-thread read lock counter on the AbstractBTree
+ * is not critical because AbstractBTree.touch() relies on the thread
+ * both owning the read lock and having the per-thread read lock counter
+ * incremented for that thread.
+ *
+ * @see <a href="http://trac.bigdata.com/ticket/855"> AssertionError:
+ * Child does not have persistent identity </a>
+ */
+ final int rcount = lockManager.getReadLockCount();
+
+ if (rcount > 0) {
+
+ /*
+ * The current thread is executing a read-only operation against the
+ * mutable index view. DO NOT TOUCH THE EVICTION QUEUE.
+ */
+
+ // NOP
+
+ } else {
+ /*
+ * The current thread has not promised that it is using a read-only
+ * operation. Either the operation is a mutation or the index is
+ * being managed by one of the other two concurrency control
+ * patterns. In any of these cases, we touch the write retention
+ * queue for this node reference.
+ */
+
+ doSyncTouch(node);
+
+ }
+
}
/**
@@ -3433,7 +3550,7 @@
*/
// assert isReadOnly() || ndistinctOnWriteRetentionQueue > 0;
-
+
node.referenceCount++;
if (!writeRetentionQueue.add(node)) {
@@ -3598,6 +3715,15 @@
}
+// private void badNode(final AbstractNode<?> node) {
+//// try {
+//// Thread.sleep(50);
+//// } catch (InterruptedException e) {
+//// // ignore;
+//// }
+// throw new AssertionError("ReadOnly and identity: " + node.identity);
+// }
+
/**
* Codes the node and writes the coded record on the store (non-recursive).
* The node MUST be dirty. If the node has a parent, then the parent is
@@ -3617,7 +3743,10 @@
* @return The persistent identity assigned by the store.
*/
protected long writeNodeOrLeaf(final AbstractNode<?> node) {
-
+
+ if (error != null)
+ throw new IllegalStateException(ERROR_ERROR_STATE, error);
+
assert root != null; // i.e., isOpen().
assert node != null;
assert node.btree == this;
@@ -3641,6 +3770,9 @@
* TestMROWTransactions might also demonstrate an issue
* occasionally. If so, then check for the same root cause.
*/
+// if (node.isReadOnly()) {
+// badNode(node); // supports debugging
+// }
assert !node.isReadOnly();
assertNotReadOnly();
@@ -3741,6 +3873,14 @@
// No longer dirty (prevents re-coding on re-eviction).
node.setDirty(false);
+// if (node.writing == null) {
+// log.warn("Concurrent modification of thread guard", new RuntimeException("WTF2: " + node.hashCode()));
+//
+// throw new AssertionError("Concurrent modification of thread guard");
+// }
+
+// node.writing = null;
+
return 0L;
}
@@ -3768,7 +3908,7 @@
btreeCounters.bytesWritten += nbytes;
- btreeCounters.bytesOnStore_nodesAndLeaves.addAndGet(nbytes);
+ btreeCounters.bytesOnStore_nodesAndLeaves.addAndGet(nbytes);
}
@@ -3830,6 +3970,14 @@
}
+// if (node.writing == null) {
+// log.warn("Concurrent modification of thread guard", new RuntimeException("WTF2: " + node.hashCode()));
+//
+// throw new AssertionError("Concurrent modification of thread guard");
+// }
+//
+// node.writing = null;
+
return addr;
}
@@ -3856,40 +4004,6 @@
if (addr == IRawStore.NULL)
throw new IllegalArgumentException();
-// final Long addr2 = Long.valueOf(addr);
-//
-// if (storeCache != null) {
-//
-// // test cache : will touch global LRU iff found.
-// final IAbstractNodeData data = (IAbstractNodeData) storeCache
-// .get(addr);
-//
-// if (data != null) {
-//
-// // Node and Leaf MUST NOT make it into the global LRU or store
-// // cache!
-// assert !(data instanceof AbstractNode<?>);
-//
-// final AbstractNode<?> node;
-//
-// if (data.isLeaf()) {
-//
-// node = nodeSer.nodeFactory.allocLeaf(this, addr,
-// (ILeafData) data);
-//
-// } else {
-//
-// node = nodeSer.nodeFactory.allocNode(this, addr,
-// (INodeData) data);
-//
-// }
-//
-// // cache hit.
-// return node;
-//
-// }
-//
-// }
final ByteBuffer tmp;
{
@@ -3946,21 +4060,6 @@
}
-// if (storeCache != null) {
-//
-// // update cache : will touch global LRU iff cache is modified.
-// final IAbstractNodeData data2 = (IAbstractNodeData) storeCache
-// .putIfAbsent(addr2, data);
-//
-// if (data2 != null) {
-//
-// // concurrent insert, use winner's value.
-// data = data2;
-//
-// }
-//
-// }
-
// wrap as Node or Leaf.
final AbstractNode<?> node = nodeSer.wrap(this, addr, data);
@@ -4061,6 +4160,7 @@
/**
* Returns the hard reference.
*/
+ @Override
public T get() {
return ref;
@@ -4070,6 +4170,7 @@
/**
* Overridden as a NOP.
*/
+ @Override
public void clear() {
// NOP
@@ -4163,7 +4264,7 @@
*/
int getMaxRecLen() {
- return metadata.getMaxRecLen();
+ return metadata.getMaxRecLen();
}
@@ -4304,4 +4405,24 @@
}
+ @Override
+ final public Lock readLock() {
+
+ return lockManager.readLock();
+
+ }
+
+ @Override
+ final public Lock writeLock() {
+
+ return lockManager.writeLock();
+
+ }
+
+ @Override
+ final public int getReadLockCount() {
+
+ return lockManager.getReadLockCount();
+ }
+
}
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/AbstractNode.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/AbstractNode.java 2014-09-11 19:26:33 UTC (rev 8648)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/AbstractNode.java 2014-09-11 19:56:32 UTC (rev 8649)
@@ -23,7 +23,6 @@
*/
/*
* Created on Nov 15, 2006
- *
*/
package com.bigdata.btree;
@@ -37,7 +36,6 @@
import com.bigdata.btree.data.IAbstractNodeData;
import com.bigdata.btree.data.IKeysData;
-import com.bigdata.btree.data.ISpannedTupleCountData;
import com.bigdata.btree.filter.EmptyTupleIterator;
import com.bigdata.btree.raba.IRaba;
import com.bigdata.btree.raba.MutableKeyBuffer;
@@ -51,7 +49,6 @@
* Abstract node supporting incremental persistence and copy-on-write semantics.
*
* @author <a href="mailto:tho...@us...">Bryan Thompson</a>
- * @version $Id$
*/
public abstract class AbstractNode<T extends AbstractNode
/*
@@ -539,7 +536,7 @@
parent = (Node) parent.copyOnWrite(oldId);
}
-
+
/*
* Replace the reference to this child with the reference to the
* new child. This makes the old child inaccessible via
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/BTree.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/BTree.java 2014-09-11 19:26:33 UTC (rev 8648)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/BTree.java 2014-09-11 19:56:32 UTC (rev 8649)
@@ -23,7 +23,6 @@
*/
/*
* Created on Nov 15, 2006
- *
*/
package com.bigdata.btree;
@@ -288,7 +287,7 @@
* and otherwise <code>null</code>.
*/
private final ByteArrayBuffer recordAddrBuf;
-
+
// /**
// * The last address from which the {@link IndexMetadata} record was read or
// * on which it was written.
@@ -385,7 +384,7 @@
*/
recordAddrBuf = readOnly ? null
: new ByteArrayBuffer(Bytes.SIZEOF_LONG);
-
+
}
/**
@@ -900,23 +899,31 @@
* @see https://sourceforge.net/apps/trac/bigdata/ticket/343
* @see https://sourceforge.net/apps/trac/bigdata/ticket/440
*/
-// final Lock lock = new UnisolatedReadWriteIndex(this).writeLock();
- final Lock lock = UnisolatedReadWriteIndex.getReadWriteLock(this).writeLock();
- lock.lock();
- try {
+ final Lock lock = writeLock();
+ lock.lock();
+ try {
+ /**
+ * Do not permit checkpoint if the index is in an error state.
+ *
+ * @see <a href="http://trac.bigdata.com/ticket/1005"> Invalidate
+ * BTree objects if error occurs during eviction </a>
+ */
+ if (error != null)
+ throw new IllegalStateException(ERROR_ERROR_STATE, error);
+ //synchronized(this) {
+ if (/* autoCommit && */needsCheckpoint()) {
+
+ /*
+ * Flush the btree, write a checkpoint record, and return the
+ * address of that checkpoint record. The [checkpoint] reference
+ * is also updated.
+ */
+
+ return _writeCheckpoint2();
+
+ }
+ //}
- if (/* autoCommit && */needsCheckpoint()) {
-
- /*
- * Flush the btree, write a checkpoint record, and return the
- * address of that checkpoint record. The [checkpoint] reference
- * is also updated.
- */
-
- return _writeCheckpoint2();
-
- }
-
/*
* There have not been any writes on this btree or auto-commit is
* disabled.
@@ -1110,14 +1117,14 @@
@Override
final public long getRecordVersion() {
- return recordVersion;
+ return recordVersion;
}
@Override
final public long getMetadataAddr() {
- return metadata.getMetadataAddr();
+ return metadata.getMetadataAddr();
}
@@ -1313,7 +1320,7 @@
@Override
public long handleCommit(final long commitTime) {
- return writeCheckpoint2().getCheckpointAddr();
+ return writeCheckpoint2().getCheckpointAddr();
}
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/DefaultEvictionListener.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/DefaultEvictionListener.java 2014-09-11 19:26:33 UTC (rev 8648)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/DefaultEvictionListener.java 2014-09-11 19:56:32 UTC (rev 8649)
@@ -23,7 +23,6 @@
*/
/*
* Created on Nov 17, 2006
- *
*/
package com.bigdata.btree;
@@ -61,88 +60,132 @@
}
final AbstractBTree btree = node.btree;
+
+ if (btree.error != null) {
+ /**
+ * This occurs if an error was detected against a mutable view of
+ * the index (the unisolated index view) and the caller has not
+ * discarded the index and caused it to be reloaded from the most
+ * recent checkpoint.
+ *
+ * @see <a href="http://trac.bigdata.com/ticket/1005"> Invalidate
+ * BTree objects if error occurs during eviction </a>
+ */
+ throw new IllegalStateException(AbstractBTree.ERROR_ERROR_STATE,
+ btree.error);
+ }
+
+ try {
- // Note: This assert can be violated for a read-only B+Tree since there
- // is less synchronization.
- assert btree.isReadOnly() || btree.ndistinctOnWriteRetentionQueue > 0;
+ // Note: This assert can be violated for a read-only B+Tree since
+ // there is less synchronization.
+ assert btree.isReadOnly() || btree.ndistinctOnWriteRetentionQueue > 0;
- btree.ndistinctOnWriteRetentionQueue--;
-
- if (node.deleted) {
+ btree.ndistinctOnWriteRetentionQueue--;
- /*
- * Deleted nodes are ignored as they are evicted from the queue.
- */
+ if (node.deleted) {
- return;
+ /*
+ * Deleted nodes are ignored as they are evicted from the queue.
+ */
- }
+ return;
- // this does not permit transient nodes to be coded.
- if (node.dirty && btree.store != null) {
-// // this causes transient nodes to be coded on eviction.
-// if (node.dirty) {
-
- if (node.isLeaf()) {
+ }
- /*
- * A leaf is written out directly.
- */
-
- btree.writeNodeOrLeaf(node);
+ // this does not permit transient nodes to be coded.
+ if (node.dirty && btree.store != null) {
+ // // this causes transient nodes to be coded on eviction.
+ // if (node.dirty) {
- } else {
+ if (node.isLeaf()) {
- /*
- * A non-leaf node must be written out using a post-order
- * traversal so that all dirty children are written through
- * before the dirty parent. This is required in order to
- * assign persistent identifiers to the dirty children.
- */
+ /*
+ * A leaf is written out directly.
+ */
- btree.writeNodeRecursive(node);
+ btree.writeNodeOrLeaf(node);
- }
+ } else {
- // is a coded data record.
- assert node.isCoded();
-
- // no longer dirty.
- assert !node.dirty;
-
- if (btree.store != null) {
-
- // object is persistent (has assigned addr).
- assert ref.identity != PO.NULL;
-
- }
-
- } // isDirty
+ /*
+ * A non-leaf node must be written out using a post-order
+ * traversal so that all dirty children are written through
+ * before the dirty parent. This is required in order to
+ * assign persistent identifiers to the dirty children.
+ */
- // This does not insert into the cache. That is handled by writeNodeOrLeaf.
-// if (btree.globalLRU != null) {
+ btree.writeNodeRecursive(node);
+
+ }
+
+ // is a coded data record.
+ assert node.isCoded();
+
+ // no longer dirty.
+ assert !node.dirty;
+
+ if (btree.store != null) {
+
+ // object is persistent (has assigned addr).
+ assert ref.identity != PO.NULL;
+
+ }
+
+ } // isDirty
+
+ // This does not insert into the cache. That is handled by writeNodeOrLeaf.
+// if (btree.globalLRU != null) {
//
-// /*
-// * Add the INodeData or ILeafData object to the global LRU, NOT the
-// * Node or Leaf.
-// *
-// * Note: The global LRU touch only occurs on eviction from the write
-// * retention queue. This is nice because it limits the touches on
-// * the global LRU, which could otherwise be a hot spot. We do a
-// * touch whether or not the node was persisted since we are likely
-// * to return to the node in either case.
-// */
+// /*
+// * Add the INodeData or ILeafData object to the global LRU, NOT the
+// * Node or Leaf.
+// *
+// * Note: The global LRU touch only occurs on eviction from the write
+// * retention queue. This is nice because it limits the touches on
+// * the global LRU, which could otherwise be a hot spot. We do a
+// * touch whether or not the node was persisted since we are likely
+// * to return to the node in either case.
+// */
//
-// final IAbstractNodeData delegate = node.getDelegate();
+// final IAbstractNodeData delegate = node.getDelegate();
//
-// assert delegate != null : node.toString();
+// assert delegate != null : node.toString();
//
-// assert delegate.isCoded() : node.toString();
+// assert delegate.isCoded() : node.toString();
//
-// btree.globalLRU.add(delegate);
+// btree.globalLRU.add(delegate);
//
-// }
+// }
+ } catch (Throwable e) {
+
+ if (!btree.readOnly) {
+
+ /**
+ * If the btree is mutable and an eviction fails, then the index
+ * MUST be discarded.
+ *
+ * @see <a href="http://trac.bigdata.com/ticket/1005">
+ * Invalidate BTree objects if error occurs during evi...
[truncated message content] |
|
From: <mrp...@us...> - 2014-09-30 21:44:05
|
Revision: 8677
http://sourceforge.net/p/bigdata/code/8677
Author: mrpersonick
Date: 2014-09-30 21:43:59 +0000 (Tue, 30 Sep 2014)
Log Message:
-----------
Merged from 1.3 branch: revision 8566 to HEAD (8676).
Revision Links:
--------------
http://sourceforge.net/p/bigdata/code/8566
Modified Paths:
--------------
branches/SESAME_2_7/.classpath
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/QueryEngine.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/fed/FederatedQueryEngine.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/fed/QueryEngineFactory.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/service/DataService.java
branches/SESAME_2_7/bigdata-gas/src/test/com/bigdata/rdf/graph/data/ssspGraph.png
branches/SESAME_2_7/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournalServer.java
branches/SESAME_2_7/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournalTest.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/changesets/IChangeLog.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/DefaultOptimizerList.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/RemoteServiceCallImpl.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/TestAll.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/remote/BigdataSailRemoteRepositoryConnection.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/BigdataRDFContext.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/BigdataServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/HAStatusServletUtil.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/StatusServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/IPreparedBooleanQuery.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/IPreparedGraphQuery.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/IPreparedSparqlUpdate.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/IPreparedTupleQuery.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/RemoteRepository.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/RemoteRepositoryManager.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/AbstractIndexManagerTestCase.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/AbstractProtocolTest.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/ProxySuiteHelper.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestAll.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestNanoSparqlServerWithProxyIndexManager.java
branches/SESAME_2_7/bigdata-war/src/html/js/workbench.js
branches/SESAME_2_7/build.properties
branches/SESAME_2_7/build.xml
branches/SESAME_2_7/junit-ext/src/java/junit/extensions/proxy/ProxyTestSuite.java
branches/SESAME_2_7/pom.xml
Added Paths:
-----------
branches/SESAME_2_7/bigdata/src/releases/RELEASE_1_3_2.txt
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/TestBindGraph1007.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/bindGraph-1007.rq
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/bindGraph-1007.srx
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/bindGraph-1007.trig
branches/SESAME_2_7/bigdata-sails/lib/httpcomponents/commons-fileupload-1.3.1.jar
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/IPreparedQueryListener.java
Removed Paths:
-------------
branches/SESAME_2_7/bigdata-sails/lib/httpcomponents/commons-fileupload-1.2.2.jar
Modified: branches/SESAME_2_7/.classpath
===================================================================
--- branches/SESAME_2_7/.classpath 2014-09-30 16:53:58 UTC (rev 8676)
+++ branches/SESAME_2_7/.classpath 2014-09-30 21:43:59 UTC (rev 8677)
@@ -72,7 +72,6 @@
<classpathentry exported="true" kind="lib" path="bigdata-sails/lib/httpcomponents/httpclient-cache-4.1.3.jar"/>
<classpathentry exported="true" kind="lib" path="bigdata-sails/lib/httpcomponents/httpcore-4.1.4.jar"/>
<classpathentry exported="true" kind="lib" path="bigdata-sails/lib/httpcomponents/httpmime-4.1.3.jar"/>
- <classpathentry exported="true" kind="lib" path="bigdata-sails/lib/httpcomponents/commons-fileupload-1.2.2.jar"/>
<classpathentry exported="true" kind="lib" path="bigdata-sails/lib/httpcomponents/commons-io-2.1.jar"/>
<classpathentry exported="true" kind="lib" path="bigdata/lib/apache/log4j-1.2.17.jar"/>
<classpathentry exported="true" kind="lib" path="bigdata-rdf/lib/nxparser-1.2.3.jar"/>
@@ -100,5 +99,6 @@
<classpathentry kind="lib" path="bigdata-sails/lib/sesame-store-testsuite-2.7.11.jar" sourcepath="/Users/mikepersonick/.m2/repository/org/openrdf/sesame/sesame-store-testsuite/2.7.11/sesame-store-testsuite-2.7.11-sources.jar"/>
<classpathentry kind="lib" path="bigdata/lib/junit-4.11.jar" sourcepath="/Users/mikepersonick/.m2/repository/junit/junit/4.11/junit-4.11-sources.jar"/>
<classpathentry kind="lib" path="bigdata/lib/hamcrest-core-1.3.jar"/>
+ <classpathentry kind="lib" path="bigdata-sails/lib/httpcomponents/commons-fileupload-1.3.1.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/QueryEngine.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/QueryEngine.java 2014-09-30 16:53:58 UTC (rev 8676)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/QueryEngine.java 2014-09-30 21:43:59 UTC (rev 8677)
@@ -64,6 +64,7 @@
import com.bigdata.btree.BTree;
import com.bigdata.btree.IndexSegment;
import com.bigdata.btree.view.FusedView;
+import com.bigdata.cache.ConcurrentWeakValueCache;
import com.bigdata.concurrent.FutureTaskMon;
import com.bigdata.counters.CounterSet;
import com.bigdata.counters.ICounterSetAccess;
@@ -71,6 +72,7 @@
import com.bigdata.journal.IIndexManager;
import com.bigdata.journal.Journal;
import com.bigdata.rawstore.IRawStore;
+import com.bigdata.rdf.internal.constraints.TrueBOp;
import com.bigdata.rdf.sail.webapp.client.DefaultClientConnectionManagerFactory;
import com.bigdata.resources.IndexManager;
import com.bigdata.service.IBigdataFederation;
@@ -535,7 +537,7 @@
/**
* The currently executing queries.
*/
- final private ConcurrentHashMap<UUID/* queryId */, AbstractRunningQuery> runningQueries = new ConcurrentHashMap<UUID, AbstractRunningQuery>();
+ private final ConcurrentHashMap<UUID/* queryId */, AbstractRunningQuery> runningQueries = new ConcurrentHashMap<UUID, AbstractRunningQuery>();
/**
* LRU cache used to handle problems with asynchronous termination of
@@ -554,7 +556,7 @@
* enough that we can not have a false cache miss on a system which is
* heavily loaded by a bunch of light queries.
*/
- private LinkedHashMap<UUID, IHaltable<Void>> doneQueries = new LinkedHashMap<UUID,IHaltable<Void>>(
+ private final LinkedHashMap<UUID, IHaltable<Void>> doneQueries = new LinkedHashMap<UUID,IHaltable<Void>>(
16/* initialCapacity */, .75f/* loadFactor */, true/* accessOrder */) {
private static final long serialVersionUID = 1L;
@@ -568,6 +570,92 @@
};
/**
+ * A high concurrency cache operating as an LRU designed to close a data
+ * race between the asynchronous start of a submitted query or update
+ * operation and the explicit asynchronous CANCEL of that operation using
+ * its pre-assigned {@link UUID}.
+ * <p>
+ * When a CANCEL request is received, we probe both the
+ * {@link #runningQueries} and the {@link #doneQueries}. If no operation is
+ * associated with that request, then we probe the running UPDATE
+ * operations. Finally, if no such operation was discovered, then the
+ * {@link UUID} of the operation to be cancelled is entered into this
+ * collection.
+ * <p>
+ * Before a query starts, we consult the {@link #pendingCancelLRU}. If the
+ * {@link UUID} of the query is discovered, then the query is cancelled
+ * rather than run.
+ * <p>
+ * Note: The capacity of the backing hard reference queue is quite small.
+ * {@link UUID}s are only entered into this collection if a CANCEL request
+ * is asynchronously received either (a) before; or (b) long enough after a
+ * query or update is executed that is not not found in either the running
+ * queries map or the recently done queries map.
+ *
+ * TODO There are some cases that are not covered by this. First, we do not
+ * have {@link UUID}s for all REST API methods and thus they can not all be
+ * cancelled. If we allowed an HTTP header to specify the UUID of the
+ * request, then we could associate a UUID with all requests. The ongoing
+ * refactor to support clean interrupt of NSS requests (#753) and the
+ * ongoing refactor to support concurrent unisolated operations against the
+ * same journal (#566) will provide us with the mechanisms to identify all
+ * such operations so we can check their assigned UUIDs and cancel them when
+ * requested.
+ *
+ * @see <a href="http://trac.bigdata.com/ticket/899"> REST API Query
+ * Cancellation </a>
+ * @see <a href="http://trac.bigdata.com/ticket/753"> HA doLocalAbort()
+ * should interrupt NSS requests and AbstractTasks </a>
+ * @see <a href="http://trac.bigdata.com/ticket/566"> Concurrent unisolated
+ * operations against multiple KBs on the same Journal </a>
+ * @see #startEval(UUID, PipelineOp, Map, IChunkMessage)
+ */
+ private final ConcurrentWeakValueCache<UUID, UUID> pendingCancelLRU = new ConcurrentWeakValueCache<>(
+ 50/* queueCapacity (SWAG, but see above) */);
+
+ /**
+ * Add a query {@link UUID} to the LRU of query identifiers for which we
+ * have received a CANCEL request, but were unable to find a running QUERY,
+ * recently done query, or running UPDATE request.
+ *
+ * @param queryId
+ * The UUID of the operation to be cancelled.
+ *
+ * @see <a href="http://trac.bigdata.com/ticket/899"> REST API Query
+ * Cancellation </a>
+ */
+ public void addPendingCancel(final UUID queryId) {
+
+ if (queryId == null)
+ throw new IllegalArgumentException();
+
+ pendingCancelLRU.putIfAbsent(queryId, queryId);
+
+ }
+
+ /**
+ * Return <code>true</code> iff the {@link UUID} is the the collection of
+ * {@link UUID}s for which we have already received a CANCEL request.
+ * <p>
+ * Note: The {@link UUID} is removed from the pending cancel collection as a
+ * side-effect.
+ *
+ * @param queryId
+ * The {@link UUID} of the operation.
+ *
+ * @return <code>true</code> if that operation has already been marked for
+ * cancellation.
+ */
+ public boolean pendingCancel(final UUID queryId) {
+
+ if (queryId == null)
+ throw new IllegalArgumentException();
+
+ return pendingCancelLRU.remove(queryId) != null;
+
+ }
+
+ /**
* A queue of {@link ChunkedRunningQuery}s having binding set chunks available for
* consumption.
*
@@ -1695,6 +1783,22 @@
// if (c != null)
// c.startCount.increment();
+ if (pendingCancelLRU.containsKey(runningQuery.getQueryId())) {
+ /*
+ * The query was asynchronously scheduled for cancellation.
+ */
+
+ // Cancel the query.
+ runningQuery.cancel(true/* mayInterruptIfRunning */);
+
+ // Remove from the CANCEL LRU.
+ pendingCancelLRU.remove(runningQuery.getQueryId());
+
+ // Return the query. It has already been cancelled.
+ return runningQuery;
+
+ }
+
// notify query start
runningQuery.startQuery(msg);
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/fed/FederatedQueryEngine.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/fed/FederatedQueryEngine.java 2014-09-30 16:53:58 UTC (rev 8676)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/fed/FederatedQueryEngine.java 2014-09-30 21:43:59 UTC (rev 8677)
@@ -702,6 +702,7 @@
* <p>
* {@inheritDoc}
*/
+ @Override
public void cancelQuery(final UUID queryId, final Throwable cause) {
// lookup query by id.
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/fed/QueryEngineFactory.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/fed/QueryEngineFactory.java 2014-09-30 16:53:58 UTC (rev 8676)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/fed/QueryEngineFactory.java 2014-09-30 21:43:59 UTC (rev 8677)
@@ -71,7 +71,7 @@
private static ConcurrentWeakValueCache<IBTreeManager, QueryEngine> standaloneQECache = new ConcurrentWeakValueCache<IBTreeManager, QueryEngine>(
0/* queueCapacity */
);
-
+
/**
* Weak value cache to enforce the singleton pattern for
* {@link IBigdataClient}s (the data services are query engine peers rather
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/service/DataService.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/service/DataService.java 2014-09-30 16:53:58 UTC (rev 8676)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/service/DataService.java 2014-09-30 21:43:59 UTC (rev 8677)
@@ -89,7 +89,6 @@
* appropriate concurrency controls as imposed by that method.
*
* @author <a href="mailto:tho...@us...">Bryan Thompson</a>
- * @version $Id$
*
* @see DataServer, which is used to start this service.
*
@@ -130,7 +129,6 @@
* Options understood by the {@link DataService}.
*
* @author <a href="mailto:tho...@us...">Bryan Thompson</a>
- * @version $Id$
*/
public static interface Options extends com.bigdata.journal.Options,
com.bigdata.journal.ConcurrencyManager.Options,
@@ -147,7 +145,6 @@
* unisolated tasks at the present).
*
* @author <a href="mailto:tho...@us...">Bryan Thompson</a>
- * @version $Id$
*/
protected static class ReadBlockCounters {
@@ -339,11 +336,11 @@
* on a {@link DataService}.
*
* @author <a href="mailto:tho...@us...">Bryan Thompson</a>
- * @version $Id$
*/
public class DataServiceTransactionManager extends
AbstractLocalTransactionManager {
+ @Override
public ITransactionService getTransactionService() {
return DataService.this.getFederation().getTransactionService();
@@ -353,6 +350,7 @@
/**
* Exposed to {@link DataService#singlePhaseCommit(long)}
*/
+ @Override
public void deactivateTx(final Tx localState) {
super.deactivateTx(localState);
@@ -422,7 +420,6 @@
* {@link AbstractClient} for those additional features to work.
*
* @author <a href="mailto:tho...@us...">Bryan Thompson</a>
- * @version $Id$
*/
static public class DataServiceFederationDelegate extends
DefaultServiceFederationDelegate<DataService> {
@@ -792,7 +789,6 @@
* uses.
*
* @author <a href="mailto:tho...@us...">Bryan Thompson</a>
- * @version $Id$
*/
public static interface IDataServiceCounters extends
ConcurrencyManager.IConcurrencyManagerCounters,
@@ -1085,7 +1081,6 @@
* {@link IDataService}.
*
* @author <a href="mailto:tho...@us...">Bryan Thompson</a>
- * @version $Id$
*/
private static class DistributedCommitTask extends AbstractTask<Void> {
@@ -1281,6 +1276,7 @@
}
+ @Override
public void abort(final long tx) throws IOException {
setupLoggingContext();
@@ -1353,6 +1349,7 @@
* Returns either {@link IDataService} or {@link IMetadataService} as
* appropriate.
*/
+ @Override
public Class getServiceIface() {
final Class serviceIface;
@@ -1371,7 +1368,8 @@
}
- public void registerIndex(String name, IndexMetadata metadata)
+ @Override
+ public void registerIndex(final String name, final IndexMetadata metadata)
throws IOException, InterruptedException, ExecutionException {
setupLoggingContext();
@@ -1394,7 +1392,8 @@
}
- public void dropIndex(String name) throws IOException,
+ @Override
+ public void dropIndex(final String name) throws IOException,
InterruptedException, ExecutionException {
setupLoggingContext();
@@ -1414,7 +1413,8 @@
}
- public IndexMetadata getIndexMetadata(String name, long timestamp)
+ @Override
+ public IndexMetadata getIndexMetadata(final String name, final long timestamp)
throws IOException, InterruptedException, ExecutionException {
setupLoggingContext();
@@ -1444,7 +1444,6 @@
* specified timestamp.
*
* @author <a href="mailto:tho...@us...">Bryan Thompson</a>
- * @version $Id$
*/
public static class GetIndexMetadataTask extends AbstractTask {
@@ -1474,6 +1473,7 @@
* Note: When the {@link DataService} is accessed via RMI the {@link Future}
* MUST be a proxy. This gets handled by the concrete server implementation.
*/
+ @Override
public Future submit(final long tx, final String name,
final IIndexProcedure proc) {
@@ -1532,6 +1532,7 @@
* for example, if they use {@link AbstractFederation#shutdownNow()}
* then the {@link DataService} itself would be shutdown.
*/
+ @Override
public Future<? extends Object> submit(final Callable<? extends Object> task) {
setupLoggingContext();
@@ -1591,6 +1592,7 @@
//
// }
+ @Override
public ResultSet rangeIterator(long tx, String name, byte[] fromKey,
byte[] toKey, int capacity, int flags, IFilter filter)
throws InterruptedException, ExecutionException {
@@ -1662,6 +1664,7 @@
* @todo efficient (stream-based) read from the journal (IBlockStore API).
* This is a fully buffered read and will cause heap churn.
*/
+ @Override
public IBlock readBlock(IResourceMetadata resource, final long addr) {
if (resource == null)
@@ -1736,7 +1739,6 @@
* Task for running a rangeIterator operation.
*
* @author <a href="mailto:tho...@us...">Bryan Thompson</a>
- * @version $Id$
*/
static protected class RangeIteratorTask extends AbstractTask {
@@ -1802,6 +1804,7 @@
* Overflow processing API
*/
+ @Override
public void forceOverflow(final boolean immediate,
final boolean compactingMerge) throws IOException,
InterruptedException, ExecutionException {
@@ -1883,6 +1886,7 @@
}
+ @Override
public boolean purgeOldResources(final long timeout,
final boolean truncateJournal) throws InterruptedException {
@@ -1896,7 +1900,6 @@
* the next group commit.
*
* @author <a href="mailto:tho...@us...">Bryan Thompson</a>
- * @version $Id$
*/
private class ForceOverflowTask implements Callable<Void> {
@@ -1908,6 +1911,7 @@
}
+ @Override
public Void call() throws Exception {
// final WriteExecutorService writeService = concurrencyManager
@@ -1935,6 +1939,7 @@
}
+ @Override
public long getAsynchronousOverflowCounter() throws IOException {
setupLoggingContext();
@@ -1957,6 +1962,7 @@
}
+ @Override
public boolean isOverflowActive() throws IOException {
setupLoggingContext();
Copied: branches/SESAME_2_7/bigdata/src/releases/RELEASE_1_3_2.txt (from rev 8676, branches/BIGDATA_RELEASE_1_3_0/bigdata/src/releases/RELEASE_1_3_2.txt)
===================================================================
--- branches/SESAME_2_7/bigdata/src/releases/RELEASE_1_3_2.txt (rev 0)
+++ branches/SESAME_2_7/bigdata/src/releases/RELEASE_1_3_2.txt 2014-09-30 21:43:59 UTC (rev 8677)
@@ -0,0 +1,540 @@
+This is a minor release of bigdata(R).
+
+Bigdata is a horizontally-scaled, open-source architecture for indexed data with an emphasis on RDF capable of loading 1B triples in under one hour on a 15 node cluster. Bigdata operates in both a single machine mode (Journal), highly available replication cluster mode (HAJournalServer), and a horizontally sharded cluster mode (BigdataFederation). The Journal provides fast scalable ACID indexed storage for very large data sets, up to 50 billion triples / quads. The HAJournalServer adds replication, online backup, horizontal scaling of query, and high availability. The federation provides fast scalable shard-wise parallel indexed storage using dynamic sharding and shard-wise ACID updates and incremental cluster size growth. Both platforms support fully concurrent readers with snapshot isolation.
+
+Distributed processing offers greater throughput but does not reduce query or update latency. Choose the Journal when the anticipated scale and throughput requirements permit. Choose the HAJournalServer for high availability and linear scaling in query throughput. Choose the BigdataFederation when the administrative and machine overhead associated with operating a cluster is an acceptable tradeoff to have essentially unlimited data scaling and throughput.
+
+See [1,2,8] for instructions on installing bigdata(R), [4] for the javadoc, and [3,5,6] for news, questions, and the latest developments. For more information about SYSTAP, LLC and bigdata, see [7].
+
+Starting with the 1.0.0 release, we offer a WAR artifact [8] for easy installation of the single machine RDF database. For custom development and cluster installations we recommend checking out the code from SVN using the tag for this release. The code will build automatically under eclipse. You can also build the code using the ant script. The cluster installer requires the use of the ant script.
+
+Starting with the 1.3.0 release, we offer a tarball artifact [10] for easy installation of the HA replication cluster.
+
+You can download the WAR (standalone) or HA artifacts from:
+
+http://sourceforge.net/projects/bigdata/
+
+You can checkout this release from:
+
+https://svn.code.sf.net/p/bigdata/code/tags/BIGDATA_RELEASE_1_3_2
+
+Critical or otherwise of note in this minor release:
+
+- Stored query facility (#989).
+- Improved locality for small allocation slots (#986).
+- Improved scalability for RWStore (#936).
+- Various improvements for the workbench.
+- Various improvements for property graphs.
+- Critical bug fix for hasStatements() for unisolated indices (#855, #1005).
+- Critical bug fix for ConcurrentWeakValueHashMap (#1004).
+- Critical bug fix for query timeouts (#772, #865).
+- Critical bug fix for RWStore (#973).
+- Security fix for Apache commons-fileupload (#1010).
+
+New features in 1.3.x:
+
+- Java 7 is now required.
+- High availability [10].
+- High availability load balancer.
+- New RDF/SPARQL workbench.
+- Blueprints API.
+- RDF Graph Mining Service (GASService) [12].
+- Reification Done Right (RDR) support [11].
+- Property Path performance enhancements.
+- Plus numerous other bug fixes and performance enhancements.
+
+Feature summary:
+
+- Highly Available Replication Clusters (HAJournalServer [10])
+- Single machine data storage to ~50B triples/quads (RWStore);
+- Clustered data storage is essentially unlimited (BigdataFederation);
+- Simple embedded and/or webapp deployment (NanoSparqlServer);
+- Triples, quads, or triples with provenance (SIDs);
+- Fast RDFS+ inference and truth maintenance;
+- Fast 100% native SPARQL 1.1 evaluation;
+- Integrated "analytic" query package;
+- %100 Java memory manager leverages the JVM native heap (no GC);
+
+Road map [3]:
+
+- Column-wise indexing;
+- Runtime Query Optimizer for quads;
+- Performance optimization for scale-out clusters; and
+- Simplified deployment, configuration, and administration for scale-out clusters.
+
+Change log:
+
+ Note: Versions with (*) MAY require data migration. For details, see [9].
+
+1.3.2:
+
+- http://trac.bigdata.com/ticket/1016 (Jetty/LBS issues when deployed as WAR under tomcat)
+- http://trac.bigdata.com/ticket/1010 (Upgrade apache http components to 1.3.1 (security))
+- http://trac.bigdata.com/ticket/1005 (Invalidate BTree objects if error occurs during eviction)
+- http://trac.bigdata.com/ticket/1004 (Concurrent binding problem)
+- http://trac.bigdata.com/ticket/1002 (Concurrency issues in JVMHashJoinUtility caused by MAX_PARALLEL query hint override)
+- http://trac.bigdata.com/ticket/1000 (Add configuration option to turn off bottom-up evaluation)
+- http://trac.bigdata.com/ticket/999 (Extend BigdataSailFactory to take arbitrary properties)
+- http://trac.bigdata.com/ticket/998 (SPARQL Update through BigdataGraph)
+- http://trac.bigdata.com/ticket/996 (Add custom prefix support for query results)
+- http://trac.bigdata.com/ticket/995 (Allow general purpose SPARQL queries through BigdataGraph)
+- http://trac.bigdata.com/ticket/992 (Deadlock between AbstractRunningQuery.cancel(), QueryLog.log(), and ArbitraryLengthPathTask)
+- http://trac.bigdata.com/ticket/990 (Query hints not recognized in FILTERs)
+- http://trac.bigdata.com/ticket/989 (Stored query service)
+- http://trac.bigdata.com/ticket/988 (Bad performance for FILTER EXISTS)
+- http://trac.bigdata.com/ticket/987 (maven build is broken)
+- http://trac.bigdata.com/ticket/986 (Improve locality for small allocation slots)
+- http://trac.bigdata.com/ticket/985 (Deadlock in BigdataTriplePatternMaterializer)
+- http://trac.bigdata.com/ticket/975 (HA Health Status Page)
+- http://trac.bigdata.com/ticket/974 (Name2Addr.indexNameScan(prefix) uses scan + filter)
+- http://trac.bigdata.com/ticket/973 (RWStore.commit() should be more defensive)
+- http://trac.bigdata.com/ticket/971 (Clarify HTTP Status codes for CREATE NAMESPACE operation)
+- http://trac.bigdata.com/ticket/968 (no link to wiki from workbench)
+- http://trac.bigdata.com/ticket/966 (Failed to get namespace under concurrent update)
+- http://trac.bigdata.com/ticket/965 (Can not run LBS mode with HA1 setup)
+- http://trac.bigdata.com/ticket/961 (Clone/modify namespace to create a new one)
+- http://trac.bigdata.com/ticket/960 (Export namespace properties in XML/Java properties text format)
+- http://trac.bigdata.com/ticket/938 (HA Load Balancer)
+- http://trac.bigdata.com/ticket/936 (Support larger metabits allocations)
+- http://trac.bigdata.com/ticket/932 (Bigdata/Rexster integration)
+- http://trac.bigdata.com/ticket/919 (Formatted Layout for Status pages)
+- http://trac.bigdata.com/ticket/899 (REST API Query Cancellation)
+- http://trac.bigdata.com/ticket/885 (Panels do not appear on startup in Firefox)
+- http://trac.bigdata.com/ticket/884 (Executing a new query should clear the old query results from the console)
+- http://trac.bigdata.com/ticket/882 (Abbreviate URIs that can be namespaced with one of the defined common namespaces)
+- http://trac.bigdata.com/ticket/880 (Can't explore an absolute URI with < >)
+- http://trac.bigdata.com/ticket/878 (Explore page looks weird when empty)
+- http://trac.bigdata.com/ticket/873 (Allow user to go use browser back & forward buttons to view explore history)
+- http://trac.bigdata.com/ticket/865 (OutOfMemoryError instead of Timeout for SPARQL Property Paths)
+- http://trac.bigdata.com/ticket/858 (Change explore URLs to include URI being clicked so user can see what they've clicked on before)
+- http://trac.bigdata.com/ticket/855 (AssertionError: Child does not have persistent identity)
+- http://trac.bigdata.com/ticket/850 (Search functionality in workbench)
+- http://trac.bigdata.com/ticket/847 (Query results panel should recognize well known namespaces for easier reading)
+- http://trac.bigdata.com/ticket/845 (Display the properties for a namespace)
+- http://trac.bigdata.com/ticket/843 (Create new tabs for status & performance counters, and add per namespace service/VoID description links)
+- http://trac.bigdata.com/ticket/837 (Configurator for new namespaces)
+- http://trac.bigdata.com/ticket/836 (Allow user to create namespace in the workbench)
+- http://trac.bigdata.com/ticket/830 (Output RDF data from queries in table format)
+- http://trac.bigdata.com/ticket/829 (Export query results)
+- http://trac.bigdata.com/ticket/828 (Save selected namespace in browser)
+- http://trac.bigdata.com/ticket/827 (Explore tab in workbench)
+- http://trac.bigdata.com/ticket/826 (Create shortcut to execute load/query)
+- http://trac.bigdata.com/ticket/823 (Disable textarea when a large file is selected)
+- http://trac.bigdata.com/ticket/820 (Allow non-file:// URLs to be loaded)
+- http://trac.bigdata.com/ticket/819 (Retrieve default namespace on page load)
+- http://trac.bigdata.com/ticket/772 (Query timeout only checked at operator start/stop)
+- http://trac.bigdata.com/ticket/765 (order by expr skips invalid expressions)
+- http://tr...
[truncated message content] |
|
From: <mrp...@us...> - 2014-10-04 16:23:33
|
Revision: 8682
http://sourceforge.net/p/bigdata/code/8682
Author: mrpersonick
Date: 2014-10-04 16:23:25 +0000 (Sat, 04 Oct 2014)
Log Message:
-----------
Updating to 2.7.13 to pick up a few fixes affecting our CI runs.
Modified Paths:
--------------
branches/SESAME_2_7/.classpath
branches/SESAME_2_7/build.properties
Added Paths:
-----------
branches/SESAME_2_7/bigdata-rdf/lib/openrdf-sesame-2.7.13-onejar.jar
branches/SESAME_2_7/bigdata-rdf/lib/sesame-rio-testsuite-2.7.13.jar
branches/SESAME_2_7/bigdata-sails/lib/sesame-sparql-testsuite-2.7.13.jar
branches/SESAME_2_7/bigdata-sails/lib/sesame-store-testsuite-2.7.13.jar
Removed Paths:
-------------
branches/SESAME_2_7/bigdata-rdf/lib/openrdf-sesame-2.7.11-onejar.jar
branches/SESAME_2_7/bigdata-rdf/lib/sesame-rio-testsuite-2.7.11.jar
branches/SESAME_2_7/bigdata-sails/lib/sesame-sparql-testsuite-2.6.10.jar
branches/SESAME_2_7/bigdata-sails/lib/sesame-sparql-testsuite-2.7.11.jar
branches/SESAME_2_7/bigdata-sails/lib/sesame-store-testsuite-2.6.10.jar
branches/SESAME_2_7/bigdata-sails/lib/sesame-store-testsuite-2.7.11.jar
Modified: branches/SESAME_2_7/.classpath
===================================================================
--- branches/SESAME_2_7/.classpath 2014-10-03 23:51:47 UTC (rev 8681)
+++ branches/SESAME_2_7/.classpath 2014-10-04 16:23:25 UTC (rev 8682)
@@ -93,12 +93,12 @@
<classpathentry kind="lib" path="bigdata-blueprints/lib/blueprints-test-2.5.0.jar"/>
<classpathentry kind="lib" path="bigdata-blueprints/lib/rexster-core-2.5.0.jar"/>
<classpathentry kind="lib" path="bigdata-blueprints/lib/commons-configuration-1.10.jar"/>
- <classpathentry kind="lib" path="bigdata-rdf/lib/openrdf-sesame-2.7.11-onejar.jar"/>
- <classpathentry kind="lib" path="bigdata-rdf/lib/sesame-rio-testsuite-2.7.11.jar"/>
- <classpathentry kind="lib" path="bigdata-sails/lib/sesame-sparql-testsuite-2.7.11.jar" sourcepath="/Users/mikepersonick/.m2/repository/org/openrdf/sesame/sesame-sparql-testsuite/2.7.11/sesame-sparql-testsuite-2.7.11-sources.jar"/>
- <classpathentry kind="lib" path="bigdata-sails/lib/sesame-store-testsuite-2.7.11.jar" sourcepath="/Users/mikepersonick/.m2/repository/org/openrdf/sesame/sesame-store-testsuite/2.7.11/sesame-store-testsuite-2.7.11-sources.jar"/>
<classpathentry kind="lib" path="bigdata/lib/junit-4.11.jar" sourcepath="/Users/mikepersonick/.m2/repository/junit/junit/4.11/junit-4.11-sources.jar"/>
<classpathentry kind="lib" path="bigdata/lib/hamcrest-core-1.3.jar"/>
- <classpathentry kind="lib" path="bigdata-sails/lib/httpcomponents/commons-fileupload-1.3.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="bigdata-sails/lib/httpcomponents/commons-fileupload-1.3.1.jar"/>
+ <classpathentry kind="lib" path="bigdata-rdf/lib/sesame-rio-testsuite-2.7.13.jar"/>
+ <classpathentry kind="lib" path="bigdata-sails/lib/sesame-sparql-testsuite-2.7.13.jar" sourcepath="/Users/mikepersonick/.m2/repository/org/openrdf/sesame/sesame-sparql-testsuite/2.7.13/sesame-sparql-testsuite-2.7.13-sources.jar"/>
+ <classpathentry kind="lib" path="bigdata-sails/lib/sesame-store-testsuite-2.7.13.jar"/>
+ <classpathentry kind="lib" path="bigdata-rdf/lib/openrdf-sesame-2.7.13-onejar.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Deleted: branches/SESAME_2_7/bigdata-rdf/lib/openrdf-sesame-2.7.11-onejar.jar
===================================================================
(Binary files differ)
Added: branches/SESAME_2_7/bigdata-rdf/lib/openrdf-sesame-2.7.13-onejar.jar
===================================================================
(Binary files differ)
Index: branches/SESAME_2_7/bigdata-rdf/lib/openrdf-sesame-2.7.13-onejar.jar
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/lib/openrdf-sesame-2.7.13-onejar.jar 2014-10-03 23:51:47 UTC (rev 8681)
+++ branches/SESAME_2_7/bigdata-rdf/lib/openrdf-sesame-2.7.13-onejar.jar 2014-10-04 16:23:25 UTC (rev 8682)
Property changes on: branches/SESAME_2_7/bigdata-rdf/lib/openrdf-sesame-2.7.13-onejar.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Deleted: branches/SESAME_2_7/bigdata-rdf/lib/sesame-rio-testsuite-2.7.11.jar
===================================================================
(Binary files differ)
Added: branches/SESAME_2_7/bigdata-rdf/lib/sesame-rio-testsuite-2.7.13.jar
===================================================================
(Binary files differ)
Index: branches/SESAME_2_7/bigdata-rdf/lib/sesame-rio-testsuite-2.7.13.jar
===================================================================
--- branches/SESAME_2_7/bigdata-rdf/lib/sesame-rio-testsuite-2.7.13.jar 2014-10-03 23:51:47 UTC (rev 8681)
+++ branches/SESAME_2_7/bigdata-rdf/lib/sesame-rio-testsuite-2.7.13.jar 2014-10-04 16:23:25 UTC (rev 8682)
Property changes on: branches/SESAME_2_7/bigdata-rdf/lib/sesame-rio-testsuite-2.7.13.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Deleted: branches/SESAME_2_7/bigdata-sails/lib/sesame-sparql-testsuite-2.6.10.jar
===================================================================
(Binary files differ)
Deleted: branches/SESAME_2_7/bigdata-sails/lib/sesame-sparql-testsuite-2.7.11.jar
===================================================================
(Binary files differ)
Added: branches/SESAME_2_7/bigdata-sails/lib/sesame-sparql-testsuite-2.7.13.jar
===================================================================
(Binary files differ)
Index: branches/SESAME_2_7/bigdata-sails/lib/sesame-sparql-testsuite-2.7.13.jar
===================================================================
--- branches/SESAME_2_7/bigdata-sails/lib/sesame-sparql-testsuite-2.7.13.jar 2014-10-03 23:51:47 UTC (rev 8681)
+++ branches/SESAME_2_7/bigdata-sails/lib/sesame-sparql-testsuite-2.7.13.jar 2014-10-04 16:23:25 UTC (rev 8682)
Property changes on: branches/SESAME_2_7/bigdata-sails/lib/sesame-sparql-testsuite-2.7.13.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Deleted: branches/SESAME_2_7/bigdata-sails/lib/sesame-store-testsuite-2.6.10.jar
===================================================================
(Binary files differ)
Deleted: branches/SESAME_2_7/bigdata-sails/lib/sesame-store-testsuite-2.7.11.jar
===================================================================
(Binary files differ)
Added: branches/SESAME_2_7/bigdata-sails/lib/sesame-store-testsuite-2.7.13.jar
===================================================================
(Binary files differ)
Index: branches/SESAME_2_7/bigdata-sails/lib/sesame-store-testsuite-2.7.13.jar
===================================================================
--- branches/SESAME_2_7/bigdata-sails/lib/sesame-store-testsuite-2.7.13.jar 2014-10-03 23:51:47 UTC (rev 8681)
+++ branches/SESAME_2_7/bigdata-sails/lib/sesame-store-testsuite-2.7.13.jar 2014-10-04 16:23:25 UTC (rev 8682)
Property changes on: branches/SESAME_2_7/bigdata-sails/lib/sesame-store-testsuite-2.7.13.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Modified: branches/SESAME_2_7/build.properties
===================================================================
--- branches/SESAME_2_7/build.properties 2014-10-03 23:51:47 UTC (rev 8681)
+++ branches/SESAME_2_7/build.properties 2014-10-04 16:23:25 UTC (rev 8682)
@@ -47,7 +47,7 @@
#
icu.version=4.8
zookeeper.version=3.4.5
-sesame.version=2.7.11
+sesame.version=2.7.13
slf4j.version=1.6.1
jetty.version=9.1.4.v20140401
#jetty.version=7.2.2.v20101205
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|