|
From: <tho...@us...> - 2010-09-30 15:30:34
|
Revision: 3698
http://bigdata.svn.sourceforge.net/bigdata/?rev=3698&view=rev
Author: thompsonbry
Date: 2010-09-30 15:30:23 +0000 (Thu, 30 Sep 2010)
Log Message:
-----------
Added checkArgs() to Predicte to trap null 'c' values. Fixed some Predicator constructor invocations with null for 'c'.
Modified Paths:
--------------
branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpBase.java
branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/Predicate.java
branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPORelation.java
branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPOStarJoin.java
branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/store/AbstractTripleStore.java
branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPOStarJoin.java
Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpBase.java
===================================================================
--- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpBase.java 2010-09-30 15:05:13 UTC (rev 3697)
+++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpBase.java 2010-09-30 15:30:23 UTC (rev 3698)
@@ -126,7 +126,7 @@
* @throws IllegalArgumentException
* if the arguments are not valid for the operator.
*/
- protected void checkArgs(final Object[] args) {
+ protected void checkArgs(final BOp[] args) {
}
Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/Predicate.java
===================================================================
--- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/Predicate.java 2010-09-30 15:05:13 UTC (rev 3697)
+++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/Predicate.java 2010-09-30 15:30:23 UTC (rev 3698)
@@ -93,6 +93,18 @@
super(vars, NV.asMap(annotations));
}
+
+ /**
+ * Disallows <code>null</code> in any position.
+ * @param args
+ */
+ @Override
+ protected void checkArgs(BOp[] args) {
+ for (BOp a : args) {
+ if (a == null)
+ throw new IllegalArgumentException();
+ }
+ }
// /**
// * Simplified ctor.
Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPORelation.java
===================================================================
--- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPORelation.java 2010-09-30 15:05:13 UTC (rev 3697)
+++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPORelation.java 2010-09-30 15:30:23 UTC (rev 3698)
@@ -991,7 +991,9 @@
}
- Predicate<ISPO> pred = new SPOPredicate(new BOp[] { S, P, O, C },
+ Predicate<ISPO> pred = new SPOPredicate(
+ keyArity == 4 ? new BOp[] { S,
+ P, O, C } : new BOp[] { S, P, O },
new NV(IPredicate.Annotations.RELATION_NAME,
new String[] { getNamespace() }));
@@ -2197,12 +2199,16 @@
final StringBuilder sb = new StringBuilder();
final IPredicate<ISPO> pred = new SPOPredicate(
- new BOp[]{//
+ keyArity==4?new BOp[]{//
Var.var("s"),//
Var.var("p"),//
Var.var("o"),//
- keyArity == 3 ? null : Var.var("c"),//
- },//
+ Var.var("c"),//
+ }:new BOp[] {
+ Var.var("s"),//
+ Var.var("p"),//
+ Var.var("o"),//
+ },//
NV.asMap(new NV[] {//
new NV(IPredicate.Annotations.RELATION_NAME,
new String[] { getNamespace() }),//
Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPOStarJoin.java
===================================================================
--- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPOStarJoin.java 2010-09-30 15:05:13 UTC (rev 3697)
+++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPOStarJoin.java 2010-09-30 15:30:23 UTC (rev 3698)
@@ -92,8 +92,9 @@
*/
public SPOStarJoin(final SPOPredicate pred) {
- super(new BOp[] { pred.s(), Var.var(), Var.var(), pred.c() },
- deepCopy(pred.annotations()));
+ super(pred.arity() == 3 ? new BOp[] { pred.s(), Var.var(), Var.var() }
+ : new BOp[] { pred.s(), Var.var(), Var.var(), pred.c() },
+ deepCopy(pred.annotations()));
// this(new String[] { pred.getOnlyRelationName() }, pred.getPartitionId(),
// pred.s(), // s
Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/store/AbstractTripleStore.java
===================================================================
--- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/store/AbstractTripleStore.java 2010-09-30 15:05:13 UTC (rev 3697)
+++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/store/AbstractTripleStore.java 2010-09-30 15:30:23 UTC (rev 3698)
@@ -2484,12 +2484,17 @@
final SPORelation r = getSPORelation();
final SPOPredicate p = new SPOPredicate(
+ quads?
new BOp[]{//
Var.var("s"),//
Var.var("p"),//
Var.var("o"),//
- quads ? Var.var("c") : null,//
- },//
+ Var.var("c")//
+ }: new BOp[]{
+ Var.var("s"),//
+ Var.var("p"),//
+ Var.var("o"),//
+ },//
NV.asMap(new NV[] {//
new NV(IPredicate.Annotations.RELATION_NAME,
new String[] { r.getNamespace() }),//
Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPOStarJoin.java
===================================================================
--- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPOStarJoin.java 2010-09-30 15:05:13 UTC (rev 3697)
+++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPOStarJoin.java 2010-09-30 15:30:23 UTC (rev 3698)
@@ -117,16 +117,16 @@
store.commit();
System.err.println(store.dumpStore());
-
- final SPOPredicate pred = new SPOPredicate(
- store.getSPORelation().getNamespace(),
- Var.var("frameClass"),
- new Constant<IV>(store.getIV(RDF.TYPE)),
- new Constant<IV>(frameClass.getIV())
- );
+ final SPOPredicate pred = new SPOPredicate(new BOp[] {
+ Var.var("frameClass"),
+ new Constant<IV>(store.getIV(RDF.TYPE)),
+ new Constant<IV>(frameClass.getIV()) }, new NV(
+ IPredicate.Annotations.RELATION_NAME, new String[] { store
+ .getSPORelation().getNamespace(), }));
+
final SPOStarJoin starJoin = new SPOStarJoin(new BOp[] {
- Var.var("frameClass"), Var.var(), Var.var() },
+ Var.var("frameClass"), Var.var(), Var.var()},//, null /* c */},
NV.asMap(new NV[] { new NV(
SPOStarJoin.Annotations.RELATION_NAME, new String[]{store
.getSPORelation().getNamespace()}) }));
@@ -271,14 +271,14 @@
System.err.println(store.dumpStore());
final SPOPredicate pred = new SPOPredicate(
- store.getSPORelation().getNamespace(),
- Var.var("frameProperty"),
+ new BOp[]{Var.var("frameProperty"),
new Constant<IV>(store.getIV(RDF.TYPE)),
- new Constant<IV>(store.getIV(RDFS.RESOURCE))
+ new Constant<IV>(store.getIV(RDFS.RESOURCE))},
+ new NV(IPredicate.Annotations.RELATION_NAME,new String[]{store.getSPORelation().getNamespace()})
);
final SPOStarJoin starJoin = new SPOStarJoin(new BOp[] {
- Var.var("frameProperty"), Var.var(), Var.var() },
+ Var.var("frameProperty"), Var.var(), Var.var()},//, null /* c */},
NV.asMap(new NV[] { new NV(
SPOStarJoin.Annotations.RELATION_NAME, new String[]{store
.getSPORelation().getNamespace()}) }));
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|