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. |