From: <jer...@us...> - 2013-10-03 15:45:41
|
Revision: 7433 http://bigdata.svn.sourceforge.net/bigdata/?rev=7433&view=rev Author: jeremy_carroll Date: 2013-10-03 15:45:34 +0000 (Thu, 03 Oct 2013) Log Message: ----------- Deleted duplicate code, and added comments. Modified Paths: -------------- branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/ProjectedConstraint.java branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/AST2BOpUtility.java Removed Paths: ------------- branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/BindingConstraint.java Deleted: branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/BindingConstraint.java =================================================================== --- branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/BindingConstraint.java 2013-10-03 15:18:56 UTC (rev 7432) +++ branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/BindingConstraint.java 2013-10-03 15:45:34 UTC (rev 7433) @@ -1,61 +0,0 @@ -/** - -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.Map; - -import com.bigdata.bop.BOp; -import com.bigdata.bop.IBindingSet; -import com.bigdata.rdf.error.SparqlTypeErrorException; - -@SuppressWarnings({ "unchecked", "rawtypes" }) -public class BindingConstraint extends com.bigdata.bop.constraint.Constraint { - - private static final long serialVersionUID = 1L; - - public BindingConstraint(final BOp[] args, final Map<String, Object> annotations) { - super(args, annotations); - } - - public BindingConstraint(final BindingConstraint op) { - super(op); - } - - public BindingConstraint(ConditionalBind bind) { - super(new BOp[]{bind}, null); - } - - @Override - public boolean accept(final IBindingSet bindingSet) { - try{ - final Object result = ((ConditionalBind) get(0)).get(bindingSet); - - return result != null; - } catch (SparqlTypeErrorException stee) { - return true; - } - - } - -} Modified: branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/ProjectedConstraint.java =================================================================== --- branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/ProjectedConstraint.java 2013-10-03 15:18:56 UTC (rev 7432) +++ branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/java/com/bigdata/rdf/internal/constraints/ProjectedConstraint.java 2013-10-03 15:45:34 UTC (rev 7433) @@ -1,3 +1,28 @@ +/* + +Copyright (C) SYSTAP, LLC 2006-2013. 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.Map; @@ -6,8 +31,34 @@ import com.bigdata.bop.IBindingSet; import com.bigdata.rdf.error.SparqlTypeErrorException; + +/** + * This class implements 'AS' in a projection as found in both + * subselects and bind, e.g. + * <pre> + * { SUBSELECT (Foo(?x) AS ?y) ... + * { ... + * } + * } + * </pre> + * or + * <pre> + * BIND (Bar(?x) AS ?y) + * </pre> + * The bind fails if the expression evaluates to some value that is different from + * a pre-existing binding for the target variable. + * If the expr (Foo or Bar above) has an error then the specification is that no binding is done, + * but the unbound value is a success. + * + * The specification for this operation is found as + * <a href="http://www.w3.org/TR/2013/REC-sparql11-query-20130321/#defn_extend">Extend</a>. + * + */ +@SuppressWarnings({ "unchecked", "rawtypes" }) public class ProjectedConstraint extends com.bigdata.bop.constraint.Constraint { + private static final long serialVersionUID = 1L; + public ProjectedConstraint(final BOp[] args, final Map<String, Object> annotations) { super(args, annotations); } Modified: branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/AST2BOpUtility.java =================================================================== --- branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/AST2BOpUtility.java 2013-10-03 15:18:56 UTC (rev 7432) +++ branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/AST2BOpUtility.java 2013-10-03 15:45:34 UTC (rev 7433) @@ -83,7 +83,6 @@ import com.bigdata.btree.IRangeQuery; import com.bigdata.rdf.error.SparqlTypeErrorException; import com.bigdata.rdf.internal.IV; -import com.bigdata.rdf.internal.constraints.BindingConstraint; import com.bigdata.rdf.internal.constraints.CoalesceBOp; import com.bigdata.rdf.internal.constraints.ConditionalBind; import com.bigdata.rdf.internal.constraints.ContextNotAvailableException; @@ -3145,8 +3144,7 @@ assignmentNode.getVar(), assignmentNode.getValueExpression(), projection); - IConstraint c = projection ? new ProjectedConstraint(b) - : new BindingConstraint(b); + IConstraint c = new ProjectedConstraint(b); /* * We might have already materialized everything we need for this This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |